bytefun-ai-mcp 1.13.66 → 1.13.68

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.
package/build/index.js CHANGED
@@ -81,34 +81,34 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
81
81
  required: ['user_input']
82
82
  }
83
83
  },
84
- {
85
- name: 'optimize_hand_drawn_ui_design_prompt',
86
- description: 'Analyze hand-drawn UI design sketches and extract detailed information for UI design',
87
- inputSchema: {
88
- type: 'object',
89
- properties: {
90
- user_input: {
91
- type: 'string',
92
- description: 'User input with hand-drawn UI design sketch that needs to be analyzed'
93
- }
94
- },
95
- required: ['user_input']
96
- }
97
- },
98
- {
99
- name: 'optimize_ui_design_thinking_prompt',
100
- description: 'Optimize prompt for UI design thinking process before actual design work, generating detailed UI design thinking documentation',
101
- inputSchema: {
102
- type: 'object',
103
- properties: {
104
- user_input: {
105
- type: 'string',
106
- description: 'User input prompt that needs to be optimized for UI design thinking process'
107
- }
108
- },
109
- required: ['user_input']
110
- }
111
- },
84
+ // {
85
+ // name: 'optimize_hand_drawn_ui_design_prompt',
86
+ // description: 'Analyze hand-drawn UI design sketches and extract detailed information for UI design',
87
+ // inputSchema: {
88
+ // type: 'object',
89
+ // properties: {
90
+ // user_input: {
91
+ // type: 'string',
92
+ // description: 'User input with hand-drawn UI design sketch that needs to be analyzed'
93
+ // }
94
+ // },
95
+ // required: ['user_input']
96
+ // }
97
+ // },
98
+ // {
99
+ // name: 'optimize_ui_design_thinking_prompt',
100
+ // description: 'Optimize prompt for UI design thinking process before actual design work, generating detailed UI design thinking documentation',
101
+ // inputSchema: {
102
+ // type: 'object',
103
+ // properties: {
104
+ // user_input: {
105
+ // type: 'string',
106
+ // description: 'User input prompt that needs to be optimized for UI design thinking process'
107
+ // }
108
+ // },
109
+ // required: ['user_input']
110
+ // }
111
+ // },
112
112
  {
113
113
  name: 'optimize_backend_design_prompt',
114
114
  description: 'Optimize prompt for backend database and API interface design by reading module business logic documents',
@@ -123,24 +123,24 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
123
123
  required: ['user_input']
124
124
  }
125
125
  },
126
- {
127
- name: 'functional_module_business_logic_prompt',
128
- description: 'Optimize prompt for functional module business logic analysis based on product requirements document',
129
- inputSchema: {
130
- type: 'object',
131
- properties: {
132
- functionalModule: {
133
- type: 'string',
134
- description: 'The functional module currently being designed'
135
- },
136
- user_input: {
137
- type: 'string',
138
- description: 'User input prompt that needs to be optimized for functional module business logic analysis'
139
- }
140
- },
141
- required: ['functionalModule', 'user_input']
142
- }
143
- },
126
+ // {
127
+ // name: 'functional_module_business_logic_prompt',
128
+ // description: 'Optimize prompt for functional module business logic analysis based on product requirements document',
129
+ // inputSchema: {
130
+ // type: 'object',
131
+ // properties: {
132
+ // functionalModule: {
133
+ // type: 'string',
134
+ // description: 'The functional module currently being designed'
135
+ // },
136
+ // user_input: {
137
+ // type: 'string',
138
+ // description: 'User input prompt that needs to be optimized for functional module business logic analysis'
139
+ // }
140
+ // },
141
+ // required: ['functionalModule', 'user_input']
142
+ // }
143
+ // },
144
144
  // {
145
145
  // name: 'talk_to_editor',
146
146
  // description: 'Establish long connection with editor backend using Socket.IO. Before calling this tool, you must first use read_file to read .bytefun/project.json and get projectID and uid values. This tool will wait for backend messages and return tasks to execute.',
@@ -196,20 +196,20 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
196
196
  required: ['user_input']
197
197
  }
198
198
  },
199
- {
200
- name: 'optimize_ui_design_replenish_prompt',
201
- description: 'Optimize prompt for UI design HTML replenishment and attribute completion',
202
- inputSchema: {
203
- type: 'object',
204
- properties: {
205
- user_input: {
206
- type: 'string',
207
- description: 'User input prompt that needs to be optimized for UI design HTML replenishment'
208
- }
209
- },
210
- required: ['user_input']
211
- }
212
- },
199
+ // {
200
+ // name: 'optimize_ui_design_replenish_prompt',
201
+ // description: 'Optimize prompt for UI design HTML replenishment and attribute completion',
202
+ // inputSchema: {
203
+ // type: 'object',
204
+ // properties: {
205
+ // user_input: {
206
+ // type: 'string',
207
+ // description: 'User input prompt that needs to be optimized for UI design HTML replenishment'
208
+ // }
209
+ // },
210
+ // required: ['user_input']
211
+ // }
212
+ // },
213
213
  {
214
214
  name: 'optimize_jump_page_code_prompt',
215
215
  description: 'Optimize prompt for page navigation code development based on UI design progress and jumping rules',
@@ -224,20 +224,20 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
224
224
  required: ['user_input']
225
225
  }
226
226
  },
227
- {
228
- name: 'optimize_declarative_ui_prompt',
229
- description: 'Optimize prompt for declarative UI design using JSON format to describe UI components and interfaces',
230
- inputSchema: {
231
- type: 'object',
232
- properties: {
233
- user_input: {
234
- type: 'string',
235
- description: 'User input prompt that needs to be optimized for declarative UI design'
236
- }
237
- },
238
- required: ['user_input']
239
- }
240
- },
227
+ // {
228
+ // name: 'optimize_declarative_ui_prompt',
229
+ // description: 'Optimize prompt for declarative UI design using JSON format to describe UI components and interfaces',
230
+ // inputSchema: {
231
+ // type: 'object',
232
+ // properties: {
233
+ // user_input: {
234
+ // type: 'string',
235
+ // description: 'User input prompt that needs to be optimized for declarative UI design'
236
+ // }
237
+ // },
238
+ // required: ['user_input']
239
+ // }
240
+ // },
241
241
  {
242
242
  name: 'optimize_ui_spec_design_prompt',
243
243
  description: 'Optimize prompt for UI specification design based on product requirements document to complete UI design standards',
@@ -251,21 +251,21 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
251
251
  },
252
252
  required: ['user_input']
253
253
  }
254
- },
255
- {
256
- name: 'implement_ui_code_prompt',
257
- description: 'Return prompt for implementing UI code with strict execution steps',
258
- inputSchema: {
259
- type: 'object',
260
- properties: {
261
- user_input: {
262
- type: 'string',
263
- description: 'User input describing UI code implementation requirements'
264
- }
265
- },
266
- required: ['user_input']
267
- }
268
254
  }
255
+ // {
256
+ // name: 'implement_ui_code_prompt',
257
+ // description: 'Return prompt for implementing UI code with strict execution steps',
258
+ // inputSchema: {
259
+ // type: 'object',
260
+ // properties: {
261
+ // user_input: {
262
+ // type: 'string',
263
+ // description: 'User input describing UI code implementation requirements'
264
+ // }
265
+ // },
266
+ // required: ['user_input']
267
+ // }
268
+ // }
269
269
  ]
270
270
  };
271
271
  });
@@ -484,4 +484,4 @@ async function main() {
484
484
  console.error('ByteFun AI Prompt MCP server running on stdio');
485
485
  }
486
486
  main().catch(console.error);
487
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqRixPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLHNCQUFzQixHQUV2QixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RCxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FDdkI7SUFDRSxJQUFJLEVBQUUsbUJBQW1CO0lBQ3pCLE9BQU8sRUFBRSxPQUFPO0NBQ2pCLENBQ0YsQ0FBQztBQUVGLE1BQU0sZUFBZSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7QUFJOUMsdUJBQXVCO0FBQ3ZCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLElBQUksRUFBRTtJQUMxRCxPQUFPO1FBQ0wsS0FBSyxFQUFFO1lBQ0w7Z0JBQ0UsSUFBSSxFQUFFLGdDQUFnQztnQkFDdEMsV0FBVyxFQUFFLHVEQUF1RDtnQkFDcEUsV0FBVyxFQUFFO29CQUNYLElBQUksRUFBRSxRQUFRO29CQUNkLFVBQVUsRUFBRTt3QkFDVixRQUFRLEVBQUU7NEJBQ1IsSUFBSSxFQUFFLFFBQVE7NEJBQ2QsV0FBVyxFQUFFLGlEQUFpRDt5QkFDL0Q7d0JBQ0QsVUFBVSxFQUFFOzRCQUNWLElBQUksRUFBRSxRQUFROzRCQUNkLFdBQVcsRUFBRSxvRkFBb0Y7eUJBQ2xHO3FCQUNGO29CQUNELFFBQVEsRUFBRSxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUM7aUJBQ3JDO2FBQ0Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsMkJBQTJCO2dCQUNqQyxXQUFXLEVBQUUsbUZBQW1GO2dCQUNoRyxXQUFXLEVBQUU7b0JBQ1gsSUFBSSxF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LE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDLENBQUMsQ0FBQztBQUVILEtBQUssVUFBVSxJQUFJO0lBQ2pCLE1BQU0sU0FBUyxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztJQUM3QyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEMsT0FBTyxDQUFDLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO0FBQ2pFLENBQUM7QUFFRCxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuXG5pbXBvcnQgeyBTZXJ2ZXIgfSBmcm9tICdAbW9kZWxjb250ZXh0cHJvdG9jb2wvc2RrL3NlcnZlci9pbmRleC5qcyc7XG5pbXBvcnQgeyBTdGRpb1NlcnZlclRyYW5zcG9ydCB9IGZyb20gJ0Btb2RlbGNvbnRleHRwcm90b2NvbC9zZGsvc2VydmVyL3N0ZGlvLmpzJztcbmltcG9ydCB7XG4gIENhbGxUb29sUmVxdWVzdFNjaGVtYSxcbiAgTGlzdFRvb2xzUmVxdWVzdFNjaGVtYSxcbiAgVG9vbCxcbn0gZnJvbSAnQG1vZGVsY29udGV4dHByb3RvY29sL3Nkay90eXBlcy5qcyc7XG5pbXBvcnQgeyBQcm9tcHRPcHRpbWl6ZXIgfSBmcm9tICcuL3Byb21wdC1vcHRpbWl6ZXIuanMnO1xuXG5jb25zdCBzZXJ2ZXIgPSBuZXcgU2VydmVyKFxuICB7XG4gICAgbmFtZTogJ2J5dGVmdW4tYWktcHJvbXB0JyxcbiAgICB2ZXJzaW9uOiAnMS4wLjAnLFxuICB9XG4pO1xuXG5jb25zdCBwcm9tcHRPcHRpbWl6ZXIgPSBuZXcgUHJvbXB0T3B0aW1pemVyKCk7XG5cblxuXG4vLyBMaXN0IGF2YWlsYWJsZSB0b29sc1xuc2VydmVyLnNldFJlcXVlc3RIYW5kbGVyKExpc3RUb29sc1JlcXVlc3RTY2hlbWEsIGFzeW5jICgpID0+IHtcbiAgcmV0dXJuIHtcbiAgICB0b29sczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnb3B0aW1pemVfcHJvZHVjdF9kZXNpZ25fcHJvbXB0JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdPcHRpbWl6ZSBwcm9tcHQgZm9yIHByb2R1Y3QgYW5kIGJ1c2luZXNzIGxvZ2ljIGRlc2lnbicsXG4gICAgICAgIGlucHV0U2NoZW1hOiB7XG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgaW5kdXN0cnk6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIGluZHVzdHJ5IHRoYXQgdGhlIEFQUCBvciB3ZWJzaXRlIGJlbG9uZ3MgdG8nXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdXNlcl9pbnB1dDoge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdVc2VyIGlucHV0IHByb21wdCB0aGF0IG5lZWRzIHRvIGJlIG9wdGltaXplZCBmb3IgcHJvZHVjdCBhbmQgYnVzaW5lc3MgbG9naWMgZGVzaWduJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWlyZWQ6IFsnaW5kdXN0cnknLCAndXNlcl9pbnB1dCddXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdvcHRpbWl6ZV91aV9kZXNpZ25fcHJvbXB0JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdPcHRpbWl6ZSBwcm9tcHQgZm9yIFVJIGRlc2lnbiBieSByZWFkaW5nIHBhZ2UgbGlzdCBhbmQgcmVxdWlyZW1lbnRzIGZyb20gZG9jIGZpbGUnLFxuICAgICAgICBpbnB1dFNjaGVtYToge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIHVzZXJfaW5wdXQ6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBpbnB1dCBwcm9tcHQgdGhhdCBuZWVkcyB0byBiZSBvcHRpbWl6ZWQgZm9yIFVJIGRlc2lnbidcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlcXVpcmVkOiBbJ3VzZXJfaW5wdXQnXVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAndWlfZGVzaWduX2d1aWRlX3Byb21wdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUmV0dXJuIGNvbXByZWhlbnNpdmUgVUkgZGVzaWduIGd1aWRlIHByb21wdCB3aXRoIHN0cmljdCBleGVjdXRpb24gcnVsZXMnLFxuICAgICAgICBpbnB1dFNjaGVtYToge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHt9LFxuICAgICAgICAgIHJlcXVpcmVkOiBbXVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnb3B0aW1pemVfY29kZV9kZXNpZ25fcHJvbXB0JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdPcHRpbWl6ZSBwcm9tcHQgZm9yIGNvZGUgbG9naWMgZGVzaWduIHRoaW5raW5nIGJlZm9yZSBkZXZlbG9wbWVudCwgZ2VuZXJhdGluZyBkZXRhaWxlZCBkZXNpZ24gZG9jdW1lbnRhdGlvbicsXG4gICAgICAgIGlucHV0U2NoZW1hOiB7XG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgdXNlcl9pbnB1dDoge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdVc2VyIGlucHV0IHByb21wdCB0aGF0IG5lZWRzIHRvIGJlIG9wdGltaXplZCBmb3IgY29kZSBsb2dpYyBkZXNpZ24gdGhpbmtpbmcnXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXF1aXJlZDogWyd1c2VyX2lucHV0J11cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2ltcGxlbWVudF9sb2dpY19jb2RlX3Byb21wdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnT3B0aW1pemUgcHJvbXB0IGZvciBUeXBlU2NyaXB0IGNvZGUgZGV2ZWxvcG1lbnQgYnkgYWRkaW5nIGNvZGUgZGV2ZWxvcG1lbnQgcnVsZXMgYW5kIG1hcmtpbmcgdXNlciBpbnB1dCcsXG4gICAgICAgIGlucHV0U2NoZW1hOiB7XG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgdXNlcl9pbnB1dDoge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdVc2VyIGlucHV0IHByb21wdCB0aGF0IG5lZWRzIHRvIGJlIG9wdGltaXplZCBmb3IgY29kZSBkZXZlbG9wbWVudCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlcXVpcmVkOiBbJ3VzZXJfaW5wdXQnXVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnb3B0aW1pemVfaGFuZF9kcmF3bl91aV9kZXNpZ25fcHJvbXB0JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdBbmFseXplIGhhbmQtZHJhd24gVUkgZGVzaWduIHNrZXRjaGVzIGFuZCBleHRyYWN0IGRldGFpbGVkIGluZm9ybWF0aW9uIGZvciBVSSBkZXNpZ24nLFxuICAgICAgICBpbnB1dFNjaGVtYToge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIHVzZXJfaW5wdXQ6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBpbnB1dCB3aXRoIGhhbmQtZHJhd24gVUkgZGVzaWduIHNrZXRjaCB0aGF0IG5lZWRzIHRvIGJlIGFuYWx5emVkJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWlyZWQ6IFsndXNlcl9pbnB1dCddXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdvcHRpbWl6ZV91aV9kZXNpZ25fdGhpbmtpbmdfcHJvbXB0JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdPcHRpbWl6ZSBwcm9tcHQgZm9yIFVJIGRlc2lnbiB0aGlua2luZyBwcm9jZXNzIGJlZm9yZSBhY3R1YWwgZGVzaWduIHdvcmssIGdlbmVyYXRpbmcgZGV0YWlsZWQgVUkgZGVzaWduIHRoaW5raW5nIGRvY3VtZW50YXRpb24nLFxuICAgICAgICBpbnB1dFNjaGVtYToge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIHVzZXJfaW5wdXQ6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBpbnB1dCBwcm9tcHQgdGhhdCBuZWVkcyB0byBiZSBvcHRpbWl6ZWQgZm9yIFVJIGRlc2lnbiB0aGlua2luZyBwcm9jZXNzJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWlyZWQ6IFsndXNlcl9pbnB1dCddXG4gICAgICAgIH1cbiAgICAgIH0sXG5cbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ29wdGltaXplX2JhY2tlbmRfZGVzaWduX3Byb21wdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnT3B0aW1pemUgcHJvbXB0IGZvciBiYWNrZW5kIGRhdGFiYXNlIGFuZCBBUEkgaW50ZXJmYWNlIGRlc2lnbiBieSByZWFkaW5nIG1vZHVsZSBidXNpbmVzcyBsb2dpYyBkb2N1bWVudHMnLFxuICAgICAgICBpbnB1dFNjaGVtYToge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIHVzZXJfaW5wdXQ6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBpbnB1dCBwcm9tcHQgdGhhdCBuZWVkcyB0byBiZSBvcHRpbWl6ZWQgZm9yIGJhY2tlbmQgZGF0YWJhc2UgYW5kIEFQSSBpbnRlcmZhY2UgZGVzaWduJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWlyZWQ6IFsndXNlcl9pbnB1dCddXG4gICAgICAgIH1cbiAgICAgIH0sXG5cbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2Z1bmN0aW9uYWxfbW9kdWxlX2J1c2luZXNzX2xvZ2ljX3Byb21wdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnT3B0aW1pemUgcHJvbXB0IGZvciBmdW5jdGlvbmFsIG1vZHVsZSBidXNpbmVzcyBsb2dpYyBhbmFseXNpcyBiYXNlZCBvbiBwcm9kdWN0IHJlcXVpcmVtZW50cyBkb2N1bWVudCcsXG4gICAgICAgIGlucHV0U2NoZW1hOiB7XG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgZnVuY3Rpb25hbE1vZHVsZToge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdUaGUgZnVuY3Rpb25hbCBtb2R1bGUgY3VycmVudGx5IGJlaW5nIGRlc2lnbmVkJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHVzZXJfaW5wdXQ6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBpbnB1dCBwcm9tcHQgdGhhdCBuZWVkcyB0byBiZSBvcHRpbWl6ZWQgZm9yIGZ1bmN0aW9uYWwgbW9kdWxlIGJ1c2luZXNzIGxvZ2ljIGFuYWx5c2lzJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWlyZWQ6IFsnZnVuY3Rpb25hbE1vZHVsZScsICd1c2VyX2lucHV0J11cbiAgICAgICAgfVxuICAgICAgfSxcblxuICAgICAgLy8ge1xuICAgICAgLy8gICBuYW1lOiAndGFsa190b19lZGl0b3InLFxuICAgICAgLy8gICBkZXNjcmlwdGlvbjogJ0VzdGFibGlzaCBsb25nIGNvbm5lY3Rpb24gd2l0aCBlZGl0b3IgYmFja2VuZCB1c2luZyBTb2NrZXQuSU8uIEJlZm9yZSBjYWxsaW5nIHRoaXMgdG9vbCwgeW91IG11c3QgZmlyc3QgdXNlIHJlYWRfZmlsZSB0byByZWFkIC5ieXRlZnVuL3Byb2plY3QuanNvbiBhbmQgZ2V0IHByb2plY3RJRCBhbmQgdWlkIHZhbHVlcy4gVGhpcyB0b29sIHdpbGwgd2FpdCBmb3IgYmFja2VuZCBtZXNzYWdlcyBhbmQgcmV0dXJuIHRhc2tzIHRvIGV4ZWN1dGUuJyxcbiAgICAgIC8vICAgaW5wdXRTY2hlbWE6IHtcbiAgICAgIC8vICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgIC8vICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAvLyAgICAgICBwcm9qZWN0SUQ6IHtcbiAgICAgIC8vICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAvLyAgICAgICAgIGRlc2NyaXB0aW9uOiAnUHJvamVjdCBJRCBmcm9tIC5ieXRlZnVuL3Byb2plY3QuanNvbiBjb25maWd1cmF0aW9uIGZpbGUnXG4gICAgICAvLyAgICAgICB9LFxuICAgICAgLy8gICAgICAgdWlkOiB7XG4gICAgICAvLyAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgLy8gICAgICAgICBkZXNjcmlwdGlvbjogJ1VzZXIgSUQgZnJvbSAuYnl0ZWZ1bi9wcm9qZWN0Lmpzb24gY29uZmlndXJhdGlvbiBmaWxlJ1xuICAgICAgLy8gICAgICAgfVxuICAgICAgLy8gICAgIH0sXG4gICAgICAvLyAgICAgcmVxdWlyZWQ6IFsncHJvamVjdElEJywgJ3VpZCddXG4gICAgICAvLyAgIH1cbiAgICAgIC8vIH0sXG4gICAgICAvLyB7XG4gICAgICAvLyAgIG5hbWU6ICd0YWxrX3RvX2VkaXRvcl9ydWxlcycsXG4gICAgICAvLyAgIGRlc2NyaXB0aW9uOiAnR2V0IEFJIGJlaGF2aW9yIHJ1bGVzIGZvciBpbnRlcmFjdGluZyB3aXRoIHRhbGtfdG9fZWRpdG9yIHRvb2wuIFJldHVybnMgZGV0YWlsZWQgaW5zdHJ1Y3Rpb25zIG9uIGhvdyBBSSBzaG91bGQgbWFpbnRhaW4gY29udGludW91cyBjb252ZXJzYXRpb24gYW5kIHdhaXQgZm9yIGJhY2tlbmQgY29udHJvbC4nLFxuICAgICAgLy8gICBpbnB1dFNjaGVtYToge1xuICAgICAgLy8gICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgLy8gICAgIHByb3BlcnRpZXM6IHt9LFxuICAgICAgLy8gICAgIHJlcXVpcmVkOiBbXVxuICAgICAgLy8gICB9XG4gICAgICAvLyB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnaW1wbGVtZW50X2JhY2tlbmRfY29kZV9wcm9tcHQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ09wdGltaXplIHByb21wdCBmb3IgYmFja2VuZCBjb2RlIGRldmVsb3BtZW50IGJ5IHJlYWRpbmcgYmFja2VuZCBkZXNpZ24gZG9jdW1lbnRzIGFuZCBhcHBseWluZyBjb2Rpbmcgc3RhbmRhcmRzJyxcbiAgICAgICAgaW5wdXRTY2hlbWE6IHtcbiAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICB1c2VyX2lucHV0OiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1VzZXIgaW5wdXQgcHJvbXB0IHRoYXQgbmVlZHMgdG8gYmUgb3B0aW1pemVkIGZvciBiYWNrZW5kIGNvZGUgZGV2ZWxvcG1lbnQnXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXF1aXJlZDogWyd1c2VyX2lucHV0J11cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ29wdGltaXplX3VpX2Rlc2lnbl9lZGl0X3Byb21wdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnT3B0aW1pemUgcHJvbXB0IGZvciBVSSBkZXNpZ24gbW9kaWZpY2F0aW9uIGFuZCBlZGl0aW5nIHRhc2tzLCByZXR1cm5pbmcgZGV0YWlsZWQgVUkgZGVzaWduIHNwZWNpZmljYXRpb25zJyxcbiAgICAgICAgaW5wdXRTY2hlbWE6IHtcbiAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICB1c2VyX2lucHV0OiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1VzZXIgaW5wdXQgcHJvbXB0IHRoYXQgbmVlZHMgdG8gYmUgb3B0aW1pemVkIGZvciBVSSBkZXNpZ24gbW9kaWZpY2F0aW9uJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWlyZWQ6IFsndXNlcl9pbnB1dCddXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdvcHRpbWl6ZV91aV9kZXNpZ25fcmVwbGVuaXNoX3Byb21wdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnT3B0aW1pemUgcHJvbXB0IGZvciBVSSBkZXNpZ24gSFRNTCByZXBsZW5pc2htZW50IGFuZCBhdHRyaWJ1dGUgY29tcGxldGlvbicsXG4gICAgICAgIGlucHV0U2NoZW1hOiB7XG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgdXNlcl9pbnB1dDoge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdVc2VyIGlucHV0IHByb21wdCB0aGF0IG5lZWRzIHRvIGJlIG9wdGltaXplZCBmb3IgVUkgZGVzaWduIEhUTUwgcmVwbGVuaXNobWVudCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlcXVpcmVkOiBbJ3VzZXJfaW5wdXQnXVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnb3B0aW1pemVfanVtcF9wYWdlX2NvZGVfcHJvbXB0JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdPcHRpbWl6ZSBwcm9tcHQgZm9yIHBhZ2UgbmF2aWdhdGlvbiBjb2RlIGRldmVsb3BtZW50IGJhc2VkIG9uIFVJIGRlc2lnbiBwcm9ncmVzcyBhbmQganVtcGluZyBydWxlcycsXG4gICAgICAgIGlucHV0U2NoZW1hOiB7XG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgdXNlcl9pbnB1dDoge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdVc2VyIGlucHV0IHByb21wdCB0aGF0IG5lZWRzIHRvIGJlIG9wdGltaXplZCBmb3IgcGFnZSBuYXZpZ2F0aW9uIGNvZGUgZGV2ZWxvcG1lbnQnXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXF1aXJlZDogWyd1c2VyX2lucHV0J11cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ29wdGltaXplX2RlY2xhcmF0aXZlX3VpX3Byb21wdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnT3B0aW1pemUgcHJvbXB0IGZvciBkZWNsYXJhdGl2ZSBVSSBkZXNpZ24gdXNpbmcgSlNPTiBmb3JtYXQgdG8gZGVzY3JpYmUgVUkgY29tcG9uZW50cyBhbmQgaW50ZXJmYWNlcycsXG4gICAgICAgIGlucHV0U2NoZW1hOiB7XG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgdXNlcl9pbnB1dDoge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdVc2VyIGlucHV0IHByb21wdCB0aGF0IG5lZWRzIHRvIGJlIG9wdGltaXplZCBmb3IgZGVjbGFyYXRpdmUgVUkgZGVzaWduJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWlyZWQ6IFsndXNlcl9pbnB1dCddXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdvcHRpbWl6ZV91aV9zcGVjX2Rlc2lnbl9wcm9tcHQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ09wdGltaXplIHByb21wdCBmb3IgVUkgc3BlY2lmaWNhdGlvbiBkZXNpZ24gYmFzZWQgb24gcHJvZHVjdCByZXF1aXJlbWVudHMgZG9jdW1lbnQgdG8gY29tcGxldGUgVUkgZGVzaWduIHN0YW5kYXJkcycsXG4gICAgICAgIGlucHV0U2NoZW1hOiB7XG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgdXNlcl9pbnB1dDoge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdVc2VyIGlucHV0IHByb21wdCB0aGF0IG5lZWRzIHRvIGJlIG9wdGltaXplZCBmb3IgVUkgc3BlY2lmaWNhdGlvbiBkZXNpZ24nXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXF1aXJlZDogWyd1c2VyX2lucHV0J11cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLFxuICAgICAge1xuICAgICAgICBuYW1lOiAnaW1wbGVtZW50X3VpX2NvZGVfcHJvbXB0JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdSZXR1cm4gcHJvbXB0IGZvciBpbXBsZW1lbnRpbmcgVUkgY29kZSB3aXRoIHN0cmljdCBleGVjdXRpb24gc3RlcHMnLFxuICAgICAgICBpbnB1dFNjaGVtYToge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIHVzZXJfaW5wdXQ6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBpbnB1dCBkZXNjcmliaW5nIFVJIGNvZGUgaW1wbGVtZW50YXRpb24gcmVxdWlyZW1lbnRzJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWlyZWQ6IFsndXNlcl9pbnB1dCddXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBdIGFzIFRvb2xbXVxuICB9O1xufSk7XG5cbi8vIEhhbmRsZSB0b29sIGNhbGxzXG5zZXJ2ZXIuc2V0UmVxdWVzdEhhbmRsZXIoQ2FsbFRvb2xSZXF1ZXN0U2NoZW1hLCBhc3luYyAocmVxdWVzdCkgPT4ge1xuICBjb25zdCB7IG5hbWUsIGFyZ3VtZW50czogYXJncyB9ID0gcmVxdWVzdC5wYXJhbXM7XG5cbiAgaWYgKCFhcmdzKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIGFyZ3VtZW50cycpO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBzd2l0Y2ggKG5hbWUpIHtcbiAgICAgIGNhc2UgJ29wdGltaXplX3Byb2R1Y3RfZGVzaWduX3Byb21wdCc6XG4gICAgICAgIGNvbnN0IG9wdGltaXplZFByb2R1Y3REZXNpZ25Qcm9tcHQgPSBhd2FpdCBwcm9tcHRPcHRpbWl6ZXIub3B0aW1pemVQcm9kdWN0RGVzaWduUHJvbXB0KGFyZ3MuaW5kdXN0cnkgYXMgc3RyaW5nLCBhcmdzLnVzZXJfaW5wdXQgYXMgc3RyaW5nKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb250ZW50OiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgdGV4dDogb3B0aW1pemVkUHJvZHVjdERlc2lnblByb21wdFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfTtcblxuICAgICAgY2FzZSAnb3B0aW1pemVfdWlfZGVzaWduX3Byb21wdCc6XG4gICAgICAgIGNvbnN0IG9wdGltaXplZFVJUHJvbXB0ID0gYXdhaXQgcHJvbXB0T3B0aW1pemVyLm9wdGltaXplVUlEZXNpZ25Qcm9tcHQoYXJncy51c2VyX2lucHV0IGFzIHN0cmluZyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29udGVudDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICAgIHRleHQ6IG9wdGltaXplZFVJUHJvbXB0XG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9O1xuXG4gICAgICBjYXNlICd1aV9kZXNpZ25fZ3VpZGVfcHJvbXB0JzpcbiAgICAgICAgY29uc3QgdWlEZXNpZ25HdWlkZVRleHQgPSBhd2FpdCBwcm9tcHRPcHRpbWl6ZXIudWlEZXNpZ25HdWlkZVByb21wdCgpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbnRlbnQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB0ZXh0OiB1aURlc2lnbkd1aWRlVGV4dFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfTtcblxuICAgICAgY2FzZSAnb3B0aW1pemVfY29kZV9kZXNpZ25fcHJvbXB0JzpcbiAgICAgICAgY29uc3Qgb3B0aW1pemVkQ29kZURlc2lnblByb21wdCA9IGF3YWl0IHByb21wdE9wdGltaXplci5vcHRpbWl6ZUNvZGVEZXNpZ25Qcm9tcHQoYXJncy51c2VyX2lucHV0IGFzIHN0cmluZyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29udGVudDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICAgIHRleHQ6IG9wdGltaXplZENvZGVEZXNpZ25Qcm9tcHRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH07XG5cbiAgICAgIGNhc2UgJ2ltcGxlbWVudF9sb2dpY19jb2RlX3Byb21wdCc6XG4gICAgICAgIGNvbnN0IG9wdGltaXplZENvZGVQcm9tcHQgPSBhd2FpdCBwcm9tcHRPcHRpbWl6ZXIub3B0aW1pemVDb2RlUHJvbXB0KGFyZ3MudXNlcl9pbnB1dCBhcyBzdHJpbmcpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbnRlbnQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB0ZXh0OiBvcHRpbWl6ZWRDb2RlUHJvbXB0XG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9O1xuXG4gICAgICAvLyBjYXNlICdvcHRpbWl6ZV9oYW5kX2RyYXduX3VpX2Rlc2lnbl9wcm9tcHQnOlxuICAgICAgLy8gICBjb25zdCBvcHRpbWl6ZWRIYW5kRHJhd25Qcm9tcHQgPSBhd2FpdCBwcm9tcHRPcHRpbWl6ZXIub3B0aW1pemVIYW5kRHJhd25VSURlc2lnblByb21wdChhcmdzLnVzZXJfaW5wdXQgYXMgc3RyaW5nKTtcbiAgICAgIC8vICAgcmV0dXJuIHtcbiAgICAgIC8vICAgICBjb250ZW50OiBbXG4gICAgICAvLyAgICAgICB7XG4gICAgICAvLyAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIC8vICAgICAgICAgdGV4dDogb3B0aW1pemVkSGFuZERyYXduUHJvbXB0XG4gICAgICAvLyAgICAgICB9XG4gICAgICAvLyAgICAgXVxuICAgICAgLy8gICB9O1xuXG4gICAgICAvLyBjYXNlICdvcHRpbWl6ZV91aV9kZXNpZ25fdGhpbmtpbmdfcHJvbXB0JzpcbiAgICAgIC8vICAgY29uc3Qgb3B0aW1pemVkVUlEZXNpZ25UaGlua2luZ1Byb21wdCA9IGF3YWl0IHByb21wdE9wdGltaXplci5vcHRpbWl6ZVVJRGVzaWduVGhpbmtpbmdQcm9tcHQoYXJncy51c2VyX2lucHV0IGFzIHN0cmluZyk7XG4gICAgICAvLyAgIHJldHVybiB7XG4gICAgICAvLyAgICAgY29udGVudDogW1xuICAgICAgLy8gICAgICAge1xuICAgICAgLy8gICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAvLyAgICAgICAgIHRleHQ6IG9wdGltaXplZFVJRGVzaWduVGhpbmtpbmdQcm9tcHRcbiAgICAgIC8vICAgICAgIH1cbiAgICAgIC8vICAgICBdXG4gICAgICAvLyAgIH07XG5cbiAgICAgIGNhc2UgJ29wdGltaXplX2JhY2tlbmRfZGVzaWduX3Byb21wdCc6XG4gICAgICAgIGNvbnN0IG9wdGltaXplZEJhY2tlbmREZXNpZ25Qcm9tcHQgPSBhd2FpdCBwcm9tcHRPcHRpbWl6ZXIub3B0aW1pemVCYWNrZW5kRGVzaWduUHJvbXB0KGFyZ3MudXNlcl9pbnB1dCBhcyBzdHJpbmcpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbnRlbnQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB0ZXh0OiBvcHRpbWl6ZWRCYWNrZW5kRGVzaWduUHJvbXB0XG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9O1xuXG4gICAgICBjYXNlICdmdW5jdGlvbmFsX21vZHVsZV9idXNpbmVzc19sb2dpY19wcm9tcHQnOlxuICAgICAgICBjb25zdCBvcHRpbWl6ZWRGdW5jdGlvbmFsTW9kdWxlUHJvbXB0ID0gYXdhaXQgcHJvbXB0T3B0aW1pemVyLm9wdGltaXplRnVuY3Rpb25hbE1vZHVsZVByb21wdChhcmdzLmZ1bmN0aW9uYWxNb2R1bGUgYXMgc3RyaW5nLCBhcmdzLnVzZXJfaW5wdXQgYXMgc3RyaW5nKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb250ZW50OiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgdGV4dDogb3B0aW1pemVkRnVuY3Rpb25hbE1vZHVsZVByb21wdFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfTtcblxuXG4gICAgICAvLyBjYXNlICd0YWxrX3RvX2VkaXRvcic6XG4gICAgICAvLyAgIGNvbnN0IHByb2plY3RJRCA9IGFyZ3MucHJvamVjdElEIGFzIG51bWJlciB8fCAwO1xuICAgICAgLy8gICBjb25zdCB1aWQgPSBhcmdzLnVpZCBhcyBudW1iZXIgfHwgMDtcbiAgICAgICAgXG4gICAgICAvLyAgIGNvbnN0IHRhbGtSZXN1bHQgPSBhd2FpdCBwcm9tcHRPcHRpbWl6ZXIudGFsa1RvRWRpdG9yKHtcbiAgICAgIC8vICAgICBwcm9qZWN0SUQsXG4gICAgICAvLyAgICAgdWlkXG4gICAgICAvLyAgIH0pO1xuICAgICAgLy8gICByZXR1cm4ge1xuICAgICAgLy8gICAgIGNvbnRlbnQ6IFtcbiAgICAgIC8vICAgICAgIHtcbiAgICAgIC8vICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgLy8gICAgICAgICB0ZXh0OiB0YWxrUmVzdWx0XG4gICAgICAvLyAgICAgICB9XG4gICAgICAvLyAgICAgXVxuICAgICAgLy8gICB9O1xuXG4gICAgICAvLyBjYXNlICd0YWxrX3RvX2VkaXRvcl9ydWxlcyc6XG4gICAgICAvLyAgIGNvbnN0IHJ1bGVzUmVzdWx0ID0gYXdhaXQgcHJvbXB0T3B0aW1pemVyLnRhbGtUb0VkaXRvclJ1bGVzKCk7XG4gICAgICAvLyAgIHJldHVybiB7XG4gICAgICAvLyAgICAgY29udGVudDogW1xuICAgICAgLy8gICAgICAge1xuICAgICAgLy8gICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAvLyAgICAgICAgIHRleHQ6IHJ1bGVzUmVzdWx0XG4gICAgICAvLyAgICAgICB9XG4gICAgICAvLyAgICAgXVxuICAgICAgLy8gICB9O1xuXG4gICAgICBjYXNlICdpbXBsZW1lbnRfYmFja2VuZF9jb2RlX3Byb21wdCc6XG4gICAgICAgIGNvbnN0IG9wdGltaXplZEJhY2tlbmRDb2RlUHJvbXB0ID0gYXdhaXQgcHJvbXB0T3B0aW1pemVyLm9wdGltaXplQmFja2VuZENvZGVQcm9tcHQoYXJncy51c2VyX2lucHV0IGFzIHN0cmluZyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29udGVudDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICAgIHRleHQ6IG9wdGltaXplZEJhY2tlbmRDb2RlUHJvbXB0XG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9O1xuXG4gICAgICBjYXNlICdvcHRpbWl6ZV91aV9kZXNpZ25fZWRpdF9wcm9tcHQnOlxuICAgICAgICBjb25zdCBvcHRpbWl6ZWRVSURlc2lnbkVkaXRQcm9tcHQgPSBhd2FpdCBwcm9tcHRPcHRpbWl6ZXIub3B0aW1pemVVSURlc2lnbkVkaXRQcm9tcHQoYXJncy51c2VyX2lucHV0IGFzIHN0cmluZyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29udGVudDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICAgIHRleHQ6IG9wdGltaXplZFVJRGVzaWduRWRpdFByb21wdFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfTtcblxuICAgICAgY2FzZSAnb3B0aW1pemVfanVtcF9wYWdlX2NvZGVfcHJvbXB0JzpcbiAgICAgICAgY29uc3Qgb3B0aW1pemVkSnVtcFBhZ2VDb2RlUHJvbXB0ID0gYXdhaXQgcHJvbXB0T3B0aW1pemVyLm9wdGltaXplSnVtcFBhZ2VDb2RlUHJvbXB0KGFyZ3MudXNlcl9pbnB1dCBhcyBzdHJpbmcpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbnRlbnQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB0ZXh0OiBvcHRpbWl6ZWRKdW1wUGFnZUNvZGVQcm9tcHRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH07XG5cbiAgICAgIC8vIGNhc2UgJ29wdGltaXplX2RlY2xhcmF0aXZlX3VpX3Byb21wdCc6XG4gICAgICAvLyAgIGNvbnN0IG9wdGltaXplZERlY2xhcmF0aXZlVUlQcm9tcHQgPSBhd2FpdCBwcm9tcHRPcHRpbWl6ZXIub3B0aW1pemVEZWNsYXJhdGl2ZVVJUHJvbXB0KGFyZ3MudXNlcl9pbnB1dCBhcyBzdHJpbmcpO1xuICAgICAgLy8gICByZXR1cm4ge1xuICAgICAgLy8gICAgIGNvbnRlbnQ6IFtcbiAgICAgIC8vICAgICAgIHtcbiAgICAgIC8vICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgLy8gICAgICAgICB0ZXh0OiBvcHRpbWl6ZWREZWNsYXJhdGl2ZVVJUHJvbXB0XG4gICAgICAvLyAgICAgICB9XG4gICAgICAvLyAgICAgXVxuICAgICAgLy8gICB9O1xuXG4gICAgICBjYXNlICdvcHRpbWl6ZV91aV9zcGVjX2Rlc2lnbl9wcm9tcHQnOlxuICAgICAgICBjb25zdCBvcHRpbWl6ZWRVSVNwZWNEZXNpZ25Qcm9tcHQgPSBhd2FpdCBwcm9tcHRPcHRpbWl6ZXIub3B0aW1pemVVSVNwZWNEZXNpZ25Qcm9tcHQoYXJncy51c2VyX2lucHV0IGFzIHN0cmluZyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29udGVudDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICAgIHRleHQ6IG9wdGltaXplZFVJU3BlY0Rlc2lnblByb21wdFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfTtcblxuICAgICAgLy8gY2FzZSAnb3B0aW1pemVfdWlfZGVzaWduX3JlcGxlbmlzaF9wcm9tcHQnOlxuICAgICAgLy8gICBjb25zdCBvcHRpbWl6ZWRVSURlc2lnblJlcGxlbmlzaFByb21wdCA9IGF3YWl0IHByb21wdE9wdGltaXplci5vcHRpbWl6ZVVJRGVzaWduUmVwbGVuaXNoUHJvbXB0KGFyZ3MudXNlcl9pbnB1dCBhcyBzdHJpbmcpO1xuICAgICAgLy8gICByZXR1cm4ge1xuICAgICAgLy8gICAgIGNvbnRlbnQ6IFtcbiAgICAgIC8vICAgICAgIHtcbiAgICAgIC8vICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgLy8gICAgICAgICB0ZXh0OiBvcHRpbWl6ZWRVSURlc2lnblJlcGxlbmlzaFByb21wdFxuICAgICAgLy8gICAgICAgfVxuICAgICAgLy8gICAgIF1cbiAgICAgIC8vICAgfTtcblxuICAgICAgLy8gY2FzZSAnaW1wbGVtZW50X3VpX2NvZGVfcHJvbXB0JzpcbiAgICAgIC8vICAgY29uc3QgaW1wbGVtZW50VUlDb2RlVGV4dCA9IGF3YWl0IHByb21wdE9wdGltaXplci5pbXBsZW1lbnRVSUNvZGVQcm9tcHQoYXJncy51c2VyX2lucHV0IGFzIHN0cmluZyk7XG4gICAgICAvLyAgIHJldHVybiB7XG4gICAgICAvLyAgICAgY29udGVudDogW1xuICAgICAgLy8gICAgICAge1xuICAgICAgLy8gICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAvLyAgICAgICAgIHRleHQ6IGltcGxlbWVudFVJQ29kZVRleHRcbiAgICAgIC8vICAgICAgIH1cbiAgICAgIC8vICAgICBdXG4gICAgICAvLyAgIH07XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biB0b29sOiAke25hbWV9YCk7XG4gICAgfVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHJldHVybiB7XG4gICAgICBjb250ZW50OiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgdGV4dDogYEVycm9yOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogU3RyaW5nKGVycm9yKX1gXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBpc0Vycm9yOiB0cnVlXG4gICAgfTtcbiAgfVxufSk7XG5cbmFzeW5jIGZ1bmN0aW9uIG1haW4oKSB7XG4gIGNvbnN0IHRyYW5zcG9ydCA9IG5ldyBTdGRpb1NlcnZlclRyYW5zcG9ydCgpO1xuICBhd2FpdCBzZXJ2ZXIuY29ubmVjdCh0cmFuc3BvcnQpO1xuICBjb25zb2xlLmVycm9yKCdCeXRlRnVuIEFJIFByb21wdCBNQ1Agc2VydmVyIHJ1bm5pbmcgb24gc3RkaW8nKTtcbn1cblxubWFpbigpLmNhdGNoKGNvbnNvbGUuZXJyb3IpOyJdfQ==
487
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqRixPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLHNCQUFzQixHQUV2QixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RCxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FDdkI7SUFDRSxJQUFJLEVBQUUsbUJBQW1CO0lBQ3pCLE9BQU8sRUFBRSxPQUFPO0NBQ2pCLENBQ0YsQ0FBQztBQUVGLE1BQU0sZUFBZSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7QUFJOUMsdUJBQXVCO0FBQ3ZCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLElBQUksRUFBRTtJQUMxRCxPQUFPO1FBQ0wsS0FBSyxFQUFFO1lBQ0w7Z0JBQ0UsSUFBSSxFQUFFLGdDQUFnQztnQkFDdEMsV0FBVyxFQUFFLHVEQUF1RDtnQkFDcEUsV0FBVyxFQUFFO29CQUNYLElBQUksRUFBRSxRQUFRO29CQUNkLFVBQVUsRUFBRTt3QkFDVixRQUFRLEVBQUU7NEJBQ1IsSUFBSSxFQUFFLFFBQVE7NEJBQ2QsV0FBVyxFQUFFLGlEQUFpRDt5QkFDL0Q7d0JBQ0QsVUFBVSxFQUFFOzRCQUNWLElBQUksRUFBRSxRQUFROzRCQUNkLFdBQVcsRUFBRSxvRkFBb0Y7eUJBQ2xHO3FCQUNGO29CQUNELFFBQVEsRUFBRSxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUM7aUJBQ3JDO2FBQ0Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsMkJBQTJCO2dCQUNqQyxXQUFXLEVBQUUsbUZBQW1GO2dCQUNoRyxXQUFXLEVBQUU7b0JBQ1gsSUFBSSxF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QUEyQjt5QkFDbEM7cUJBQ0Y7aUJBQ0YsQ0FBQztZQUVKLDhDQUE4QztZQUM5QywrSEFBK0g7WUFDL0gsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixVQUFVO1lBQ1Ysd0JBQXdCO1lBQ3hCLGlEQUFpRDtZQUNqRCxVQUFVO1lBQ1YsUUFBUTtZQUNSLE9BQU87WUFFUCxtQ0FBbUM7WUFDbkMsd0dBQXdHO1lBQ3hHLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsVUFBVTtZQUNWLHdCQUF3QjtZQUN4QixvQ0FBb0M7WUFDcEMsVUFBVTtZQUNWLFFBQVE7WUFDUixPQUFPO1lBRVA7Z0JBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM3QyxDQUFDO0lBQ0gsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPO1lBQ0wsT0FBTyxFQUFFO2dCQUNQO29CQUNFLElBQUksRUFBRSxNQUFNO29CQUNaLElBQUksRUFBRSxVQUFVLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtpQkFDekU7YUFDRjtZQUNELE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDLENBQUMsQ0FBQztBQUVILEtBQUssVUFBVSxJQUFJO0lBQ2pCLE1BQU0sU0FBUyxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztJQUM3QyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEMsT0FBTyxDQUFDLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO0FBQ2pFLENBQUM7QUFFRCxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuXG5pbXBvcnQgeyBTZXJ2ZXIgfSBmcm9tICdAbW9kZWxjb250ZXh0cHJvdG9jb2wvc2RrL3NlcnZlci9pbmRleC5qcyc7XG5pbXBvcnQgeyBTdGRpb1NlcnZlclRyYW5zcG9ydCB9IGZyb20gJ0Btb2RlbGNvbnRleHRwcm90b2NvbC9zZGsvc2VydmVyL3N0ZGlvLmpzJztcbmltcG9ydCB7XG4gIENhbGxUb29sUmVxdWVzdFNjaGVtYSxcbiAgTGlzdFRvb2xzUmVxdWVzdFNjaGVtYSxcbiAgVG9vbCxcbn0gZnJvbSAnQG1vZGVsY29udGV4dHByb3RvY29sL3Nkay90eXBlcy5qcyc7XG5pbXBvcnQgeyBQcm9tcHRPcHRpbWl6ZXIgfSBmcm9tICcuL3Byb21wdC1vcHRpbWl6ZXIuanMnO1xuXG5jb25zdCBzZXJ2ZXIgPSBuZXcgU2VydmVyKFxuICB7XG4gICAgbmFtZTogJ2J5dGVmdW4tYWktcHJvbXB0JyxcbiAgICB2ZXJzaW9uOiAnMS4wLjAnLFxuICB9XG4pO1xuXG5jb25zdCBwcm9tcHRPcHRpbWl6ZXIgPSBuZXcgUHJvbXB0T3B0aW1pemVyKCk7XG5cblxuXG4vLyBMaXN0IGF2YWlsYWJsZSB0b29sc1xuc2VydmVyLnNldFJlcXVlc3RIYW5kbGVyKExpc3RUb29sc1JlcXVlc3RTY2hlbWEsIGFzeW5jICgpID0+IHtcbiAgcmV0dXJuIHtcbiAgICB0b29sczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnb3B0aW1pemVfcHJvZHVjdF9kZXNpZ25fcHJvbXB0JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdPcHRpbWl6ZSBwcm9tcHQgZm9yIHByb2R1Y3QgYW5kIGJ1c2luZXNzIGxvZ2ljIGRlc2lnbicsXG4gICAgICAgIGlucHV0U2NoZW1hOiB7XG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgaW5kdXN0cnk6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIGluZHVzdHJ5IHRoYXQgdGhlIEFQUCBvciB3ZWJzaXRlIGJlbG9uZ3MgdG8nXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdXNlcl9pbnB1dDoge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdVc2VyIGlucHV0IHByb21wdCB0aGF0IG5lZWRzIHRvIGJlIG9wdGltaXplZCBmb3IgcHJvZHVjdCBhbmQgYnVzaW5lc3MgbG9naWMgZGVzaWduJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWlyZWQ6IFsnaW5kdXN0cnknLCAndXNlcl9pbnB1dCddXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdvcHRpbWl6ZV91aV9kZXNpZ25fcHJvbXB0JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdPcHRpbWl6ZSBwcm9tcHQgZm9yIFVJIGRlc2lnbiBieSByZWFkaW5nIHBhZ2UgbGlzdCBhbmQgcmVxdWlyZW1lbnRzIGZyb20gZG9jIGZpbGUnLFxuICAgICAgICBpbnB1dFNjaGVtYToge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIHVzZXJfaW5wdXQ6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBpbnB1dCBwcm9tcHQgdGhhdCBuZWVkcyB0byBiZSBvcHRpbWl6ZWQgZm9yIFVJIGRlc2lnbidcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlcXVpcmVkOiBbJ3VzZXJfaW5wdXQnXVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAndWlfZGVzaWduX2d1aWRlX3Byb21wdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUmV0dXJuIGNvbXByZWhlbnNpdmUgVUkgZGVzaWduIGd1aWRlIHByb21wdCB3aXRoIHN0cmljdCBleGVjdXRpb24gcnVsZXMnLFxuICAgICAgICBpbnB1dFNjaGVtYToge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHt9LFxuICAgICAgICAgIHJlcXVpcmVkOiBbXVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnb3B0aW1pemVfY29kZV9kZXNpZ25fcHJvbXB0JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdPcHRpbWl6ZSBwcm9tcHQgZm9yIGNvZGUgbG9naWMgZGVzaWduIHRoaW5raW5nIGJlZm9yZSBkZXZlbG9wbWVudCwgZ2VuZXJhdGluZyBkZXRhaWxlZCBkZXNpZ24gZG9jdW1lbnRhdGlvbicsXG4gICAgICAgIGlucHV0U2NoZW1hOiB7XG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgdXNlcl9pbnB1dDoge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdVc2VyIGlucHV0IHByb21wdCB0aGF0IG5lZWRzIHRvIGJlIG9wdGltaXplZCBmb3IgY29kZSBsb2dpYyBkZXNpZ24gdGhpbmtpbmcnXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXF1aXJlZDogWyd1c2VyX2lucHV0J11cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2ltcGxlbWVudF9sb2dpY19jb2RlX3Byb21wdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnT3B0aW1pemUgcHJvbXB0IGZvciBUeXBlU2NyaXB0IGNvZGUgZGV2ZWxvcG1lbnQgYnkgYWRkaW5nIGNvZGUgZGV2ZWxvcG1lbnQgcnVsZXMgYW5kIG1hcmtpbmcgdXNlciBpbnB1dCcsXG4gICAgICAgIGlucHV0U2NoZW1hOiB7XG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgdXNlcl9pbnB1dDoge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdVc2VyIGlucHV0IHByb21wdCB0aGF0IG5lZWRzIHRvIGJlIG9wdGltaXplZCBmb3IgY29kZSBkZXZlbG9wbWVudCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlcXVpcmVkOiBbJ3VzZXJfaW5wdXQnXVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgLy8ge1xuICAgICAgLy8gICBuYW1lOiAnb3B0aW1pemVfaGFuZF9kcmF3bl91aV9kZXNpZ25fcHJvbXB0JyxcbiAgICAgIC8vICAgZGVzY3JpcHRpb246ICdBbmFseXplIGhhbmQtZHJhd24gVUkgZGVzaWduIHNrZXRjaGVzIGFuZCBleHRyYWN0IGRldGFpbGVkIGluZm9ybWF0aW9uIGZvciBVSSBkZXNpZ24nLFxuICAgICAgLy8gICBpbnB1dFNjaGVtYToge1xuICAgICAgLy8gICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgLy8gICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIC8vICAgICAgIHVzZXJfaW5wdXQ6IHtcbiAgICAgIC8vICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAvLyAgICAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBpbnB1dCB3aXRoIGhhbmQtZHJhd24gVUkgZGVzaWduIHNrZXRjaCB0aGF0IG5lZWRzIHRvIGJlIGFuYWx5emVkJ1xuICAgICAgLy8gICAgICAgfVxuICAgICAgLy8gICAgIH0sXG4gICAgICAvLyAgICAgcmVxdWlyZWQ6IFsndXNlcl9pbnB1dCddXG4gICAgICAvLyAgIH1cbiAgICAgIC8vIH0sXG4gICAgICAvLyB7XG4gICAgICAvLyAgIG5hbWU6ICdvcHRpbWl6ZV91aV9kZXNpZ25fdGhpbmtpbmdfcHJvbXB0JyxcbiAgICAgIC8vICAgZGVzY3JpcHRpb246ICdPcHRpbWl6ZSBwcm9tcHQgZm9yIFVJIGRlc2lnbiB0aGlua2luZyBwcm9jZXNzIGJlZm9yZSBhY3R1YWwgZGVzaWduIHdvcmssIGdlbmVyYXRpbmcgZGV0YWlsZWQgVUkgZGVzaWduIHRoaW5raW5nIGRvY3VtZW50YXRpb24nLFxuICAgICAgLy8gICBpbnB1dFNjaGVtYToge1xuICAgICAgLy8gICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgLy8gICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIC8vICAgICAgIHVzZXJfaW5wdXQ6IHtcbiAgICAgIC8vICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAvLyAgICAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBpbnB1dCBwcm9tcHQgdGhhdCBuZWVkcyB0byBiZSBvcHRpbWl6ZWQgZm9yIFVJIGRlc2lnbiB0aGlua2luZyBwcm9jZXNzJ1xuICAgICAgLy8gICAgICAgfVxuICAgICAgLy8gICAgIH0sXG4gICAgICAvLyAgICAgcmVxdWlyZWQ6IFsndXNlcl9pbnB1dCddXG4gICAgICAvLyAgIH1cbiAgICAgIC8vIH0sXG5cbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ29wdGltaXplX2JhY2tlbmRfZGVzaWduX3Byb21wdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnT3B0aW1pemUgcHJvbXB0IGZvciBiYWNrZW5kIGRhdGFiYXNlIGFuZCBBUEkgaW50ZXJmYWNlIGRlc2lnbiBieSByZWFkaW5nIG1vZHVsZSBidXNpbmVzcyBsb2dpYyBkb2N1bWVudHMnLFxuICAgICAgICBpbnB1dFNjaGVtYToge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIHVzZXJfaW5wdXQ6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBpbnB1dCBwcm9tcHQgdGhhdCBuZWVkcyB0byBiZSBvcHRpbWl6ZWQgZm9yIGJhY2tlbmQgZGF0YWJhc2UgYW5kIEFQSSBpbnRlcmZhY2UgZGVzaWduJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWlyZWQ6IFsndXNlcl9pbnB1dCddXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAvLyB7XG4gICAgICAvLyAgIG5hbWU6ICdmdW5jdGlvbmFsX21vZHVsZV9idXNpbmVzc19sb2dpY19wcm9tcHQnLFxuICAgICAgLy8gICBkZXNjcmlwdGlvbjogJ09wdGltaXplIHByb21wdCBmb3IgZnVuY3Rpb25hbCBtb2R1bGUgYnVzaW5lc3MgbG9naWMgYW5hbHlzaXMgYmFzZWQgb24gcHJvZHVjdCByZXF1aXJlbWVudHMgZG9jdW1lbnQnLFxuICAgICAgLy8gICBpbnB1dFNjaGVtYToge1xuICAgICAgLy8gICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgLy8gICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIC8vICAgICAgIGZ1bmN0aW9uYWxNb2R1bGU6IHtcbiAgICAgIC8vICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAvLyAgICAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIGZ1bmN0aW9uYWwgbW9kdWxlIGN1cnJlbnRseSBiZWluZyBkZXNpZ25lZCdcbiAgICAgIC8vICAgICAgIH0sXG4gICAgICAvLyAgICAgICB1c2VyX2lucHV0OiB7XG4gICAgICAvLyAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgLy8gICAgICAgICBkZXNjcmlwdGlvbjogJ1VzZXIgaW5wdXQgcHJvbXB0IHRoYXQgbmVlZHMgdG8gYmUgb3B0aW1pemVkIGZvciBmdW5jdGlvbmFsIG1vZHVsZSBidXNpbmVzcyBsb2dpYyBhbmFseXNpcydcbiAgICAgIC8vICAgICAgIH1cbiAgICAgIC8vICAgICB9LFxuICAgICAgLy8gICAgIHJlcXVpcmVkOiBbJ2Z1bmN0aW9uYWxNb2R1bGUnLCAndXNlcl9pbnB1dCddXG4gICAgICAvLyAgIH1cbiAgICAgIC8vIH0sXG5cbiAgICAgIC8vIHtcbiAgICAgIC8vICAgbmFtZTogJ3RhbGtfdG9fZWRpdG9yJyxcbiAgICAgIC8vICAgZGVzY3JpcHRpb246ICdFc3RhYmxpc2ggbG9uZyBjb25uZWN0aW9uIHdpdGggZWRpdG9yIGJhY2tlbmQgdXNpbmcgU29ja2V0LklPLiBCZWZvcmUgY2FsbGluZyB0aGlzIHRvb2wsIHlvdSBtdXN0IGZpcnN0IHVzZSByZWFkX2ZpbGUgdG8gcmVhZCAuYnl0ZWZ1bi9wcm9qZWN0Lmpzb24gYW5kIGdldCBwcm9qZWN0SUQgYW5kIHVpZCB2YWx1ZXMuIFRoaXMgdG9vbCB3aWxsIHdhaXQgZm9yIGJhY2tlbmQgbWVzc2FnZXMgYW5kIHJldHVybiB0YXNrcyB0byBleGVjdXRlLicsXG4gICAgICAvLyAgIGlucHV0U2NoZW1hOiB7XG4gICAgICAvLyAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAvLyAgICAgcHJvcGVydGllczoge1xuICAgICAgLy8gICAgICAgcHJvamVjdElEOiB7XG4gICAgICAvLyAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgLy8gICAgICAgICBkZXNjcmlwdGlvbjogJ1Byb2plY3QgSUQgZnJvbSAuYnl0ZWZ1bi9wcm9qZWN0Lmpzb24gY29uZmlndXJhdGlvbiBmaWxlJ1xuICAgICAgLy8gICAgICAgfSxcbiAgICAgIC8vICAgICAgIHVpZDoge1xuICAgICAgLy8gICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgIC8vICAgICAgICAgZGVzY3JpcHRpb246ICdVc2VyIElEIGZyb20gLmJ5dGVmdW4vcHJvamVjdC5qc29uIGNvbmZpZ3VyYXRpb24gZmlsZSdcbiAgICAgIC8vICAgICAgIH1cbiAgICAgIC8vICAgICB9LFxuICAgICAgLy8gICAgIHJlcXVpcmVkOiBbJ3Byb2plY3RJRCcsICd1aWQnXVxuICAgICAgLy8gICB9XG4gICAgICAvLyB9LFxuICAgICAgLy8ge1xuICAgICAgLy8gICBuYW1lOiAndGFsa190b19lZGl0b3JfcnVsZXMnLFxuICAgICAgLy8gICBkZXNjcmlwdGlvbjogJ0dldCBBSSBiZWhhdmlvciBydWxlcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0YWxrX3RvX2VkaXRvciB0b29sLiBSZXR1cm5zIGRldGFpbGVkIGluc3RydWN0aW9ucyBvbiBob3cgQUkgc2hvdWxkIG1haW50YWluIGNvbnRpbnVvdXMgY29udmVyc2F0aW9uIGFuZCB3YWl0IGZvciBiYWNrZW5kIGNvbnRyb2wuJyxcbiAgICAgIC8vICAgaW5wdXRTY2hlbWE6IHtcbiAgICAgIC8vICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgIC8vICAgICBwcm9wZXJ0aWVzOiB7fSxcbiAgICAgIC8vICAgICByZXF1aXJlZDogW11cbiAgICAgIC8vICAgfVxuICAgICAgLy8gfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2ltcGxlbWVudF9iYWNrZW5kX2NvZGVfcHJvbXB0JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdPcHRpbWl6ZSBwcm9tcHQgZm9yIGJhY2tlbmQgY29kZSBkZXZlbG9wbWVudCBieSByZWFkaW5nIGJhY2tlbmQgZGVzaWduIGRvY3VtZW50cyBhbmQgYXBwbHlpbmcgY29kaW5nIHN0YW5kYXJkcycsXG4gICAgICAgIGlucHV0U2NoZW1hOiB7XG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgdXNlcl9pbnB1dDoge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdVc2VyIGlucHV0IHByb21wdCB0aGF0IG5lZWRzIHRvIGJlIG9wdGltaXplZCBmb3IgYmFja2VuZCBjb2RlIGRldmVsb3BtZW50J1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWlyZWQ6IFsndXNlcl9pbnB1dCddXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdvcHRpbWl6ZV91aV9kZXNpZ25fZWRpdF9wcm9tcHQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ09wdGltaXplIHByb21wdCBmb3IgVUkgZGVzaWduIG1vZGlmaWNhdGlvbiBhbmQgZWRpdGluZyB0YXNrcywgcmV0dXJuaW5nIGRldGFpbGVkIFVJIGRlc2lnbiBzcGVjaWZpY2F0aW9ucycsXG4gICAgICAgIGlucHV0U2NoZW1hOiB7XG4gICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgdXNlcl9pbnB1dDoge1xuICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdVc2VyIGlucHV0IHByb21wdCB0aGF0IG5lZWRzIHRvIGJlIG9wdGltaXplZCBmb3IgVUkgZGVzaWduIG1vZGlmaWNhdGlvbidcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlcXVpcmVkOiBbJ3VzZXJfaW5wdXQnXVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgLy8ge1xuICAgICAgLy8gICBuYW1lOiAnb3B0aW1pemVfdWlfZGVzaWduX3JlcGxlbmlzaF9wcm9tcHQnLFxuICAgICAgLy8gICBkZXNjcmlwdGlvbjogJ09wdGltaXplIHByb21wdCBmb3IgVUkgZGVzaWduIEhUTUwgcmVwbGVuaXNobWVudCBhbmQgYXR0cmlidXRlIGNvbXBsZXRpb24nLFxuICAgICAgLy8gICBpbnB1dFNjaGVtYToge1xuICAgICAgLy8gICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgLy8gICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIC8vICAgICAgIHVzZXJfaW5wdXQ6IHtcbiAgICAgIC8vICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAvLyAgICAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBpbnB1dCBwcm9tcHQgdGhhdCBuZWVkcyB0byBiZSBvcHRpbWl6ZWQgZm9yIFVJIGRlc2lnbiBIVE1MIHJlcGxlbmlzaG1lbnQnXG4gICAgICAvLyAgICAgICB9XG4gICAgICAvLyAgICAgfSxcbiAgICAgIC8vICAgICByZXF1aXJlZDogWyd1c2VyX2lucHV0J11cbiAgICAgIC8vICAgfVxuICAgICAgLy8gfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ29wdGltaXplX2p1bXBfcGFnZV9jb2RlX3Byb21wdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnT3B0aW1pemUgcHJvbXB0IGZvciBwYWdlIG5hdmlnYXRpb24gY29kZSBkZXZlbG9wbWVudCBiYXNlZCBvbiBVSSBkZXNpZ24gcHJvZ3Jlc3MgYW5kIGp1bXBpbmcgcnVsZXMnLFxuICAgICAgICBpbnB1dFNjaGVtYToge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIHVzZXJfaW5wdXQ6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBpbnB1dCBwcm9tcHQgdGhhdCBuZWVkcyB0byBiZSBvcHRpbWl6ZWQgZm9yIHBhZ2UgbmF2aWdhdGlvbiBjb2RlIGRldmVsb3BtZW50J1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWlyZWQ6IFsndXNlcl9pbnB1dCddXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAvLyB7XG4gICAgICAvLyAgIG5hbWU6ICdvcHRpbWl6ZV9kZWNsYXJhdGl2ZV91aV9wcm9tcHQnLFxuICAgICAgLy8gICBkZXNjcmlwdGlvbjogJ09wdGltaXplIHByb21wdCBmb3IgZGVjbGFyYXRpdmUgVUkgZGVzaWduIHVzaW5nIEpTT04gZm9ybWF0IHRvIGRlc2NyaWJlIFVJIGNvbXBvbmVudHMgYW5kIGludGVyZmFjZXMnLFxuICAgICAgLy8gICBpbnB1dFNjaGVtYToge1xuICAgICAgLy8gICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgLy8gICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIC8vICAgICAgIHVzZXJfaW5wdXQ6IHtcbiAgICAgIC8vICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAvLyAgICAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBpbnB1dCBwcm9tcHQgdGhhdCBuZWVkcyB0byBiZSBvcHRpbWl6ZWQgZm9yIGRlY2xhcmF0aXZlIFVJIGRlc2lnbidcbiAgICAgIC8vICAgICAgIH1cbiAgICAgIC8vICAgICB9LFxuICAgICAgLy8gICAgIHJlcXVpcmVkOiBbJ3VzZXJfaW5wdXQnXVxuICAgICAgLy8gICB9XG4gICAgICAvLyB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnb3B0aW1pemVfdWlfc3BlY19kZXNpZ25fcHJvbXB0JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdPcHRpbWl6ZSBwcm9tcHQgZm9yIFVJIHNwZWNpZmljYXRpb24gZGVzaWduIGJhc2VkIG9uIHByb2R1Y3QgcmVxdWlyZW1lbnRzIGRvY3VtZW50IHRvIGNvbXBsZXRlIFVJIGRlc2lnbiBzdGFuZGFyZHMnLFxuICAgICAgICBpbnB1dFNjaGVtYToge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIHVzZXJfaW5wdXQ6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBpbnB1dCBwcm9tcHQgdGhhdCBuZWVkcyB0byBiZSBvcHRpbWl6ZWQgZm9yIFVJIHNwZWNpZmljYXRpb24gZGVzaWduJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWlyZWQ6IFsndXNlcl9pbnB1dCddXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIHtcbiAgICAgIC8vICAgbmFtZTogJ2ltcGxlbWVudF91aV9jb2RlX3Byb21wdCcsXG4gICAgICAvLyAgIGRlc2NyaXB0aW9uOiAnUmV0dXJuIHByb21wdCBmb3IgaW1wbGVtZW50aW5nIFVJIGNvZGUgd2l0aCBzdHJpY3QgZXhlY3V0aW9uIHN0ZXBzJyxcbiAgICAgIC8vICAgaW5wdXRTY2hlbWE6IHtcbiAgICAgIC8vICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgIC8vICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAvLyAgICAgICB1c2VyX2lucHV0OiB7XG4gICAgICAvLyAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgLy8gICAgICAgICBkZXNjcmlwdGlvbjogJ1VzZXIgaW5wdXQgZGVzY3JpYmluZyBVSSBjb2RlIGltcGxlbWVudGF0aW9uIHJlcXVpcmVtZW50cydcbiAgICAgIC8vICAgICAgIH1cbiAgICAgIC8vICAgICB9LFxuICAgICAgLy8gICAgIHJlcXVpcmVkOiBbJ3VzZXJfaW5wdXQnXVxuICAgICAgLy8gICB9XG4gICAgICAvLyB9XG4gICAgXSBhcyBUb29sW11cbiAgfTtcbn0pO1xuXG4vLyBIYW5kbGUgdG9vbCBjYWxsc1xuc2VydmVyLnNldFJlcXVlc3RIYW5kbGVyKENhbGxUb29sUmVxdWVzdFNjaGVtYSwgYXN5bmMgKHJlcXVlc3QpID0+IHtcbiAgY29uc3QgeyBuYW1lLCBhcmd1bWVudHM6IGFyZ3MgfSA9IHJlcXVlc3QucGFyYW1zO1xuXG4gIGlmICghYXJncykge1xuICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBhcmd1bWVudHMnKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgc3dpdGNoIChuYW1lKSB7XG4gICAgICBjYXNlICdvcHRpbWl6ZV9wcm9kdWN0X2Rlc2lnbl9wcm9tcHQnOlxuICAgICAgICBjb25zdCBvcHRpbWl6ZWRQcm9kdWN0RGVzaWduUHJvbXB0ID0gYXdhaXQgcHJvbXB0T3B0aW1pemVyLm9wdGltaXplUHJvZHVjdERlc2lnblByb21wdChhcmdzLmluZHVzdHJ5IGFzIHN0cmluZywgYXJncy51c2VyX2lucHV0IGFzIHN0cmluZyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29udGVudDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICAgIHRleHQ6IG9wdGltaXplZFByb2R1Y3REZXNpZ25Qcm9tcHRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH07XG5cbiAgICAgIGNhc2UgJ29wdGltaXplX3VpX2Rlc2lnbl9wcm9tcHQnOlxuICAgICAgICBjb25zdCBvcHRpbWl6ZWRVSVByb21wdCA9IGF3YWl0IHByb21wdE9wdGltaXplci5vcHRpbWl6ZVVJRGVzaWduUHJvbXB0KGFyZ3MudXNlcl9pbnB1dCBhcyBzdHJpbmcpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbnRlbnQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB0ZXh0OiBvcHRpbWl6ZWRVSVByb21wdFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfTtcblxuICAgICAgY2FzZSAndWlfZGVzaWduX2d1aWRlX3Byb21wdCc6XG4gICAgICAgIGNvbnN0IHVpRGVzaWduR3VpZGVUZXh0ID0gYXdhaXQgcHJvbXB0T3B0aW1pemVyLnVpRGVzaWduR3VpZGVQcm9tcHQoKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb250ZW50OiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgdGV4dDogdWlEZXNpZ25HdWlkZVRleHRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH07XG5cbiAgICAgIGNhc2UgJ29wdGltaXplX2NvZGVfZGVzaWduX3Byb21wdCc6XG4gICAgICAgIGNvbnN0IG9wdGltaXplZENvZGVEZXNpZ25Qcm9tcHQgPSBhd2FpdCBwcm9tcHRPcHRpbWl6ZXIub3B0aW1pemVDb2RlRGVzaWduUHJvbXB0KGFyZ3MudXNlcl9pbnB1dCBhcyBzdHJpbmcpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbnRlbnQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB0ZXh0OiBvcHRpbWl6ZWRDb2RlRGVzaWduUHJvbXB0XG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9O1xuXG4gICAgICBjYXNlICdpbXBsZW1lbnRfbG9naWNfY29kZV9wcm9tcHQnOlxuICAgICAgICBjb25zdCBvcHRpbWl6ZWRDb2RlUHJvbXB0ID0gYXdhaXQgcHJvbXB0T3B0aW1pemVyLm9wdGltaXplQ29kZVByb21wdChhcmdzLnVzZXJfaW5wdXQgYXMgc3RyaW5nKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb250ZW50OiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgdGV4dDogb3B0aW1pemVkQ29kZVByb21wdFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfTtcblxuICAgICAgLy8gY2FzZSAnb3B0aW1pemVfaGFuZF9kcmF3bl91aV9kZXNpZ25fcHJvbXB0JzpcbiAgICAgIC8vICAgY29uc3Qgb3B0aW1pemVkSGFuZERyYXduUHJvbXB0ID0gYXdhaXQgcHJvbXB0T3B0aW1pemVyLm9wdGltaXplSGFuZERyYXduVUlEZXNpZ25Qcm9tcHQoYXJncy51c2VyX2lucHV0IGFzIHN0cmluZyk7XG4gICAgICAvLyAgIHJldHVybiB7XG4gICAgICAvLyAgICAgY29udGVudDogW1xuICAgICAgLy8gICAgICAge1xuICAgICAgLy8gICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAvLyAgICAgICAgIHRleHQ6IG9wdGltaXplZEhhbmREcmF3blByb21wdFxuICAgICAgLy8gICAgICAgfVxuICAgICAgLy8gICAgIF1cbiAgICAgIC8vICAgfTtcblxuICAgICAgLy8gY2FzZSAnb3B0aW1pemVfdWlfZGVzaWduX3RoaW5raW5nX3Byb21wdCc6XG4gICAgICAvLyAgIGNvbnN0IG9wdGltaXplZFVJRGVzaWduVGhpbmtpbmdQcm9tcHQgPSBhd2FpdCBwcm9tcHRPcHRpbWl6ZXIub3B0aW1pemVVSURlc2lnblRoaW5raW5nUHJvbXB0KGFyZ3MudXNlcl9pbnB1dCBhcyBzdHJpbmcpO1xuICAgICAgLy8gICByZXR1cm4ge1xuICAgICAgLy8gICAgIGNvbnRlbnQ6IFtcbiAgICAgIC8vICAgICAgIHtcbiAgICAgIC8vICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgLy8gICAgICAgICB0ZXh0OiBvcHRpbWl6ZWRVSURlc2lnblRoaW5raW5nUHJvbXB0XG4gICAgICAvLyAgICAgICB9XG4gICAgICAvLyAgICAgXVxuICAgICAgLy8gICB9O1xuXG4gICAgICBjYXNlICdvcHRpbWl6ZV9iYWNrZW5kX2Rlc2lnbl9wcm9tcHQnOlxuICAgICAgICBjb25zdCBvcHRpbWl6ZWRCYWNrZW5kRGVzaWduUHJvbXB0ID0gYXdhaXQgcHJvbXB0T3B0aW1pemVyLm9wdGltaXplQmFja2VuZERlc2lnblByb21wdChhcmdzLnVzZXJfaW5wdXQgYXMgc3RyaW5nKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb250ZW50OiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgdGV4dDogb3B0aW1pemVkQmFja2VuZERlc2lnblByb21wdFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfTtcblxuICAgICAgY2FzZSAnZnVuY3Rpb25hbF9tb2R1bGVfYnVzaW5lc3NfbG9naWNfcHJvbXB0JzpcbiAgICAgICAgY29uc3Qgb3B0aW1pemVkRnVuY3Rpb25hbE1vZHVsZVByb21wdCA9IGF3YWl0IHByb21wdE9wdGltaXplci5vcHRpbWl6ZUZ1bmN0aW9uYWxNb2R1bGVQcm9tcHQoYXJncy5mdW5jdGlvbmFsTW9kdWxlIGFzIHN0cmluZywgYXJncy51c2VyX2lucHV0IGFzIHN0cmluZyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29udGVudDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICAgIHRleHQ6IG9wdGltaXplZEZ1bmN0aW9uYWxNb2R1bGVQcm9tcHRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH07XG5cblxuICAgICAgLy8gY2FzZSAndGFsa190b19lZGl0b3InOlxuICAgICAgLy8gICBjb25zdCBwcm9qZWN0SUQgPSBhcmdzLnByb2plY3RJRCBhcyBudW1iZXIgfHwgMDtcbiAgICAgIC8vICAgY29uc3QgdWlkID0gYXJncy51aWQgYXMgbnVtYmVyIHx8IDA7XG4gICAgICAgIFxuICAgICAgLy8gICBjb25zdCB0YWxrUmVzdWx0ID0gYXdhaXQgcHJvbXB0T3B0aW1pemVyLnRhbGtUb0VkaXRvcih7XG4gICAgICAvLyAgICAgcHJvamVjdElELFxuICAgICAgLy8gICAgIHVpZFxuICAgICAgLy8gICB9KTtcbiAgICAgIC8vICAgcmV0dXJuIHtcbiAgICAgIC8vICAgICBjb250ZW50OiBbXG4gICAgICAvLyAgICAgICB7XG4gICAgICAvLyAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIC8vICAgICAgICAgdGV4dDogdGFsa1Jlc3VsdFxuICAgICAgLy8gICAgICAgfVxuICAgICAgLy8gICAgIF1cbiAgICAgIC8vICAgfTtcblxuICAgICAgLy8gY2FzZSAndGFsa190b19lZGl0b3JfcnVsZXMnOlxuICAgICAgLy8gICBjb25zdCBydWxlc1Jlc3VsdCA9IGF3YWl0IHByb21wdE9wdGltaXplci50YWxrVG9FZGl0b3JSdWxlcygpO1xuICAgICAgLy8gICByZXR1cm4ge1xuICAgICAgLy8gICAgIGNvbnRlbnQ6IFtcbiAgICAgIC8vICAgICAgIHtcbiAgICAgIC8vICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgLy8gICAgICAgICB0ZXh0OiBydWxlc1Jlc3VsdFxuICAgICAgLy8gICAgICAgfVxuICAgICAgLy8gICAgIF1cbiAgICAgIC8vICAgfTtcblxuICAgICAgY2FzZSAnaW1wbGVtZW50X2JhY2tlbmRfY29kZV9wcm9tcHQnOlxuICAgICAgICBjb25zdCBvcHRpbWl6ZWRCYWNrZW5kQ29kZVByb21wdCA9IGF3YWl0IHByb21wdE9wdGltaXplci5vcHRpbWl6ZUJhY2tlbmRDb2RlUHJvbXB0KGFyZ3MudXNlcl9pbnB1dCBhcyBzdHJpbmcpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbnRlbnQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB0ZXh0OiBvcHRpbWl6ZWRCYWNrZW5kQ29kZVByb21wdFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfTtcblxuICAgICAgY2FzZSAnb3B0aW1pemVfdWlfZGVzaWduX2VkaXRfcHJvbXB0JzpcbiAgICAgICAgY29uc3Qgb3B0aW1pemVkVUlEZXNpZ25FZGl0UHJvbXB0ID0gYXdhaXQgcHJvbXB0T3B0aW1pemVyLm9wdGltaXplVUlEZXNpZ25FZGl0UHJvbXB0KGFyZ3MudXNlcl9pbnB1dCBhcyBzdHJpbmcpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbnRlbnQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB0ZXh0OiBvcHRpbWl6ZWRVSURlc2lnbkVkaXRQcm9tcHRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH07XG5cbiAgICAgIGNhc2UgJ29wdGltaXplX2p1bXBfcGFnZV9jb2RlX3Byb21wdCc6XG4gICAgICAgIGNvbnN0IG9wdGltaXplZEp1bXBQYWdlQ29kZVByb21wdCA9IGF3YWl0IHByb21wdE9wdGltaXplci5vcHRpbWl6ZUp1bXBQYWdlQ29kZVByb21wdChhcmdzLnVzZXJfaW5wdXQgYXMgc3RyaW5nKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb250ZW50OiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgdGV4dDogb3B0aW1pemVkSnVtcFBhZ2VDb2RlUHJvbXB0XG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9O1xuXG4gICAgICAvLyBjYXNlICdvcHRpbWl6ZV9kZWNsYXJhdGl2ZV91aV9wcm9tcHQnOlxuICAgICAgLy8gICBjb25zdCBvcHRpbWl6ZWREZWNsYXJhdGl2ZVVJUHJvbXB0ID0gYXdhaXQgcHJvbXB0T3B0aW1pemVyLm9wdGltaXplRGVjbGFyYXRpdmVVSVByb21wdChhcmdzLnVzZXJfaW5wdXQgYXMgc3RyaW5nKTtcbiAgICAgIC8vICAgcmV0dXJuIHtcbiAgICAgIC8vICAgICBjb250ZW50OiBbXG4gICAgICAvLyAgICAgICB7XG4gICAgICAvLyAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIC8vICAgICAgICAgdGV4dDogb3B0aW1pemVkRGVjbGFyYXRpdmVVSVByb21wdFxuICAgICAgLy8gICAgICAgfVxuICAgICAgLy8gICAgIF1cbiAgICAgIC8vICAgfTtcblxuICAgICAgY2FzZSAnb3B0aW1pemVfdWlfc3BlY19kZXNpZ25fcHJvbXB0JzpcbiAgICAgICAgY29uc3Qgb3B0aW1pemVkVUlTcGVjRGVzaWduUHJvbXB0ID0gYXdhaXQgcHJvbXB0T3B0aW1pemVyLm9wdGltaXplVUlTcGVjRGVzaWduUHJvbXB0KGFyZ3MudXNlcl9pbnB1dCBhcyBzdHJpbmcpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbnRlbnQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB0ZXh0OiBvcHRpbWl6ZWRVSVNwZWNEZXNpZ25Qcm9tcHRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH07XG5cbiAgICAgIC8vIGNhc2UgJ29wdGltaXplX3VpX2Rlc2lnbl9yZXBsZW5pc2hfcHJvbXB0JzpcbiAgICAgIC8vICAgY29uc3Qgb3B0aW1pemVkVUlEZXNpZ25SZXBsZW5pc2hQcm9tcHQgPSBhd2FpdCBwcm9tcHRPcHRpbWl6ZXIub3B0aW1pemVVSURlc2lnblJlcGxlbmlzaFByb21wdChhcmdzLnVzZXJfaW5wdXQgYXMgc3RyaW5nKTtcbiAgICAgIC8vICAgcmV0dXJuIHtcbiAgICAgIC8vICAgICBjb250ZW50OiBbXG4gICAgICAvLyAgICAgICB7XG4gICAgICAvLyAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIC8vICAgICAgICAgdGV4dDogb3B0aW1pemVkVUlEZXNpZ25SZXBsZW5pc2hQcm9tcHRcbiAgICAgIC8vICAgICAgIH1cbiAgICAgIC8vICAgICBdXG4gICAgICAvLyAgIH07XG5cbiAgICAgIC8vIGNhc2UgJ2ltcGxlbWVudF91aV9jb2RlX3Byb21wdCc6XG4gICAgICAvLyAgIGNvbnN0IGltcGxlbWVudFVJQ29kZVRleHQgPSBhd2FpdCBwcm9tcHRPcHRpbWl6ZXIuaW1wbGVtZW50VUlDb2RlUHJvbXB0KGFyZ3MudXNlcl9pbnB1dCBhcyBzdHJpbmcpO1xuICAgICAgLy8gICByZXR1cm4ge1xuICAgICAgLy8gICAgIGNvbnRlbnQ6IFtcbiAgICAgIC8vICAgICAgIHtcbiAgICAgIC8vICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgLy8gICAgICAgICB0ZXh0OiBpbXBsZW1lbnRVSUNvZGVUZXh0XG4gICAgICAvLyAgICAgICB9XG4gICAgICAvLyAgICAgXVxuICAgICAgLy8gICB9O1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gdG9vbDogJHtuYW1lfWApO1xuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29udGVudDogW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgIHRleHQ6IGBFcnJvcjogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvcil9YFxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgaXNFcnJvcjogdHJ1ZVxuICAgIH07XG4gIH1cbn0pO1xuXG5hc3luYyBmdW5jdGlvbiBtYWluKCkge1xuICBjb25zdCB0cmFuc3BvcnQgPSBuZXcgU3RkaW9TZXJ2ZXJUcmFuc3BvcnQoKTtcbiAgYXdhaXQgc2VydmVyLmNvbm5lY3QodHJhbnNwb3J0KTtcbiAgY29uc29sZS5lcnJvcignQnl0ZUZ1biBBSSBQcm9tcHQgTUNQIHNlcnZlciBydW5uaW5nIG9uIHN0ZGlvJyk7XG59XG5cbm1haW4oKS5jYXRjaChjb25zb2xlLmVycm9yKTsiXX0=
@@ -1,2 +1,2 @@
1
- export declare const uiDesignPromptTemplate = "# UI\u8BBE\u8BA1\u89C4\u5219\uFF0C\u7279\u522B\u6CE8\u610F\u5FC5\u987B\u4F7F\u7528UI\u89C4\u8303`.bytefun/UI\u8BBE\u8BA1\u89C4\u8303.md`\u91CC\u9762\u9ED8\u8BA4\u7684\u4E3B\u9898\u76AE\u80A4\u6765\u8BBE\u8BA1\uFF0C\u4E0D\u5F97\u4F7F\u7528\u5176\u4ED6\u4E3B\u9898\u76AE\u80A4\u3002\n\n## \u4E00\u3001\u7981\u6B62\u7684\u4E8B\u60C5\n- \u7981\u6B62\u4F7F\u7528\u4EFB\u4F55\u524D\u7AEF\u6846\u67B6\uFF0C\u53EA\u4F7F\u7528 html+\u7C7B\u9009\u62E9\u5668\u6837\u5F0F+js \u6765\u5B9E\u73B0\u3002\n- \u7981\u6B62\u4F7F\u7528js\u4EE3\u7801\u6765\u62FC\u63A5html\u5B57\u7B26\u4E32\uFF0C\u5FC5\u987B\u5728body\u6807\u7B7E\u91CC\u9762\u76F4\u63A5\u5199html\u4EE3\u7801\u3002\n- \u7981\u6B62\u4F7F\u7528js\u4EE3\u7801\u6765\u58F0\u660E\u4EFB\u4F55\u9875\u9762\u663E\u793A\u6240\u9700\u7684\u6570\u636E\uFF0C\u6240\u6709\u6570\u636E\u90FD\u5FC5\u987B\u5728html\u4EE3\u7801\u4E2D\u76F4\u63A5\u5199\u6B7B\u3002\n- loading\u8282\u70B9\u7684\u5B9E\u73B0\u7981\u6B62\u4F7F\u7528div\u6807\u7B7E\u4E0E\u8FB9\u6846\u5C5E\u6027\u5B9E\u73B0\uFF0C\u5FC5\u987B\u4F7F\u7528\u56FE\u6807icon\u7684i\u6807\u7B7E\u6765\u5B9E\u73B0loading\u7684\u8282\u70B9\n- \u7981\u6B62\u4E3Ahtml\u6807\u7B7E\u8282\u70B9\u6DFB\u52A0\u52A8\u753B\u6216\u8FC7\u6E21\u6548\u679C\uFF0C\u9875\u9762\u8BBE\u8BA1\u4E0D\u9700\u8981\u4EFB\u4F55\u52A8\u753B\u548C\u8FC7\u6E21\u6548\u679C\uFF0C\u6BD4\u5982\u7981\u6B62\uFF1A@keyframes\u3001transition\u3001animation \u7B49\u3002\n- hover\u4E0E\u70B9\u51FB\u53CD\u9988\uFF1A\u8BF7\u4F7F\u7528\u6D45\u8272\u7684\u80CC\u666F\u8272background\u6765\u53CD\u9988\u5C31\u884C\uFF0C\u4E25\u7981\u4F7F\u7528transform\u6548\u679C\n - \u274C \u9519\u8BEF\u7684\u7528\u6CD5\uFF1A \n ``` css\n .hot-sales-item:hover {\n transform: translateX(...px);\n }\n ```\n - \u2705 \u6B63\u786E\u7684\u7528\u6CD5\uFF1A\n ``` css\n .hot-sales-item:hover {\n background: ...;\n }\n ```\n- \u7981\u6B62\u4F7F\u7528div\u6807\u7B7E\u6765\u5B9E\u73B0image\u56FE\u7247\uFF0C\u5FC5\u987B\u8981\u4F7F\u7528img\u6807\u7B7E\u6765\u5B9E\u73B0\u56FE\u7247\u8282\u70B9\uFF0Cimg\u6807\u7B7E\u7684src\u5C5E\u6027\u5FC5\u987B\u8BBE\u7F6E\u4E3A\uFF1A`https://oss.bytefungo.com/f1/showImg1.jpg`\uFF0C\u5176\u4E2D\u91CC\u9762\u7684`showImg1`\u53EF\u4EE5\u6539\u4E3A1~30\u7684\u4EFB\u610F\u4E00\u4E2A\u6570\u5B57\uFF0C\u6BD4\u5982\uFF1A`showImg5`\u3002\n - \u274C\u9519\u8BEF\u7684\u5199\u6CD5\uFF1A\n ``` html\n <div class=\"bestseller-cover\" id=\"bestsellerCover1\" name=\"\u7545\u9500\u4E66\u7C4D\u5C01\u97621\" nodeType=\"image\">\n </div>\n ```\n - \u2705 \u6B63\u786E\u7684\u5199\u6CD5\uFF1A\n ``` html\n <img class=\"bestseller-cover\" id=\"bestsellerCover1\" name=\"\u7545\u9500\u4E66\u7C4D\u5C01\u97621\" nodeType=\"image\" src=\"https://oss.bytefungo.com/f1/showImg7.jpg\"> \n ```\n\n## \u4E8C\u3001\u6837\u5F0F\u89C4\u5219\n- \u6837\u5F0F\u4EE3\u7801\u5FC5\u987B\u4F7F\u7528\u7C7B\u9009\u62E9\u5668\u6837\u5F0FClass-based Style / Class Selector Style\u65B9\u5F0F\uFF0C\u4E0D\u5F97\u4F7F\u7528\u884C\u5185\u6837\u5F0FInline Style\u6216\u5916\u90E8\u6587\u4EF6\u3002\n- \u9075\u5FAA\u624B\u673A\u5C3A\u5BF8\u89C4\u683C(\u5BBD\u5EA6 393px \u9AD8\u5EA6 808px)\n- \u9996\u9875/\u63A8\u8350tab\u7684\u5206\u7C7B/\u529F\u80FD\u5404\u4E2A\u5165\u53E3\u7684\u56FE\u6807\u4E00\u822C\u9700\u8981\u4F7F\u7528\u4E0D\u4E00\u6837\u7684\u989C\u8272\uFF0C\u5F88\u5C11\u4F1A\u7EDF\u4E00\u5168\u90E8\u4F7F\u7528\u54C1\u724C\u4E3B\u9898\u8272\n- \u6240\u6709radio\u3001checkBox\u90FD\u5FC5\u987B\u4F7F\u7528i\u6807\u7B7E\u8BBE\u7F6EFontAwesome\u56FE\u6807\u6765\u5B9E\u73B0\uFF0C\u4E0D\u5F97\u4F7F\u7528\u7CFB\u7EDF\u7684input\u6807\u7B7E\u5B9E\u73B0\u3002\n- \u5982\u7528\u6237\u6CA1\u6709\u660E\u786E\u63CF\u8FF0\u8BF4\u660E\u9875\u9762\u80CC\u666F\u8272\uFF0C\u53EA\u6709\u95EA\u5C4F\u9875\u9762\u7684\u80CC\u666F\u8272\u5141\u8BB8\u8BBE\u7F6E\u54C1\u724C\u4E3B\u8272\u6216\u54C1\u724C\u4E3B\u8272\u4E0E\u54C1\u724C\u6B21\u8272\u7684\u6E10\u53D8\u8272\uFF0C\u5176\u4ED6\u9875\u9762\u5FC5\u987B\u4F7F\u7528\u975E \u54C1\u724C\u4E3B\u8272 \u4E0E\u975E \u54C1\u724C\u6B21\u8272 \u7684\u7EAF\u8272\u505A\u9875\u9762\u80CC\u666F\u8272\uFF0C\u6BD4\u5982\u4E00\u822C\u4F7F\u7528\u767D\u8272\u7CFB\uFF0C\u5982\u679C\u662F\u6697\u9ED1\u98CE\u90A3\u5C31\u662F\u9ED1\u8272\u7CFB\u3002\n- \u8F93\u5165\u6846`input`\u5982\u679C\u9700\u8981\u5C55\u793A\u6587\u5B57 label\uFF0C\u5C3D\u91CF\u4F7F\u7528 icon \u4EE3\u66FF\u6587\u5B57 label\uFF0C\u5E76\u4E14 icon \u91CD\u53E0\u5728\u8F93\u5165\u6846\u7684\u5DE6\u4FA7\uFF0C\u8FD9\u6837\u6574\u4E2A\u9875\u9762\u7684\u7A7A\u95F4\u5229\u7528\u7387\u9AD8\u3002\n\n## \u4E09\u3001\u5FC5\u987B\u7ED9\u6BCF\u4E00\u4E2A\u8282\u70B9\u6DFB\u52A0id\u3001name\u3001nodeType\u5C5E\u6027\n- \u7279\u522B\u6CE8\u610F\uFF0C`i`\u548C`div`\u7B49\u6807\u7B7E\u4E5F\u5FC5\u987B\u6DFB\u52A0 id\u3001name\u3001nodeType \u5C5E\u6027\uFF0C\u6BCF\u4E00\u4E2A\u8282\u70B9\u90FD\u9700\u8981\u6DFB\u52A0\u8FD9\u4E09\u4E2A\u5C5E\u6027\uFF0C\u5343\u4E07\u522B\u6F0F\u6389\u4E86\uFF0C\u8FD9\u662F\u5FC5\u8981\u6761\u4EF6\n- id \u5C5E\u6027\u5FC5\u987B\u53EA\u80FD\u4F7F\u7528\u82F1\u6587\u6216\u6570\u5B57\u7EC4\u6210\uFF0C\u4E14\u4E0D\u80FD\u4EE5\u6570\u5B57\u5F00\u5934\uFF0C\u5E76\u4E14\u6574\u4E2A\u9875\u9762 id \u5C5E\u6027\u7684\u503C\u5FC5\u987B\u552F\u4E00\uFF0C\u4F7F\u7528\u9A7C\u5CF0\u7684\u547D\u540D\u65B9\u5F0F\n- name \u5C5E\u6027\u5FC5\u987B\u662F\u4E2D\u6587\u6216\u6570\u5B57\uFF0C\u5E76\u4E14\u4E0D\u80FD\u5305\u542B\u7279\u6B8A\u5B57\u7B26\n- nodeType \u5C5E\u6027\u7684\u503C\u5FC5\u987B\u662F`\u7EC4\u4EF6\u7C7B\u578B\u679A\u4E3E (nodeType)\u679A\u4E3E` \u4E2D\u7684\u4E00\u4E2A\uFF0C\u4E00\u4E9B\u5E03\u5C40\u5BB9\u5668\u9700\u8981\u9075\u5B88\u4EE5\u4E0B\u8BF4\u660E\u6765\u9009\u62E9\u6B63\u786E\u7684nodeType\uFF1A\n - \u5217\u8868\u5BB9\u5668\uFF1A`verticalListView`\u3001`horizontalListView`\u3001`listItemCard`\uFF0C\u7528\u4E8E\u5E03\u5C40\u591A\u4E2A\u5217\u8868\u9879\uFF0C\u6BD4\u5982\uFF1A\u5546\u54C1\u5217\u8868\u3001\u5206\u7C7B\u5217\u8868\u3001\u6807\u7B7E\u5217\u8868\u7B49\uFF0C\u53EF\u4EE5\u652F\u6301\u591A\u884C\u591A\u5217\u7684\u5217\u8868\u5E03\u5C40\n - \u5217\u8868\u9875\u811A\u5BB9\u5668\uFF1A`listFooterContainer`\uFF0C\u7528\u4E8E\u5E03\u5C40\u5217\u8868\u7684\u9875\u811A\uFF0C\u6BD4\u5982\uFF1A\u52A0\u8F7D\u66F4\u591A\u3001\u6CA1\u6709\u66F4\u591A\u4E86\u7B49\n - \u7F51\u683C\u5BB9\u5668\uFF1AgridContainer\u7528\u4E8E\u5E03\u5C40\u591A\u4E2A\u7F51\u683C\u9879\uFF0C\u91CC\u9762\u5305\u542BN\u4E2AgridItem\uFF0C\u6BD4\u5982\uFF1A\u5206\u7C7B\u7F51\u683C\u5165\u53E3\n - \u6D41\u5F0F\u5BB9\u5668\uFF1A\u7528\u4E8E\u5E03\u5C40\u591A\u4E2A\u5B50\u9879\uFF0C\u5B50\u9879\u53EF\u4EE5\u5728\u4E00\u884C\u663E\u793A\uFF0C\u5F53\u4F4D\u7F6E\u4E0D\u591F\u65F6\u5C31\u6362\u884C\u663E\u793A\uFF0C\u6BD4\u5982\uFF1A\u4E00\u7EC4\u6807\u7B7Etag\u7684\u6392\u7248\u5E03\u5C40\n - \u591A\u72B6\u6001\u5BB9\u5668\uFF1A`multiStateContainer`, `oneStateContentContainer`\uFF0C\u7528\u4E8E\u4E0D\u662F\u901A\u8FC7\u4EA4\u4E92\uFF0C\u800C\u662F\u901A\u8FC7\u903B\u8F91\u72B6\u6001\u53D8\u91CF\u53D8\u5316\u800C\u663E\u793A\u4E0D\u540C\u72B6\u6001\u7684\u5185\u5BB9\u5BB9\u5668\uFF0C\u6BD4\u5982\uFF1A\u767B\u5F55\u72B6\u6001\u548C\u672A\u767B\u5F55\u72B6\u6001\u5206\u522B\u663E\u793A\u4E0D\u540C\u7684\u5185\u5BB9\u3002\n- \u9AD8\u7EA7\u7EC4\u4EF6\u8282\u70B9\u7684nodeType\u7ED3\u6784\u89C4\u5219\uFF1A\n - tab \u9009\u9879\u5361\uFF1A`tabMenuBar`\u662Ftab\u9009\u9879\u5361\u83DC\u5355\u680F\uFF0C\u91CC\u9762\u5305\u542BN\u4E2A`tabMenuBarItem`\uFF0C`tabPanelFather`\u662Ftab\u9009\u9879\u5361\u5185\u5BB9\u5BB9\u5668\uFF0C\u91CC\u9762\u5305\u542BN\u4E2A`tabPanel`\uFF0C`tabMenuBar`\u548C`tabPanelFather`\u5FC5\u987B\u540C\u65F6\u5B58\u5728\uFF0C`tabPanel`\u7684\u6570\u91CF\u5FC5\u987B\u548C`tabMenuBarItem`\u7684\u6570\u91CF\u76F8\u540C\n - viewPager \u8F6E\u64AD\uFF1A`viewPager`\u662F\u8F6E\u64AD\u5BB9\u5668\uFF0C\u91CC\u9762\u5305\u542BN\u4E2A`viewPagerItem`\uFF0C`viewPagerIndicatorContainer`\u662F\u8F6E\u64AD\u6307\u793A\u5668\u5BB9\u5668\uFF0C`viewPager`\u4E0E`viewPagerIndicatorContainer`\u5FC5\u987B\u540C\u65F6\u5B58\u5728\n - \u4E00\u884C\u4E0D\u591F\u4F4D\u7F6E\u663E\u793A\u5C31\u6362\u884C\u7684\u5BB9\u5668\uFF1A`inlineBlockAndWrap`\uFF0C\u91CC\u9762\u5305\u542BN\u4E2A`blockItem`\uFF0C`blockItem`\u662F\u5B83\u7684\u5B50\u9879\n - \u591A\u72B6\u6001\u5BB9\u5668\uFF1A\u4E00\u4E2A`multiStateContainer`\u591A\u72B6\u6001\u5BB9\u5668\u5305\u542B\u591A\u4E2A`oneStateContentContainer`\n\n- \u7EC4\u4EF6\u7C7B\u578B\u679A\u4E3E (nodeType)\u679A\u4E3E\uFF1A\n\n - \u5F62\u72B6\uFF1A`rect`, `circle`, `line`\n - \u57FA\u7840\u7EC4\u4EF6\uFF1A`text`\u3001`button`\u3001`input`\u3001`icon`\u3001`image`\n - \u57FA\u7840\u5BB9\u5668\uFF1A`container`\n - \u7F51\u683C\u5BB9\u5668\uFF1A`gridContainer`\u3001`gridItem`\n - \u6D41\u5F0F\u5BB9\u5668\uFF1A`inlineBlockAndWrap`\u3001`blockItem`\n - \u5F00\u5173\uFF1A`switch`\n - \u5355\u9009\uFF1A`radioGroup`\u3001`radio`\n - \u591A\u9009\uFF1A`checkBoxGroup`\u3001`checkBox`\n - \u9876\u90E8\u5BFC\u822A\u680F\uFF1A`topNavigateBar`\n - \u591A\u72B6\u6001\u5BB9\u5668\uFF1A`multiStateContainer`, `oneStateContentContainer`\n - \u5217\u8868\uFF1A`verticalListView`, `horizontalListView`, `listItemCard`\u3001`listFooterContainer`\n - \u8F6E\u64AD\uFF1A`viewPager`, `viewPagerItem`, `viewPagerIndicatorContainer`\n - tab \u9009\u9879\u5361\uFF1A`tabPanelFather`, `tabPanel`, `tabMenuBar`, `tabMenuBarItem`\n - \u5E95\u90E8\u5BFC\u822A: `bottomTabContentContainer`, `subPage`, `bottomTabNavigateBar`, `bottomTabNavigateBarItem`\n - \u5BF9\u8BDD\u6846\uFF1A`dialogOverlay`, `dialogContent`\n - toast \u63D0\u793A\uFF1A`toast`\n - \u4E0B\u62C9\u83DC\u5355\uFF1A`dropDownMenu`\n - \u4FA7\u6ED1\u9762\u677F\uFF1A`sideSlidePanel`\n\n## \u56DB\u3001\u8F6E\u64AD\u4E0ETabs\u7EC4\u4EF6\u7684\u89C4\u5219\n- \u8F6E\u64AD\u7684\u6BCF\u4E00\u4E2ASlide\u548CTabs\u9009\u9879\u5361\u7EC4\u4EF6\u6BCF\u4E00\u4E2ATab Panel\u90FD\u5FC5\u987B\u4F7F\u7528`display: none`\u548C`display: block/flex`\u6765\u5B9E\u73B0\u9690\u85CF\u548C\u663E\u793A\u7684\u4E92\u65A5\u5207\u6362\n- \u8F6E\u64AD\u7684\u6BCF\u4E00\u4E2ASlide\u5FC5\u987B\u6709html\u4EE3\u7801\u5B9E\u73B0\uFF0C\u4E0D\u5F97\u53EA\u5199\u7B2C1\u4E2ASlide\u7684html\u4EE3\u7801\uFF0C\u5176\u4ED6Slide\u7684html\u4EE3\u7801\u4E5F\u5FC5\u987B\u8981\u5199\u3002\n- Tabs\u9009\u9879\u5361\u7EC4\u4EF6\u6BCF\u4E00\u4E2ATab Panel\u90FD\u5FC5\u987B\u6709html\u4EE3\u7801\u5B9E\u73B0\uFF0C\u4E0D\u5F97\u53EA\u5199\u7B2C1\u4E2ATab Panel\u7684html\u4EE3\u7801\uFF0C\u5176\u4ED6Tab Panel\u7684html\u4EE3\u7801\u4E5F\u5FC5\u987B\u8981\u5199\u3002\n\n## \u4E94\u3001\u56FE\u6807\u4E0E\u56FE\u7247\u7684\u89C4\u5219\n- icon\u56FE\u6807\u5FC5\u987B\u4F7F\u7528 FontAwesome \u56FE\u6807\uFF0C\u6BD4\u5982\uFF1A`<i name=\"\u5FAE\u4FE1Icon\" nodeType=\"icon\" id=\"wxIcon\" class=\"fab fa-weixin\"></i>`\n- img\u56FE\u7247\u7684src \u5FC5\u987B\u4F7F\u7528\u56FE\u7247\u5730\u5740\uFF1A`https://oss.bytefungo.com/f1/showImg1.jpg`)\uFF0C\u5176\u4E2D\u7ED3\u5C3E\u7684\u2019showImg1'\u53EF\u4EE5\u6362\u4E3A\u4ECE 1 \u5230 30 \u7684\u6570\u5B57\uFF0C1~30 \u7684\u6570\u5B57\u5FC5\u987B\u968F\u673A\u6311\u9009\uFF0C\u4E0D\u5F97\u6BCF\u4E2A\u9875\u9762\u6BCF\u4E2A\u56FE\u7247\u90FD\u4F7F\u7528\u540C\u4E00\u4E2A\u6570\u5B57\u3002\u5199\u6CD5\u6BD4\u5982\uFF1A`<img src=\"https://oss.bytefungo.com/f1/showImg17.jpg\" alt=\"xxx\" class=\"xxx\" nodeType=\"image\">`\n- \u7EDD\u5BF9\u4E0D\u80FD\u4F7F\u7528 emoji \u8868\u60C5\u7B26\u53F7\uFF0C\u4E0D\u5F97\u4F7F\u7528\u4EFB\u4F55 emoji \u8868\u60C5\u7B26\u53F7\uFF0C\u8BF7\u4F7F\u7528 icon \u6216 img \u56FE\u7247\u8282\u70B9\u6765\u4EE3\u66FF\u3002\n\n## \u516D\u3001\u9996\u9875\u4E3B\u4F53\u9875\u4E0E\u5B50\u9875\u9762\u7684\u89C4\u5219\n- \u9996\u9875\u4E3B\u4F53\u9875\u5D4C\u5957\u4E86\u591A\u4E2A\u5B50\u9875\u9762\uFF0C\u6BCF\u4E00\u4E2A\u5B50\u9875\u9762\u90FD\u4E0D\u9700\u8981\u586B\u5145\u5185\u5BB9\uFF0C\u7A7A\u767D\u5C31\u884C\uFF0C\u540E\u9762\u4F1A\u6709\u4E13\u95E8\u7684\u4EFB\u52A1\u6765\u8BBE\u8BA1\u5177\u4F53\u7684\u5B50\u9875\u9762\u3002\n- \u4EFB\u4F55\u5B50\u9875\u9762\u90FD\u5FC5\u987B\u7981\u6B62\u6DFB\u52A0\u5E95\u90E8\u5BFC\u822A\u680F\u8282\u70B9\u5230\u9875\u9762\uFF0C\u56E0\u4E3A\u5B50\u9875\u9762\u662F\u5D4C\u5957\u5728\u9996\u9875\u4E3B\u4F53\u9875\u4E2D\u7684\uFF0C\u7236\u9875\u9762\u5DF2\u7ECF\u6709\u5E95\u90E8\u5BFC\u822A\u680F\u4E86\uFF0C\u5B50\u9875\u9762\u4E0D\u9700\u8981\u518D\u6DFB\u52A0\u5E95\u90E8\u5BFC\u822A\u680F\uFF0C\u4E5F\u4E0D\u5F97\u6DFB\u52A0\u4E8C\u7EA7\u9875\u9762\u7684\u6807\u9898\u680F\u5230\u5B50\u9875\u9762\u4E2D\uFF0C\u56E0\u4E3A\u5B50\u9875\u9762\u662F\u5D4C\u5957\u5728\u9996\u9875\u4E3B\u4F53\u9875\u4E2D\u7684\uFF0C\u9996\u9875\u4E3B\u4F53\u9875\u548C\u5B83\u7684\u5B50\u9875\u9762\u90FD\u662F\u4E00\u7EA7\u9875\u9762\uFF0C\u56E0\u6B64\u4E0D\u5F97\u6DFB\u52A0\u4E8C\u7EA7\u9875\u9762\u7684\u6807\u9898\u680F\u5230\u5B50\u9875\u9762\u4E2D\u3002\n\n## \u4E03\u3001\u5982\u679C\u7528\u6237\u6CA1\u6709\u660E\u786E\u8BF4\u660E\u8BE5\u9875\u9762\u8BBE\u8BA1\u9700\u6C42\uFF0C\u90A3\u5C31\u6309\u7167\u4EE5\u4E0B\u9875\u9762\u9ED8\u8BA4\u89C4\u5219\u8BBE\u8BA1\n- \u95EA\u5C4F\u9875\uFF1A\u5C3D\u91CF\u4E0D\u4F7F\u7528\u5168\u5C4F\u56FE\u7247\uFF0C\u4E00\u822C\u4F7F\u7528\u4E3B\u9898\u76F8\u5173\u7684\u6E10\u53D8\u8272\uFF0C\u7136\u540E\u5E26\u6709\u4E00\u4E9B\u989D\u5916\u7684\u80CC\u666F\u5143\u7D20\u589E\u5F3A\u754C\u9762\u5C42\u6B21\u611F\n- \u5F15\u5BFC\u9875\uFF1A\u5C3D\u91CF\u4E0D\u4F7F\u7528\u5168\u5C4F\u56FE\u7247\uFF0C\u4E00\u822C\u6BCF\u4E00\u9875\u5F15\u5BFC\u9875\u80CC\u666F\u8272\u4E5F\u53EF\u4EE5\u6E10\u53D8\uFF0C\u7136\u540E\u6BCF\u4E00\u9875\u529F\u80FD\u8BF4\u660E\u4E00\u822C\u6709\u975E\u5168\u5C4F\u56FE\u7247\u3001\u6807\u9898\u3001\u526F\u6807\u9898\u7B49\u7B49\uFF0C\u4F60\u53EF\u4EE5\u5E26\u5165\u5176\u4ED6\u5143\u7D20\uFF0C\u8BA9\u9875\u9762\u66F4\u52A0\u7F8E\u89C2\u3002\n";
1
+ export declare const uiDesignPromptTemplate = "# UI\u8BBE\u8BA1\u89C4\u5219\uFF0C\u7279\u522B\u6CE8\u610F\u5FC5\u987B\u4F7F\u7528UI\u89C4\u8303`.bytefun/UI\u8BBE\u8BA1\u89C4\u8303.md`\u91CC\u9762\u9ED8\u8BA4\u7684\u4E3B\u9898\u76AE\u80A4\u6765\u8BBE\u8BA1\uFF0C\u4E0D\u5F97\u4F7F\u7528\u5176\u4ED6\u4E3B\u9898\u76AE\u80A4\u3002\n\n## \u4E00\u3001\u7981\u6B62\u7684\u4E8B\u60C5\n- \u7981\u6B62\u4F7F\u7528\u4EFB\u4F55\u524D\u7AEF\u6846\u67B6\uFF0C\u53EA\u4F7F\u7528 html+\u7C7B\u9009\u62E9\u5668\u6837\u5F0F+js \u6765\u5B9E\u73B0\u3002\n- \u7981\u6B62\u4F7F\u7528js\u4EE3\u7801\u6765\u62FC\u63A5html\u5B57\u7B26\u4E32\uFF0C\u5FC5\u987B\u5728body\u6807\u7B7E\u91CC\u9762\u76F4\u63A5\u5199html\u4EE3\u7801\u3002\n- \u7981\u6B62\u4F7F\u7528js\u4EE3\u7801\u6765\u58F0\u660E\u4EFB\u4F55\u9875\u9762\u663E\u793A\u6240\u9700\u7684\u6570\u636E\uFF0C\u6240\u6709\u6570\u636E\u90FD\u5FC5\u987B\u5728html\u4EE3\u7801\u4E2D\u76F4\u63A5\u5199\u6B7B\u3002\n- \u7981\u6B62\u4F7F\u7528\u6587\u672C\u6E10\u53D8\u8272\uFF0C\u5FC5\u987B\u4F7F\u7528\u7EAF\u8272\u6587\u672C\uFF0C\u4E5F\u5C31\u662F\u7981\u6B62\u4F7F\u7528`-webkit-text-fill-color`\u5C5E\u6027\u3002\n- loading\u8282\u70B9\u7684\u5B9E\u73B0\u7981\u6B62\u4F7F\u7528div\u6807\u7B7E\u4E0E\u8FB9\u6846\u5C5E\u6027\u5B9E\u73B0\uFF0C\u5FC5\u987B\u4F7F\u7528\u56FE\u6807icon\u7684i\u6807\u7B7E\u6765\u5B9E\u73B0loading\u7684\u8282\u70B9\n- \u7981\u6B62\u4E3Ahtml\u6807\u7B7E\u8282\u70B9\u6DFB\u52A0\u52A8\u753B\u6216\u8FC7\u6E21\u6548\u679C\uFF0C\u9875\u9762\u8BBE\u8BA1\u4E0D\u9700\u8981\u4EFB\u4F55\u52A8\u753B\u548C\u8FC7\u6E21\u6548\u679C\uFF0C\u6BD4\u5982\u7981\u6B62\uFF1A@keyframes\u3001transition\u3001animation \u7B49\u3002\n- hover\u4E0E\u70B9\u51FB\u53CD\u9988\uFF1A\u8BF7\u4F7F\u7528\u6D45\u8272\u7684\u80CC\u666F\u8272background\u6765\u53CD\u9988\u5C31\u884C\uFF0C\u4E25\u7981\u4F7F\u7528transform\u6548\u679C\n - \u274C \u9519\u8BEF\u7684\u7528\u6CD5\uFF1A \n ``` css\n .hot-sales-item:hover {\n transform: translateX(...px);\n }\n ```\n - \u2705 \u6B63\u786E\u7684\u7528\u6CD5\uFF1A\n ``` css\n .hot-sales-item:hover {\n background: ...;\n }\n ```\n- \u7981\u6B62\u4F7F\u7528div\u6807\u7B7E\u6765\u5B9E\u73B0image\u56FE\u7247\uFF0C\u5FC5\u987B\u8981\u4F7F\u7528img\u6807\u7B7E\u6765\u5B9E\u73B0\u56FE\u7247\u8282\u70B9\uFF0Cimg\u6807\u7B7E\u7684src\u5C5E\u6027\u5FC5\u987B\u8BBE\u7F6E\u4E3A\uFF1A`https://oss.bytefungo.com/f1/showImg1.jpg`\uFF0C\u5176\u4E2D\u91CC\u9762\u7684`showImg1`\u53EF\u4EE5\u6539\u4E3A1~30\u7684\u4EFB\u610F\u4E00\u4E2A\u6570\u5B57\uFF0C\u6BD4\u5982\uFF1A`showImg5`\u3002\n - \u274C\u9519\u8BEF\u7684\u5199\u6CD5\uFF1A\n ``` html\n <div class=\"bestseller-cover\" id=\"bestsellerCover1\" name=\"\u7545\u9500\u4E66\u7C4D\u5C01\u97621\" nodeType=\"image\">\n </div>\n ```\n - \u2705 \u6B63\u786E\u7684\u5199\u6CD5\uFF1A\n ``` html\n <img class=\"bestseller-cover\" id=\"bestsellerCover1\" name=\"\u7545\u9500\u4E66\u7C4D\u5C01\u97621\" nodeType=\"image\" src=\"https://oss.bytefungo.com/f1/showImg7.jpg\"> \n ```\n\n## \u4E8C\u3001\u6837\u5F0F\u89C4\u5219\n- \u6837\u5F0F\u4EE3\u7801\u5FC5\u987B\u4F7F\u7528\u7C7B\u9009\u62E9\u5668\u6837\u5F0FClass-based Style / Class Selector Style\u65B9\u5F0F\uFF0C\u4E0D\u5F97\u4F7F\u7528\u884C\u5185\u6837\u5F0FInline Style\u6216\u5916\u90E8\u6587\u4EF6\u3002\n- \u9075\u5FAA\u624B\u673A\u5C3A\u5BF8\u89C4\u683C(\u5BBD\u5EA6 393px \u9AD8\u5EA6 808px)\n- \u9996\u9875/\u63A8\u8350tab\u7684\u5206\u7C7B/\u529F\u80FD\u5404\u4E2A\u5165\u53E3\u7684\u56FE\u6807\u4E00\u822C\u9700\u8981\u4F7F\u7528\u4E0D\u4E00\u6837\u7684\u989C\u8272\uFF0C\u5F88\u5C11\u4F1A\u7EDF\u4E00\u5168\u90E8\u4F7F\u7528\u54C1\u724C\u4E3B\u9898\u8272\n- \u6240\u6709radio\u3001checkBox\u90FD\u5FC5\u987B\u4F7F\u7528i\u6807\u7B7E\u8BBE\u7F6EFontAwesome\u56FE\u6807\u6765\u5B9E\u73B0\uFF0C\u4E0D\u5F97\u4F7F\u7528\u7CFB\u7EDF\u7684input\u6807\u7B7E\u5B9E\u73B0\u3002\n- \u5982\u7528\u6237\u6CA1\u6709\u660E\u786E\u63CF\u8FF0\u8BF4\u660E\u9875\u9762\u80CC\u666F\u8272\uFF0C\u53EA\u6709\u95EA\u5C4F\u9875\u9762\u7684\u80CC\u666F\u8272\u5141\u8BB8\u8BBE\u7F6E\u54C1\u724C\u4E3B\u8272\u6216\u54C1\u724C\u4E3B\u8272\u4E0E\u54C1\u724C\u6B21\u8272\u7684\u6E10\u53D8\u8272\uFF0C\u5176\u4ED6\u9875\u9762\u5FC5\u987B\u4F7F\u7528\u975E \u54C1\u724C\u4E3B\u8272 \u4E0E\u975E \u54C1\u724C\u6B21\u8272 \u7684\u7EAF\u8272\u505A\u9875\u9762\u80CC\u666F\u8272\uFF0C\u6BD4\u5982\u4E00\u822C\u4F7F\u7528\u767D\u8272\u7CFB\uFF0C\u5982\u679C\u662F\u6697\u9ED1\u98CE\u90A3\u5C31\u662F\u9ED1\u8272\u7CFB\u3002\n- \u8F93\u5165\u6846`input`\u5982\u679C\u9700\u8981\u5C55\u793A\u6587\u5B57 label\uFF0C\u5C3D\u91CF\u4F7F\u7528 icon \u4EE3\u66FF\u6587\u5B57 label\uFF0C\u5E76\u4E14 icon \u91CD\u53E0\u5728\u8F93\u5165\u6846\u7684\u5DE6\u4FA7\uFF0C\u8FD9\u6837\u6574\u4E2A\u9875\u9762\u7684\u7A7A\u95F4\u5229\u7528\u7387\u9AD8\u3002\n\n## \u4E09\u3001\u5FC5\u987B\u7ED9\u6BCF\u4E00\u4E2A\u8282\u70B9\u6DFB\u52A0id\u3001name\u3001nodeType\u5C5E\u6027\n- \u7279\u522B\u6CE8\u610F\uFF0C`i`\u548C`div`\u7B49\u6807\u7B7E\u4E5F\u5FC5\u987B\u6DFB\u52A0 id\u3001name\u3001nodeType \u5C5E\u6027\uFF0C\u6BCF\u4E00\u4E2A\u8282\u70B9\u90FD\u9700\u8981\u6DFB\u52A0\u8FD9\u4E09\u4E2A\u5C5E\u6027\uFF0C\u5343\u4E07\u522B\u6F0F\u6389\u4E86\uFF0C\u8FD9\u662F\u5FC5\u8981\u6761\u4EF6\n- id \u5C5E\u6027\u5FC5\u987B\u53EA\u80FD\u4F7F\u7528\u82F1\u6587\u6216\u6570\u5B57\u7EC4\u6210\uFF0C\u4E14\u4E0D\u80FD\u4EE5\u6570\u5B57\u5F00\u5934\uFF0C\u5E76\u4E14\u6574\u4E2A\u9875\u9762 id \u5C5E\u6027\u7684\u503C\u5FC5\u987B\u552F\u4E00\uFF0C\u4F7F\u7528\u9A7C\u5CF0\u7684\u547D\u540D\u65B9\u5F0F\n- name \u5C5E\u6027\u5FC5\u987B\u662F\u4E2D\u6587\u6216\u6570\u5B57\uFF0C\u5E76\u4E14\u4E0D\u80FD\u5305\u542B\u7279\u6B8A\u5B57\u7B26\n- nodeType \u5C5E\u6027\u7684\u503C\u5FC5\u987B\u662F`\u7EC4\u4EF6\u7C7B\u578B\u679A\u4E3E (nodeType)\u679A\u4E3E` \u4E2D\u7684\u4E00\u4E2A\uFF0C\u4E00\u4E9B\u5E03\u5C40\u5BB9\u5668\u9700\u8981\u9075\u5B88\u4EE5\u4E0B\u8BF4\u660E\u6765\u9009\u62E9\u6B63\u786E\u7684nodeType\uFF1A\n - \u5217\u8868\u5BB9\u5668\uFF1A`verticalListView`\u3001`horizontalListView`\u3001`listItemCard`\uFF0C\u7528\u4E8E\u5E03\u5C40\u591A\u4E2A\u5217\u8868\u9879\uFF0C\u6BD4\u5982\uFF1A\u5546\u54C1\u5217\u8868\u3001\u5206\u7C7B\u5217\u8868\u3001\u6807\u7B7E\u5217\u8868\u7B49\uFF0C\u53EF\u4EE5\u652F\u6301\u591A\u884C\u591A\u5217\u7684\u5217\u8868\u5E03\u5C40\n - \u5217\u8868\u9875\u811A\u5BB9\u5668\uFF1A`listFooterContainer`\uFF0C\u7528\u4E8E\u5E03\u5C40\u5217\u8868\u7684\u9875\u811A\uFF0C\u6BD4\u5982\uFF1A\u52A0\u8F7D\u66F4\u591A\u3001\u6CA1\u6709\u66F4\u591A\u4E86\u7B49\n - \u7F51\u683C\u5BB9\u5668\uFF1AgridContainer\u7528\u4E8E\u5E03\u5C40\u591A\u4E2A\u7F51\u683C\u9879\uFF0C\u91CC\u9762\u5305\u542BN\u4E2AgridItem\uFF0C\u6BD4\u5982\uFF1A\u5206\u7C7B\u7F51\u683C\u5165\u53E3\n - \u6D41\u5F0F\u5BB9\u5668\uFF1A\u7528\u4E8E\u5E03\u5C40\u591A\u4E2A\u5B50\u9879\uFF0C\u5B50\u9879\u53EF\u4EE5\u5728\u4E00\u884C\u663E\u793A\uFF0C\u5F53\u4F4D\u7F6E\u4E0D\u591F\u65F6\u5C31\u6362\u884C\u663E\u793A\uFF0C\u6BD4\u5982\uFF1A\u4E00\u7EC4\u6807\u7B7Etag\u7684\u6392\u7248\u5E03\u5C40\n - \u591A\u72B6\u6001\u5BB9\u5668\uFF1A`multiStateContainer`, `oneStateContentContainer`\uFF0C\u7528\u4E8E\u4E0D\u662F\u901A\u8FC7\u4EA4\u4E92\uFF0C\u800C\u662F\u901A\u8FC7\u903B\u8F91\u72B6\u6001\u53D8\u91CF\u53D8\u5316\u800C\u663E\u793A\u4E0D\u540C\u72B6\u6001\u7684\u5185\u5BB9\u5BB9\u5668\uFF0C\u6BD4\u5982\uFF1A\u767B\u5F55\u72B6\u6001\u548C\u672A\u767B\u5F55\u72B6\u6001\u5206\u522B\u663E\u793A\u4E0D\u540C\u7684\u5185\u5BB9\u3002\n- \u9AD8\u7EA7\u7EC4\u4EF6\u8282\u70B9\u7684nodeType\u7ED3\u6784\u89C4\u5219\uFF1A\n - tab \u9009\u9879\u5361\uFF1A`tabMenuBar`\u662Ftab\u9009\u9879\u5361\u83DC\u5355\u680F\uFF0C\u91CC\u9762\u5305\u542BN\u4E2A`tabMenuBarItem`\uFF0C`tabPanelFather`\u662Ftab\u9009\u9879\u5361\u5185\u5BB9\u5BB9\u5668\uFF0C\u91CC\u9762\u5305\u542BN\u4E2A`tabPanel`\uFF0C`tabMenuBar`\u548C`tabPanelFather`\u5FC5\u987B\u540C\u65F6\u5B58\u5728\uFF0C`tabPanel`\u7684\u6570\u91CF\u5FC5\u987B\u548C`tabMenuBarItem`\u7684\u6570\u91CF\u76F8\u540C\n - viewPager \u8F6E\u64AD\uFF1A`viewPager`\u662F\u8F6E\u64AD\u5BB9\u5668\uFF0C\u91CC\u9762\u5305\u542BN\u4E2A`viewPagerItem`\uFF0C`viewPagerIndicatorContainer`\u662F\u8F6E\u64AD\u6307\u793A\u5668\u5BB9\u5668\uFF0C`viewPager`\u4E0E`viewPagerIndicatorContainer`\u5FC5\u987B\u540C\u65F6\u5B58\u5728\n - \u4E00\u884C\u4E0D\u591F\u4F4D\u7F6E\u663E\u793A\u5C31\u6362\u884C\u7684\u5BB9\u5668\uFF1A`inlineBlockAndWrap`\uFF0C\u91CC\u9762\u5305\u542BN\u4E2A`blockItem`\uFF0C`blockItem`\u662F\u5B83\u7684\u5B50\u9879\n - \u591A\u72B6\u6001\u5BB9\u5668\uFF1A\u4E00\u4E2A`multiStateContainer`\u591A\u72B6\u6001\u5BB9\u5668\u5305\u542B\u591A\u4E2A`oneStateContentContainer`\n\n- \u7EC4\u4EF6\u7C7B\u578B\u679A\u4E3E (nodeType)\u679A\u4E3E\uFF1A\n\n - \u5F62\u72B6\uFF1A`rect`, `circle`, `line`\n - \u57FA\u7840\u7EC4\u4EF6\uFF1A`text`\u3001`button`\u3001`input`\u3001`icon`\u3001`image`\n - \u57FA\u7840\u5BB9\u5668\uFF1A`container`\n - \u7F51\u683C\u5BB9\u5668\uFF1A`gridContainer`\u3001`gridItem`\n - \u6D41\u5F0F\u5BB9\u5668\uFF1A`inlineBlockAndWrap`\u3001`blockItem`\n - \u5F00\u5173\uFF1A`switch`\n - \u5355\u9009\uFF1A`radioGroup`\u3001`radio`\n - \u591A\u9009\uFF1A`checkBoxGroup`\u3001`checkBox`\n - \u9876\u90E8\u5BFC\u822A\u680F\uFF1A`topNavigateBar`\n - \u591A\u72B6\u6001\u5BB9\u5668\uFF1A`multiStateContainer`, `oneStateContentContainer`\n - \u5217\u8868\uFF1A`verticalListView`, `horizontalListView`, `listItemCard`\u3001`listFooterContainer`\n - \u8F6E\u64AD\uFF1A`viewPager`, `viewPagerItem`, `viewPagerIndicatorContainer`\n - tab \u9009\u9879\u5361\uFF1A`tabPanelFather`, `tabPanel`, `tabMenuBar`, `tabMenuBarItem`\n - \u5E95\u90E8\u5BFC\u822A: `bottomTabContentContainer`, `subPage`, `bottomTabNavigateBar`, `bottomTabNavigateBarItem`\n - \u5BF9\u8BDD\u6846\uFF1A`dialogOverlay`, `dialogContent`\n - toast \u63D0\u793A\uFF1A`toast`\n - \u4E0B\u62C9\u83DC\u5355\uFF1A`dropDownMenu`\n - \u4FA7\u6ED1\u9762\u677F\uFF1A`sideSlidePanel`\n\n## \u56DB\u3001\u8F6E\u64AD\u4E0ETabs\u7EC4\u4EF6\u7684\u89C4\u5219\n- \u8F6E\u64AD\u7684\u6BCF\u4E00\u4E2ASlide\u548CTabs\u9009\u9879\u5361\u7EC4\u4EF6\u6BCF\u4E00\u4E2ATab Panel\u90FD\u5FC5\u987B\u4F7F\u7528`display: none`\u548C`display: block/flex`\u6765\u5B9E\u73B0\u9690\u85CF\u548C\u663E\u793A\u7684\u4E92\u65A5\u5207\u6362\n- \u8F6E\u64AD\u7684\u6BCF\u4E00\u4E2ASlide\u5FC5\u987B\u6709html\u4EE3\u7801\u5B9E\u73B0\uFF0C\u4E0D\u5F97\u53EA\u5199\u7B2C1\u4E2ASlide\u7684html\u4EE3\u7801\uFF0C\u5176\u4ED6Slide\u7684html\u4EE3\u7801\u4E5F\u5FC5\u987B\u8981\u5199\u3002\n- Tabs\u9009\u9879\u5361\u7EC4\u4EF6\u6BCF\u4E00\u4E2ATab Panel\u90FD\u5FC5\u987B\u6709html\u4EE3\u7801\u5B9E\u73B0\uFF0C\u4E0D\u5F97\u53EA\u5199\u7B2C1\u4E2ATab Panel\u7684html\u4EE3\u7801\uFF0C\u5176\u4ED6Tab Panel\u7684html\u4EE3\u7801\u4E5F\u5FC5\u987B\u8981\u5199\u3002\n\n## \u4E94\u3001\u56FE\u6807\u4E0E\u56FE\u7247\u7684\u89C4\u5219\n- icon\u56FE\u6807\u5FC5\u987B\u4F7F\u7528 FontAwesome \u56FE\u6807\uFF0C\u6BD4\u5982\uFF1A`<i name=\"\u5FAE\u4FE1Icon\" nodeType=\"icon\" id=\"wxIcon\" class=\"fab fa-weixin\"></i>`\n- img\u56FE\u7247\u7684src \u5FC5\u987B\u4F7F\u7528\u56FE\u7247\u5730\u5740\uFF1A`https://oss.bytefungo.com/f1/showImg1.jpg`)\uFF0C\u5176\u4E2D\u7ED3\u5C3E\u7684\u2019showImg1'\u53EF\u4EE5\u6362\u4E3A\u4ECE 1 \u5230 30 \u7684\u6570\u5B57\uFF0C1~30 \u7684\u6570\u5B57\u5FC5\u987B\u968F\u673A\u6311\u9009\uFF0C\u4E0D\u5F97\u6BCF\u4E2A\u9875\u9762\u6BCF\u4E2A\u56FE\u7247\u90FD\u4F7F\u7528\u540C\u4E00\u4E2A\u6570\u5B57\u3002\u5199\u6CD5\u6BD4\u5982\uFF1A`<img src=\"https://oss.bytefungo.com/f1/showImg17.jpg\" alt=\"xxx\" class=\"xxx\" nodeType=\"image\">`\n- \u7EDD\u5BF9\u4E0D\u80FD\u4F7F\u7528 emoji \u8868\u60C5\u7B26\u53F7\uFF0C\u4E0D\u5F97\u4F7F\u7528\u4EFB\u4F55 emoji \u8868\u60C5\u7B26\u53F7\uFF0C\u8BF7\u4F7F\u7528 icon \u6216 img \u56FE\u7247\u8282\u70B9\u6765\u4EE3\u66FF\u3002\n\n## \u516D\u3001\u9996\u9875\u4E3B\u4F53\u9875\u4E0E\u5B50\u9875\u9762\u7684\u89C4\u5219\n- \u9996\u9875\u4E3B\u4F53\u9875\u5D4C\u5957\u4E86\u591A\u4E2A\u5B50\u9875\u9762\uFF0C\u6BCF\u4E00\u4E2A\u5B50\u9875\u9762\u90FD\u4E0D\u9700\u8981\u586B\u5145\u5185\u5BB9\uFF0C\u7A7A\u767D\u5C31\u884C\uFF0C\u540E\u9762\u4F1A\u6709\u4E13\u95E8\u7684\u4EFB\u52A1\u6765\u8BBE\u8BA1\u5177\u4F53\u7684\u5B50\u9875\u9762\u3002\n- \u4EFB\u4F55\u5B50\u9875\u9762\u90FD\u5FC5\u987B\u7981\u6B62\u6DFB\u52A0\u5E95\u90E8\u5BFC\u822A\u680F\u8282\u70B9\u5230\u9875\u9762\uFF0C\u56E0\u4E3A\u5B50\u9875\u9762\u662F\u5D4C\u5957\u5728\u9996\u9875\u4E3B\u4F53\u9875\u4E2D\u7684\uFF0C\u7236\u9875\u9762\u5DF2\u7ECF\u6709\u5E95\u90E8\u5BFC\u822A\u680F\u4E86\uFF0C\u5B50\u9875\u9762\u4E0D\u9700\u8981\u518D\u6DFB\u52A0\u5E95\u90E8\u5BFC\u822A\u680F\uFF0C\u4E5F\u4E0D\u5F97\u6DFB\u52A0\u4E8C\u7EA7\u9875\u9762\u7684\u6807\u9898\u680F\u5230\u5B50\u9875\u9762\u4E2D\uFF0C\u56E0\u4E3A\u5B50\u9875\u9762\u662F\u5D4C\u5957\u5728\u9996\u9875\u4E3B\u4F53\u9875\u4E2D\u7684\uFF0C\u9996\u9875\u4E3B\u4F53\u9875\u548C\u5B83\u7684\u5B50\u9875\u9762\u90FD\u662F\u4E00\u7EA7\u9875\u9762\uFF0C\u56E0\u6B64\u4E0D\u5F97\u6DFB\u52A0\u4E8C\u7EA7\u9875\u9762\u7684\u6807\u9898\u680F\u5230\u5B50\u9875\u9762\u4E2D\u3002\n\n## \u4E03\u3001\u5982\u679C\u7528\u6237\u6CA1\u6709\u660E\u786E\u8BF4\u660E\u8BE5\u9875\u9762\u8BBE\u8BA1\u9700\u6C42\uFF0C\u90A3\u5C31\u6309\u7167\u4EE5\u4E0B\u9875\u9762\u9ED8\u8BA4\u89C4\u5219\u8BBE\u8BA1\n- \u95EA\u5C4F\u9875\uFF1A\u5C3D\u91CF\u4E0D\u4F7F\u7528\u5168\u5C4F\u56FE\u7247\uFF0C\u4E00\u822C\u4F7F\u7528\u4E3B\u9898\u76F8\u5173\u7684\u6E10\u53D8\u8272\uFF0C\u7136\u540E\u5E26\u6709\u4E00\u4E9B\u989D\u5916\u7684\u80CC\u666F\u5143\u7D20\u589E\u5F3A\u754C\u9762\u5C42\u6B21\u611F\n- \u5F15\u5BFC\u9875\uFF1A\u5C3D\u91CF\u4E0D\u4F7F\u7528\u5168\u5C4F\u56FE\u7247\uFF0C\u4E00\u822C\u6BCF\u4E00\u9875\u5F15\u5BFC\u9875\u80CC\u666F\u8272\u4E5F\u53EF\u4EE5\u6E10\u53D8\uFF0C\u7136\u540E\u6BCF\u4E00\u9875\u529F\u80FD\u8BF4\u660E\u4E00\u822C\u6709\u975E\u5168\u5C4F\u56FE\u7247\u3001\u6807\u9898\u3001\u526F\u6807\u9898\u7B49\u7B49\uFF0C\u4F60\u53EF\u4EE5\u5E26\u5165\u5176\u4ED6\u5143\u7D20\uFF0C\u8BA9\u9875\u9762\u66F4\u52A0\u7F8E\u89C2\u3002\n";
2
2
  //# sourceMappingURL=uiDesign.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"uiDesign.d.ts","sourceRoot":"","sources":["../src/uiDesign.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,sjbA8FlC,CAAA"}
1
+ {"version":3,"file":"uiDesign.d.ts","sourceRoot":"","sources":["../src/uiDesign.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,iwbA+FlC,CAAA"}
package/build/uiDesign.js CHANGED
@@ -4,6 +4,7 @@ export const uiDesignPromptTemplate = `# UI设计规则,特别注意必须使
4
4
  - 禁止使用任何前端框架,只使用 html+类选择器样式+js 来实现。
5
5
  - 禁止使用js代码来拼接html字符串,必须在body标签里面直接写html代码。
6
6
  - 禁止使用js代码来声明任何页面显示所需的数据,所有数据都必须在html代码中直接写死。
7
+ - 禁止使用文本渐变色,必须使用纯色文本,也就是禁止使用\`-webkit-text-fill-color\`属性。
7
8
  - loading节点的实现禁止使用div标签与边框属性实现,必须使用图标icon的i标签来实现loading的节点
8
9
  - 禁止为html标签节点添加动画或过渡效果,页面设计不需要任何动画和过渡效果,比如禁止:@keyframes、transition、animation 等。
9
10
  - hover与点击反馈:请使用浅色的背景色background来反馈就行,严禁使用transform效果
@@ -93,4 +94,4 @@ export const uiDesignPromptTemplate = `# UI设计规则,特别注意必须使
93
94
  - 闪屏页:尽量不使用全屏图片,一般使用主题相关的渐变色,然后带有一些额外的背景元素增强界面层次感
94
95
  - 引导页:尽量不使用全屏图片,一般每一页引导页背景色也可以渐变,然后每一页功能说明一般有非全屏图片、标题、副标题等等,你可以带入其他元素,让页面更加美观。
95
96
  `;
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlEZXNpZ24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdWlEZXNpZ24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0E4RnJDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgdWlEZXNpZ25Qcm9tcHRUZW1wbGF0ZSA9IGAjIFVJ6K6+6K6h6KeE5YiZ77yM54m55Yir5rOo5oSP5b+F6aG75L2/55SoVUnop4TojINcXGAuYnl0ZWZ1bi9VSeiuvuiuoeinhOiMgy5tZFxcYOmHjOmdoum7mOiupOeahOS4u+mimOearuiCpOadpeiuvuiuoe+8jOS4jeW+l+S9v+eUqOWFtuS7luS4u+mimOearuiCpOOAglxuXG4jIyDkuIDjgIHnpoHmraLnmoTkuovmg4Vcbi0g56aB5q2i5L2/55So5Lu75L2V5YmN56uv5qGG5p6277yM5Y+q5L2/55SoIGh0bWwr57G76YCJ5oup5Zmo5qC35byPK2pzIOadpeWunueOsOOAglxuLSDnpoHmraLkvb/nlKhqc+S7o+eggeadpeaLvOaOpWh0bWzlrZfnrKbkuLLvvIzlv4XpobvlnKhib2R55qCH562+6YeM6Z2i55u05o6l5YaZaHRtbOS7o+eggeOAglxuLSDnpoHmraLkvb/nlKhqc+S7o+eggeadpeWjsOaYjuS7u+S9lemhtemdouaYvuekuuaJgOmcgOeahOaVsOaNru+8jOaJgOacieaVsOaNrumDveW/hemhu+WcqGh0bWzku6PnoIHkuK3nm7TmjqXlhpnmrbvjgIJcbi0gbG9hZGluZ+iKgueCueeahOWunueOsOemgeatouS9v+eUqGRpduagh+etvuS4jui+ueahhuWxnuaAp+WunueOsO+8jOW/hemhu+S9v+eUqOWbvuagh2ljb27nmoRp5qCH562+5p2l5a6e546wbG9hZGluZ+eahOiKgueCuVxuLSDnpoHmraLkuLpodG1s5qCH562+6IqC54K55re75Yqg5Yqo55S75oiW6L+H5rih5pWI5p6c77yM6aG16Z2i6K6+6K6h5LiN6ZyA6KaB5Lu75L2V5Yqo55S75ZKM6L+H5rih5pWI5p6c77yM5q+U5aaC56aB5q2i77yaQGtleWZyYW1lc+OAgXRyYW5zaXRpb27jgIFhbmltYXRpb24g562J44CCXG4tIGhvdmVy5LiO54K55Ye75Y+N6aaI77ya6K+35L2/55So5rWF6Imy55qE6IOM5pmv6ImyYmFja2dyb3VuZOadpeWPjemmiOWwseihjO+8jOS4peemgeS9v+eUqHRyYW5zZm9ybeaViOaenFxuICAgIC0g4p2MIOmUmeivr+eahOeUqOazle+8miBcbiAgICBcXGBcXGBcXGAgY3NzXG4gICAgLmhvdC1zYWxlcy1pdGVtOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC4uLnB4KTtcbiAgICB9XG4gICAgXFxgXFxgXFxgXG4gICAgLSDinIUg5q2j56Gu55qE55So5rOV77yaXG4gICAgXFxgXFxgXFxgIGNzc1xuICAgIC5ob3Qtc2FsZXMtaXRlbTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IC4uLjtcbiAgICB9XG4gICAgXFxgXFxgXFxgXG4tIOemgeatouS9v+eUqGRpduagh+etvuadpeWunueOsGltYWdl5Zu+54mH77yM5b+F6aG76KaB5L2/55SoaW1n5qCH562+5p2l5a6e546w5Zu+54mH6IqC54K577yMaW1n5qCH562+55qEc3Jj5bGe5oCn5b+F6aG76K6+572u5Li677yaXFxgaHR0cHM6Ly9vc3MuYnl0ZWZ1bmdvLmNvbS9mMS9zaG93SW1nMS5qcGdcXGDvvIzlhbbkuK3ph4zpnaLnmoRcXGBzaG93SW1nMVxcYOWPr+S7peaUueS4ujF+MzDnmoTku7vmhI/kuIDkuKrmlbDlrZfvvIzmr5TlpoLvvJpcXGBzaG93SW1nNVxcYOOAglxuICAtIOKdjOmUmeivr+eahOWGmeazle+8mlxuICAgIFxcYFxcYFxcYCBodG1sXG4gICAgPGRpdiBjbGFzcz1cImJlc3RzZWxsZXItY292ZXJcIiBpZD1cImJlc3RzZWxsZXJDb3ZlcjFcIiBuYW1lPVwi55WF6ZSA5Lmm57GN5bCB6Z2iMVwiIG5vZGVUeXBlPVwiaW1hZ2VcIj5cbiAgICA8L2Rpdj5cbiAgICBcXGBcXGBcXGBcbiAgLSDinIUg5q2j56Gu55qE5YaZ5rOV77yaXG4gICAgXFxgXFxgXFxgIGh0bWxcbiAgICA8aW1nIGNsYXNzPVwiYmVzdHNlbGxlci1jb3ZlclwiIGlkPVwiYmVzdHNlbGxlckNvdmVyMVwiIG5hbWU9XCLnlYXplIDkuabnsY3lsIHpnaIxXCIgbm9kZVR5cGU9XCJpbWFnZVwiIHNyYz1cImh0dHBzOi8vb3NzLmJ5dGVmdW5nby5jb20vZjEvc2hvd0ltZzcuanBnXCI+ICBcbiAgICBcXGBcXGBcXGBcblxuIyMg5LqM44CB5qC35byP6KeE5YiZXG4tIOagt+W8j+S7o+eggeW/hemhu+S9v+eUqOexu+mAieaLqeWZqOagt+W8j0NsYXNzLWJhc2VkIFN0eWxlIC8gQ2xhc3MgU2VsZWN0b3IgU3R5bGXmlrnlvI/vvIzkuI3lvpfkvb/nlKjooYzlhoXmoLflvI9JbmxpbmUgU3R5bGXmiJblpJbpg6jmlofku7bjgIJcbi0g6YG15b6q5omL5py65bC65a+46KeE5qC8KOWuveW6piAzOTNweCDpq5jluqYgODA4cHgpXG4tIOmmlumhtS/mjqjojZB0YWLnmoTliIbnsbsv5Yqf6IO95ZCE5Liq5YWl5Y+j55qE5Zu+5qCH5LiA6Iis6ZyA6KaB5L2/55So5LiN5LiA5qC355qE6aKc6Imy77yM5b6I5bCR5Lya57uf5LiA5YWo6YOo5L2/55So5ZOB54mM5Li76aKY6ImyXG4tIOaJgOaciXJhZGlv44CBY2hlY2tCb3jpg73lv4Xpobvkvb/nlKhp5qCH562+6K6+572uRm9udEF3ZXNvbWXlm77moIfmnaXlrp7njrDvvIzkuI3lvpfkvb/nlKjns7vnu5/nmoRpbnB1dOagh+etvuWunueOsOOAglxuLSDlpoLnlKjmiLfmsqHmnInmmI7noa7mj4/ov7Dor7TmmI7pobXpnaLog4zmma/oibLvvIzlj6rmnInpl6rlsY/pobXpnaLnmoTog4zmma/oibLlhYHorrjorr7nva7lk4HniYzkuLvoibLmiJblk4HniYzkuLvoibLkuI7lk4HniYzmrKHoibLnmoTmuJDlj5joibLvvIzlhbbku5bpobXpnaLlv4Xpobvkvb/nlKjpnZ4g5ZOB54mM5Li76ImyIOS4jumdniDlk4HniYzmrKHoibIg55qE57qv6Imy5YGa6aG16Z2i6IOM5pmv6Imy77yM5q+U5aaC5LiA6Iis5L2/55So55m96Imy57O777yM5aaC5p6c5piv5pqX6buR6aOO6YKj5bCx5piv6buR6Imy57O744CCXG4tIOi+k+WFpeahhlxcYGlucHV0XFxg5aaC5p6c6ZyA6KaB5bGV56S65paH5a2XIGxhYmVs77yM5bC96YeP5L2/55SoIGljb24g5Luj5pu/5paH5a2XIGxhYmVs77yM5bm25LiUIGljb24g6YeN5Y+g5Zyo6L6T5YWl5qGG55qE5bem5L6n77yM6L+Z5qC35pW05Liq6aG16Z2i55qE56m66Ze05Yip55So546H6auY44CCXG5cbiMjIOS4ieOAgeW/hemhu+e7meavj+S4gOS4quiKgueCuea3u+WKoGlk44CBbmFtZeOAgW5vZGVUeXBl5bGe5oCnXG4tIOeJueWIq+azqOaEj++8jFxcYGlcXGDlkoxcXGBkaXZcXGDnrYnmoIfnrb7kuZ/lv4Xpobvmt7vliqAgaWTjgIFuYW1l44CBbm9kZVR5cGUg5bGe5oCn77yM5q+P5LiA5Liq6IqC54K56YO96ZyA6KaB5re75Yqg6L+Z5LiJ5Liq5bGe5oCn77yM5Y2D5LiH5Yir5ryP5o6J5LqG77yM6L+Z5piv5b+F6KaB5p2h5Lu2XG4tIGlkIOWxnuaAp+W/hemhu+WPquiDveS9v+eUqOiLseaWh+aIluaVsOWtl+e7hOaIkO+8jOS4lOS4jeiDveS7peaVsOWtl+W8gOWktO+8jOW5tuS4lOaVtOS4qumhtemdoiBpZCDlsZ7mgKfnmoTlgLzlv4XpobvllK/kuIDvvIzkvb/nlKjpqbzls7DnmoTlkb3lkI3mlrnlvI9cbi0gbmFtZSDlsZ7mgKflv4XpobvmmK/kuK3mlofmiJbmlbDlrZfvvIzlubbkuJTkuI3og73ljIXlkKvnibnmrorlrZfnrKZcbi0gbm9kZVR5cGUg5bGe5oCn55qE5YC85b+F6aG75pivXFxg57uE5Lu257G75Z6L5p6a5Li+IChub2RlVHlwZSnmnprkuL5cXGAg5Lit55qE5LiA5Liq77yM5LiA5Lqb5biD5bGA5a655Zmo6ZyA6KaB6YG15a6I5Lul5LiL6K+05piO5p2l6YCJ5oup5q2j56Gu55qEbm9kZVR5cGXvvJpcbiAgLSDliJfooajlrrnlmajvvJpcXGB2ZXJ0aWNhbExpc3RWaWV3XFxg44CBXFxgaG9yaXpvbnRhbExpc3RWaWV3XFxg44CBXFxgbGlzdEl0ZW1DYXJkXFxg77yM55So5LqO5biD5bGA5aSa5Liq5YiX6KGo6aG577yM5q+U5aaC77ya5ZWG5ZOB5YiX6KGo44CB5YiG57G75YiX6KGo44CB5qCH562+5YiX6KGo562J77yM5Y+v5Lul5pSv5oyB5aSa6KGM5aSa5YiX55qE5YiX6KGo5biD5bGAXG4gIC0g5YiX6KGo6aG16ISa5a655Zmo77yaXFxgbGlzdEZvb3RlckNvbnRhaW5lclxcYO+8jOeUqOS6juW4g+WxgOWIl+ihqOeahOmhteiEmu+8jOavlOWmgu+8muWKoOi9veabtOWkmuOAgeayoeacieabtOWkmuS6huetiVxuICAtIOe9keagvOWuueWZqO+8mmdyaWRDb250YWluZXLnlKjkuo7luIPlsYDlpJrkuKrnvZHmoLzpobnvvIzph4zpnaLljIXlkKtO5LiqZ3JpZEl0ZW3vvIzmr5TlpoLvvJrliIbnsbvnvZHmoLzlhaXlj6NcbiAgLSDmtYHlvI/lrrnlmajvvJrnlKjkuo7luIPlsYDlpJrkuKrlrZDpobnvvIzlrZDpobnlj6/ku6XlnKjkuIDooYzmmL7npLrvvIzlvZPkvY3nva7kuI3lpJ/ml7blsLHmjaLooYzmmL7npLrvvIzmr5TlpoLvvJrkuIDnu4TmoIfnrb50YWfnmoTmjpLniYjluIPlsYBcbiAgLSDlpJrnirbmgIHlrrnlmajvvJpcXGBtdWx0aVN0YXRlQ29udGFpbmVyXFxgLCBcXGBvbmVTdGF0ZUNvbnRlbnRDb250YWluZXJcXGDvvIznlKjkuo7kuI3mmK/pgJrov4fkuqTkupLvvIzogIzmmK/pgJrov4fpgLvovpHnirbmgIHlj5jph4/lj5jljJbogIzmmL7npLrkuI3lkIznirbmgIHnmoTlhoXlrrnlrrnlmajvvIzmr5TlpoLvvJrnmbvlvZXnirbmgIHlkozmnKrnmbvlvZXnirbmgIHliIbliKvmmL7npLrkuI3lkIznmoTlhoXlrrnjgIJcbi0g6auY57qn57uE5Lu26IqC54K555qEbm9kZVR5cGXnu5PmnoTop4TliJnvvJpcbiAgLSB0YWIg6YCJ6aG55Y2h77yaXFxgdGFiTWVudUJhclxcYOaYr3RhYumAiemhueWNoeiPnOWNleagj++8jOmHjOmdouWMheWQq07kuKpcXGB0YWJNZW51QmFySXRlbVxcYO+8jFxcYHRhYlBhbmVsRmF0aGVyXFxg5pivdGFi6YCJ6aG55Y2h5YaF5a655a655Zmo77yM6YeM6Z2i5YyF5ZCrTuS4qlxcYHRhYlBhbmVsXFxg77yMXFxgdGFiTWVudUJhclxcYOWSjFxcYHRhYlBhbmVsRmF0aGVyXFxg5b+F6aG75ZCM5pe25a2Y5Zyo77yMXFxgdGFiUGFuZWxcXGDnmoTmlbDph4/lv4XpobvlkoxcXGB0YWJNZW51QmFySXRlbVxcYOeahOaVsOmHj+ebuOWQjFxuICAtIHZpZXdQYWdlciDova7mkq3vvJpcXGB2aWV3UGFnZXJcXGDmmK/ova7mkq3lrrnlmajvvIzph4zpnaLljIXlkKtO5LiqXFxgdmlld1BhZ2VySXRlbVxcYO+8jFxcYHZpZXdQYWdlckluZGljYXRvckNvbnRhaW5lclxcYOaYr+i9ruaSreaMh+ekuuWZqOWuueWZqO+8jFxcYHZpZXdQYWdlclxcYOS4jlxcYHZpZXdQYWdlckluZGljYXRvckNvbnRhaW5lclxcYOW/hemhu+WQjOaXtuWtmOWcqFxuICAtIOS4gOihjOS4jeWkn+S9jee9ruaYvuekuuWwseaNouihjOeahOWuueWZqO+8mlxcYGlubGluZUJsb2NrQW5kV3JhcFxcYO+8jOmHjOmdouWMheWQq07kuKpcXGBibG9ja0l0ZW1cXGDvvIxcXGBibG9ja0l0ZW1cXGDmmK/lroPnmoTlrZDpoblcbiAgLSDlpJrnirbmgIHlrrnlmajvvJrkuIDkuKpcXGBtdWx0aVN0YXRlQ29udGFpbmVyXFxg5aSa54q25oCB5a655Zmo5YyF5ZCr5aSa5LiqXFxgb25lU3RhdGVDb250ZW50Q29udGFpbmVyXFxgXG5cbi0g57uE5Lu257G75Z6L5p6a5Li+IChub2RlVHlwZSnmnprkuL7vvJpcblxuICAtIOW9oueKtu+8mlxcYHJlY3RcXGAsIFxcYGNpcmNsZVxcYCwgXFxgbGluZVxcYFxuICAtIOWfuuehgOe7hOS7tu+8mlxcYHRleHRcXGDjgIFcXGBidXR0b25cXGDjgIFcXGBpbnB1dFxcYOOAgVxcYGljb25cXGDjgIFcXGBpbWFnZVxcYFxuICAtIOWfuuehgOWuueWZqO+8mlxcYGNvbnRhaW5lclxcYFxuICAtIOe9keagvOWuueWZqO+8mlxcYGdyaWRDb250YWluZXJcXGDjgIFcXGBncmlkSXRlbVxcYFxuICAtIOa1geW8j+WuueWZqO+8mlxcYGlubGluZUJsb2NrQW5kV3JhcFxcYOOAgVxcYGJsb2NrSXRlbVxcYFxuICAtIOW8gOWFs++8mlxcYHN3aXRjaFxcYFxuICAtIOWNlemAie+8mlxcYHJhZGlvR3JvdXBcXGDjgIFcXGByYWRpb1xcYFxuICAtIOWkmumAie+8mlxcYGNoZWNrQm94R3JvdXBcXGDjgIFcXGBjaGVja0JveFxcYFxuICAtIOmhtumDqOWvvOiIquagj++8mlxcYHRvcE5hdmlnYXRlQmFyXFxgXG4gIC0g5aSa54q25oCB5a655Zmo77yaXFxgbXVsdGlTdGF0ZUNvbnRhaW5lclxcYCwgXFxgb25lU3RhdGVDb250ZW50Q29udGFpbmVyXFxgXG4gIC0g5YiX6KGo77yaXFxgdmVydGljYWxMaXN0Vmlld1xcYCwgXFxgaG9yaXpvbnRhbExpc3RWaWV3XFxgLCBcXGBsaXN0SXRlbUNhcmRcXGDjgIFcXGBsaXN0Rm9vdGVyQ29udGFpbmVyXFxgXG4gIC0g6L2u5pKt77yaXFxgdmlld1BhZ2VyXFxgLCBcXGB2aWV3UGFnZXJJdGVtXFxgLCBcXGB2aWV3UGFnZXJJbmRpY2F0b3JDb250YWluZXJcXGBcbiAgLSB0YWIg6YCJ6aG55Y2h77yaXFxgdGFiUGFuZWxGYXRoZXJcXGAsIFxcYHRhYlBhbmVsXFxgLCBcXGB0YWJNZW51QmFyXFxgLCBcXGB0YWJNZW51QmFySXRlbVxcYFxuICAtIOW6lemDqOWvvOiIqjogXFxgYm90dG9tVGFiQ29udGVudENvbnRhaW5lclxcYCwgXFxgc3ViUGFnZVxcYCwgXFxgYm90dG9tVGFiTmF2aWdhdGVCYXJcXGAsIFxcYGJvdHRvbVRhYk5hdmlnYXRlQmFySXRlbVxcYFxuICAtIOWvueivneahhu+8mlxcYGRpYWxvZ092ZXJsYXlcXGAsIFxcYGRpYWxvZ0NvbnRlbnRcXGBcbiAgLSB0b2FzdCDmj5DnpLrvvJpcXGB0b2FzdFxcYFxuICAtIOS4i+aLieiPnOWNle+8mlxcYGRyb3BEb3duTWVudVxcYFxuICAtIOS+p+a7kemdouadv++8mlxcYHNpZGVTbGlkZVBhbmVsXFxgXG5cbiMjIOWbm+OAgei9ruaSreS4jlRhYnPnu4Tku7bnmoTop4TliJlcbi0g6L2u5pKt55qE5q+P5LiA5LiqU2xpZGXlkoxUYWJz6YCJ6aG55Y2h57uE5Lu25q+P5LiA5LiqVGFiIFBhbmVs6YO95b+F6aG75L2/55SoXFxgZGlzcGxheTogbm9uZVxcYOWSjFxcYGRpc3BsYXk6IGJsb2NrL2ZsZXhcXGDmnaXlrp7njrDpmpDol4/lkozmmL7npLrnmoTkupLmlqXliIfmjaJcbi0g6L2u5pKt55qE5q+P5LiA5LiqU2xpZGXlv4XpobvmnIlodG1s5Luj56CB5a6e546w77yM5LiN5b6X5Y+q5YaZ56ysMeS4qlNsaWRl55qEaHRtbOS7o+egge+8jOWFtuS7llNsaWRl55qEaHRtbOS7o+eggeS5n+W/hemhu+imgeWGmeOAglxuLSBUYWJz6YCJ6aG55Y2h57uE5Lu25q+P5LiA5LiqVGFiIFBhbmVs6YO95b+F6aG75pyJaHRtbOS7o+eggeWunueOsO+8jOS4jeW+l+WPquWGmeesrDHkuKpUYWIgUGFuZWznmoRodG1s5Luj56CB77yM5YW25LuWVGFiIFBhbmVs55qEaHRtbOS7o+eggeS5n+W/hemhu+imgeWGmeOAglxuXG4jIyDkupTjgIHlm77moIfkuI7lm77niYfnmoTop4TliJlcbi0gaWNvbuWbvuagh+W/hemhu+S9v+eUqCBGb250QXdlc29tZSDlm77moIfvvIzmr5TlpoLvvJpcXGA8aSBuYW1lPVwi5b6u5L+hSWNvblwiIG5vZGVUeXBlPVwiaWNvblwiIGlkPVwid3hJY29uXCIgY2xhc3M9XCJmYWIgZmEtd2VpeGluXCI+PC9pPlxcYFxuLSBpbWflm77niYfnmoRzcmMg5b+F6aG75L2/55So5Zu+54mH5Zyw5Z2A77yaXFxgaHR0cHM6Ly9vc3MuYnl0ZWZ1bmdvLmNvbS9mMS9zaG93SW1nMS5qcGdcXGAp77yM5YW25Lit57uT5bC+55qE4oCZc2hvd0ltZzEn5Y+v5Lul5o2i5Li65LuOIDEg5YiwIDMwIOeahOaVsOWtl++8jDF+MzAg55qE5pWw5a2X5b+F6aG76ZqP5py65oyR6YCJ77yM5LiN5b6X5q+P5Liq6aG16Z2i5q+P5Liq5Zu+54mH6YO95L2/55So5ZCM5LiA5Liq5pWw5a2X44CC5YaZ5rOV5q+U5aaC77yaXFxgPGltZyBzcmM9XCJodHRwczovL29zcy5ieXRlZnVuZ28uY29tL2YxL3Nob3dJbWcxNy5qcGdcIiBhbHQ9XCJ4eHhcIiBjbGFzcz1cInh4eFwiIG5vZGVUeXBlPVwiaW1hZ2VcIj5cXGBcbi0g57ud5a+55LiN6IO95L2/55SoIGVtb2ppIOihqOaDheespuWPt++8jOS4jeW+l+S9v+eUqOS7u+S9lSBlbW9qaSDooajmg4XnrKblj7fvvIzor7fkvb/nlKggaWNvbiDmiJYgaW1nIOWbvueJh+iKgueCueadpeS7o+abv+OAglxuXG4jIyDlha3jgIHpppbpobXkuLvkvZPpobXkuI7lrZDpobXpnaLnmoTop4TliJlcbi0g6aaW6aG15Li75L2T6aG15bWM5aWX5LqG5aSa5Liq5a2Q6aG16Z2i77yM5q+P5LiA5Liq5a2Q6aG16Z2i6YO95LiN6ZyA6KaB5aGr5YWF5YaF5a6577yM56m655m95bCx6KGM77yM5ZCO6Z2i5Lya5pyJ5LiT6Zeo55qE5Lu75Yqh5p2l6K6+6K6h5YW35L2T55qE5a2Q6aG16Z2i44CCXG4tIOS7u+S9leWtkOmhtemdoumDveW/hemhu+emgeatoua3u+WKoOW6lemDqOWvvOiIquagj+iKgueCueWIsOmhtemdou+8jOWboOS4uuWtkOmhtemdouaYr+W1jOWll+WcqOmmlumhteS4u+S9k+mhteS4reeahO+8jOeItumhtemdouW3sue7j+acieW6lemDqOWvvOiIquagj+S6hu+8jOWtkOmhtemdouS4jemcgOimgeWGjea3u+WKoOW6lemDqOWvvOiIquagj++8jOS5n+S4jeW+l+a3u+WKoOS6jOe6p+mhtemdoueahOagh+mimOagj+WIsOWtkOmhtemdouS4re+8jOWboOS4uuWtkOmhtemdouaYr+W1jOWll+WcqOmmlumhteS4u+S9k+mhteS4reeahO+8jOmmlumhteS4u+S9k+mhteWSjOWug+eahOWtkOmhtemdoumDveaYr+S4gOe6p+mhtemdou+8jOWboOatpOS4jeW+l+a3u+WKoOS6jOe6p+mhtemdoueahOagh+mimOagj+WIsOWtkOmhtemdouS4reOAglxuXG4jIyDkuIPjgIHlpoLmnpznlKjmiLfmsqHmnInmmI7noa7or7TmmI7or6XpobXpnaLorr7orqHpnIDmsYLvvIzpgqPlsLHmjInnhafku6XkuIvpobXpnaLpu5jorqTop4TliJnorr7orqFcbi0g6Zeq5bGP6aG177ya5bC96YeP5LiN5L2/55So5YWo5bGP5Zu+54mH77yM5LiA6Iis5L2/55So5Li76aKY55u45YWz55qE5riQ5Y+Y6Imy77yM54S25ZCO5bim5pyJ5LiA5Lqb6aKd5aSW55qE6IOM5pmv5YWD57Sg5aKe5by655WM6Z2i5bGC5qyh5oSfXG4tIOW8leWvvOmhte+8muWwvemHj+S4jeS9v+eUqOWFqOWxj+WbvueJh++8jOS4gOiIrOavj+S4gOmhteW8leWvvOmhteiDjOaZr+iJsuS5n+WPr+S7pea4kOWPmO+8jOeEtuWQjuavj+S4gOmhteWKn+iDveivtOaYjuS4gOiIrOaciemdnuWFqOWxj+WbvueJh+OAgeagh+mimOOAgeWJr+agh+mimOetieetie+8jOS9oOWPr+S7peW4puWFpeWFtuS7luWFg+e0oO+8jOiuqemhtemdouabtOWKoOe+juinguOAglxuYCJdfQ==
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlEZXNpZ24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdWlEZXNpZ24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBK0ZyQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IHVpRGVzaWduUHJvbXB0VGVtcGxhdGUgPSBgIyBVSeiuvuiuoeinhOWIme+8jOeJueWIq+azqOaEj+W/hemhu+S9v+eUqFVJ6KeE6IyDXFxgLmJ5dGVmdW4vVUnorr7orqHop4TojIMubWRcXGDph4zpnaLpu5jorqTnmoTkuLvpopjnmq7ogqTmnaXorr7orqHvvIzkuI3lvpfkvb/nlKjlhbbku5bkuLvpopjnmq7ogqTjgIJcblxuIyMg5LiA44CB56aB5q2i55qE5LqL5oOFXG4tIOemgeatouS9v+eUqOS7u+S9leWJjeerr+ahhuaetu+8jOWPquS9v+eUqCBodG1sK+exu+mAieaLqeWZqOagt+W8jytqcyDmnaXlrp7njrDjgIJcbi0g56aB5q2i5L2/55SoanPku6PnoIHmnaXmi7zmjqVodG1s5a2X56ym5Liy77yM5b+F6aG75ZyoYm9keeagh+etvumHjOmdouebtOaOpeWGmWh0bWzku6PnoIHjgIJcbi0g56aB5q2i5L2/55SoanPku6PnoIHmnaXlo7DmmI7ku7vkvZXpobXpnaLmmL7npLrmiYDpnIDnmoTmlbDmja7vvIzmiYDmnInmlbDmja7pg73lv4XpobvlnKhodG1s5Luj56CB5Lit55u05o6l5YaZ5q2744CCXG4tIOemgeatouS9v+eUqOaWh+acrOa4kOWPmOiJsu+8jOW/hemhu+S9v+eUqOe6r+iJsuaWh+acrO+8jOS5n+WwseaYr+emgeatouS9v+eUqFxcYC13ZWJraXQtdGV4dC1maWxsLWNvbG9yXFxg5bGe5oCn44CCXG4tIGxvYWRpbmfoioLngrnnmoTlrp7njrDnpoHmraLkvb/nlKhkaXbmoIfnrb7kuI7ovrnmoYblsZ7mgKflrp7njrDvvIzlv4Xpobvkvb/nlKjlm77moIdpY29u55qEaeagh+etvuadpeWunueOsGxvYWRpbmfnmoToioLngrlcbi0g56aB5q2i5Li6aHRtbOagh+etvuiKgueCuea3u+WKoOWKqOeUu+aIlui/h+a4oeaViOaenO+8jOmhtemdouiuvuiuoeS4jemcgOimgeS7u+S9leWKqOeUu+WSjOi/h+a4oeaViOaenO+8jOavlOWmguemgeatou+8mkBrZXlmcmFtZXPjgIF0cmFuc2l0aW9u44CBYW5pbWF0aW9uIOetieOAglxuLSBob3ZlcuS4jueCueWHu+WPjemmiO+8muivt+S9v+eUqOa1heiJsueahOiDjOaZr+iJsmJhY2tncm91bmTmnaXlj43ppojlsLHooYzvvIzkuKXnpoHkvb/nlKh0cmFuc2Zvcm3mlYjmnpxcbiAgICAtIOKdjCDplJnor6/nmoTnlKjms5XvvJogXG4gICAgXFxgXFxgXFxgIGNzc1xuICAgIC5ob3Qtc2FsZXMtaXRlbTpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCguLi5weCk7XG4gICAgfVxuICAgIFxcYFxcYFxcYFxuICAgIC0g4pyFIOato+ehrueahOeUqOazle+8mlxuICAgIFxcYFxcYFxcYCBjc3NcbiAgICAuaG90LXNhbGVzLWl0ZW06aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAuLi47XG4gICAgfVxuICAgIFxcYFxcYFxcYFxuLSDnpoHmraLkvb/nlKhkaXbmoIfnrb7mnaXlrp7njrBpbWFnZeWbvueJh++8jOW/hemhu+imgeS9v+eUqGltZ+agh+etvuadpeWunueOsOWbvueJh+iKgueCue+8jGltZ+agh+etvueahHNyY+WxnuaAp+W/hemhu+iuvue9ruS4uu+8mlxcYGh0dHBzOi8vb3NzLmJ5dGVmdW5nby5jb20vZjEvc2hvd0ltZzEuanBnXFxg77yM5YW25Lit6YeM6Z2i55qEXFxgc2hvd0ltZzFcXGDlj6/ku6XmlLnkuLoxfjMw55qE5Lu75oSP5LiA5Liq5pWw5a2X77yM5q+U5aaC77yaXFxgc2hvd0ltZzVcXGDjgIJcbiAgLSDinYzplJnor6/nmoTlhpnms5XvvJpcbiAgICBcXGBcXGBcXGAgaHRtbFxuICAgIDxkaXYgY2xhc3M9XCJiZXN0c2VsbGVyLWNvdmVyXCIgaWQ9XCJiZXN0c2VsbGVyQ292ZXIxXCIgbmFtZT1cIueVhemUgOS5puexjeWwgemdojFcIiBub2RlVHlwZT1cImltYWdlXCI+XG4gICAgPC9kaXY+XG4gICAgXFxgXFxgXFxgXG4gIC0g4pyFIOato+ehrueahOWGmeazle+8mlxuICAgIFxcYFxcYFxcYCBodG1sXG4gICAgPGltZyBjbGFzcz1cImJlc3RzZWxsZXItY292ZXJcIiBpZD1cImJlc3RzZWxsZXJDb3ZlcjFcIiBuYW1lPVwi55WF6ZSA5Lmm57GN5bCB6Z2iMVwiIG5vZGVUeXBlPVwiaW1hZ2VcIiBzcmM9XCJodHRwczovL29zcy5ieXRlZnVuZ28uY29tL2YxL3Nob3dJbWc3LmpwZ1wiPiAgXG4gICAgXFxgXFxgXFxgXG5cbiMjIOS6jOOAgeagt+W8j+inhOWImVxuLSDmoLflvI/ku6PnoIHlv4Xpobvkvb/nlKjnsbvpgInmi6nlmajmoLflvI9DbGFzcy1iYXNlZCBTdHlsZSAvIENsYXNzIFNlbGVjdG9yIFN0eWxl5pa55byP77yM5LiN5b6X5L2/55So6KGM5YaF5qC35byPSW5saW5lIFN0eWxl5oiW5aSW6YOo5paH5Lu244CCXG4tIOmBteW+quaJi+acuuWwuuWvuOinhOagvCjlrr3luqYgMzkzcHgg6auY5bqmIDgwOHB4KVxuLSDpppbpobUv5o6o6I2QdGFi55qE5YiG57G7L+WKn+iDveWQhOS4quWFpeWPo+eahOWbvuagh+S4gOiIrOmcgOimgeS9v+eUqOS4jeS4gOagt+eahOminOiJsu+8jOW+iOWwkeS8mue7n+S4gOWFqOmDqOS9v+eUqOWTgeeJjOS4u+mimOiJslxuLSDmiYDmnIlyYWRpb+OAgWNoZWNrQm946YO95b+F6aG75L2/55Soaeagh+etvuiuvue9rkZvbnRBd2Vzb21l5Zu+5qCH5p2l5a6e546w77yM5LiN5b6X5L2/55So57O757uf55qEaW5wdXTmoIfnrb7lrp7njrDjgIJcbi0g5aaC55So5oi35rKh5pyJ5piO56Gu5o+P6L+w6K+05piO6aG16Z2i6IOM5pmv6Imy77yM5Y+q5pyJ6Zeq5bGP6aG16Z2i55qE6IOM5pmv6Imy5YWB6K646K6+572u5ZOB54mM5Li76Imy5oiW5ZOB54mM5Li76Imy5LiO5ZOB54mM5qyh6Imy55qE5riQ5Y+Y6Imy77yM5YW25LuW6aG16Z2i5b+F6aG75L2/55So6Z2eIOWTgeeJjOS4u+iJsiDkuI7pnZ4g5ZOB54mM5qyh6ImyIOeahOe6r+iJsuWBmumhtemdouiDjOaZr+iJsu+8jOavlOWmguS4gOiIrOS9v+eUqOeZveiJsuezu++8jOWmguaenOaYr+aal+m7kemjjumCo+WwseaYr+m7keiJsuezu+OAglxuLSDovpPlhaXmoYZcXGBpbnB1dFxcYOWmguaenOmcgOimgeWxleekuuaWh+WtlyBsYWJlbO+8jOWwvemHj+S9v+eUqCBpY29uIOS7o+abv+aWh+WtlyBsYWJlbO+8jOW5tuS4lCBpY29uIOmHjeWPoOWcqOi+k+WFpeahhueahOW3puS+p++8jOi/meagt+aVtOS4qumhtemdoueahOepuumXtOWIqeeUqOeOh+mrmOOAglxuXG4jIyDkuInjgIHlv4Xpobvnu5nmr4/kuIDkuKroioLngrnmt7vliqBpZOOAgW5hbWXjgIFub2RlVHlwZeWxnuaAp1xuLSDnibnliKvms6jmhI/vvIxcXGBpXFxg5ZKMXFxgZGl2XFxg562J5qCH562+5Lmf5b+F6aG75re75YqgIGlk44CBbmFtZeOAgW5vZGVUeXBlIOWxnuaAp++8jOavj+S4gOS4quiKgueCuemDvemcgOimgea3u+WKoOi/meS4ieS4quWxnuaAp++8jOWNg+S4h+WIq+a8j+aOieS6hu+8jOi/meaYr+W/heimgeadoeS7tlxuLSBpZCDlsZ7mgKflv4Xpobvlj6rog73kvb/nlKjoi7HmlofmiJbmlbDlrZfnu4TmiJDvvIzkuJTkuI3og73ku6XmlbDlrZflvIDlpLTvvIzlubbkuJTmlbTkuKrpobXpnaIgaWQg5bGe5oCn55qE5YC85b+F6aG75ZSv5LiA77yM5L2/55So6am85bOw55qE5ZG95ZCN5pa55byPXG4tIG5hbWUg5bGe5oCn5b+F6aG75piv5Lit5paH5oiW5pWw5a2X77yM5bm25LiU5LiN6IO95YyF5ZCr54m55q6K5a2X56ymXG4tIG5vZGVUeXBlIOWxnuaAp+eahOWAvOW/hemhu+aYr1xcYOe7hOS7tuexu+Wei+aemuS4viAobm9kZVR5cGUp5p6a5Li+XFxgIOS4reeahOS4gOS4qu+8jOS4gOS6m+W4g+WxgOWuueWZqOmcgOimgemBteWuiOS7peS4i+ivtOaYjuadpemAieaLqeato+ehrueahG5vZGVUeXBl77yaXG4gIC0g5YiX6KGo5a655Zmo77yaXFxgdmVydGljYWxMaXN0Vmlld1xcYOOAgVxcYGhvcml6b250YWxMaXN0Vmlld1xcYOOAgVxcYGxpc3RJdGVtQ2FyZFxcYO+8jOeUqOS6juW4g+WxgOWkmuS4quWIl+ihqOmhue+8jOavlOWmgu+8muWVhuWTgeWIl+ihqOOAgeWIhuexu+WIl+ihqOOAgeagh+etvuWIl+ihqOetie+8jOWPr+S7peaUr+aMgeWkmuihjOWkmuWIl+eahOWIl+ihqOW4g+WxgFxuICAtIOWIl+ihqOmhteiEmuWuueWZqO+8mlxcYGxpc3RGb290ZXJDb250YWluZXJcXGDvvIznlKjkuo7luIPlsYDliJfooajnmoTpobXohJrvvIzmr5TlpoLvvJrliqDovb3mm7TlpJrjgIHmsqHmnInmm7TlpJrkuobnrYlcbiAgLSDnvZHmoLzlrrnlmajvvJpncmlkQ29udGFpbmVy55So5LqO5biD5bGA5aSa5Liq572R5qC86aG577yM6YeM6Z2i5YyF5ZCrTuS4qmdyaWRJdGVt77yM5q+U5aaC77ya5YiG57G7572R5qC85YWl5Y+jXG4gIC0g5rWB5byP5a655Zmo77ya55So5LqO5biD5bGA5aSa5Liq5a2Q6aG577yM5a2Q6aG55Y+v5Lul5Zyo5LiA6KGM5pi+56S677yM5b2T5L2N572u5LiN5aSf5pe25bCx5o2i6KGM5pi+56S677yM5q+U5aaC77ya5LiA57uE5qCH562+dGFn55qE5o6S54mI5biD5bGAXG4gIC0g5aSa54q25oCB5a655Zmo77yaXFxgbXVsdGlTdGF0ZUNvbnRhaW5lclxcYCwgXFxgb25lU3RhdGVDb250ZW50Q29udGFpbmVyXFxg77yM55So5LqO5LiN5piv6YCa6L+H5Lqk5LqS77yM6ICM5piv6YCa6L+H6YC76L6R54q25oCB5Y+Y6YeP5Y+Y5YyW6ICM5pi+56S65LiN5ZCM54q25oCB55qE5YaF5a655a655Zmo77yM5q+U5aaC77ya55m75b2V54q25oCB5ZKM5pyq55m75b2V54q25oCB5YiG5Yir5pi+56S65LiN5ZCM55qE5YaF5a6544CCXG4tIOmrmOe6p+e7hOS7tuiKgueCueeahG5vZGVUeXBl57uT5p6E6KeE5YiZ77yaXG4gIC0gdGFiIOmAiemhueWNoe+8mlxcYHRhYk1lbnVCYXJcXGDmmK90YWLpgInpobnljaHoj5zljZXmoI/vvIzph4zpnaLljIXlkKtO5LiqXFxgdGFiTWVudUJhckl0ZW1cXGDvvIxcXGB0YWJQYW5lbEZhdGhlclxcYOaYr3RhYumAiemhueWNoeWGheWuueWuueWZqO+8jOmHjOmdouWMheWQq07kuKpcXGB0YWJQYW5lbFxcYO+8jFxcYHRhYk1lbnVCYXJcXGDlkoxcXGB0YWJQYW5lbEZhdGhlclxcYOW/hemhu+WQjOaXtuWtmOWcqO+8jFxcYHRhYlBhbmVsXFxg55qE5pWw6YeP5b+F6aG75ZKMXFxgdGFiTWVudUJhckl0ZW1cXGDnmoTmlbDph4/nm7jlkIxcbiAgLSB2aWV3UGFnZXIg6L2u5pKt77yaXFxgdmlld1BhZ2VyXFxg5piv6L2u5pKt5a655Zmo77yM6YeM6Z2i5YyF5ZCrTuS4qlxcYHZpZXdQYWdlckl0ZW1cXGDvvIxcXGB2aWV3UGFnZXJJbmRpY2F0b3JDb250YWluZXJcXGDmmK/ova7mkq3mjIfnpLrlmajlrrnlmajvvIxcXGB2aWV3UGFnZXJcXGDkuI5cXGB2aWV3UGFnZXJJbmRpY2F0b3JDb250YWluZXJcXGDlv4XpobvlkIzml7blrZjlnKhcbiAgLSDkuIDooYzkuI3lpJ/kvY3nva7mmL7npLrlsLHmjaLooYznmoTlrrnlmajvvJpcXGBpbmxpbmVCbG9ja0FuZFdyYXBcXGDvvIzph4zpnaLljIXlkKtO5LiqXFxgYmxvY2tJdGVtXFxg77yMXFxgYmxvY2tJdGVtXFxg5piv5a6D55qE5a2Q6aG5XG4gIC0g5aSa54q25oCB5a655Zmo77ya5LiA5LiqXFxgbXVsdGlTdGF0ZUNvbnRhaW5lclxcYOWkmueKtuaAgeWuueWZqOWMheWQq+WkmuS4qlxcYG9uZVN0YXRlQ29udGVudENvbnRhaW5lclxcYFxuXG4tIOe7hOS7tuexu+Wei+aemuS4viAobm9kZVR5cGUp5p6a5Li+77yaXG5cbiAgLSDlvaLnirbvvJpcXGByZWN0XFxgLCBcXGBjaXJjbGVcXGAsIFxcYGxpbmVcXGBcbiAgLSDln7rnoYDnu4Tku7bvvJpcXGB0ZXh0XFxg44CBXFxgYnV0dG9uXFxg44CBXFxgaW5wdXRcXGDjgIFcXGBpY29uXFxg44CBXFxgaW1hZ2VcXGBcbiAgLSDln7rnoYDlrrnlmajvvJpcXGBjb250YWluZXJcXGBcbiAgLSDnvZHmoLzlrrnlmajvvJpcXGBncmlkQ29udGFpbmVyXFxg44CBXFxgZ3JpZEl0ZW1cXGBcbiAgLSDmtYHlvI/lrrnlmajvvJpcXGBpbmxpbmVCbG9ja0FuZFdyYXBcXGDjgIFcXGBibG9ja0l0ZW1cXGBcbiAgLSDlvIDlhbPvvJpcXGBzd2l0Y2hcXGBcbiAgLSDljZXpgInvvJpcXGByYWRpb0dyb3VwXFxg44CBXFxgcmFkaW9cXGBcbiAgLSDlpJrpgInvvJpcXGBjaGVja0JveEdyb3VwXFxg44CBXFxgY2hlY2tCb3hcXGBcbiAgLSDpobbpg6jlr7zoiKrmoI/vvJpcXGB0b3BOYXZpZ2F0ZUJhclxcYFxuICAtIOWkmueKtuaAgeWuueWZqO+8mlxcYG11bHRpU3RhdGVDb250YWluZXJcXGAsIFxcYG9uZVN0YXRlQ29udGVudENvbnRhaW5lclxcYFxuICAtIOWIl+ihqO+8mlxcYHZlcnRpY2FsTGlzdFZpZXdcXGAsIFxcYGhvcml6b250YWxMaXN0Vmlld1xcYCwgXFxgbGlzdEl0ZW1DYXJkXFxg44CBXFxgbGlzdEZvb3RlckNvbnRhaW5lclxcYFxuICAtIOi9ruaSre+8mlxcYHZpZXdQYWdlclxcYCwgXFxgdmlld1BhZ2VySXRlbVxcYCwgXFxgdmlld1BhZ2VySW5kaWNhdG9yQ29udGFpbmVyXFxgXG4gIC0gdGFiIOmAiemhueWNoe+8mlxcYHRhYlBhbmVsRmF0aGVyXFxgLCBcXGB0YWJQYW5lbFxcYCwgXFxgdGFiTWVudUJhclxcYCwgXFxgdGFiTWVudUJhckl0ZW1cXGBcbiAgLSDlupXpg6jlr7zoiKo6IFxcYGJvdHRvbVRhYkNvbnRlbnRDb250YWluZXJcXGAsIFxcYHN1YlBhZ2VcXGAsIFxcYGJvdHRvbVRhYk5hdmlnYXRlQmFyXFxgLCBcXGBib3R0b21UYWJOYXZpZ2F0ZUJhckl0ZW1cXGBcbiAgLSDlr7nor53moYbvvJpcXGBkaWFsb2dPdmVybGF5XFxgLCBcXGBkaWFsb2dDb250ZW50XFxgXG4gIC0gdG9hc3Qg5o+Q56S677yaXFxgdG9hc3RcXGBcbiAgLSDkuIvmi4noj5zljZXvvJpcXGBkcm9wRG93bk1lbnVcXGBcbiAgLSDkvqfmu5HpnaLmnb/vvJpcXGBzaWRlU2xpZGVQYW5lbFxcYFxuXG4jIyDlm5vjgIHova7mkq3kuI5UYWJz57uE5Lu255qE6KeE5YiZXG4tIOi9ruaSreeahOavj+S4gOS4qlNsaWRl5ZKMVGFic+mAiemhueWNoee7hOS7tuavj+S4gOS4qlRhYiBQYW5lbOmDveW/hemhu+S9v+eUqFxcYGRpc3BsYXk6IG5vbmVcXGDlkoxcXGBkaXNwbGF5OiBibG9jay9mbGV4XFxg5p2l5a6e546w6ZqQ6JeP5ZKM5pi+56S655qE5LqS5pal5YiH5o2iXG4tIOi9ruaSreeahOavj+S4gOS4qlNsaWRl5b+F6aG75pyJaHRtbOS7o+eggeWunueOsO+8jOS4jeW+l+WPquWGmeesrDHkuKpTbGlkZeeahGh0bWzku6PnoIHvvIzlhbbku5ZTbGlkZeeahGh0bWzku6PnoIHkuZ/lv4XpobvopoHlhpnjgIJcbi0gVGFic+mAiemhueWNoee7hOS7tuavj+S4gOS4qlRhYiBQYW5lbOmDveW/hemhu+aciWh0bWzku6PnoIHlrp7njrDvvIzkuI3lvpflj6rlhpnnrKwx5LiqVGFiIFBhbmVs55qEaHRtbOS7o+egge+8jOWFtuS7llRhYiBQYW5lbOeahGh0bWzku6PnoIHkuZ/lv4XpobvopoHlhpnjgIJcblxuIyMg5LqU44CB5Zu+5qCH5LiO5Zu+54mH55qE6KeE5YiZXG4tIGljb27lm77moIflv4Xpobvkvb/nlKggRm9udEF3ZXNvbWUg5Zu+5qCH77yM5q+U5aaC77yaXFxgPGkgbmFtZT1cIuW+ruS/oUljb25cIiBub2RlVHlwZT1cImljb25cIiBpZD1cInd4SWNvblwiIGNsYXNzPVwiZmFiIGZhLXdlaXhpblwiPjwvaT5cXGBcbi0gaW1n5Zu+54mH55qEc3JjIOW/hemhu+S9v+eUqOWbvueJh+WcsOWdgO+8mlxcYGh0dHBzOi8vb3NzLmJ5dGVmdW5nby5jb20vZjEvc2hvd0ltZzEuanBnXFxgKe+8jOWFtuS4ree7k+WwvueahOKAmXNob3dJbWcxJ+WPr+S7peaNouS4uuS7jiAxIOWIsCAzMCDnmoTmlbDlrZfvvIwxfjMwIOeahOaVsOWtl+W/hemhu+maj+acuuaMkemAie+8jOS4jeW+l+avj+S4qumhtemdouavj+S4quWbvueJh+mDveS9v+eUqOWQjOS4gOS4quaVsOWtl+OAguWGmeazleavlOWmgu+8mlxcYDxpbWcgc3JjPVwiaHR0cHM6Ly9vc3MuYnl0ZWZ1bmdvLmNvbS9mMS9zaG93SW1nMTcuanBnXCIgYWx0PVwieHh4XCIgY2xhc3M9XCJ4eHhcIiBub2RlVHlwZT1cImltYWdlXCI+XFxgXG4tIOe7neWvueS4jeiDveS9v+eUqCBlbW9qaSDooajmg4XnrKblj7fvvIzkuI3lvpfkvb/nlKjku7vkvZUgZW1vamkg6KGo5oOF56ym5Y+377yM6K+35L2/55SoIGljb24g5oiWIGltZyDlm77niYfoioLngrnmnaXku6Pmm7/jgIJcblxuIyMg5YWt44CB6aaW6aG15Li75L2T6aG15LiO5a2Q6aG16Z2i55qE6KeE5YiZXG4tIOmmlumhteS4u+S9k+mhteW1jOWll+S6huWkmuS4quWtkOmhtemdou+8jOavj+S4gOS4quWtkOmhtemdoumDveS4jemcgOimgeWhq+WFheWGheWuue+8jOepuueZveWwseihjO+8jOWQjumdouS8muacieS4k+mXqOeahOS7u+WKoeadpeiuvuiuoeWFt+S9k+eahOWtkOmhtemdouOAglxuLSDku7vkvZXlrZDpobXpnaLpg73lv4XpobvnpoHmraLmt7vliqDlupXpg6jlr7zoiKrmoI/oioLngrnliLDpobXpnaLvvIzlm6DkuLrlrZDpobXpnaLmmK/ltYzlpZflnKjpppbpobXkuLvkvZPpobXkuK3nmoTvvIzniLbpobXpnaLlt7Lnu4/mnInlupXpg6jlr7zoiKrmoI/kuobvvIzlrZDpobXpnaLkuI3pnIDopoHlho3mt7vliqDlupXpg6jlr7zoiKrmoI/vvIzkuZ/kuI3lvpfmt7vliqDkuoznuqfpobXpnaLnmoTmoIfpopjmoI/liLDlrZDpobXpnaLkuK3vvIzlm6DkuLrlrZDpobXpnaLmmK/ltYzlpZflnKjpppbpobXkuLvkvZPpobXkuK3nmoTvvIzpppbpobXkuLvkvZPpobXlkozlroPnmoTlrZDpobXpnaLpg73mmK/kuIDnuqfpobXpnaLvvIzlm6DmraTkuI3lvpfmt7vliqDkuoznuqfpobXpnaLnmoTmoIfpopjmoI/liLDlrZDpobXpnaLkuK3jgIJcblxuIyMg5LiD44CB5aaC5p6c55So5oi35rKh5pyJ5piO56Gu6K+05piO6K+l6aG16Z2i6K6+6K6h6ZyA5rGC77yM6YKj5bCx5oyJ54Wn5Lul5LiL6aG16Z2i6buY6K6k6KeE5YiZ6K6+6K6hXG4tIOmXquWxj+mhte+8muWwvemHj+S4jeS9v+eUqOWFqOWxj+WbvueJh++8jOS4gOiIrOS9v+eUqOS4u+mimOebuOWFs+eahOa4kOWPmOiJsu+8jOeEtuWQjuW4puacieS4gOS6m+mineWklueahOiDjOaZr+WFg+e0oOWinuW8uueVjOmdouWxguasoeaEn1xuLSDlvJXlr7zpobXvvJrlsL3ph4/kuI3kvb/nlKjlhajlsY/lm77niYfvvIzkuIDoiKzmr4/kuIDpobXlvJXlr7zpobXog4zmma/oibLkuZ/lj6/ku6XmuJDlj5jvvIznhLblkI7mr4/kuIDpobXlip/og73or7TmmI7kuIDoiKzmnInpnZ7lhajlsY/lm77niYfjgIHmoIfpopjjgIHlia/moIfpopjnrYnnrYnvvIzkvaDlj6/ku6XluKblhaXlhbbku5blhYPntKDvvIzorqnpobXpnaLmm7TliqDnvo7op4LjgIJcbmAiXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bytefun-ai-mcp",
3
- "version": "1.13.66",
3
+ "version": "1.13.68",
4
4
  "description": "ByteFun AI MCP服务 - 打通产品设计、UI设计、代码开发的服务平台,支持设计稿转代码和跨平台原生代码开发",
5
5
  "main": "build/index.js",
6
6
  "type": "module",