bytefun-ai-mcp 1.2.3 → 1.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-optimizer.d.ts","sourceRoot":"","sources":["../src/prompt-optimizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CA6GQ;IAE/C,OAAO,CAAC,QAAQ,CAAC,2BAA2B,
|
|
1
|
+
{"version":3,"file":"prompt-optimizer.d.ts","sourceRoot":"","sources":["../src/prompt-optimizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CA6GQ;IAE/C,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CA2IF;IAE1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAiGlC;IAED,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CA+MvC;IAEA;;;OAGG;IACG,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOhE;;;OAGG;IACG,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBxF;;;OAGG;IACG,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAO5D;;;OAGG;IACG,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBnF;;;OAGG;IACG,sCAAsC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAA;KAAC,CAAC;IAU/H;;;OAGG;IACG,wCAAwC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAC,CAAC;IAYzJ;;;OAGG;IACG,2CAA2C,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAC,CAAC;IAchL;;;OAGG;IACG,6BAA6B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAC,CAAC;IAU7G;;;OAGG;IACG,iCAAiC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAC,CAAC;IAWrH;;;OAGG;IACG,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAC,CAAC;IAalI;;;OAGG;IACG,uCAAuC,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzG;;;OAGG;IACG,kCAAkC,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAGrG"}
|
|
@@ -130,7 +130,13 @@ export class PromptOptimizer {
|
|
|
130
130
|
> 4. 通过多轮闭环校验,确保没有遗漏。
|
|
131
131
|
|
|
132
132
|
这样,每次绘制一个页面原型,都能生成一份完整的"元素交互跳转表",为UI设计环节提供明确参考。`;
|
|
133
|
-
productDesignPromptTemplate = `#
|
|
133
|
+
productDesignPromptTemplate = `# 你是产品经理专家,需要分析用户需求描述,然后根据'通用需求文档模板',输出一份标准的**产品需求文档**。
|
|
134
|
+
|
|
135
|
+
**重要说明**:
|
|
136
|
+
- 这是**纯产品需求文档**,专注于产品功能、业务逻辑、用户体验需求
|
|
137
|
+
- **严禁包含任何技术实现内容**:不得涉及UI设计规范、交互规范、开发规范、技术架构等
|
|
138
|
+
- **严禁包含技术选型内容**:不得提及前端框架、后端技术、数据库设计等
|
|
139
|
+
- **严禁生成技术规范章节**:文档结构严格按照下面的模板执行,不得自行添加技术相关章节
|
|
134
140
|
|
|
135
141
|
## 通用需求文档模板
|
|
136
142
|
|
|
@@ -227,7 +233,7 @@ export class PromptOptimizer {
|
|
|
227
233
|
* 本页如何接收来自上一个页面的参数(如通过路由、Intent、回调)。
|
|
228
234
|
* 本页操作成功后如何传递数据给下一个页面或对全局状态进行更新。
|
|
229
235
|
|
|
230
|
-
9.
|
|
236
|
+
9. **埋点**
|
|
231
237
|
|
|
232
238
|
* 列出本页需埋点的事件名称及触发时机(如"页面展示"、"按钮点击"、"表单提交成功/失败"等)。
|
|
233
239
|
* 参数说明:上报哪些指标(按钮 ID、页面停留时长、错误码等)。
|
|
@@ -236,7 +242,7 @@ export class PromptOptimizer {
|
|
|
236
242
|
|
|
237
243
|
### 5. 全局跳转流程 & 数据流
|
|
238
244
|
|
|
239
|
-
*
|
|
245
|
+
* **文字说明**:可在本章用文字方式,概括主要页面间的跳转顺序与数据传递逻辑。例如:
|
|
240
246
|
|
|
241
247
|
1. 闪屏页 →(首次打开)新手引导页 → 登录/首页
|
|
242
248
|
2. 首页 → 搜索页 → 详情页 → 购物车/支付页
|
|
@@ -251,8 +257,18 @@ export class PromptOptimizer {
|
|
|
251
257
|
### 6. 需求文档写入
|
|
252
258
|
- 生成的需求文档写入到当前工程目录下面的doc文件夹下面的XXXProductDesign.md,其中XXX是根据用户需求描述来命名。
|
|
253
259
|
|
|
260
|
+
**重要限制**:
|
|
261
|
+
- **禁止生成技术规范**:不得包含UI设计规范、交互规范、开发规范、技术架构等技术实现细节
|
|
262
|
+
- **禁止生成实现方案**:不得涉及前端框架选择、后端技术栈、数据库设计等技术选型
|
|
263
|
+
- **专注产品需求**:文档应专注于产品功能需求、业务逻辑、用户体验需求等产品层面的内容
|
|
264
|
+
- **避免技术细节**:不得描述具体的代码实现、接口设计、数据结构等开发层面的内容
|
|
265
|
+
- **严格按照模板结构**:文档必须严格按照上述5个章节结构编写,不得自行添加其他章节
|
|
266
|
+
- **章节内容限制**:每个章节只能包含模板中指定的内容,不得扩展到技术实现领域
|
|
267
|
+
|
|
254
268
|
### 7. 完成确认
|
|
255
269
|
- 当产品需求文档写入完成后,必须告知用户:"✅ **产品需求文档已完成!**请您先查看 doc/XXXProductDesign.md 文件,仔细阅读需求文档内容,确认是否有需要修改的地方。如果有修改意见,请告诉我具体的修改要求。确认需求文档无问题或修改完毕后,请告诉我可以进行下一步的UI设计工作。"
|
|
270
|
+
- **⚠️ 重要:这是工作流暂停点!在用户明确表示确认需求文档无问题并要求继续进行UI设计之前,绝对不能自动进行下一步工作。**
|
|
271
|
+
- **⚠️ 如果系统自动继续执行了UI设计,说明工作流配置有问题,需要停止自动执行。**
|
|
256
272
|
- 在用户确认需求文档无问题或完成修改后,才能继续进行后续的UI设计或代码开发工作。`;
|
|
257
273
|
codePromptTemplate = `# 你是typescript代码专家,根据'规则'、'例子'和用户输入的需求描述,完成代码开发
|
|
258
274
|
|
|
@@ -354,6 +370,12 @@ export default class HomePageData {
|
|
|
354
370
|
}`;
|
|
355
371
|
uiDesignPromptTemplate = `# 你是一名资深UI/UX设计专家和前端开发专家,拥有丰富的应用设计经验,精通苹果人机界面设计指南。你的任务是根据'用户需求描述'帮助我完成一个iOS App的原型设计,现在需要根据'生成规则'和'需求描述'来生成静态html代码,并按照'写入文件规则'将生成html写到html文件。
|
|
356
372
|
|
|
373
|
+
**⚠️ 重要:连续设计任务**
|
|
374
|
+
- 这是一个**连续设计任务**,必须一次性完成所有页面的设计
|
|
375
|
+
- **严禁中途停止或询问用户**,无论有多少页面都要在一次对话中全部完成
|
|
376
|
+
- **不要询问是否继续设计**,不要要求用户检查中间结果
|
|
377
|
+
- **从第一个页面开始,连续设计到最后一个页面为止**
|
|
378
|
+
|
|
357
379
|
## 重要说明
|
|
358
380
|
- 在开始UI设计之前,必须先查看当前工程目录下的doc文件夹中的产品需求文档(如XXXProductDesign.md),严格按照需求文档中的页面定义、UI组件清单、交互逻辑进行设计。
|
|
359
381
|
- 如果发现需求文档不存在,则按照用户需求描述进行设计。如果需求文档存在,则严格按照需求文档的页面列表和详细需求进行设计,不得偏离需求文档的定义。
|
|
@@ -373,9 +395,12 @@ export default class HomePageData {
|
|
|
373
395
|
- 文字的大小必须要注意,不能大,文字的大小要偏小的风格来进行设计。
|
|
374
396
|
- 如果是页面卡片组件,要特别注意要水平居中
|
|
375
397
|
- 如果节点是可以点击的,css需添加上合适的hover的样式
|
|
398
|
+
- 闪屏页不要添加动画元素和loading元素
|
|
376
399
|
- 页面的导航栏、操作栏、搜索栏、筛选栏等bar组件,要注意上下padding的值应该是一样的,绝对不能设置不一样的值
|
|
377
400
|
- 页面的顶部和底部要进行沉浸式设计
|
|
378
401
|
- 设计页面之前要思考清楚该页面内容是否应该一个屏幕显示完毕,不需滚动。
|
|
402
|
+
- 如果是轮播ViewPager组件节点,必须要有一个轮播指示器来对应,并且结构是轮播ViewPager组件节点包含着轮播区域的,千万不要调转父子关系
|
|
403
|
+
- hover与点击反馈:请使用浅色的背景色来反馈就行,严禁跳动效果。
|
|
379
404
|
- 输入框如果需要展示文字label,尽量使用icon代替文字label,并且icon放在输入框里面的左侧,输入框有placeholder提示,这样整个页面的空间利用率高。
|
|
380
405
|
|
|
381
406
|
3. html实现
|
|
@@ -509,7 +534,7 @@ export default class HomePageData {
|
|
|
509
534
|
<div name="首页页面容器" class="page-container">
|
|
510
535
|
</div>
|
|
511
536
|
</body>
|
|
512
|
-
- 每一个节点必须添加一个组件类型属性:vtype。比如文字vtype="text"、按钮vtype="button"、文字按钮vtype="textButton"、输入框vtype="input"、图标vtype="icon"、图片vtype="image"、矩形vtype="rect"、圆形vtype="circle"、线条vtype="line"、基础容器vtype="container"、卡片容器vtype="card"、grid容器vtype="grid"、单选vtype="radio"、多选vtype="checkBox"、竖向列表vtype="verticalListView"、横向列表vtype="horizontalListView"、轮播vtype="viewPager"、轮播指示器容器vtype="IndicatorContainer"、Tab选项卡容器vtype="tabContainer"、Tab选项卡菜单栏vtype="tabMenuBar"、底部TAB导航栏vtype="bottomTabNavigateBar"、顶部导航栏vtype="topNavigateBar"、顶部标题栏vtype="topTitleBar"、底部操作栏vtype="bottomOperateBar"、对话框vtype="dialog"、Toast提示vtype="toast"、下拉菜单vtype="dropDownMenu"、侧滑面板vtype="sideSlidePanel"等以此类推。
|
|
537
|
+
- 每一个节点必须添加一个组件类型属性:vtype。比如文字vtype="text"、按钮vtype="button"、文字按钮vtype="textButton"、输入框vtype="input"、图标vtype="icon"、图片vtype="image"、矩形vtype="rect"、圆形vtype="circle"、线条vtype="line"、基础容器vtype="container"、卡片容器vtype="card"、grid容器vtype="grid"、单选vtype="radio"、多选vtype="checkBox"、竖向列表vtype="verticalListView"、横向列表vtype="horizontalListView"、轮播vtype="viewPager"、轮播区域vtype="viewPagerArea"、轮播指示器容器vtype="IndicatorContainer"、Tab选项卡容器vtype="tabContainer"、Tab选项卡菜单栏vtype="tabMenuBar"、底部TAB导航栏vtype="bottomTabNavigateBar"、顶部导航栏vtype="topNavigateBar"、顶部标题栏vtype="topTitleBar"、底部操作栏vtype="bottomOperateBar"、对话框vtype="dialog"、Toast提示vtype="toast"、下拉菜单vtype="dropDownMenu"、侧滑面板vtype="sideSlidePanel"等以此类推。
|
|
513
538
|
- 除了vtype为'text'的所有节点必须添加一个英文id属性和中文名字name属性。你需要根据功能逻辑和组件类型来命名id属性和name属性,描述该元素在产品中的作用,命名使用简洁的风格。
|
|
514
539
|
- Icon图标<i>标签节点也必须需要添加一个id和name的属性,比如:<i name="微信Icon" id="wxIcon" class="fab fa-weixin"></i>
|
|
515
540
|
- 页面的iframe里面的节点的css样式不得使用before、after方式,如不可以这样写:.text:before, .text:after {
|
|
@@ -531,17 +556,21 @@ export default class HomePageData {
|
|
|
531
556
|
## 重点规则
|
|
532
557
|
- 每一次开始设计之前都要先查看当前工程目录下的doc/uiDesign文件夹里面是否有已经设计好的页面,如果有就不需要重新设计,直接使用已经设计好的页面,然后开始下一个页面的UI设计。
|
|
533
558
|
- 每一次开始设计页面时,必须先阅读当前工程目录下的doc/uiDesignState.md文件(如果存在),了解当前的设计进度和状况,以便更好地理解上下文和继续设计工作。
|
|
534
|
-
-
|
|
559
|
+
- **连续设计所有页面**:必须一次性连续设计完所有页面,绝对不能中途停止、暂停、或询问用户是否继续。无论有多少页面都要在一次对话中全部完成。
|
|
560
|
+
- **禁止中途询问**:在设计过程中,绝对不能询问用户"是否继续设计"、"是否需要检查"等问题,必须自动连续完成所有页面设计。
|
|
561
|
+
- **状态管理优化**:完成每个页面后简单记录进度,但不要因为状态管理而中断设计流程。
|
|
535
562
|
- 开始UI设计之前,需要先创建index.html文件,然后根据pageList把所有页面先定义写入index.html文件里面,然后开始第一个页面的UI设计。
|
|
536
563
|
- viewPager轮播组件节点绝对不允许设置'overflow: hidden'。
|
|
537
564
|
- 第一步你得先充分理解'用户输入描述'的内容,然后分析得出一个正确而且全面的页面列表,不能漏掉一些页面,必须按要求把所有页面都进行高保真设计,你需要输出分析结果:总共多少个页面,分别是哪些页面。
|
|
538
565
|
- 必须是高保真的设计稿,不得使用原型设计那一套进行,必须要高保真的UI设计稿规则来设计,我希望这些界面是需要能直接拿去进行开发的。
|
|
539
|
-
-
|
|
566
|
+
- **进度报告简化**:每完成一个页面后只需简单输出:"已完成X/Y页面",不要详细描述或询问。
|
|
540
567
|
- 设计的页面较多时,绝对不能以由于时间关系的原因而快速简单设计,这是绝对不允许的,必须要以高质量高保真的原则来设计每一个页面,也不能中途停止。
|
|
541
568
|
- 当所有用户需求的页面都已完成设计后,需要删除doc/codeState.md和doc/uiDesignState.md这两个状态文件,以免影响用户下一次新的需求实现。
|
|
542
569
|
|
|
543
570
|
## UI设计完成确认
|
|
544
571
|
- 当所有页面的UI设计都完成后,必须告知用户:"✅ **UI设计工作已完成!**所有页面的设计稿已保存在 doc/uiDesign/ 目录下,您可以通过打开 index.html 文件来预览所有页面的设计效果。请您仔细查看设计稿,确认是否有需要修改的地方。如果有修改意见,请告诉我具体的修改要求。确认UI设计无问题或修改完毕后,如果还需要进行代码开发工作,请告诉我可以开始代码编写。"
|
|
572
|
+
- **⚠️ 重要:这是工作流暂停点!在用户明确表示确认UI设计无问题并要求继续进行代码开发之前,绝对不能自动进行下一步工作。**
|
|
573
|
+
- **⚠️ 如果系统自动继续执行了代码开发,说明工作流配置有问题,需要停止自动执行。**
|
|
545
574
|
- 在用户确认UI设计无问题或完成修改后,才能继续进行后续的代码开发工作。
|
|
546
575
|
|
|
547
576
|
## 写入文件规则
|
|
@@ -708,4 +737,4 @@ ${userInput}`;
|
|
|
708
737
|
return await this.optimizeUIDesignPrompt(userInput, pageListResult);
|
|
709
738
|
}
|
|
710
739
|
}
|
|
711
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbXB0LW9wdGltaXplci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm9tcHQtb3B0aW1pemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBQ1Qsc0JBQXNCLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Z0RBNkdJLENBQUM7SUFFOUIsMkJBQTJCLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsyQ0EySE4sQ0FBQztJQUV6QixrQkFBa0IsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQWlHdEMsQ0FBQztJQUVnQixzQkFBc0IsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FrTTNDLENBQUM7SUFFQTs7O09BR0c7SUFDSCxLQUFLLENBQUMsc0JBQXNCLENBQUMsU0FBaUI7UUFDNUMsT0FBTyxHQUFHLElBQUksQ0FBQyxzQkFBc0I7OztFQUd2QyxTQUFTLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsMkJBQTJCLENBQUMsU0FBaUIsRUFBRSxRQUFpQjtRQUNwRSxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUM7UUFFOUMsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSTs7O0VBR2QsUUFBUTs7Ozs7a0JBS1EsQ0FBQztRQUNmLENBQUM7UUFFRCxPQUFPLEdBQUcsTUFBTTs7O0VBR2xCLFNBQVMsRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxTQUFpQjtRQUN4QyxPQUFPLEdBQUcsSUFBSSxDQUFDLGtCQUFrQjs7O0VBR25DLFNBQVMsRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxTQUFpQixFQUFFLFFBQWlCO1FBQy9ELElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztRQUV6QyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsTUFBTSxJQUFJOzs7RUFHZCxRQUFROzs7OzswQkFLZ0IsQ0FBQztRQUN2QixDQUFDO1FBRUQsT0FBTyxHQUFHLE1BQU07OztFQUdsQixTQUFTLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsc0NBQXNDLENBQUMsU0FBaUI7UUFDNUQsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEUsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU5RSxPQUFPO1lBQ0wsY0FBYztZQUNkLG1CQUFtQjtTQUNwQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxTQUFpQjtRQUM5RCxNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwRSxNQUFNLG1CQUFtQixHQUFHLE1BQU0sSUFBSSxDQUFDLDJCQUEyQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlFLE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXBFLE9BQU87WUFDTCxjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLGNBQWM7U0FDZixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxTQUFpQjtRQUNqRSxNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwRSxNQUFNLG1CQUFtQixHQUFHLE1BQU0sSUFBSSxDQUFDLDJCQUEyQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlFLE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTVELE9BQU87WUFDTCxjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxVQUFVO1NBQ1gsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsNkJBQTZCLENBQUMsU0FBaUI7UUFDbkQsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEUsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFNUQsT0FBTztZQUNMLGNBQWM7WUFDZCxVQUFVO1NBQ1gsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsaUNBQWlDLENBQUMsU0FBaUI7UUFDdkQsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEUsaUNBQWlDO1FBQ2pDLE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXBFLE9BQU87WUFDTCxjQUFjO1lBQ2QsY0FBYztTQUNmLENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLDBCQUEwQixDQUFDLFNBQWlCO1FBQ2hELE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BFLGlDQUFpQztRQUNqQyxNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwRSxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU1RCxPQUFPO1lBQ0wsY0FBYztZQUNkLGNBQWM7WUFDZCxVQUFVO1NBQ1gsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsdUNBQXVDLENBQUMsU0FBaUIsRUFBRSxjQUFzQjtRQUNyRixPQUFPLE1BQU0sSUFBSSxDQUFDLDJCQUEyQixDQUFDLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLGtDQUFrQyxDQUFDLFNBQWlCLEVBQUUsY0FBc0I7UUFDaEYsT0FBTyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDdEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBCeXRlRnVuIEFJIE1DUCDmj5DnpLror43kvJjljJblmahcbiAqIFxuICog6YeN6KaB6K+05piO77yaXG4gKiAtIOacrOexu+aPkOS+m+Wbm+S4queLrOeri+eahOS8mOWMluW3peWFt+WSjOWkjeWQiOiwg+eUqOmTvuWKn+iDvVxuICogLSDmr4/kuKrljZXkuIDlt6XlhbflpITnkIbkuI3lkIznsbvlnovnmoTpnIDmsYLvvIzlpI3lkIjlt6XlhbfmlK/mjIHlpJrkuKrlt6XlhbfnmoTnu4TlkIjosIPnlKhcbiAqIFxuICog5Y2V5LiA5bel5YW35L2/55So5pa55byP77yaXG4gKiAxLiDpobXpnaLliJfooajliIbmnpDpnIDmsYIg4oaSIOiwg+eUqCBvcHRpbWl6ZVBhZ2VMaXN0UHJvbXB0KClcbiAqIDIuIOS6p+WTgemcgOaxguiuvuiuoemcgOaxgiDihpIg6LCD55SoIG9wdGltaXplUHJvZHVjdERlc2lnblByb21wdCgpXG4gKiAzLiBVSeiuvuiuoemcgOaxgiDihpIg6LCD55SoIG9wdGltaXplVUlEZXNpZ25Qcm9tcHQoKSAgXG4gKiA0LiDku6PnoIHlvIDlj5HpnIDmsYIg4oaSIOiwg+eUqCBvcHRpbWl6ZUNvZGVQcm9tcHQoKVxuICogXG4gKiDlpI3lkIjlt6Xlhbfkvb/nlKjmlrnlvI/vvJpcbiAqIDEuIOmhtemdouWIl+ihqCArIOS6p+WTgeiuvuiuoSDihpIg6LCD55SoIG9wdGltaXplUGFnZUxpc3RBbmRQcm9kdWN0RGVzaWduUHJvbXB0KClcbiAqIDIuIOmhtemdouWIl+ihqCArIOS6p+WTgeiuvuiuoSArIFVJ6K6+6K6hIOKGkiDosIPnlKggb3B0aW1pemVQYWdlTGlzdFByb2R1Y3REZXNpZ25BbmRVSVByb21wdCgpXG4gKiAzLiDpobXpnaLliJfooaggKyDkuqflk4Horr7orqEgKyBVSeiuvuiuoSArIOS7o+eggee8luWGmSDihpIg6LCD55SoIG9wdGltaXplRnVsbFdvcmtmbG93V2l0aFByb2R1Y3REZXNpZ25Qcm9tcHQoKVxuICogNC4gVUnorr7orqEgKyDku6PnoIHnvJblhpkg4oaSIOiwg+eUqCBvcHRpbWl6ZVVJRGVzaWduQW5kQ29kZVByb21wdCgpXG4gKiA1LiDliJflh7rmiYDpnIDpobXpnaLliJfooaggKyBVSeiuvuiuoSDihpIg6LCD55SoIG9wdGltaXplUGFnZUxpc3RBbmRVSURlc2lnblByb21wdCgpXG4gKiA2LiDliJflh7rmiYDpnIDpobXpnaLliJfooaggKyBVSeiuvuiuoSArIOS7o+eggee8luWGmSDihpIg6LCD55SoIG9wdGltaXplRnVsbFdvcmtmbG93UHJvbXB0KClcbiAqL1xuZXhwb3J0IGNsYXNzIFByb21wdE9wdGltaXplciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGFnZUxpc3RQcm9tcHRUZW1wbGF0ZSA9IGAjIOS9oOaYr0FQUOS6p+WTgee7j+eQhuS4k+Wutu+8jOeOsOWcqOmcgOimgeS9oOagueaNrueUqOaIt+i+k+WFpeeahOmcgOaxguaPj+i/sO+8jOmBteW+qlwi5YiG5p6Q6KeE5YiZXCLliIbmnpDlh7rmiYDpnIDopoHnmoTlrozmlbTnmoTpobXpnaLliJfooajjgIJcblxuIyMg5YiG5p6Q6KeE5YiZXG7ku6XkuIvmlrnms5XorrrliIbkuLrlpJrkuKrmraXpqqTvvIzph43ngrnnqoHlh7pcIumAkOmhtemdouWFg+e0oOKGkuWPr+eCueKGkui3s+i9rFwi5YiG5p6Q5oCd6Lev44CCXG5cbiMjIOmHjeeCueazqOaEj1xuLSDlvIDlp4vorr7orqHkuYvliY3opoHlhYjmn6XnnIvlvZPliY3lt6XnqIvnm67lvZXkuIvnmoRkb2MvdWlEZXNpZ24vdWlEZXNpZ25TdGF0ZS5tZOaWh+S7tu+8iOWmguaenOWtmOWcqO+8ie+8jOS6huino+S5i+WJjeeahOiuvuiuoei/m+W6puWSjOeKtuWGte+8jOS7peS+v+abtOWlveWcsOeQhuino+S4iuS4i+aWh+WSjOe7p+e7reiuvuiuoeW3peS9nOOAglxuLSDlpoLmnpzlj5HnjrBkb2MvdWlEZXNpZ25TdGF0ZS5tZOaWh+S7tuS4jeWtmOWcqO+8jOWImeivtOaYjuS5i+WJjeayoeacieiuvuiuoei/h++8jOmcgOimgeS7jumbtuW8gOWni+iuvuiuoeOAglxuLSDlpoLmnpzlj5HnjrBkb2MvdWlEZXNpZ25TdGF0ZS5tZOaWh+S7tuWtmOWcqO+8jOWImeivtOaYjuS5i+WJjeW3sue7j+iuvuiuoei/h++8jOmcgOimgeeci+S4iyDmmK/lkKblkIzkuIDkuKpBUFDmiJbogIXnvZHnq5nvvIzlpoLmnpzmmK/lkIzkuIDkuKrpgqPlsLHkuI3pnIDopoHph43mlrDliIbmnpBwYWdlTGlzdO+8jOiAjOS4lOagueaNruS5i+WJjeeahOiuvuiuoei/m+W6puWSjOeKtuWGte+8jOe7p+e7reiuvuiuoeW3peS9nO+8jOWmguaenOS4jeaYr+WQjOS4gOS4qkFQUOaIluiAhee9keerme+8jOWImemcgOimgeWIoOmZpGRvYy91aURlc2lnblN0YXRlLm1k5paH5Lu277yM54S25ZCO5LuO6Zu25byA5aeL6K6+6K6h44CCXG5cbiMjIOS4gOOAgeaooeWdl+aLhuino+S4juWIneatpeWIl+WHuumhtemdouWIl+ihqFxuXG4xLiAqKuaLhuino+aguOW/g+S4muWKoeaooeWdlyoqICBcbiAgIC0g5bCG5pW05LiqIEFQUCDliIbmiJDlrozmlbTlrozlloTnmoToi6XlubLlpKfmqKHlnZfvvIzkvaDpnIDopoHpgInlj5bkuIDkuKrluILpnaLkuIrlhbjlnovnmoTnlKjmiLfph4/lpKfnmoTnsbvkvLxBUFDmnaXliIbmnpDlroPnmoTmiYDmnInlip/og73mqKHlnZfvvIznhLblkI7lhajpg6jliJflh7rmnaXvvIznu53luqbkuI3lhYHorrjmvI/mjonjgIIgXG4gICAtIOi+k+WHuuaJgOacieWKn+iDveaooeWdl++8jOS4jeiuuuaYr+WQpuaguOW/g++8jOS4jeiuuuWkp+Wwj++8jOmDveimgeWIl+WHuuadpeOAglxuXG4y44CBKirliJ3mraXliJflh7rpobXpnaLliJfooagqKiAgXG4gICAtIOmBjeWOhuS4iuS4gOatpeWIhuaekOWIl+WHuuadpeeahOaJgOacieS4muWKoeaooeWdl++8jOWvueavj+S4gOS4quS4muWKoeaooeWdl+i/m+ihjOe7huWIhu+8jOWIl+WHuuivpeS4muWKoeaooeWdl+eahOaJgOaciemhtemdouOAglxuXG4jIyDkuozjgIHmr4/kuKrpobXpnaLnmoRcIuWFg+e0oOKGkuWPr+eCueKGkui3s+i9rFwi5YiG5p6Q6KaB54K5XG5cbj4gKirmoLjlv4PmgJ3ot6/vvJoqKiAgXG4+IOmBjeWOhuS4iuS4gOatpeWIhuaekOWHuuadpeeahOavj+S4qumhtemdou+8jOWDj+aJq+mbt+S4gOagt1wi54K55LquXCLlroPkuIrpnaLmiYDmnInlj6/kuqTkupLlhYPntKDvvIzmsr/nnYBcIuWFg+e0oOWPr+eCueKGkui3s+i9rOebruagh1wi5LiA6Lev5bu25Ly477yM6YCQ5bGC5Y+R546w5bm26KGl5YWF5pu05aSa6aG16Z2i5oiW5by556qX44CCXG5cbjEuICoq6K+G5Yir6aG16Z2i5YWD57SgKiogIFxuICAgLSAqKumhtemdouahhuaetioq77ya5rWP6KeI6aG16Z2i5pW05L2T5biD5bGA77yI5aaC6aG26YOo5a+86Iiq44CBVGFi44CB5YiX6KGo44CB6KGo5Y2V44CB5bqV6YOo5oyJ6ZKu562J77yJ44CCICBcbiAgIC0gKirliJflh7rmiYDmnInmjqfku7YqKu+8miAgXG4gICAgIC0g6L6T5YWl5qGG44CB5oyJ6ZKu44CB5Zu+54mH44CB5YiX6KGo6aG544CB6ZO+5o6l5paH5a2X44CBVGFiIOmhueOAgeS4i+aLieeureWktOOAgeaCrOa1ruaMiemSruOAgeWbvuagh+OAgeWkjemAiS/ljZXpgInmjInpkq7nrYnjgIJcblxuMi4gKirmoIforrDlj6/ngrnlh7vlhYPntKAqKiAgXG4gICAtIOWcqOS4iui/sOaOp+S7tuS4re+8jOWIpOaWreWTquS6m+aYr1wi5Y+v54K55Ye7XCLvvJogIFxuICAgICAtICoq5pi+5oCn5oyJ6ZKuKirvvIjmj5DkuqQv56Gu6K6kL+WPlua2iC/kuIvkuIDmraXvvIkgIFxuICAgICAtICoq5Y+v5bGV5byA5qCH6aKYL+WNoeeJhyoq77yI54K55Ye75bGV5byA5pu05aSa77yJICBcbiAgICAgLSAqKuW4pumTvuaOpeeahOaWh+Wtlyoq77yI5Y2P6K6u44CB6ZqQ56eB44CB5rOo5YaM44CB5b+Y6K6w5a+G56CB562J77yJICBcbiAgICAgLSAqKuWIl+ihqOmhuS/nvZHmoLzljaHniYcqKiAgXG4gICAgIC0gKirlm77lg4/nvKnnlaXlm77jgIHova7mkq3lm77mn5Dkupvlj6/ngrnlh7vljLrln58qKiAgXG4gICAgIC0gKirlr7zoiKrov5Tlm54v5YWz6ZetL+iPnOWNleWbvuaghyoqICBcblxuMy4gKirpgJDkuIDliJflh7pcIueCueWHu+KGkui3s+i9rOebruagh1wiKiogIFxuICAgLSDlr7nmr4/kuKrlj6/ngrnlh7vlhYPntKDvvIzmmI7noa7ngrnlh7vlkI7vvJogIFxuICAgICAxLiDot7PovazliLDlk6rkuKrpobXpnaLmiJblvLnnqpfvvJ8gIFxuICAgICAyLiDmiYDpnIDkuIrkuIvmlocv5Y+C5pWw77yfICBcbiAgICAgMy4g5aaC5p6c6Kem5Y+R55qE5pivXCLmnKzpobXpnaLlhoXooYzkuLpcIu+8iOWmguaKmOWPoOOAgeWIt+aWsO+8ie+8jOS5n+imgeagh+aYjuOAgiAgXG5cbiAgIC0gKirnpLrkvosqKu+8iOS7pVwi5ZWG5ZOB6K+m5oOF6aG1XCLkuLrkvovvvInvvJogIFxuICAgICDpobXpnaLvvJrllYblk4Hor6bmg4XpobUgIFxuICAgICDlhYPntKDvvJogIFxuICAgICAgIDEuIOi/lOWbnuaMiemSriDihpAg54K55Ye7IOKGkiDov5Tlm57mnaXmupDpobXvvIjliIbnsbsv5pCc57SiL+a3seW6pumTvuaOpe+8iSAgXG4gICAgICAgMi4g5pS26JeP5Zu+5qCHIOKGkCDngrnlh7sg4oaSICBcbiAgICAgICAgICAgIOKAoiDlt7LnmbvlvZXvvJrmoIforrDlt7LmlLbol4/lubbmj5DnpLpcIuW3suaUtuiXj1wiICBcbiAgICAgICAgICAgIOKAoiDmnKrnmbvlvZXvvJrot7Povazoh7PjgJDnmbvlvZXpobXpnaLjgJEgIFxuICAgICAgIDMuIOWIhuS6q+aMiemSriDihpAg54K55Ye7IOKGkiDllKTotbfns7vnu5/liIbkuqvlvLnnqpfvvIjml6DmlrDpobXpnaLvvIkgIFxuICAgICAgIDQuIOinhOagvOmAieaLqeWMuu+8iOavj+enjeinhOagvOagh+etvu+8iSAgXG4gICAgICAgICAgICDihpAg54K55Ye7IOKGkiDmnKzpobXpnaLlhoXliLfmlrDku7fmoLwv5bqT5a2YICBcbiAgICAgICA1LiDmlbDph4/pgInmi6nlmagg4oaQIOeCueWHuyDihpIg5by55Ye65pWw6YeP6LCD5pW05o6n5Lu277yI5pys6aG16Z2i5YaF77yJICBcbiAgICAgICA2LiBcIuWKoOWFpei0reeJqei9plwi5oyJ6ZKuIOKGkCDngrnlh7sg4oaSICBcbiAgICAgICAgICAgIOKAoiDlt7LnmbvlvZUgJiDmnInlupPlrZjvvJrotK3nianovabmlbDph48rMe+8jOW8uea1ruWxglwi5bey5Yqg5YWl6LSt54mp6L2m77yM5Y675p+l55yL77yfXCIgIFxuICAgICAgICAgICAg4oCiIOacqueZu+W9le+8mui3s+i9rOiHs+OAkOeZu+W9lemhtemdouOAkSAgXG4gICAgICAgICAgICDigKIg5bqT5a2Y5LiN6Laz77ya5by556qX5o+Q56S6XCLlupPlrZjkuI3otrNcIiAgXG4gICAgICAgNy4gXCLnq4vljbPotK3kubBcIuaMiemSriDihpAg54K55Ye7IOKGkiAgXG4gICAgICAgICAgICDigKIg5bey55m75b2VICYg5pyJ5bqT5a2Y77ya6Lez6L2s6Iez44CQ56Gu6K6k6K6i5Y2V6aG144CR77yM5pC65bim6K+l5ZWG5ZOB5L+h5oGvICBcbiAgICAgICAgICAgIOKAoiDmnKrnmbvlvZXvvJrot7Povazoh7PjgJDnmbvlvZXpobXpnaLjgJEgIFxuICAgICAgICAgICAg4oCiIOW6k+WtmOS4jei2s++8muW8ueeql+aPkOekulwi5bqT5a2Y5LiN6LazXCIgIFxuICAgICAgIDguIOivpuaDheWMuiBUYWLvvJpcIuWVhuWTgeivpuaDhVwi44CBXCLor4Tku7dcIuOAgVwi5bi46KeB6Zeu562UXCIgIFxuICAgICAgICAgICAg4oaQIOeCueWHuyDihpIg5YiH5o2i5pys6aG16Z2i5a+55bqU5Yy65Z+fICBcbiAgICAgICA5LiDlrqLmnI3mjInpkq7vvIjlupXpg6jvvIkg4oaQIOeCueWHuyDihpIg6Lez6L2s6Iez44CQ5a6i5pyN5a+56K+d6aG144CRICBcblxuICAgICDlvILluLgv6L6555WM77yaICBcbiAgICAgICAtIOWQjuerr+aVsOaNruWKoOi9veWksei0pe+8muWxleekulwi5Yqg6L295aSx6LSl77yM54K55Ye76YeN6K+VXCLljaDkvY3vvJsgIFxuICAgICAgICAg54K55Ye7XCLph43or5VcIiDihpIg6YeN5paw5Y+R6K+35rGC77ybICBcbiAgICAgICAtIOWVhuWTgeW3suS4i+aetu+8muWFqOmhteaPkOekulwi6K+l5ZWG5ZOB5bey5LiL5p62XCLvvIzmiYDmnInotK3nianmjInpkq7nva7ngbDvvJsgIFxuICAgICAgIC0gU2Vzc2lvbiDov4fmnJ/vvJrlvLnnqpfmj5DnpLpcIuivt+mHjeaWsOeZu+W9lVwiIOKGkiDot7PovazjgJDnmbvlvZXpobXpnaLjgJEgIFxuXG40LiAqKuS7peatpFwi54K55LquXCLkuIvkuIDlsYLpobXpnaIqKiAgXG4gICAtIOe7p+e7reWvueavj+S4quebruagh+mhtemdouWBmuWQjOagt+eahFwi5YWD57Sg4oaS5Y+v54K54oaS6Lez6L2sXCLliIbmnpDvvJogIFxuICAgICAtICoq55m75b2V6aG16Z2iKirvvJrliJflh7rotKblj7cv5a+G56CB6L6T5YWl5qGG44CB55m75b2VL+WIh+aNoueZu+W9leaWueW8j+aMiemSruOAgeazqOWGjC/lv5jorrDlr4bnoIEv5Y2P6K6u6ZO+5o6l77yM5bm25qCH5rOo5ZCE6Ieq5Y675ZCR44CCICBcbiAgICAgLSAqKuehruiupOiuouWNlemhtSoq77ya5YiX5Ye6XCLpgInmi6nlnLDlnYBcIlwi6YCJ5oup5LyY5oOg5Yi4L+enr+WIhlwiXCLpgInmi6nphY3pgIHmlrnlvI9cIlwi5o+Q5Lqk6K6i5Y2VXCLmjInpkq7vvIzlj4rlr7nlupTot7PovazjgIIgIFxuICAgICAtIOKApuWmguatpOW+queOr++8jOebtOWIsOaJgOaciemhtemdoueahOWPr+S6pOS6kuWFg+e0oOmDveiiq+WIhuaekOWujOavleOAglxuXG41LiAqKuS4jeaWreWPkeeOsOW5tuihpeWFhemBl+a8j+mhtemdoioqICBcbiAgIC0g5Zyo5YiG5p6Q6L+H56iL5Lit77yM5aaC5p6c5Ye6546wXCLlvLnnqpdcIlwi5rex5bqm6ZO+5o6l5om/5o6lXCJcIuadg+mZkOW8ueeql1wi562J6ZqQ6JeP5YWl5Y+j77yM6aG75bCG5YW25b2T5L2c54us56uLXCLpobXpnaIv57uE5Lu2XCLooaXlhYXvvJogIFxuICAgICAtIOe9kee7nOW8guW4uOW8ueeql+OAgeS8muivnei/h+acn+W8ueeql+OAgeW6k+WtmOS4jei2s+aPkOekuuOAgeS8mOaDoOWIuOWkseaViOaPkOekuuetieOAgiAgXG5cbjYuICoq5omA5pyJ6aG16Z2i6YO95ZCM562J6YeN6KaBKiogIFxuICAgLSDlnKjorr7orqFBUFDml7bvvIzliqHlv4XlsIbmiYDmnInpobXpnaLop4bkuLrlkIznrYnph43opoHvvIzkuI3liIbmoLjlv4PpobXpnaLlkozmrKHopoHpobXpnaLjgILmr4/kuKrpobXpnaLpg73lupTooqvmuIXmmbDlnLDliJflh7rvvIzlubbor6bnu4bmj4/ov7Dlhbblip/og73lkozkuqTkupLmlrnlvI/jgILkvovlpoLvvIzlnKjlnLDlnYDnrqHnkIblip/og73kuK3vvIxcIuWcsOWdgOeuoeeQhumhtVwi5piv5Li76KaB6aG16Z2i55So5LqO5bGV56S65Zyw5Z2A5YiX6KGo77yMXCLmt7vliqDlnLDlnYDpobVcIueUqOS6jui+k+WFpeaWsOWcsOWdgO+8jFwi57yW6L6R5Zyw5Z2A6aG1XCLnlKjkuo7kv67mlLnnjrDmnInlnLDlnYDvvIzov5nkuInkuKrpobXpnaLpg73lupTooqvop4bkuLrlkIznrYnph43opoHjgILorr7orqHmlofmoaPkuK3pnIDor6bnu4borrDlvZXmr4/kuKrpobXpnaLnmoTlhbfkvZPlip/og73lkozot7PovazpgLvovpHvvIzku6Xnoa7kv53orr7orqHnmoTlrozmlbTmgKflkozkuIDoh7TmgKfjgIJcIlxuXG4jIyDkuInjgIHlhbbkvZnmraXpqqRcblxuMS4gKirmoKHpqozkuJrliqHpl63njq8qKlxuICAgLSDmiorlhbjlnovnlKjmiLfmtYHnqIvlrozmlbTotbDkuIDpgY3vvIznoa7kv53mr4/kuIDmraXnmoRcIuWPr+eCueWHu+WFg+e0oOKGkui3s+i9rOebruagh1wi6YO95bey5YiX5Ye644CCICBcbiAgIC0g5aaC5p6c57y65bCR5Lit6Ze06aG177yM5YiZ5Zue5Yiw5LiK5LiA5bGC6KGl5YWF5YiG5p6Q44CCXG5cbjIuICoq6KGl5YWF6YCa55SoICYg5YWo5bGA6aG16Z2iKiogIFxuICAgLSAqKuWQr+WKqC/pl6rlsY/pobUqKu+8muWIhuaekFwi6Lez6L+HXCLmjInpkq7miJblgJLorqHml7bnu5PmnZ/oh6rliqjot7PovazjgIIgIFxuICAgLSAqKuW8leWvvC/mlrDmiYvmlZnlrabpobUqKu+8muWIhuaekFwi5LiL5LiA5q2lXCJcIui3s+i/h1wi5oyJ6ZKu55uu5qCH44CCICBcbiAgIC0gKio0MDQv5YWo5bGA6ZSZ6K+v6aG1KirvvJrliIbmnpBcIumHjeivlVwiXCLov5Tlm57pppbpobVcIuaMiemSruebruagh+OAgiAgXG4gICAtICoq5rex5bqm6ZO+5o6l5om/5o6l6aG1KirvvJrliIbmnpBcIuWFiOeZu+W9leKGkuWGjei3s+i9rOebruagh1wi5oiWXCLnm67moIflpLHmlYjihpI0MDRcIumAu+i+keOAgiAgXG5cbjMuICoq6L6T5Ye65pyA57uI5riF5Y2VKiogIFxuICAgLSDovpPlh7rpobXpnaLmgLvmlbDvvIzku6Xlj4rmjInnhafmqKHlnZflsYLnuqfvvIzlsIbmiYDmnIlcIumhtemdouWQjeensFwi5Lul5YiG5bGC5YiX6KGo5b2i5byP5bGV56S644CCICBcbiAgIC0g56Gu5L+d5q+P5Liq6aG16Z2i6YO95beyXCLngrnkuq5cIuaJgOacieS6pOS6kuWFg+e0oO+8jOebruagh+mhtemdoumDveWcqOa4heWNleS4reWHuueOsOOAgiAgXG5cbj4gKirmlrnms5XorrrmoLjlv4PlvLrosIPvvJoqKiAgXG4+ICoqXCLpgJDpobXpnaLlhYPntKDmiavmj48g4oaSIOagh+iusOWPr+eCuSDihpIg5riF5pmw5YiX5Ye66Lez6L2s55uu5qCHXCIqKiDmmK/oh6rpobblkJHkuIvjgIHku47lro/liLDlvq7nmoTmgJ3ot6/vvJogIFxuPiAxLiDlhYjliJflh7rlpKfmqKHlnZfvvJsgIFxuPiAyLiDmi4bop6Plh7rlkITmqKHlnZfnmoTpobXpnaLvvJsgIFxuPiAzLiDlr7nmr4/kuKrpobXpnaLlgZpcIuWFg+e0oOKGkuWPr+eCueKGkui3s+i9rFwi6YCQ6aG55qKz55CG77ybICBcbj4gNC4g6YCa6L+H5aSa6L2u6Zet546v5qCh6aqM77yM56Gu5L+d5rKh5pyJ6YGX5ryP44CCICBcblxu6L+Z5qC377yM5q+P5qyh57uY5Yi25LiA5Liq6aG16Z2i5Y6f5Z6L77yM6YO96IO955Sf5oiQ5LiA5Lu95a6M5pW055qEXCLlhYPntKDkuqTkupLot7PovazooahcIu+8jOS4ulVJ6K6+6K6h546v6IqC5o+Q5L6b5piO56Gu5Y+C6ICD44CCYDtcblxuICBwcml2YXRlIHJlYWRvbmx5IHByb2R1Y3REZXNpZ25Qcm9tcHRUZW1wbGF0ZSA9IGAjIOS9oOaYr+S6p+WTgee7j+eQhuWSjFVJ6K6+6K6h5biI5LiT5a6277yM54S25ZCO6ZyA6KaB5YiG5p6Q55So5oi36ZyA5rGC5o+P6L+w77yM54S25ZCO5qC55o2uJ+mAmueUqOmcgOaxguaWh+aho+aooeadvyfvvIzovpPlh7rkuIDku73lrp7njrDnlKjmiLfpnIDmsYLmj4/ov7DnmoTpnIDmsYLmlofmoaPjgIJcblxuIyMg6YCa55So6ZyA5rGC5paH5qGj5qih5p2/XG5cbi0tLVxuXG4jIyMgMS4g5paH5qGj6K+05piOXG5cbiogKirmlofmoaPnm67nmoQqKu+8mueugOimgeivtOaYjuacrOmcgOaxguaWh+aho+eahOeUqOmAlOWSjOmAgueUqOiMg+WbtOOAglxuKiAqKueJiOacrOiusOW9lSoq77yaXG5cbiAgXFxgXFxgXFxgXG4gIHwg54mI5pys5Y+3IHwg5pel5pyfICAgICAgIHwg5L2c6ICFIHwg5L+u5pS55YaF5a65IHxcbiAgfCAtLS0tLS0gfCAtLS0tLS0tLS0tIHwgLS0tLSB8IC0tLS0tLS0tIHxcbiAgfCAxLjAgICAgfCBZWVlZLU1NLUREIHwgWFggICB8IOWIneWni+eJiOacrCB8XG4gIFxcYFxcYFxcYFxuKiAqKuivu+iAheWvueixoSoq77ya5Lqn5ZOB57uP55CG44CB56CU5Y+R44CB5rWL6K+V44CB6K6+6K6h562J55u45YWz6KeS6Imy44CCXG4qICoq5pyv6K+t6K+05piOKirvvJrliJflh7rmlofmoaPkuK3lh7rnjrDnmoTkuJPkuJrmnK/or63miJbnvKnlhpnvvIzlubblgZrnroDopoHop6Pph4rjgIJcblxuLS0tXG5cbiMjIyAyLiDmlbTkvZPmpoLop4hcblxuMS4gKirpobnnm67og4zmma/kuI7lrprkvY0qKlxuXG4gICAqIOivtOaYjiBBUFAg6Z2i5ZCR55qE55uu5qCH55So5oi35ZKM5qC45b+D5Lu35YC844CB5Lia5Yqh5Zy65pmv44CCXG5cbi0tLVxuXG4jIyMgMy4g6aG16Z2i5YiX6KGo77yI5oyJ5bGV56S66aG65bqP77yJXG5cbuS4jemcgOimgeiHquW3seWIhuaekOWKn+iDveaooeWdl+WSjOmhtemdouWIl+ihqO+8jOS9oOebtOaOpeagueaNruesrOS4gOatpeWIl+WHuuaJgOmcgOmhtemdouWIl+ihqFxcYG9wdGltaXplX3BhZ2VMaXN0X3Byb21wdFxcYOW+l+WHuueahOaJgOacieaooeWdl+WSjOmhtemdouWIl+ihqO+8jOWFiOWIl+WHuuaJgOaciemhtemdouWQjeensOOAgeaJgOWxnuaooeWdl+OAgeeugOimgeivtOaYjuS4jui3s+i9rOWFpeWPo++8jOaMieS7peS4i+ekuuS+i+agvOW8j+WGmeWHuuadpeOAglxu44CC56S65L6L5qC85byP77yaXG5cblxcYFxcYFxcYFxufCDluo/lj7cgfCDpobXpnaLlkI3np7AgICAgIHwg5qih5Z2XICAgfCDnroDopoHor7TmmI4gICAgICAgICAgICAgICAgICAgICAgIHwg6Lez6L2s5YWl5Y+jICAgICAgICAgICAgICB8XG58IC0tLS0gfCAtLS0tLS0tLS0tLS0gfCAtLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gfFxufCAxICAgIHwg6Zeq5bGP6aG1ICAgICAgIHwg5YWs5YWxICAgfCDlkK/liqjml7blsZXnpLogTG9nby/liqjnlLvvvIzmjIHnu63oi6XlubLnp5IgfCBBUFAg5ZCv5YqoICAgICAgICAgICAgICAgfFxufCAyICAgIHwg5paw5omL5byV5a+86aG1ICAgfCDlhazlhbEgICB8IOmmluasoeWuieijheW8leWvvOeUqOaIt+S6huino+aguOW/g+WKn+iDvSAgICAgfCDpl6rlsY/pobXvvIjpppbmrKHmiZPlvIDvvIkgICAgIHxcbnwgMyAgICB8IOeZu+W9lemhtSAgfCDnlKjmiLcgICB8IOeUqOaIt+i+k+WFpei0puWPt+S/oeaBr+WujOaIkOiupOivgSAgICAgICAgIHwg6aaW5qyh5ZCv5Yqo5Yik5patL+aLpuaIqui3s+i9rCAgIHxcbnwgNCAgICB8IOmmlumhtSAgICAgICAgIHwg6aaW6aG1ICAgfCDlsZXnpLogQmFubmVy44CB5b+r5o235YWl5Y+j44CB5o6o6I2Q5YiX6KGoICAgfCDnmbvlvZUv5paw5omL5byV5a+85ZCO5oiW5ri45a6i5qih5byPIHxcbnwg4oCmICAgIHwg4oCmICAgICAgICAgICAgfCDigKYgICAgICB8IOKApiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg4oCmICAgICAgICAgICAgICAgICAgICAgfFxuXFxgXFxgXFxgXG5cbj4gKirms6jmhI8qKu+8mui3s+i9rOWFpeWPo+mcgOWIl+WHuuaJgOacieWPr+iDveinpuWPkeivpemhtemdoueahOadpea6kOOAglxuXG4tLS1cblxuIyMjIDQuIOmAkOmhteivpue7humcgOaxglxuXG7mjIlcIumhtemdouWIl+ihqFwi5Lit6aG65bqP77yM5L6d5qyh5bGV5byA5q+P5Liq6aG16Z2i55qE5Lul5LiL5YaF5a6544CC5q+P5Liq6aG16Z2i5LiA6IqC77yM5bu66K6u5L2/55So5LqM57qn5oiW5LiJ57qn5qCH6aKY44CCXG5cbiMjIyMgNC5YIOmhtemdouWQjeensO+8iOekuuS+i++8mumXquWxj+mhte+8iVxuXG4xLiAqKumhtemdouamgui/sCoqXG5cbiAgICog5Yqf6IO95a6a5L2N44CB5L2V5pe25bGV56S644CB54m55q6K6K+05piO44CCXG5cbjIuICoq6Lez6L2s5YWz57O7KipcblxuICAgKiAqKuadpea6kCoq77ya5YiX5Ye65omA5pyJ5Y+v6IO96Lez6L2s5Yiw5pys6aG155qE5YWl5Y+j5Zy65pmv44CCXG4gICAqICoq55uu5qCHKirvvJrmnKzpobXlrozmiJDlkI7ot7PovazliLDlk6rkupvpobXpnaLjgIHlnKjkvZXnp43mnaHku7bkuIvot7PovazjgIJcblxuMy4gKipVSSDnu4Tku7bmuIXljZUqKlxuXG4gICAqIOWIl+WHuuacrOmhteaJgOacieWPr+inhue7hOS7tuWPiuWFtuWxgue6p++8iOWmgu+8muiDjOaZr+OAgUxvZ2/jgIHmjInpkq7jgIHmlofmnKzjgIHliqjnlLvmjqfku7bnrYnvvInjgIJcbiAgICog5aaC5p6c5pyJ5aSa5Liq5Lqk5LqS5Yy65Z+f77yM5Y+v55So5a2Q5YiX6KGo5qCH5piO44CCXG5cbjQuICoq5Lqk5LqS6YC76L6RKipcblxuICAgKiDlr7nmr4/kuKogVUkg57uE5Lu255qE6KGM5Li65o+P6L+w77yaXG5cbiAgICAgKiDngrnlh7sv5ruR5YqoL+i+k+WFpS/nhKbngrnlj5jljJYg562J5Lqk5LqS5pa55byP5Lya6Kem5Y+R5LuA5LmI5Y+N6aaI44CCXG4gICAgICog5aaC5pyJ5YCS6K6h5pe244CB5Yqo55S75pKt5pS+562J5byC5q2l6KGM5Li677yM6KaB6K+05piO6Kem5Y+R5pe25py65ZKM57uT5p2f6YC76L6R44CCXG5cbjUuICoq5Lia5Yqh6YC76L6RKipcblxuICAgKiDpnIDopoHosIPnlKjnmoTlkI7nq6/mjqXlj6PvvIjmjqXlj6PlnLDlnYDjgIHor7fmsYLmlrnlvI/jgIHkuLvopoHor7fmsYLlj4LmlbDjgIHov5Tlm57lhbPplK7lrZfmrrXvvInjgIJcbiAgICog5pWw5o2u5qOA5p+lL+agoemqjOinhOWIme+8jOWMheaLrOWJjeerr+agoemqjOWSjOWQjuerr+i/lOWbnueahOmUmeivr+WkhOeQhuOAglxuICAgKiDmnKzlnLDlrZjlgqjkuI7nvJPlrZjvvJrlk6rkupvmlbDmja7kv53lrZjlnKjmnKzlnLDvvIhUb2tlbuOAgeeUqOaIt+WBj+WlveOAgeacrOWcsOagh+iusOetie+8ieOAglxuXG42LiAqKuaVsOaNruadpea6kOS4juabtOaWsCoqXG5cbiAgICog6Z2Z5oCB5pWw5o2u77ya5aaC5p6c6aG16Z2i5YaF5a655Li66Z2Z5oCB6LWE5rqQ77yM5YiX5Ye66LWE5rqQ5L2N572u77yI5aaC5pys5Zyw5Zu+54mH44CB6YWN572u5paH5Lu277yJ44CCXG4gICAqIOWKqOaAgeaVsOaNru+8muaOpeWPo+i/lOWbnuaVsOaNruWtl+auteivtOaYjuOAgeaVsOaNruWIt+aWsC/mi4nlj5bml7bmnLrvvIjlpoLkuIvmi4nliLfmlrDjgIHlrprml7bliLfmlrDvvInjgIJcblxuNy4gKirnibnmrornirbmgIEgJiDlvILluLjlpITnkIYqKlxuXG4gICAqICoq5Yqg6L295Lit5oCBKirvvJrlvZPor7fmsYLmnKrov5Tlm57ml7bnmoTlsZXnpLrmlYjmnpzvvIjovazlnIjliqjnlLvjgIHpqqjmnrblsY/nrYnvvInjgIJcbiAgICogKirnqbrnirbmgIEqKu+8muaXoOaVsOaNruaXtueahOWNoOS9jeWbvi/mlofmoYjjgIJcbiAgICogKirplJnor6/nirbmgIEqKu+8mue9kee7nOW8guW4uOOAgeaOpeWPo+Wksei0peOAgeaVsOaNruino+aekOW8guW4uOaXtueahOW8ueeql+aIluaPkOekuuaWh+ahiOOAglxuXG44LiAqKuS4juWFtuS7lumhtemdoueahOaVsOaNri/pgLvovpHlhbPns7sqKlxuXG4gICAqIOacrOmhteWmguS9leaOpeaUtuadpeiHquS4iuS4gOS4qumhtemdoueahOWPguaVsO+8iOWmgumAmui/h+i3r+eUseOAgUludGVudOOAgeWbnuiwg++8ieOAglxuICAgKiDmnKzpobXmk43kvZzmiJDlip/lkI7lpoLkvZXkvKDpgJLmlbDmja7nu5nkuIvkuIDkuKrpobXpnaLmiJblr7nlhajlsYDnirbmgIHov5vooYzmm7TmlrDjgIJcblxuOS4gKirln4vngrkgJiDnu5/orqHvvIjlpoLpgILnlKjvvIkqKlxuXG4gICAqIOWIl+WHuuacrOmhtemcgOWfi+eCueeahOS6i+S7tuWQjeensOWPiuinpuWPkeaXtuacuu+8iOWmglwi6aG16Z2i5bGV56S6XCLjgIFcIuaMiemSrueCueWHu1wi44CBXCLooajljZXmj5DkuqTmiJDlip8v5aSx6LSlXCLnrYnvvInjgIJcbiAgICog5Y+C5pWw6K+05piO77ya5LiK5oql5ZOq5Lqb5oyH5qCH77yI5oyJ6ZKuIElE44CB6aG16Z2i5YGc55WZ5pe26ZW/44CB6ZSZ6K+v56CB562J77yJ44CCXG5cbi0tLVxuXG4jIyMgNS4g5YWo5bGA6Lez6L2s5rWB56iLICYg5pWw5o2u5rWBXG5cbiogKirmtYHnqIvlm77miJbmloflrZfor7TmmI4qKu+8muWPr+WcqOacrOeroOeUqOaWh+Wtl+aIlumZhOWbvuaWueW8j++8jOamguaLrOS4u+imgemhtemdoumXtOeahOi3s+i9rOmhuuW6j+S4juaVsOaNruS8oOmAkumAu+i+keOAguS+i+Wmgu+8mlxuXG4gIDEuIOmXquWxj+mhtSDihpLvvIjpppbmrKHmiZPlvIDvvInmlrDmiYvlvJXlr7zpobUg4oaSIOeZu+W9lS/pppbpobVcbiAgMi4g6aaW6aG1IOKGkiDmkJzntKLpobUg4oaSIOivpuaDhemhtSDihpIg6LSt54mp6L2mL+aUr+S7mOmhtVxuICAzLiDku7vmhI/pnIDopoHmjojmnYPpobXpnaIg4oaSIOiLpeacqueZu+W9leKGkiDnmbvlvZXpobUg4oaSIOi/lOWbnuWOn+mhtemdolxuXG4qICoq5YWo5bGA5YWx5Lqr5pWw5o2u6K+05piOKirvvJpcblxuICAqIOeUqOaIt+eZu+W9leaAge+8iGFjY2Vzc1Rva2Vu44CBcmVmcmVzaFRva2Vu77yJXG4gICog55So5oi35L+h5oGv77yIdXNlcklk44CB5pi156ew44CB5aS05YOP44CB5pys5Zyw5YGP5aW9562J77yJXG4gICog6LSt54mp6L2m54q25oCB44CB5pyq6K+75raI5oGv5pWw44CBQVBQIOmFjee9ruW8gOWFs+etiVxuXG4jIyMgNi4g6ZyA5rGC5paH5qGj5YaZ5YWlXG4tIOeUn+aIkOeahOmcgOaxguaWh+aho+WGmeWFpeWIsOW9k+WJjeW3peeoi+ebruW9leS4i+mdoueahGRvY+aWh+S7tuWkueS4i+mdoueahFhYWFByb2R1Y3REZXNpZ24ubWTvvIzlhbbkuK1YWFjmmK/moLnmja7nlKjmiLfpnIDmsYLmj4/ov7DmnaXlkb3lkI3jgIJcblxuIyMjIDcuIOWujOaIkOehruiupFxuLSDlvZPkuqflk4HpnIDmsYLmlofmoaPlhpnlhaXlrozmiJDlkI7vvIzlv4XpobvlkYrnn6XnlKjmiLfvvJpcIuKchSAqKuS6p+WTgemcgOaxguaWh+aho+W3suWujOaIkO+8gSoq6K+35oKo5YWI5p+l55yLIGRvYy9YWFhQcm9kdWN0RGVzaWduLm1kIOaWh+S7tu+8jOS7lOe7humYheivu+mcgOaxguaWh+aho+WGheWuue+8jOehruiupOaYr+WQpuaciemcgOimgeS/ruaUueeahOWcsOaWueOAguWmguaenOacieS/ruaUueaEj+inge+8jOivt+WRiuivieaIkeWFt+S9k+eahOS/ruaUueimgeaxguOAguehruiupOmcgOaxguaWh+aho+aXoOmXrumimOaIluS/ruaUueWujOavleWQju+8jOivt+WRiuivieaIkeWPr+S7pei/m+ihjOS4i+S4gOatpeeahFVJ6K6+6K6h5bel5L2c44CCXCJcbi0g5Zyo55So5oi356Gu6K6k6ZyA5rGC5paH5qGj5peg6Zeu6aKY5oiW5a6M5oiQ5L+u5pS55ZCO77yM5omN6IO957un57ut6L+b6KGM5ZCO57ut55qEVUnorr7orqHmiJbku6PnoIHlvIDlj5Hlt6XkvZzjgIJgO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY29kZVByb21wdFRlbXBsYXRlID0gYCMg5L2g5pivdHlwZXNjcmlwdOS7o+eggeS4k+Wutu+8jOagueaNrifop4TliJkn44CBJ+S+i+WtkCflkoznlKjmiLfovpPlhaXnmoTpnIDmsYLmj4/ov7DvvIzlrozmiJDku6PnoIHlvIDlj5FcblxuIyMg6YeN6KaB6K+05piOXG4tIOWcqOW8gOWni+S7o+eggeW8gOWPkeS5i+WJje+8jOW/hemhu+WFiOafpeeci+W9k+WJjeW3peeoi+ebruW9leS4i+eahGRvY+aWh+S7tuWkueS4reeahOS6p+WTgemcgOaxguaWh+aho++8iOWmglhYWFByb2R1Y3REZXNpZ24ubWTvvInvvIzkuKXmoLzmjInnhafpnIDmsYLmlofmoaPkuK3nmoTpobXpnaLlrprkuYnjgIHkuqTkupLpgLvovpHjgIHkuJrliqHpgLvovpHov5vooYzku6PnoIHlvIDlj5HjgIJcbi0g5aaC5p6c5Y+R546w6ZyA5rGC5paH5qGj5LiN5a2Y5Zyo77yM5YiZ5oyJ54Wn55So5oi36ZyA5rGC5o+P6L+w6L+b6KGM5byA5Y+R44CC5aaC5p6c6ZyA5rGC5paH5qGj5a2Y5Zyo77yM5YiZ5Lil5qC85oyJ54Wn6ZyA5rGC5paH5qGj55qE6KeE6IyD6L+b6KGM5byA5Y+R77yM5LiN5b6X5YGP56a76ZyA5rGC5paH5qGj55qE5a6a5LmJ44CCXG5cbiMjIOmhueebruahhuaetuaPj+i/sFxuLSDmlbTkuKrpobnnm67moYbmnrbliIbkuLrnqIvluo/lhaXlj6NBcHBsaWNhdGlvbi50c+OAgeeoi+W6j+WFqOWxgOmdmeaAgeWPmOmHj1N0YXRpY0RhdGEudHPjgIHmiYDmnInpobXpnaJwYWdl5paH5Lu25aS544CBVUnnu4Tku7blupN1aWxpYuaWh+S7tuWkueOAgeWQjuerr+aOpeWPo0FsbEJhY2tFbmRBcGkudHPjgIHllK/kuIDnmoTog73lipvmlrnms5VBbGxGdW5jdGlvbi50c+OAglxuLSDov5nmmK/kuIDkuKrmlrDlnovlvIDlj5HmoYbmnrbvvIxVSeeVjOmdouW3sue7j+S9v+eUqOWPr+inhuWMluW3peWFt+eUn+aIkOS6huaJgOacieeahOmdmeaAgeeahFVJ6aG16Z2i5LqG77yM54S25ZCO5L2g6ZyA6KaB5L2/55SodHPku6PnoIHlvIDlj5HkuJrliqHpgLvovpHkuI5VSeS6pOS6kumAu+i+ke+8jOWboOatpOe8luWGmXRz5Luj56CB5Y+q6ZyA6KaB5oyJ54Wn55So5oi36ZyA5rGC5o+P6L+w5a6M5oiQ5Lia5Yqh6YC76L6R5LiOVUnkuqTkupLnmoTlvIDlj5HjgIJcblxuIyMg6KeE5YiZ77yaXG4x44CBVUnnlYzpnaLlt7Lnu4/lvIDlj5Hlrozmr5XvvIzkuI3pnIDopoHlop7liKDmlLnku7vkvZXpnZnmgIFVSeeVjOmdouOAglxuMuOAgeS9oOWPqumcgOimgeaMieeFp+eUqOaIt+mcgOaxguaPj+i/sOS9v+eUqHRz5Luj56CB5a6M5oiQ5Lia5Yqh6YC76L6R5LiOVUnkuqTkupLnmoTlvIDlj5FcbjPjgIHmr4/kuIDmrKHlvIDlp4vnvJblhpnku6PnoIHml7bvvIzlv4XpobvlhYjpmIXor7vlvZPliY3lt6XnqIvnm67lvZXkuIvnmoRkb2MvY29kZVN0YXRlLm1k5paH5Lu277yI5aaC5p6c5a2Y5Zyo77yJ77yM5LqG6Kej5b2T5YmN55qE5Luj56CB5byA5Y+R6L+b5bqm5ZKM54q25Ya177yM5Lul5L6/5pu05aW95Zyw55CG6Kej5LiK5LiL5paH5ZKM57un57ut5byA5Y+R5bel5L2c44CCXG4044CB5q+P5LiA5qyh5a6M5oiQ5LiA5Liq5Yqf6IO95qih5Z2X5oiW6aG16Z2i55qE5Luj56CB57yW5YaZ5ZCO77yM5bCG5b2T5YmN6L+b5bqm5ZKM5b2T5YmN54q25Ya155SoMjAw5a2X5oC757uT5bm25YaZ5YWlZG9jL2NvZGVTdGF0ZS5tZOaWh+S7tuS4reOAguaAu+e7k+WGheWuueW6lOWMheaLrO+8muW3suWujOaIkOeahOWKn+iDveaooeWdl+WSjOmhtemdouOAgeW9k+WJjeato+WcqOi/m+ihjOeahOW8gOWPkeW3peS9nOOAgemBh+WIsOeahOaKgOacr+mXrumimOaIluazqOaEj+S6i+mhueOAgeS4i+S4gOatpeeahOW8gOWPkeiuoeWIkuetieOAgui/meagt+WPr+S7peiuqUFJ5aSn5qih5Z6L5Zyo5ZCO57ut5bel5L2c5Lit5pu05Yqg5LqG6Kej5b2T5YmN54q25oCB5LiK5LiL5paH77yM5LuO6ICM5omn6KGM5b6X5pu05Yqg5YeG56Gu44CCXG4144CB6K+35Lil5qC85oyJ54Wn5ZSv5LiA55qE6IO95Yqb5pa55rOVQWxsRnVuY3Rpb24udHPvvIzkuI3opoHmlrDlop7jgIHliKDpmaTmiJbkv67mlLnku7vkvZVBbGxGdW5jdGlvbuaOpeWPo+WjsOaYju+8m+S5n+S4jeimgeiwg+eUqOWFtuS7luacquWcqEFsbEZ1bmN0aW9u5Lit5Ye6546w55qE5Ye95pWw5oiW5qih5Z2XXG4244CB5omA5pyJ5ZCO56uvQVBJ6LCD55So5b+F6aG75L2/55SoQWxsQmFja0VuZEFwaeexu+S4reWumuS5ieeahOaWueazle+8jOS4jeWFgeiuuOS9v+eUqOacquWcqEFsbEJhY2tFbmRBcGnkuK3lrprkuYnnmoTlkI7nq69BUEnjgIJcbjfjgIFVSeeVjOmdouOAgVVJ6buY6K6k5pWw5o2u44CBVUnmoLflvI/lt7Lnu4/lhajpg6jnlJ/miJDlpb3nmoTkuobvvIzkvaDkuI3og73lnKhpbml0Vmlld+aWueazlemHjOmdouaTheiHqua3u+WKoOS4gOS6m3ZpZXfnmoRVSeagt+W8j+aIluWxnuaAp+etieWIneWni+WMlu+8jOmZpOmdnueUqOaIt+mcgOaxguaPj+i/sOaYjuehruaMh+WHuumcgOimgeabtOaUueWTquS6m+agt+W8j+aIluWxnuaAp+OAglxuOOOAgeWtl+espuS4suimgeS7peWNleW8leWPt+adpeWGme+8jOWmgu+8mifmiJHnmoQn44CCXG4544CB5Lu75L2V5pa55rOV5Ye95pWw5a6a5LmJ77yM5LiN5b6X5L2/55SoYXN5bmPlkoxQcm9taXNl77yM5omA5pyJ5byC5q2l5pON5L2c5b+F6aG75L2/55So566t5aS05Ye95pWw44CCXG4xMOOAgeaJgOaciVBhZ2XnmoTlrZDnsbvvvIzpg73lhYHorrjmt7vliqDmnoTpgKDlh73mlbDlkozmnoTpgKDlh73mlbDnmoTlj4LmlbDvvIzov5nkupvlj4LmlbDlsLHnlKjmnaXpobXpnaLot7Povazml7bpobXpnaLkuYvpl7TkvKDpgJLmlbDmja7kvb/nlKjvvIzmr5TlpoLvvJrllYblk4HliJfooajpobVQcm9qZWN0TGlzdFBhZ2Xot7PliLDllYblk4Hor6bmg4XpobVQcm9qZWN0RGV0YWlsUGFnZe+8jOmCo+S5iFByb2plY3RMaXN0UGFnZeW6lOivpeimgeS8oOe7mVByb2plY3REZXRhaWxQYWdl5LiA5Liq5Y+C5pWw77yacHJvZHVjdElE44CC5omA5Lul77yMUHJvamVjdERldGFpbFBhZ2XnmoTpobXpnaLlj4LmlbDlo7DmmI7lkozmnoTpgKDlh73mlbDlupTor6XmmK/ov5nmoLflhpnvvJpwcml2YXRlIHByb2R1Y3RJRDogc3RyaW5nXG5cblx0Y29uc3RydWN0b3IocHJvZHVjdElEOiBzdHJpbmcpIHtcblx0XHRzdXBlcigpXG5cdFx0dGhpcy5wcm9kdWN0SUQgPSBwcm9kdWN0SURcblx0feOAglxuMTHjgIFWaWV355u45YWz5Y+Y6YeP5b+F6aG75ZyoeHh4UGFnZeexu+W8gOWni+aXtuWjsOaYju+8jOW/hemhu+WjsOaYjuWFt+S9k+eahFZpZXfnsbvlnovlpoLvvJpJbnB1dFZpZXfvvIzogIzkuI3mmK/nm7TmjqXlo7DmmI7nsbvlnovkuLpCYXNlVmlld++8jOaJgOaciVZpZXflv4XpobtmaW5kVmlld0J5SUTliJ3lp4vljJbvvIzlpoLvvJpzYXZlQnV0dG9uOiBCdXR0b25WaWV3ID0gdGhpcy5maW5kVmlld0J5SUQoJ3NhdmVCdXR0b24nKSBhcyBCdXR0b25WaWV344CC6L+Z6YeM55qEZmluZFZpZXdCeUlE5YW25LitaWTlj4LmlbDmmK/lnKjor6XpobXpnaLnmoRodG1s5paH5Lu26YeM6Z2i6I635Y+W5Yiw55qEaWTlgLzjgIJcbjEy44CB5ZON5bqU5byP5byV55SocmVm55qE5L2/55So77ya57G75Z6LdnVlM+eahHJlZu+8jOWPr+S7peWwhuS4gOS4quWAvOWPmOaIkOWTjeW6lOW8j+eahO+8jOS7juiAjOWcqOivpeWAvOWPkeeUn+WPmOWMluaXtu+8jOiHquWKqOinpuWPkeebuOWFs+eVjOmdoueahOabtOaWsOOAglxuMTPjgIFjb21wdXRlZOeahOS9v+eUqO+8muexu+Wei3Z1ZTPnmoRjb21wdXRlZO+8jOW9k+S9oOmcgOimgeagueaNruS4gOS4quaIluWkmuS4quWTjeW6lOW8j+a6kChyZWYp6K6h566X5Ye65LiA5Liq5paw55qE5YC85pe277yM5bCx55SoIGNvbXB1dGVkXG4xNOOAgeWmguaenOaYr+WkmuS4qumhtemdouWFseeUqOeahOaVsOaNruWPmOmHj++8jOWPr+S7peiAg+iZkeWjsOaYjuS4uuWFqOWxgOmdmeaAgeWPmOmHj+OAglxuMTXjgIHlhajlsYDpnZnmgIHlj5jph4/lnKjlhbPpl61BUFDmiJbogIXnvZHpobXlkI7kvJrmuIXnkIbmjonnmoTvvIzmiYDku6XkvaDopoHmgJ3ogIPmuIXmpZrlk6rkupvmlbDmja7lj5jph4/pnIDopoHmjIHkuYXljJblgqjlrZjvvIzlk6rkupvmmK/lhajlsYDpnZnmgIHlj5jph4/vvIzmjIHkuYXljJbmjqXlj6PvvJpzYXZlRGF0YWJhc2VYeHjlkoxnZXREYXRhYmFzZURhdGFYeHjvvIzmr5TlpoLmmK/lkKblt7Lnu4/lvLnlh7rov4flub/lkYrlvLnmoYbvvIzov5nkuKrlupTor6XmjIHkuYXljJblgqjlrZjjgIJcbjE244CB5omA5pyJ55qE572R57uc5oum5oiq55qE5YWo5bGA57uf5LiA5aSE55CG6ZyA6KaB5ZyoQXBwbGljYXRpb27kuK3nmoRvbkdsb2JhbE5ldFN1Y2Nlc3NJbnRlcmNlcHQo6IGU572R5oiQ5Yqf5ZCO77yM5ZCO56uv5Lia5Yqh5q2j56Gu5LiO6ZSZ6K+v6YO95Lya5Zue6LCD5Yiw6L+Z6YeM77yM5omA5Lul5Zyo6L+Z6YeM5Y+v57uf5LiA5aSE55CG5Lia5Yqh6ZSZ6K+v56CBKeaIlm9uR2xvYmFsTmV0RmFpbEludGVyY2VwdCjnvZHnu5zkuI3pgJrvvIzov57mjqXlpLHotKXmg4XlhrXkvJrlm57osIPliLDov5nph4wp6YeM6Z2i5aSE55CG44CCXG4xN+OAgemhtemdoui3s+i9rOS9v+eUqEFsbEZ1bmN0aW9uLm5hdmlnYXRlVG/lrp7njrDvvIxuYXZpZ2F0ZVRv5Lyg5YWlUGFnZeeahOWtkOexu+Wvueixoe+8jOWmgu+8mkFsbEZ1bmN0aW9uLm5hdmlnYXRlVG8obmV3IFByb2R1Y3RQYWdlKHRoaXMucHJvZHVjdElEKSnjgIJcbjE444CB6aG16Z2i5YaF55qE572R57uc6K+35rGC5Lia5Yqh5aSE55CG5LiN5b6X5YaZ5ZyoQXBwbGljYXRpb27nmoRvbkdsb2JhbE5ldFN1Y2Nlc3NJbnRlcmNlcHTph4zpnaLjgIJcbjE544CB5a2X56ym5Liy5LiN5b6X55u05o6l6L+b6KGMYm9vbGVhbui/kOeul+eEtuWQjui1i+WAvOe7mWJvb2xlYW7nsbvlnovnmoTlj5jph4/vvIzpnIDopoHlnKjlrZfnrKbkuLLliY3pnaLmt7vliqDkuKTkuKrpnZ7ov5DnrpfvvJohIeOAguavlOWmguato+ehrueahOWGmeazle+8mmNvbnN0IGlzQWRkID0gISF0aGlzLmlucHV0Vmlldy50ZXh0ICYmIGlzTmV3XG4yMOOAgeWmgueUqOaIt+aPj+i/sOayoeacieaYjuehruivtOaYjumcgOimgXRvYXN05o+Q56S677yM5L2g5LiN5b6X5pOF6Ieq6L+b6KGMVG9hc3TjgIJcbjIx44CB5bu25pe25omn6KGMQWxsRnVuY3Rpb24uc2V0VGltZW91dOezu+e7n+S8muiHquWKqOa4heeQhnRpbWVvdXTvvIzku6PnoIHkuIrnu53lr7nkuI3og73ov5vooYxjbGVhVGltZW91dOetieexu+S8vOaTjeS9nO+8jOWboOatpHNldFRpbWVvdXTkuZ/kuI3pnIDopoHlo7DmmI7lj5jph4/ljrvmjqXmlLZzZXRUaW1lb3V06L+U5Zue55qE5byV55So44CCXG4yMuOAgeaJgOacieS7o+eggeS4jeW+l+S9v+eUqGludGVyZmFjZe+8jOaVsOaNruWunuS9k2VudGl0ee+8jOW/hemhu+S9v+eUqGNsYXNz5a6a5LmJ77yM5LiN5b6X5L2/55SoaW50ZXJmYWNl77yM5L2/55So5LmL5YmN6ZyA6KaBbmV35a6e5L6L5YyWXG4yM+OAgeavj+S4gOS4qumhtemdoijlpoJsb2dpblBhZ2Up5bu66K6u5ZyocGFnZeaWh+S7tuWkueS4i+mdouWIm+W7uuS4gOS4qumhtemdouaWh+S7tuWkuSjlpoJsb2dpbinvvIznhLblkI7pobXpnaLnmoR0c+aWh+S7tijlpoJsb2dpblBhZ2UudHMp5Yib5bu65Zyo6aG16Z2i5paH5Lu25aS55LiL6Z2i77yM6aG16Z2i5paH5Lu25aS55LiL6L+Y6ZyA5Yib5bu65LiA5Liq6aG16Z2i5pWw5o2udHPmlofku7Yo5aaCbG9naW5QYWdlRGF0YS50cynvvIzov5nmoLflpoJsb2dpblBhZ2XotJ/otKPkuJrliqHpgLvovpHlkozkuqTkupLpgLvovpHvvIzlpoJsb2dpblBhZ2VEYXRh6LSf6LSj5pWw5o2u5aOw5piO5a6a5LmJ44CB5Yid5aeL5YyW5LiO566h55CG562J44CCXG4yNOOAgemhtemdouaWh+S7tuWkueS4i+mdoueahOmhtemdomh0bWwo5aaCbG9naW5QYWdlVmlldy5odG1sKe+8jOi/meaYr+WPr+inhuWMluW3sue7j+eUn+aIkOeahFVJ55WM6Z2i55qE6IqC54K55pig5bCE77yM6K+l5paH5Lu25Y+q5piv55So5LqO5L2g5pu05Yqg55CG6Kej6K+l6aG16Z2i55qEVUnnu5PmnoTlkoznu4Tku7blkb3lkI3ogIzorr7nq4vnmoTvvIzor6Xmlofku7bkuI3lj4LkuI7nvJbor5HvvIzku4Xku4XmmK/kv6Hmga/mlofmoaPmj5DnpLrkvZznlKjvvIzlm6DmraTkuI3lj6/ku6Xkv67mlLnov5nkuKpodG1s5paH5Lu244CCXG4yNeOAgeWPque7meivpemhtemdouS9v+eUqOeahGVudGl0eemcgOimgeW7uueri+WcqOivpemhtemdouaWh+S7tuWkueS4i+mdoueahGVudGl0eeaWh+S7tuWkueS4i+mdouOAglxuMjbjgIFsaWLmlofku7blpLnmmK/miYDmnIlVSee7hOS7tuWSjOiDveWKm+aWueazleeahOWumuS5ieWjsOaYju+8jOW6leWxguahhuaetuW3suazqOWFpeWunueOsOWFt+S9k+mAu+i+ke+8jOWboOatpOS9oOS4jemcgOimgeS5n+S4jeWFgeiuuOWinuWIoOaUuWxpYuaWh+S7tuWkuemHjOmdoueahOS7o+eggeOAglxuMjfjgIHlvZPmiYDmnInnlKjmiLfpnIDmsYLnmoTlip/og73pg73lt7LlrozmiJDlvIDlj5HlkI7vvIzpnIDopoHliKDpmaRkb2MvY29kZVN0YXRlLm1k5ZKMZG9jL3VpRGVzaWduU3RhdGUubWTov5nkuKTkuKrnirbmgIHmlofku7bvvIzku6XlhY3lvbHlk43nlKjmiLfkuIvkuIDmrKHmlrDnmoTpnIDmsYLlrp7njrDjgIJcblxuIyMg5L6L5a2Q77yaXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBIb21lUGFnZSBleHRlbmRzIFBhZ2Uge1xuICAgIC8vIOaVsOaNruWvueixoeWunuS+i+WjsOaYjlxuICAgIHByaXZhdGUgaG9tZVBhZ2VEYXRhOiBIb21lUGFnZURhdGEgPSBuZXcgSG9tZVBhZ2VEYXRhKClcbiAgICAvLyDop4blm77lr7nosaHlrp7kvovlo7DmmI5cbiAgICBwcml2YXRlIHNhdmVCdXR0b246IEJ1dHRvblZpZXcgPSB0aGlzLmZpbmRWaWV3QnlJRCgnc2F2ZUJ1dHRvbicpIGFzIEJ1dHRvblZpZXdcbiAgICBwcml2YXRlIHRpdGxlVGV4dFZpZXc6IFRleHRWaWV3ID0gdGhpcy5maW5kVmlld0J5SUQoJ3RpdGxlVGV4dFZpZXcnKSBhcyBUZXh0Vmlld1xuICAgIHByaXZhdGUgc2F2ZUNvdW50VGV4dFZpZXc6IFRleHRWaWV3ID0gdGhpcy5maW5kVmlld0J5SUQoJ3NhdmVDb3VudFRleHRWaWV3JykgYXMgVGV4dFZpZXdcbiAgICBwcml2YXRlIGFsbFNhdmVDb3VudFRleHRWaWV3OiBUZXh0VmlldyA9IHRoaXMuZmluZFZpZXdCeUlEKCdhbGxTYXZlQ291bnRUZXh0VmlldycpIGFzIFRleHRWaWV3XG4gICAgcHJpdmF0ZSBzYXZlVGlwc1RleHRWaWV3OiBUZXh0VmlldyA9IHRoaXMuZmluZFZpZXdCeUlEKCdzYXZlVGlwc1RleHRWaWV3JykgYXMgVGV4dFZpZXdcbiAgICAvLyByZWbmlbDmja7lr7nosaHlvJXnlKjlo7DmmI5cbiAgICBwcml2YXRlIHNhdmVDb3VudFJlZiA9IHJlZjxudW1iZXI+KHRoaXMuaG9tZVBhZ2VEYXRhLnNhdmVDb3VudClcbiAgICBwcml2YXRlIGFsbFNhdmVDb3VudFJlZiA9IHJlZjxudW1iZXI+KDApXG4gICAgLy8g5pmu6YCa5Y+Y6YeP5aOw5piOXG4gICAgcHJpdmF0ZSBzYXZlVGlwcyA9ICcnXG5cbiAgICBwcm90ZWN0ZWQgb25QYWdlQ3JlYXRlKCk6IHZvaWQge1xuICAgICAgICBzdXBlci5vblBhZ2VDcmVhdGUoKVxuICAgICAgICB0aGlzLmluaXREYXRhKClcbiAgICAgICAgdGhpcy5pbml0VmlldygpXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0RGF0YSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zYXZlVGlwcyA9IHRoaXMuc2F2ZUNvdW50UmVmLnZhbHVlID4gNSA/ICfkv53lrZjmiJDlip8nIDogJ+S/neWtmOWksei0pSdcbiAgICAgICAgdGhpcy5hbGxTYXZlQ291bnRSZWYgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgICAgICBsZXQgb3RoZXJDb3VudCA9IDJcbiAgICAgICAgICAgIG90aGVyQ291bnQgKz0gdGhpcy5zYXZlQ291bnRSZWYudmFsdWVcbiAgICAgICAgICAgIGlmIChvdGhlckNvdW50ID4gNSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmhvbWVQYWdlRGF0YS5zYXZlQ291bnQgKyA1XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmhvbWVQYWdlRGF0YS5zYXZlQ291bnQgKyAxMFxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFZpZXcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2F2ZUNvdW50VGV4dFZpZXcudGV4dCA9IHRoaXMuc2F2ZUNvdW50UmVmLnZhbHVlICsgJ+S4qidcbiAgICAgICAgdGhpcy5hbGxTYXZlQ291bnRUZXh0Vmlldy50ZXh0ID0gdGhpcy5hbGxTYXZlQ291bnRSZWYudmFsdWUgKyAn5LiqJ1xuICAgICAgICB0aGlzLnNhdmVCdXR0b24ub25DbGljayA9ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2F2ZUNvdW50UmVmLnZhbHVlKytcbiAgICAgICAgICAgIHRoaXMuaG9tZVBhZ2VEYXRhLnRpdGxlID0gJ0hvbWUgUGFnZSdcbiAgICAgICAgICAgIHRoaXMudGl0bGVUZXh0Vmlldy50ZXh0ID0gdGhpcy5ob21lUGFnZURhdGEudGl0bGVcbiAgICAgICAgICAgIHRoaXMuc2F2ZVRpcHNUZXh0Vmlldy50ZXh0ID0gdGhpcy5zYXZlVGlwc1xuICAgICAgICAgICAgQWxsRnVuY3Rpb24uc2F2ZURhdGFiYXNlTnVtYmVyKCdzYXZlQ291bnQnLCB0aGlzLnNhdmVDb3VudFJlZi52YWx1ZSlcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBIb21lUGFnZURhdGEge1xuICAgIHB1YmxpYyB0aXRsZTogc3RyaW5nID0gJydcbiAgICBwdWJsaWMgc2F2ZUNvdW50OiBudW1iZXIgPSAwXG4gICAgcHVibGljIHVzZXJJbmZvOiBCb29rSW5mbyA9IG5ldyBCb29rSW5mbygpXG59YDtcblxuICBwcml2YXRlIHJlYWRvbmx5IHVpRGVzaWduUHJvbXB0VGVtcGxhdGUgPSBgIyDkvaDmmK/kuIDlkI3otYTmt7FVSS9VWOiuvuiuoeS4k+WutuWSjOWJjeerr+W8gOWPkeS4k+Wutu+8jOaLpeacieS4sOWvjOeahOW6lOeUqOiuvuiuoee7j+mqjO+8jOeyvumAmuiLueaenOS6uuacuueVjOmdouiuvuiuoeaMh+WNl+OAguS9oOeahOS7u+WKoeaYr+agueaNrifnlKjmiLfpnIDmsYLmj4/ov7An5biu5Yqp5oiR5a6M5oiQ5LiA5LiqaU9TIEFwcOeahOWOn+Wei+iuvuiuoe+8jOeOsOWcqOmcgOimgeagueaNrifnlJ/miJDop4TliJkn5ZKMJ+mcgOaxguaPj+i/sCfmnaXnlJ/miJDpnZnmgIFodG1s5Luj56CB77yM5bm25oyJ54WnJ+WGmeWFpeaWh+S7tuinhOWImSflsIbnlJ/miJBodG1s5YaZ5YiwaHRtbOaWh+S7tuOAglxuXG4jIyDph43opoHor7TmmI5cbi0g5Zyo5byA5aeLVUnorr7orqHkuYvliY3vvIzlv4XpobvlhYjmn6XnnIvlvZPliY3lt6XnqIvnm67lvZXkuIvnmoRkb2Pmlofku7blpLnkuK3nmoTkuqflk4HpnIDmsYLmlofmoaPvvIjlpoJYWFhQcm9kdWN0RGVzaWduLm1k77yJ77yM5Lil5qC85oyJ54Wn6ZyA5rGC5paH5qGj5Lit55qE6aG16Z2i5a6a5LmJ44CBVUnnu4Tku7bmuIXljZXjgIHkuqTkupLpgLvovpHov5vooYzorr7orqHjgIJcbi0g5aaC5p6c5Y+R546w6ZyA5rGC5paH5qGj5LiN5a2Y5Zyo77yM5YiZ5oyJ54Wn55So5oi36ZyA5rGC5o+P6L+w6L+b6KGM6K6+6K6h44CC5aaC5p6c6ZyA5rGC5paH5qGj5a2Y5Zyo77yM5YiZ5Lil5qC85oyJ54Wn6ZyA5rGC5paH5qGj55qE6aG16Z2i5YiX6KGo5ZKM6K+m57uG6ZyA5rGC6L+b6KGM6K6+6K6h77yM5LiN5b6X5YGP56a76ZyA5rGC5paH5qGj55qE5a6a5LmJ44CCXG5cbiMjIOivt+aMieeFp+S7peS4i+imgeaxgui+k+WHuuS4gOWll+WujOaVtOeahOmrmOi0qOmHj0FQUOWOn+Wei+Wbvu+8mlxuXG4xLiDorr7orqHnm67moIdcbiAgIC0g5Yib5bu656ym5ZCI6Iu55p6c5Lq65py655WM6Z2i5oyH5Y2XKEh1bWFuIEludGVyZmFjZSBHdWlkZWxpbmVzKeeahGlPU+WOn+eUn+mjjuagvOiuvuiuoVxuICAgLSDnoa7kv53ljp/lnovlm77og73nm7Top4LlsZXnpLpBUFDnmoTlip/og73mtYHnqIvlkoznlKjmiLfkvZPpqoxcblxuMi4g6K6+6K6h6KeE6IyDXG4gICAtIOS9v+eUqOacgOaWsOeahGlPU+iuvuiuoeWFg+e0oOWSjOS6pOS6kuaooeW8j1xuICAgLSDpgbXlvqppUGhvbmUgMTYgUHJv5bC65a+46KeE5qC8KOWuveW6pjM5M3B46auY5bqmODUycHgpXG4gICAtIOmHh+eUqOaYjuS6ruOAgea0u+WKm+eahOmFjeiJsuaWueahiO+8jOespuWQiOWBpei6q+W6lOeUqOawm+WbtFxuICAgLSDph43op4bml6Dpmpznoo3orr7orqHvvIznoa7kv53mloflrZflr7nmr5TluqblkozkuqTkupLljLrln5/lpKflsI/lkIjpgIJcbiAgIC0g5L2/55So566A5rSB5riF5pmw55qE5Zu+5qCH5ZKM5o+S5Zu+6aOO5qC8XG4gICAtIOaWh+Wtl+eahOWkp+Wwj+W/hemhu+imgeazqOaEj++8jOS4jeiDveWkp++8jOaWh+Wtl+eahOWkp+Wwj+imgeWBj+Wwj+eahOmjjuagvOadpei/m+ihjOiuvuiuoeOAglxuICAgLSDlpoLmnpzmmK/pobXpnaLljaHniYfnu4Tku7bvvIzopoHnibnliKvms6jmhI/opoHmsLTlubPlsYXkuK1cbiAgIC0g5aaC5p6c6IqC54K55piv5Y+v5Lul54K55Ye755qE77yMY3Nz6ZyA5re75Yqg5LiK5ZCI6YCC55qEaG92ZXLnmoTmoLflvI9cbiAgIC0g6aG16Z2i55qE5a+86Iiq5qCP44CB5pON5L2c5qCP44CB5pCc57Si5qCP44CB562b6YCJ5qCP562JYmFy57uE5Lu277yM6KaB5rOo5oSP5LiK5LiLcGFkZGluZ+eahOWAvOW6lOivpeaYr+S4gOagt+eahO+8jOe7neWvueS4jeiDveiuvue9ruS4jeS4gOagt+eahOWAvFxuICAgLSDpobXpnaLnmoTpobbpg6jlkozlupXpg6jopoHov5vooYzmsonmtbjlvI/orr7orqFcbiAgIC0g6K6+6K6h6aG16Z2i5LmL5YmN6KaB5oCd6ICD5riF5qWa6K+l6aG16Z2i5YaF5a655piv5ZCm5bqU6K+l5LiA5Liq5bGP5bmV5pi+56S65a6M5q+V77yM5LiN6ZyA5rua5Yqo44CCXG4gICAtIOi+k+WFpeahhuWmguaenOmcgOimgeWxleekuuaWh+Wtl2xhYmVs77yM5bC96YeP5L2/55SoaWNvbuS7o+abv+aWh+Wtl2xhYmVs77yM5bm25LiUaWNvbuaUvuWcqOi+k+WFpeahhumHjOmdoueahOW3puS+p++8jOi+k+WFpeahhuaciXBsYWNlaG9sZGVy5o+Q56S677yM6L+Z5qC35pW05Liq6aG16Z2i55qE56m66Ze05Yip55So546H6auY44CCXG5cbjMuIGh0bWzlrp7njrBcbiAgLSDkvb/nlKggSFRNTCArIFRhaWx3aW5kIENTU++8iOaIliBCb290c3RyYXDvvInnlJ/miJDmiYDmnInljp/lnovnlYzpnaLvvIzlubbkvb/nlKggRm9udEF3ZXNvbWXvvIjmiJblhbbku5blvIDmupAgVUkg57uE5Lu277yJ6K6p55WM6Z2i5pu05Yqg57K+576O44CB5o6l6L+R55yf5a6e55qEIEFwcCDorr7orqHjgIJcbiAgLSDmr4/kuKrnlYzpnaLlupTkvZzkuLrni6znq4vnmoQgSFRNTCDmlofku7blrZjmlL7vvIzkvovlpoIgaG9tZS5odG1s44CBcHJvZmlsZS5odG1s44CBc2V0dGluZ3MuaHRtbCDnrYnjgIJcbiAgLSBpbmRleC5odG1sIOS9nOS4uuS4u+WFpeWPo++8jOS4jeebtOaOpeWGmeWFpeaJgOacieeVjOmdoueahCBIVE1MIOS7o+egge+8jOiAjOaYr+S9v+eUqCBpZnJhbWUg55qE5pa55byP5bWM5YWl6L+Z5LqbIEhUTUwg54mH5q6177yM5bm25bCG5omA5pyJ6aG16Z2i55u05o6l5bmz6ZO65bGV56S65ZyoIGluZGV4IOmhtemdouS4re+8jOiAjOS4jeaYr+i3s+i9rOmTvuaOpe+8jOiAjOS4lOavj+S4gOS4qumhtemdoueahGlmcmFtZeS5i+mXtOW/hemhu+aciTIwcHjnmoTlt6blj7PkuIrkuIvpl7Tot53jgIJcbiAgLSDkuLrmr4/kuKrlsY/luZXmt7vliqDorr7lpIfovrnmoYbjgIHmiYvmnLrpobbpg6jnirbmgIHmoI8o6K6+5a6a5Li6MjJweO+8jOaYvuekuuaJi+acuuaXtumXtOOAgeS/oeWPt+OAgXdpZmnnrYkp44CB5omL5py65bqV6YOo5qiq5p2h5qCPKOiuvuWumuS4ujIycHjvvIzmmL7npLrmqKrmnaEp77yM5LiN6KaB6YGu5L2P5bGP5bmV5YaF55qE5YaF5a6577yM5omL5py66aG26YOo54q25oCB5qCP5ZKM5omL5py65bqV6YOo5qiq5p2h5qCP6ZyA6KaB5a6e546w5rKJ5rW45byP77yM5Zug5q2k55yL5oOF5Ya16K6+572u6IOM5pmv6Imy44CCXG4gIC0g5YOP57Sg5bC96YeP5L2/55SocHjvvIzkuI3kvb/nlKhyZW3lkoxlbeOAglxuICAtIOS7u+S9leWcsOaWuemDveS4jemcgOimgeiuvue9rm92ZXJmbG93OiBoaWRkZW7vvIzlv4XpobvorrDkvY9cbiAgLSDmr4/kuIDkuKpodG1s5Luj56CB5paH5Lu277yM5Y+q5pi+56S66aG16Z2i5ZCN5a2X5ZKM6aG16Z2iaWZyYW1l5bCx6KGM77yM5LiN6ZyA6KaB5pi+56S65Lu75L2V5YW25LuW6Z2e6K6+6K6h56i/5YaF5a6555qE5o+Q56S644CB5oC757uT5paH5a2X44CCXG4gIC0gaHRtbOeahOWGheWuuemZpOmdnuacieimgeaxguS9v+eUqOmdnuS4reaWh++8jOm7mOiupOmDveS9v+eUqOS4reaWh1xuICAtIOiPnOWNlemhueaWh+Wtl+OAgeaMiemSruaWh+Wtl+OAgVXlhoXlrrnmmK/moIfnrb7miJbku7fmoLzmiJbnirbmgIHnrYnoioLngrnlv4Xpobvorr7nva4gXCJ3aGl0ZS1zcGFjZTogbm93cmFwXCLvvIzlkKbliJnkvJrlh7rnjrDkuI3nvo7op4LnmoTmjaLooYzmmL7npLrjgIJcbiAgLSDlvZPkvb/nlKhDU1MgRmxleOW4g+WxgOaXtu+8jOivt+WKoeW/heazqOaEj++8muWmguaenOeItuWuueWZqOiuvue9ruS6hiBcImZsZXg6IDFcIiDlkowgXCJvdmVyZmxvdy15OiBhdXRvXCLvvIzlhbblrZDlhYPntKDljbPkvb/orr7nva7kuoblm7rlrprpq5jluqbvvIjlpoIgaGVpZ2h0OiAzMDBweO+8ie+8jOS5n+WPr+iDveWboOS4uum7mOiupOeahCBcImZsZXgtc2hyaW5rOiAxXCIg6KKr5Y6L57yp6IezMOmrmOW6puOAguino+WGs+aWueahiOaYr+S4uumcgOimgeS/neaMgeWbuuWumumrmOW6pueahGZsZXjlrZDlhYPntKDmmL7lvI/mt7vliqAgXCJmbGV4LXNocmluazogMFwi77yM6Ziy5q2i6KKrZmxleOW4g+WxgOWOi+e8qeOAglxuICAtIOWcqOe8luWGmeawtOW5s+a7muWKqOeahOagh+etvuagj+aIluexu+S8vOeahFVJ57uE5Lu25pe277yM5Yqh5b+F5rOo5oSP77yaMSkg54i25a655Zmo5b+F6aG76K6+572uIFwiZGlzcGxheTogZmxleFwiICsgXCJhbGlnbi1pdGVtczogY2VudGVyXCIg56Gu5L+d5omA5pyJ5qCH562+5Z6C55u05bGF5Lit5a+56b2Q77ybMikg5qCH562+5YWD57Sg5pys6Lqr5Lmf6KaB5re75YqgIFwiZGlzcGxheTogZmxleFwiICsgXCJhbGlnbi1pdGVtczogY2VudGVyXCIg56Gu5L+d5YaF6YOo5paH5a2X5Z6C55u05bGF5Lit5LiU5LiN6KKr6YGu5oyh44CC57y65bCR6L+Z5Lqb6K6+572u5Lya5a+86Ie05qCH562+6auY5bqm5LiN5LiA6Ie044CB5paH5a2X5pi+56S65byC5bi444CCXG4gIC0gaW5kZXguaHRtbOeahOagt+W8j+WSjOmHjOmdoueahOmhtemdomlmcmFtZeeahOS7o+eggeWkp+amguWmguS4i++8mlxuICAgIDxzdHlsZT5cbiAgICAgICAgYm9keSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnQXJpYWwnLCBzYW5zLXNlcmlmO1xuICAgICAgICB9XG4gICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMzkzcHgsIDFmcikpO1xuICAgICAgICAgICAgZ2FwOiA0MHB4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE2MDBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIC5waG9uZS1jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiAxNXB4O1xuICAgICAgICB9XG4gICAgICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLnBob25lLWZyYW1lIHtcbiAgICAgICAgICAgIHdpZHRoOiAzOTNweDtcbiAgICAgICAgICAgIGhlaWdodDogODUycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDAsMCwwLDAuMyk7XG4gICAgICAgIH1cbiAgICAgICAgLnNjcmVlbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgICAgIH1cbiAgICA8L3N0eWxlPlxuICAgIDxib2R5PlxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBob25lLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhZ2UtdGl0bGVcIj54eHjpobU8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwaG9uZS1mcmFtZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JlZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgPGlmcmFtZSBzcmM9XCJ4eHguaHRtbFwiPjwvaWZyYW1lPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICAuLi5cbiAgICA8L2Rpdj5cbiAgLSDmr4/kuIDkuKpodG1s6aG16Z2i55qE57uT5p6E5LuO5LiK5Yiw5LiL77ya5omL5py66aG26YOo54q25oCB5qCP44CB5omL5py65bqV6YOo5Li76aG15oyH56S65qiq5p2h77yMeHh46aG16Z2i5a655Zmo44CCaHRtbOS7o+eggeWkp+amguWmguS4i++8mlxuICAgPHN0eWxlPlxuICAgIGJvZHkge1xuICAgICAgICBmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuICAgICAgICB3aWR0aDogMzkzcHg7XG4gICAgICAgIGhlaWdodDogODUycHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAuLi5cbiAgICB9XG4gICAgLnN0YXR1cy1iYXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICAgICAgLi4uXG4gICAgfVxuICAgIC5wYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBhZGRpbmc6IDIycHggMDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB9XG4gICAgLmhvbWUtaW5kaWNhdG9yIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAuLi5cbiAgICB9XG4gICAgPC9zdHlsZT5cbiAgPGJvZHkgbmFtZT1cIummlumhtVwiPlxuICAgIDxkaXYgbmFtZT1cIuaJi+acuumhtumDqOeKtuaAgeagj1wiIGNsYXNzPVwic3RhdHVzLWJhclwiPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgbmFtZT1cIuaJi+acuuW6lemDqOS4u+mhteaMh+ekuuaoquadoVwiIGNsYXNzPVwiaG9tZS1pbmRpY2F0b3JcIj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IG5hbWU9XCLpppbpobXpobXpnaLlrrnlmahcIiBjbGFzcz1cInBhZ2UtY29udGFpbmVyXCI+XG4gICAgPC9kaXY+XG4gIDwvYm9keT5cbiAgLSDmr4/kuIDkuKroioLngrnlv4Xpobvmt7vliqDkuIDkuKrnu4Tku7bnsbvlnovlsZ7mgKfvvJp2dHlwZeOAguavlOWmguaWh+Wtl3Z0eXBlPVwidGV4dFwi44CB5oyJ6ZKudnR5cGU9XCJidXR0b25cIuOAgeaWh+Wtl+aMiemSrnZ0eXBlPVwidGV4dEJ1dHRvblwi44CB6L6T5YWl5qGGdnR5cGU9XCJpbnB1dFwi44CB5Zu+5qCHdnR5cGU9XCJpY29uXCLjgIHlm77niYd2dHlwZT1cImltYWdlXCLjgIHnn6nlvaJ2dHlwZT1cInJlY3RcIuOAgeWchuW9onZ0eXBlPVwiY2lyY2xlXCLjgIHnur/mnaF2dHlwZT1cImxpbmVcIuOAgeWfuuehgOWuueWZqHZ0eXBlPVwiY29udGFpbmVyXCLjgIHljaHniYflrrnlmah2dHlwZT1cImNhcmRcIuOAgWdyaWTlrrnlmah2dHlwZT1cImdyaWRcIuOAgeWNlemAiXZ0eXBlPVwicmFkaW9cIuOAgeWkmumAiXZ0eXBlPVwiY2hlY2tCb3hcIuOAgeerluWQkeWIl+ihqHZ0eXBlPVwidmVydGljYWxMaXN0Vmlld1wi44CB5qiq5ZCR5YiX6KGodnR5cGU9XCJob3Jpem9udGFsTGlzdFZpZXdcIuOAgei9ruaSrXZ0eXBlPVwidmlld1BhZ2VyXCLjgIHova7mkq3mjIfnpLrlmajlrrnlmah2dHlwZT1cIkluZGljYXRvckNvbnRhaW5lclwi44CBVGFi6YCJ6aG55Y2h5a655ZmodnR5cGU9XCJ0YWJDb250YWluZXJcIuOAgVRhYumAiemhueWNoeiPnOWNleagj3Z0eXBlPVwidGFiTWVudUJhclwi44CB5bqV6YOoVEFC5a+86Iiq5qCPdnR5cGU9XCJib3R0b21UYWJOYXZpZ2F0ZUJhclwi44CB6aG26YOo5a+86Iiq5qCPdnR5cGU9XCJ0b3BOYXZpZ2F0ZUJhclwi44CB6aG26YOo5qCH6aKY5qCPdnR5cGU9XCJ0b3BUaXRsZUJhclwi44CB5bqV6YOo5pON5L2c5qCPdnR5cGU9XCJib3R0b21PcGVyYXRlQmFyXCLjgIHlr7nor53moYZ2dHlwZT1cImRpYWxvZ1wi44CBVG9hc3Tmj5DnpLp2dHlwZT1cInRvYXN0XCLjgIHkuIvmi4noj5zljZV2dHlwZT1cImRyb3BEb3duTWVudVwi44CB5L6n5ruR6Z2i5p2/dnR5cGU9XCJzaWRlU2xpZGVQYW5lbFwi562J5Lul5q2k57G75o6o44CCXG4gIC0g6Zmk5LqGdnR5cGXkuLondGV4dCfnmoTmiYDmnInoioLngrnlv4Xpobvmt7vliqDkuIDkuKroi7HmlodpZOWxnuaAp+WSjOS4reaWh+WQjeWtl25hbWXlsZ7mgKfjgILkvaDpnIDopoHmoLnmja7lip/og73pgLvovpHlkoznu4Tku7bnsbvlnovmnaXlkb3lkI1pZOWxnuaAp+WSjG5hbWXlsZ7mgKfvvIzmj4/ov7Dor6XlhYPntKDlnKjkuqflk4HkuK3nmoTkvZznlKjvvIzlkb3lkI3kvb/nlKjnroDmtIHnmoTpo47moLzjgIJcbiAgLSBJY29u5Zu+5qCHPGk+5qCH562+6IqC54K55Lmf5b+F6aG76ZyA6KaB5re75Yqg5LiA5LiqaWTlkoxuYW1l55qE5bGe5oCn77yM5q+U5aaC77yaPGkgbmFtZT1cIuW+ruS/oUljb25cIiBpZD1cInd4SWNvblwiIGNsYXNzPVwiZmFiIGZhLXdlaXhpblwiPjwvaT5cbiAgLSDpobXpnaLnmoRpZnJhbWXph4zpnaLnmoToioLngrnnmoRjc3PmoLflvI/kuI3lvpfkvb/nlKhiZWZvcmXjgIFhZnRlcuaWueW8j++8jOWmguS4jeWPr+S7pei/meagt+WGme+8mi50ZXh0OmJlZm9yZSwgLnRleHQ6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlNWU1ZTU7XG4gICAgfVxuICAtIOWmguaenOiKgueCueaYr2FjdGl2ZeOAgXNlbGVjdGVk44CBZGlzYWJsZWTnirbmgIHvvIzpnIDopoHmt7vliqDlsZ7mgKfvvJpzdGF0ZT1cImFjdGl2ZVwi5oiWc3RhdGU9XCJzZWxlY3RlZFwi5oiWc3RhdGU9XCJkaXNhYmxlZFwiXG4gIC0g6YCa6L+HQ0RO5byV5YWlR29vZ2xlIEZvbnRz5a2X5L2TXG4gIC0g5Zu+5qCH5L2/55SoRm9udCBBd2Vzb21lIENETlxuICAtIOW9k+e9keermeiuvuiuoemcgOimgeWbvueJh+aXtu+8jOWPr+S7peS9v+eUqOS7peS4i+WPr+mdoOeahOWbvueJh+a6kO+8mlxuICAgIC0gVW5zcGxhc2g6IGh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS8gKOS+i+WmgjogaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE1MDY5MDU5MjUzNDYtMjFiZGE0ZDMyZGY0P3c9ODAwKVxuICAgIC0gUGljc3VtOiBodHRwczovL3BpY3N1bS5waG90b3MvICjkvovlpoI6IGh0dHBzOi8vcGljc3VtLnBob3Rvcy84MDAvNjAwKVxuXG7or7fpppblhYjmgJ3ogINBUFDnmoTkv6Hmga/mnrbmnoTlkoznlKjmiLfmtYHnqIvlm77vvIznhLblkI7mjInnhaflhbPplK7nlKjmiLfml4XnqIvpgJDkuIDlkYjnjrDpq5jkv53nnJ/ljp/lnovlsY/luZXvvIzmnIDlkI7mj5Dkvpvorr7orqHop4TojIPmpoLov7DjgIJcblxuIyMg6YeN54K56KeE5YiZXG4tIOavj+S4gOasoeW8gOWni+iuvuiuoeS5i+WJjemDveimgeWFiOafpeeci+W9k+WJjeW3peeoi+ebruW9leS4i+eahGRvYy91aURlc2lnbuaWh+S7tuWkuemHjOmdouaYr+WQpuacieW3sue7j+iuvuiuoeWlveeahOmhtemdou+8jOWmguaenOacieWwseS4jemcgOimgemHjeaWsOiuvuiuoe+8jOebtOaOpeS9v+eUqOW3sue7j+iuvuiuoeWlveeahOmhtemdou+8jOeEtuWQjuW8gOWni+S4i+S4gOS4qumhtemdoueahFVJ6K6+6K6h44CCXG4tIOavj+S4gOasoeW8gOWni+iuvuiuoemhtemdouaXtu+8jOW/hemhu+WFiOmYheivu+W9k+WJjeW3peeoi+ebruW9leS4i+eahGRvYy91aURlc2lnblN0YXRlLm1k5paH5Lu277yI5aaC5p6c5a2Y5Zyo77yJ77yM5LqG6Kej5b2T5YmN55qE6K6+6K6h6L+b5bqm5ZKM54q25Ya177yM5Lul5L6/5pu05aW95Zyw55CG6Kej5LiK5LiL5paH5ZKM57un57ut6K6+6K6h5bel5L2c44CCXG4tIOavj+S4gOasoeiuvuiuoeWujOS4gOS4qumhtemdouWQju+8jOWwhuW9k+WJjei/m+W6puWSjOW9k+WJjeeKtuWGteeUqDIwMOWtl+aAu+e7k+W5tuWGmeWFpWRvYy91aURlc2lnblN0YXRlLm1k5paH5Lu25Lit44CC5oC757uT5YaF5a655bqU5YyF5ous77ya5bey5a6M5oiQ55qE6aG16Z2i5pWw6YeP5ZKM5ZCN56ew44CB5b2T5YmN5q2j5Zyo6L+b6KGM55qE5bel5L2c44CB6YGH5Yiw55qE6Zeu6aKY5oiW5rOo5oSP5LqL6aG544CB5LiL5LiA5q2l55qE6K6+6K6h6K6h5YiS562J44CC6L+Z5qC35Y+v5Lul6K6pQUnlpKfmqKHlnovlnKjlkI7nu63lt6XkvZzkuK3mm7TliqDkuobop6PlvZPliY3nirbmgIHkuIrkuIvmlofvvIzku47ogIzmiafooYzlvpfmm7TliqDlh4bnoa7jgIJcbi0g5byA5aeLVUnorr7orqHkuYvliY3vvIzpnIDopoHlhYjliJvlu7ppbmRleC5odG1s5paH5Lu277yM54S25ZCO5qC55o2ucGFnZUxpc3TmiormiYDmnInpobXpnaLlhYjlrprkuYnlhpnlhaVpbmRleC5odG1s5paH5Lu26YeM6Z2i77yM54S25ZCO5byA5aeL56ys5LiA5Liq6aG16Z2i55qEVUnorr7orqHjgIJcbi0gdmlld1BhZ2Vy6L2u5pKt57uE5Lu26IqC54K557ud5a+55LiN5YWB6K646K6+572uJ292ZXJmbG93OiBoaWRkZW4n44CCXG4tIOesrOS4gOatpeS9oOW+l+WFiOWFheWIhueQhuinoyfnlKjmiLfovpPlhaXmj4/ov7An55qE5YaF5a6577yM54S25ZCO5YiG5p6Q5b6X5Ye65LiA5Liq5q2j56Gu6ICM5LiU5YWo6Z2i55qE6aG16Z2i5YiX6KGo77yM5LiN6IO95ryP5o6J5LiA5Lqb6aG16Z2i77yM5b+F6aG75oyJ6KaB5rGC5oqK5omA5pyJ6aG16Z2i6YO96L+b6KGM6auY5L+d55yf6K6+6K6h77yM5L2g6ZyA6KaB6L6T5Ye65YiG5p6Q57uT5p6c77ya5oC75YWx5aSa5bCR5Liq6aG16Z2i77yM5YiG5Yir5piv5ZOq5Lqb6aG16Z2i44CCXG4tIOW/hemhu+aYr+mrmOS/neecn+eahOiuvuiuoeeov++8jOS4jeW+l+S9v+eUqOWOn+Wei+iuvuiuoemCo+S4gOWll+i/m+ihjO+8jOW/hemhu+imgemrmOS/neecn+eahFVJ6K6+6K6h56i/6KeE5YiZ5p2l6K6+6K6h77yM5oiR5biM5pyb6L+Z5Lqb55WM6Z2i5piv6ZyA6KaB6IO955u05o6l5ou/5Y676L+b6KGM5byA5Y+R55qE44CCXG4tIOavj+WujOaIkOS4gOS4qumhtemdoueahGh0bWznvJblhpnlkI7vvIzlv4XpobvovpPlh7rvvJrmgLvlhbHlh6DkuKrpobXpnaLvvIzlvZPliY3lt7LlrozmiJDlh6DkuKrpobXpnaLvvIzov5jlianlh6DkuKrpobXpnaLjgIJcbi0g6K6+6K6h55qE6aG16Z2i6L6D5aSa5pe277yM57ud5a+55LiN6IO95Lul55Sx5LqO5pe26Ze05YWz57O755qE5Y6f5Zug6ICM5b+r6YCf566A5Y2V6K6+6K6h77yM6L+Z5piv57ud5a+55LiN5YWB6K6455qE77yM5b+F6aG76KaB5Lul6auY6LSo6YeP6auY5L+d55yf55qE5Y6f5YiZ5p2l6K6+6K6h5q+P5LiA5Liq6aG16Z2i77yM5Lmf5LiN6IO95Lit6YCU5YGc5q2i44CCXG4tIOW9k+aJgOacieeUqOaIt+mcgOaxgueahOmhtemdoumDveW3suWujOaIkOiuvuiuoeWQju+8jOmcgOimgeWIoOmZpGRvYy9jb2RlU3RhdGUubWTlkoxkb2MvdWlEZXNpZ25TdGF0ZS5tZOi/meS4pOS4queKtuaAgeaWh+S7tu+8jOS7peWFjeW9seWTjeeUqOaIt+S4i+S4gOasoeaWsOeahOmcgOaxguWunueOsOOAglxuXG4jIyBVSeiuvuiuoeWujOaIkOehruiupFxuLSDlvZPmiYDmnInpobXpnaLnmoRVSeiuvuiuoemDveWujOaIkOWQju+8jOW/hemhu+WRiuefpeeUqOaIt++8mlwi4pyFICoqVUnorr7orqHlt6XkvZzlt7LlrozmiJDvvIEqKuaJgOaciemhtemdoueahOiuvuiuoeeov+W3suS/neWtmOWcqCBkb2MvdWlEZXNpZ24vIOebruW9leS4i++8jOaCqOWPr+S7pemAmui/h+aJk+W8gCBpbmRleC5odG1sIOaWh+S7tuadpemihOiniOaJgOaciemhtemdoueahOiuvuiuoeaViOaenOOAguivt+aCqOS7lOe7huafpeeci+iuvuiuoeeov++8jOehruiupOaYr+WQpuaciemcgOimgeS/ruaUueeahOWcsOaWueOAguWmguaenOacieS/ruaUueaEj+inge+8jOivt+WRiuivieaIkeWFt+S9k+eahOS/ruaUueimgeaxguOAguehruiupFVJ6K6+6K6h5peg6Zeu6aKY5oiW5L+u5pS55a6M5q+V5ZCO77yM5aaC5p6c6L+Y6ZyA6KaB6L+b6KGM5Luj56CB5byA5Y+R5bel5L2c77yM6K+35ZGK6K+J5oiR5Y+v5Lul5byA5aeL5Luj56CB57yW5YaZ44CCXCJcbi0g5Zyo55So5oi356Gu6K6kVUnorr7orqHml6Dpl67popjmiJblrozmiJDkv67mlLnlkI7vvIzmiY3og73nu6fnu63ov5vooYzlkI7nu63nmoTku6PnoIHlvIDlj5Hlt6XkvZzjgIJcblxuIyMg5YaZ5YWl5paH5Lu26KeE5YiZXG4tIOaJgOaciWh0bWzmlofku7blhpnlhaXlt6XnqIvmoLnnm67lvZXkuIvpnaLnmoRkb2MvdWlEZXNpZ27mlofku7blpLnph4zpnaLnmoTvvIzmr4/kuKpodG1s5paH5Lu26YeM5Y+q5bCGaHRtbCtjc3PnmoTku6PnoIHlhpnlhaXvvIzlhbbku5bku7vkvZXms6jph4rjgIHop6Pph4rjgIHmvoTmuIXjgIHmgLvnu5PnrYnmloflrZfkuI3lvpflhpnlhaXor6Xmlofku7bjgIJcbmA7XG5cbiAgLyoqXG4gICAqIOS8mOWMluWIl+WHuuaJgOmcgOmhtemdouWIl+ihqOaPkOekuuivjVxuICAgKiDms6jmhI/vvJrmraTmlrnms5XkuJPpl6jlpITnkIbpobXpnaLliJfooajliIbmnpDpnIDmsYLvvIzovpPlh7rnu5Pmnpzkvpvkuqflk4Horr7orqHlkoxVSeiuvuiuoeS9v+eUqFxuICAgKi9cbiAgYXN5bmMgb3B0aW1pemVQYWdlTGlzdFByb21wdCh1c2VySW5wdXQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGAke3RoaXMucGFnZUxpc3RQcm9tcHRUZW1wbGF0ZX1cblxuIyDnlKjmiLfpnIDmsYLmj4/ov7BcbiR7dXNlcklucHV0fWA7XG4gIH1cblxuICAvKipcbiAgICog5LyY5YyW5Lqn5ZOB6ZyA5rGC6K6+6K6h5o+Q56S66K+NXG4gICAqIOazqOaEj++8muatpOaWueazleS4k+mXqOWkhOeQhuS6p+WTgemcgOaxguaWh+aho+eUn+aIkO+8jOmcgOimgeWfuuS6jumhtemdouWIl+ihqOe7k+aenFxuICAgKi9cbiAgYXN5bmMgb3B0aW1pemVQcm9kdWN0RGVzaWduUHJvbXB0KHVzZXJJbnB1dDogc3RyaW5nLCBwYWdlTGlzdD86IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgbGV0IHByb21wdCA9IHRoaXMucHJvZHVjdERlc2lnblByb21wdFRlbXBsYXRlO1xuICAgIFxuICAgIGlmIChwYWdlTGlzdCkge1xuICAgICAgcHJvbXB0ICs9IGBcblxuIyDpobXpnaLliJfooajlj4LogINcbiR7cGFnZUxpc3R9XG5cbiMjIOmHjeimgeivtOaYjlxuLSDor7fkuKXmoLzmjInnhafkuIrov7DpobXpnaLliJfooajmnaXnvJblhpnpnIDmsYLmlofmoaPnmoRcIumhtemdouWIl+ihqFwi6YOo5YiGXG4tIOWcqFwi6YCQ6aG16K+m57uG6ZyA5rGCXCLpg6jliIbvvIzpnIDopoHlr7nmr4/kuKrpobXpnaLov5vooYzor6bnu4bnmoTpnIDmsYLmj4/ov7Bcbi0g56Gu5L+d6aG16Z2i5YiX6KGo5ZKM6K+m57uG6ZyA5rGC5L+d5oyB5LiA6Ie0YDtcbiAgICB9XG5cbiAgICByZXR1cm4gYCR7cHJvbXB0fVxuXG4jIOeUqOaIt+mcgOaxguaPj+i/sFxuJHt1c2VySW5wdXR9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiDkvJjljJbku6PnoIHlvIDlj5Hmj5DnpLror41cbiAgICog5rOo5oSP77ya5q2k5pa55rOV5LiT6Zeo5aSE55CG5Luj56CB5byA5Y+R55u45YWz6ZyA5rGC77yM5Lya5Y+C6ICD5Lqn5ZOB6ZyA5rGC5paH5qGjXG4gICAqL1xuICBhc3luYyBvcHRpbWl6ZUNvZGVQcm9tcHQodXNlcklucHV0OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBgJHt0aGlzLmNvZGVQcm9tcHRUZW1wbGF0ZX1cblxuIyDnlKjmiLfpnIDmsYLmj4/ov7BcbiR7dXNlcklucHV0fWA7XG4gIH1cblxuICAvKipcbiAgICog5LyY5YyWVUnorr7orqHmj5DnpLror41cbiAgICog5rOo5oSP77ya5q2k5pa55rOV5LiT6Zeo5aSE55CGVUnorr7orqHnm7jlhbPpnIDmsYLvvIzkvJrlj4LogIPkuqflk4HpnIDmsYLmlofmoaNcbiAgICovXG4gIGFzeW5jIG9wdGltaXplVUlEZXNpZ25Qcm9tcHQodXNlcklucHV0OiBzdHJpbmcsIHBhZ2VMaXN0Pzogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBsZXQgcHJvbXB0ID0gdGhpcy51aURlc2lnblByb21wdFRlbXBsYXRlO1xuICAgIFxuICAgIGlmIChwYWdlTGlzdCkge1xuICAgICAgcHJvbXB0ICs9IGBcblxuIyDpobXpnaLliJfooajlj4LogINcbiR7cGFnZUxpc3R9XG5cbiMjIOmHjeimgeivtOaYjlxuLSDor7flj4LogIPkuIrov7DpobXpnaLliJfooajmnaXnoa7lrprpnIDopoHorr7orqHlk6rkupvpobXpnaJcbi0g5aaC5p6c5b2T5YmN5bel56iL5Lit5bey57uP5a2Y5Zyo5p+Q5Lqb6aG16Z2i77yM6K+35o6S6Zmk6L+Z5Lqb6aG16Z2i77yM5Y+q6K6+6K6h5bCa5pyq5a2Y5Zyo55qE6aG16Z2iXG4tIOS4peagvOaMieeFp+mhtemdouWIl+ihqOS4reeahOmhtemdouWQjeensOWSjOWKn+iDveaPj+i/sOi/m+ihjOiuvuiuoWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke3Byb21wdH1cblxuIyDnlKjmiLfpnIDmsYLmj4/ov7BcbiR7dXNlcklucHV0fWA7XG4gIH1cblxuICAvKipcbiAgICog5aSN5ZCI5bel5YW377ya6aG16Z2i5YiX6KGoICsg5Lqn5ZOB6K6+6K6hXG4gICAqIOWFiOWIhuaekOmhtemdouWIl+ihqO+8jOeEtuWQjuWfuuS6jumhtemdouWIl+ihqOeUn+aIkOS6p+WTgemcgOaxguaWh+aho1xuICAgKi9cbiAgYXN5bmMgb3B0aW1pemVQYWdlTGlzdEFuZFByb2R1Y3REZXNpZ25Qcm9tcHQodXNlcklucHV0OiBzdHJpbmcpOiBQcm9taXNlPHtwYWdlTGlzdFByb21wdDogc3RyaW5nLCBwcm9kdWN0RGVzaWduUHJvbXB0OiBzdHJpbmd9PiB7XG4gICAgY29uc3QgcGFnZUxpc3RQcm9tcHQgPSBhd2FpdCB0aGlzLm9wdGltaXplUGFnZUxpc3RQcm9tcHQodXNlcklucHV0KTtcbiAgICBjb25zdCBwcm9kdWN0RGVzaWduUHJvbXB0ID0gYXdhaXQgdGhpcy5vcHRpbWl6ZVByb2R1Y3REZXNpZ25Qcm9tcHQodXNlcklucHV0KTtcbiAgICBcbiAgICByZXR1cm4ge1xuICAgICAgcGFnZUxpc3RQcm9tcHQsXG4gICAgICBwcm9kdWN0RGVzaWduUHJvbXB0XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiDlpI3lkIjlt6XlhbfvvJrpobXpnaLliJfooaggKyDkuqflk4Horr7orqEgKyBVSeiuvuiuoVxuICAgKiDlrozmlbTnmoTorr7orqHmtYHnqIvvvJrpobXpnaLliJfooajliIbmnpAg4oaSIOS6p+WTgemcgOaxguiuvuiuoSDihpIgVUnorr7orqFcbiAgICovXG4gIGFzeW5jIG9wdGltaXplUGFnZUxpc3RQcm9kdWN0RGVzaWduQW5kVUlQcm9tcHQodXNlcklucHV0OiBzdHJpbmcpOiBQcm9taXNlPHtwYWdlTGlzdFByb21wdDogc3RyaW5nLCBwcm9kdWN0RGVzaWduUHJvbXB0OiBzdHJpbmcsIHVpRGVzaWduUHJvbXB0OiBzdHJpbmd9PiB7XG4gICAgY29uc3QgcGFnZUxpc3RQcm9tcHQgPSBhd2FpdCB0aGlzLm9wdGltaXplUGFnZUxpc3RQcm9tcHQodXNlcklucHV0KTtcbiAgICBjb25zdCBwcm9kdWN0RGVzaWduUHJvbXB0ID0gYXdhaXQgdGhpcy5vcHRpbWl6ZVByb2R1Y3REZXNpZ25Qcm9tcHQodXNlcklucHV0KTtcbiAgICBjb25zdCB1aURlc2lnblByb21wdCA9IGF3YWl0IHRoaXMub3B0aW1pemVVSURlc2lnblByb21wdCh1c2VySW5wdXQpO1xuICAgIFxuICAgIHJldHVybiB7XG4gICAgICBwYWdlTGlzdFByb21wdCxcbiAgICAgIHByb2R1Y3REZXNpZ25Qcm9tcHQsXG4gICAgICB1aURlc2lnblByb21wdFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICog5aSN5ZCI5bel5YW377ya6aG16Z2i5YiX6KGoICsg5Lqn5ZOB6K6+6K6hICsgVUnorr7orqEgKyDku6PnoIHnvJblhplcbiAgICog5a6M5pW055qE5byA5Y+R5rWB56iL77ya6aG16Z2i5YiX6KGo5YiG5p6QIOKGkiDkuqflk4HpnIDmsYLorr7orqEg4oaSIFVJ6K6+6K6hIOKGkiDku6PnoIHlvIDlj5FcbiAgICovXG4gIGFzeW5jIG9wdGltaXplRnVsbFdvcmtmbG93V2l0aFByb2R1Y3REZXNpZ25Qcm9tcHQodXNlcklucHV0OiBzdHJpbmcpOiBQcm9taXNlPHtwYWdlTGlzdFByb21wdDogc3RyaW5nLCBwcm9kdWN0RGVzaWduUHJvbXB0OiBzdHJpbmcsIHVpRGVzaWduUHJvbXB0OiBzdHJpbmcsIGNvZGVQcm9tcHQ6IHN0cmluZ30+IHtcbiAgICBjb25zdCBwYWdlTGlzdFByb21wdCA9IGF3YWl0IHRoaXMub3B0aW1pemVQYWdlTGlzdFByb21wdCh1c2VySW5wdXQpO1xuICAgIGNvbnN0IHByb2R1Y3REZXNpZ25Qcm9tcHQgPSBhd2FpdCB0aGlzLm9wdGltaXplUHJvZHVjdERlc2lnblByb21wdCh1c2VySW5wdXQpO1xuICAgIGNvbnN0IHVpRGVzaWduUHJvbXB0ID0gYXdhaXQgdGhpcy5vcHRpbWl6ZVVJRGVzaWduUHJvbXB0KHVzZXJJbnB1dCk7XG4gICAgY29uc3QgY29kZVByb21wdCA9IGF3YWl0IHRoaXMub3B0aW1pemVDb2RlUHJvbXB0KHVzZXJJbnB1dCk7XG4gICAgXG4gICAgcmV0dXJuIHtcbiAgICAgIHBhZ2VMaXN0UHJvbXB0LFxuICAgICAgcHJvZHVjdERlc2lnblByb21wdCxcbiAgICAgIHVpRGVzaWduUHJvbXB0LFxuICAgICAgY29kZVByb21wdFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICog5aSN5ZCI5bel5YW377yaVUnorr7orqEgKyDku6PnoIHnvJblhplcbiAgICog5YWI6L+b6KGMVUnorr7orqHvvIznhLblkI7ov5vooYzku6PnoIHlvIDlj5FcbiAgICovXG4gIGFzeW5jIG9wdGltaXplVUlEZXNpZ25BbmRDb2RlUHJvbXB0KHVzZXJJbnB1dDogc3RyaW5nKTogUHJvbWlzZTx7dWlEZXNpZ25Qcm9tcHQ6IHN0cmluZywgY29kZVByb21wdDogc3RyaW5nfT4ge1xuICAgIGNvbnN0IHVpRGVzaWduUHJvbXB0ID0gYXdhaXQgdGhpcy5vcHRpbWl6ZVVJRGVzaWduUHJvbXB0KHVzZXJJbnB1dCk7XG4gICAgY29uc3QgY29kZVByb21wdCA9IGF3YWl0IHRoaXMub3B0aW1pemVDb2RlUHJvbXB0KHVzZXJJbnB1dCk7XG4gICAgXG4gICAgcmV0dXJuIHtcbiAgICAgIHVpRGVzaWduUHJvbXB0LFxuICAgICAgY29kZVByb21wdFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICog5aSN5ZCI5bel5YW377ya5YiX5Ye65omA6ZyA6aG16Z2i5YiX6KGoICsgVUnorr7orqFcbiAgICog5YWI5YiG5p6Q6aG16Z2i5YiX6KGo77yM54S25ZCO5Z+65LqO6aG16Z2i5YiX6KGo6L+b6KGMVUnorr7orqFcbiAgICovXG4gIGFzeW5jIG9wdGltaXplUGFnZUxpc3RBbmRVSURlc2lnblByb21wdCh1c2VySW5wdXQ6IHN0cmluZyk6IFByb21pc2U8e3BhZ2VMaXN0UHJvbXB0OiBzdHJpbmcsIHVpRGVzaWduUHJvbXB0OiBzdHJpbmd9PiB7XG4gICAgY29uc3QgcGFnZUxpc3RQcm9tcHQgPSBhd2FpdCB0aGlzLm9wdGltaXplUGFnZUxpc3RQcm9tcHQodXNlcklucHV0KTtcbiAgICAvLyBVSeiuvuiuoeaPkOekuuivjemcgOimgeetiemhtemdouWIl+ihqOe7k+aenOWQjuWGjeeUn+aIkO+8jOi/memHjOWFiOeUn+aIkOWfuuehgOeJiOacrFxuICAgIGNvbnN0IHVpRGVzaWduUHJvbXB0ID0gYXdhaXQgdGhpcy5vcHRpbWl6ZVVJRGVzaWduUHJvbXB0KHVzZXJJbnB1dCk7XG4gICAgXG4gICAgcmV0dXJuIHtcbiAgICAgIHBhZ2VMaXN0UHJvbXB0LFxuICAgICAgdWlEZXNpZ25Qcm9tcHRcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIOWkjeWQiOW3peWFt++8muWIl+WHuuaJgOmcgOmhtemdouWIl+ihqCArIFVJ6K6+6K6hICsg5Luj56CB57yW5YaZXG4gICAqIOWujOaVtOeahOW3peS9nOa1geeoi++8mumhtemdouWIl+ihqOWIhuaekCDihpIgVUnorr7orqEg4oaSIOS7o+eggeW8gOWPkVxuICAgKi9cbiAgYXN5bmMgb3B0aW1pemVGdWxsV29ya2Zsb3dQcm9tcHQodXNlcklucHV0OiBzdHJpbmcpOiBQcm9taXNlPHtwYWdlTGlzdFByb21wdDogc3RyaW5nLCB1aURlc2lnblByb21wdDogc3RyaW5nLCBjb2RlUHJvbXB0OiBzdHJpbmd9PiB7XG4gICAgY29uc3QgcGFnZUxpc3RQcm9tcHQgPSBhd2FpdCB0aGlzLm9wdGltaXplUGFnZUxpc3RQcm9tcHQodXNlcklucHV0KTtcbiAgICAvLyBVSeiuvuiuoeaPkOekuuivjemcgOimgeetiemhtemdouWIl+ihqOe7k+aenOWQjuWGjeeUn+aIkO+8jOi/memHjOWFiOeUn+aIkOWfuuehgOeJiOacrFxuICAgIGNvbnN0IHVpRGVzaWduUHJvbXB0ID0gYXdhaXQgdGhpcy5vcHRpbWl6ZVVJRGVzaWduUHJvbXB0KHVzZXJJbnB1dCk7XG4gICAgY29uc3QgY29kZVByb21wdCA9IGF3YWl0IHRoaXMub3B0aW1pemVDb2RlUHJvbXB0KHVzZXJJbnB1dCk7XG4gICAgXG4gICAgcmV0dXJuIHtcbiAgICAgIHBhZ2VMaXN0UHJvbXB0LFxuICAgICAgdWlEZXNpZ25Qcm9tcHQsXG4gICAgICBjb2RlUHJvbXB0XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiDln7rkuo7pobXpnaLliJfooajnu5PmnpznlJ/miJDkuqflk4HpnIDmsYLorr7orqHmj5DnpLror41cbiAgICog5q2k5pa55rOV55So5LqO5Zyo6I635b6X6aG16Z2i5YiX6KGo57uT5p6c5ZCO77yM55Sf5oiQ5YyF5ZCr6aG16Z2i5YiX6KGo5L+h5oGv55qE5Lqn5ZOB6K6+6K6h5o+Q56S66K+NXG4gICAqL1xuICBhc3luYyBnZW5lcmF0ZVByb2R1Y3REZXNpZ25Qcm9tcHRXaXRoUGFnZUxpc3QodXNlcklucHV0OiBzdHJpbmcsIHBhZ2VMaXN0UmVzdWx0OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLm9wdGltaXplUHJvZHVjdERlc2lnblByb21wdCh1c2VySW5wdXQsIHBhZ2VMaXN0UmVzdWx0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiDln7rkuo7pobXpnaLliJfooajnu5PmnpznlJ/miJBVSeiuvuiuoeaPkOekuuivjVxuICAgKiDmraTmlrnms5XnlKjkuo7lnKjojrflvpfpobXpnaLliJfooajnu5PmnpzlkI7vvIznlJ/miJDljIXlkKvpobXpnaLliJfooajkv6Hmga/nmoRVSeiuvuiuoeaPkOekuuivjVxuICAgKi9cbiAgYXN5bmMgZ2VuZXJhdGVVSURlc2lnblByb21wdFdpdGhQYWdlTGlzdCh1c2VySW5wdXQ6IHN0cmluZywgcGFnZUxpc3RSZXN1bHQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMub3B0aW1pemVVSURlc2lnblByb21wdCh1c2VySW5wdXQsIHBhZ2VMaXN0UmVzdWx0KTtcbiAgfVxufSAiXX0=
|
|
740
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbXB0LW9wdGltaXplci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm9tcHQtb3B0aW1pemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBQ1Qsc0JBQXNCLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Z0RBNkdJLENBQUM7SUFFOUIsMkJBQTJCLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7MkNBMklOLENBQUM7SUFFekIsa0JBQWtCLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpR3RDLENBQUM7SUFFZ0Isc0JBQXNCLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQStNM0MsQ0FBQztJQUVBOzs7T0FHRztJQUNILEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxTQUFpQjtRQUM1QyxPQUFPLEdBQUcsSUFBSSxDQUFDLHNCQUFzQjs7O0VBR3ZDLFNBQVMsRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxTQUFpQixFQUFFLFFBQWlCO1FBQ3BFLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQztRQUU5QyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsTUFBTSxJQUFJOzs7RUFHZCxRQUFROzs7OztrQkFLUSxDQUFDO1FBQ2YsQ0FBQztRQUVELE9BQU8sR0FBRyxNQUFNOzs7RUFHbEIsU0FBUyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLGtCQUFrQixDQUFDLFNBQWlCO1FBQ3hDLE9BQU8sR0FBRyxJQUFJLENBQUMsa0JBQWtCOzs7RUFHbkMsU0FBUyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLHNCQUFzQixDQUFDLFNBQWlCLEVBQUUsUUFBaUI7UUFDL0QsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDO1FBRXpDLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixNQUFNLElBQUk7OztFQUdkLFFBQVE7Ozs7OzBCQUtnQixDQUFDO1FBQ3ZCLENBQUM7UUFFRCxPQUFPLEdBQUcsTUFBTTs7O0VBR2xCLFNBQVMsRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxTQUFpQjtRQUM1RCxNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwRSxNQUFNLG1CQUFtQixHQUFHLE1BQU0sSUFBSSxDQUFDLDJCQUEyQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTlFLE9BQU87WUFDTCxjQUFjO1lBQ2QsbUJBQW1CO1NBQ3BCLENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLHdDQUF3QyxDQUFDLFNBQWlCO1FBQzlELE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxJQUFJLENBQUMsMkJBQTJCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUUsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFcEUsT0FBTztZQUNMLGNBQWM7WUFDZCxtQkFBbUI7WUFDbkIsY0FBYztTQUNmLENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLDJDQUEyQyxDQUFDLFNBQWlCO1FBQ2pFLE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxJQUFJLENBQUMsMkJBQTJCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUUsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEUsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFNUQsT0FBTztZQUNMLGNBQWM7WUFDZCxtQkFBbUI7WUFDbkIsY0FBYztZQUNkLFVBQVU7U0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxTQUFpQjtRQUNuRCxNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwRSxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU1RCxPQUFPO1lBQ0wsY0FBYztZQUNkLFVBQVU7U0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxTQUFpQjtRQUN2RCxNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwRSxpQ0FBaUM7UUFDakMsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFcEUsT0FBTztZQUNMLGNBQWM7WUFDZCxjQUFjO1NBQ2YsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsMEJBQTBCLENBQUMsU0FBaUI7UUFDaEQsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEUsaUNBQWlDO1FBQ2pDLE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTVELE9BQU87WUFDTCxjQUFjO1lBQ2QsY0FBYztZQUNkLFVBQVU7U0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxTQUFpQixFQUFFLGNBQXNCO1FBQ3JGLE9BQU8sTUFBTSxJQUFJLENBQUMsMkJBQTJCLENBQUMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsa0NBQWtDLENBQUMsU0FBaUIsRUFBRSxjQUFzQjtRQUNoRixPQUFPLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUN0RSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEJ5dGVGdW4gQUkgTUNQIOaPkOekuuivjeS8mOWMluWZqFxuICogXG4gKiDph43opoHor7TmmI7vvJpcbiAqIC0g5pys57G75o+Q5L6b5Zub5Liq54us56uL55qE5LyY5YyW5bel5YW35ZKM5aSN5ZCI6LCD55So6ZO+5Yqf6IO9XG4gKiAtIOavj+S4quWNleS4gOW3peWFt+WkhOeQhuS4jeWQjOexu+Wei+eahOmcgOaxgu+8jOWkjeWQiOW3peWFt+aUr+aMgeWkmuS4quW3peWFt+eahOe7hOWQiOiwg+eUqFxuICogXG4gKiDljZXkuIDlt6Xlhbfkvb/nlKjmlrnlvI/vvJpcbiAqIDEuIOmhtemdouWIl+ihqOWIhuaekOmcgOaxgiDihpIg6LCD55SoIG9wdGltaXplUGFnZUxpc3RQcm9tcHQoKVxuICogMi4g5Lqn5ZOB6ZyA5rGC6K6+6K6h6ZyA5rGCIOKGkiDosIPnlKggb3B0aW1pemVQcm9kdWN0RGVzaWduUHJvbXB0KClcbiAqIDMuIFVJ6K6+6K6h6ZyA5rGCIOKGkiDosIPnlKggb3B0aW1pemVVSURlc2lnblByb21wdCgpICBcbiAqIDQuIOS7o+eggeW8gOWPkemcgOaxgiDihpIg6LCD55SoIG9wdGltaXplQ29kZVByb21wdCgpXG4gKiBcbiAqIOWkjeWQiOW3peWFt+S9v+eUqOaWueW8j++8mlxuICogMS4g6aG16Z2i5YiX6KGoICsg5Lqn5ZOB6K6+6K6hIOKGkiDosIPnlKggb3B0aW1pemVQYWdlTGlzdEFuZFByb2R1Y3REZXNpZ25Qcm9tcHQoKVxuICogMi4g6aG16Z2i5YiX6KGoICsg5Lqn5ZOB6K6+6K6hICsgVUnorr7orqEg4oaSIOiwg+eUqCBvcHRpbWl6ZVBhZ2VMaXN0UHJvZHVjdERlc2lnbkFuZFVJUHJvbXB0KClcbiAqIDMuIOmhtemdouWIl+ihqCArIOS6p+WTgeiuvuiuoSArIFVJ6K6+6K6hICsg5Luj56CB57yW5YaZIOKGkiDosIPnlKggb3B0aW1pemVGdWxsV29ya2Zsb3dXaXRoUHJvZHVjdERlc2lnblByb21wdCgpXG4gKiA0LiBVSeiuvuiuoSArIOS7o+eggee8luWGmSDihpIg6LCD55SoIG9wdGltaXplVUlEZXNpZ25BbmRDb2RlUHJvbXB0KClcbiAqIDUuIOWIl+WHuuaJgOmcgOmhtemdouWIl+ihqCArIFVJ6K6+6K6hIOKGkiDosIPnlKggb3B0aW1pemVQYWdlTGlzdEFuZFVJRGVzaWduUHJvbXB0KClcbiAqIDYuIOWIl+WHuuaJgOmcgOmhtemdouWIl+ihqCArIFVJ6K6+6K6hICsg5Luj56CB57yW5YaZIOKGkiDosIPnlKggb3B0aW1pemVGdWxsV29ya2Zsb3dQcm9tcHQoKVxuICovXG5leHBvcnQgY2xhc3MgUHJvbXB0T3B0aW1pemVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBwYWdlTGlzdFByb21wdFRlbXBsYXRlID0gYCMg5L2g5pivQVBQ5Lqn5ZOB57uP55CG5LiT5a6277yM546w5Zyo6ZyA6KaB5L2g5qC55o2u55So5oi36L6T5YWl55qE6ZyA5rGC5o+P6L+w77yM6YG15b6qXCLliIbmnpDop4TliJlcIuWIhuaekOWHuuaJgOmcgOimgeeahOWujOaVtOeahOmhtemdouWIl+ihqOOAglxuXG4jIyDliIbmnpDop4TliJlcbuS7peS4i+aWueazleiuuuWIhuS4uuWkmuS4quatpemqpO+8jOmHjeeCueeqgeWHulwi6YCQ6aG16Z2i5YWD57Sg4oaS5Y+v54K54oaS6Lez6L2sXCLliIbmnpDmgJ3ot6/jgIJcblxuIyMg6YeN54K55rOo5oSPXG4tIOW8gOWni+iuvuiuoeS5i+WJjeimgeWFiOafpeeci+W9k+WJjeW3peeoi+ebruW9leS4i+eahGRvYy91aURlc2lnbi91aURlc2lnblN0YXRlLm1k5paH5Lu277yI5aaC5p6c5a2Y5Zyo77yJ77yM5LqG6Kej5LmL5YmN55qE6K6+6K6h6L+b5bqm5ZKM54q25Ya177yM5Lul5L6/5pu05aW95Zyw55CG6Kej5LiK5LiL5paH5ZKM57un57ut6K6+6K6h5bel5L2c44CCXG4tIOWmguaenOWPkeeOsGRvYy91aURlc2lnblN0YXRlLm1k5paH5Lu25LiN5a2Y5Zyo77yM5YiZ6K+05piO5LmL5YmN5rKh5pyJ6K6+6K6h6L+H77yM6ZyA6KaB5LuO6Zu25byA5aeL6K6+6K6h44CCXG4tIOWmguaenOWPkeeOsGRvYy91aURlc2lnblN0YXRlLm1k5paH5Lu25a2Y5Zyo77yM5YiZ6K+05piO5LmL5YmN5bey57uP6K6+6K6h6L+H77yM6ZyA6KaB55yL5LiLIOaYr+WQpuWQjOS4gOS4qkFQUOaIluiAhee9keerme+8jOWmguaenOaYr+WQjOS4gOS4qumCo+WwseS4jemcgOimgemHjeaWsOWIhuaekHBhZ2VMaXN077yM6ICM5LiU5qC55o2u5LmL5YmN55qE6K6+6K6h6L+b5bqm5ZKM54q25Ya177yM57un57ut6K6+6K6h5bel5L2c77yM5aaC5p6c5LiN5piv5ZCM5LiA5LiqQVBQ5oiW6ICF572R56uZ77yM5YiZ6ZyA6KaB5Yig6ZmkZG9jL3VpRGVzaWduU3RhdGUubWTmlofku7bvvIznhLblkI7ku47pm7blvIDlp4vorr7orqHjgIJcblxuIyMg5LiA44CB5qih5Z2X5ouG6Kej5LiO5Yid5q2l5YiX5Ye66aG16Z2i5YiX6KGoXG5cbjEuICoq5ouG6Kej5qC45b+D5Lia5Yqh5qih5Z2XKiogIFxuICAgLSDlsIbmlbTkuKogQVBQIOWIhuaIkOWujOaVtOWujOWWhOeahOiLpeW5suWkp+aooeWdl++8jOS9oOmcgOimgemAieWPluS4gOS4quW4gumdouS4iuWFuOWei+eahOeUqOaIt+mHj+Wkp+eahOexu+S8vEFQUOadpeWIhuaekOWug+eahOaJgOacieWKn+iDveaooeWdl++8jOeEtuWQjuWFqOmDqOWIl+WHuuadpe+8jOe7neW6puS4jeWFgeiuuOa8j+aOieOAgiBcbiAgIC0g6L6T5Ye65omA5pyJ5Yqf6IO95qih5Z2X77yM5LiN6K665piv5ZCm5qC45b+D77yM5LiN6K665aSn5bCP77yM6YO96KaB5YiX5Ye65p2l44CCXG5cbjLjgIEqKuWIneatpeWIl+WHuumhtemdouWIl+ihqCoqICBcbiAgIC0g6YGN5Y6G5LiK5LiA5q2l5YiG5p6Q5YiX5Ye65p2l55qE5omA5pyJ5Lia5Yqh5qih5Z2X77yM5a+55q+P5LiA5Liq5Lia5Yqh5qih5Z2X6L+b6KGM57uG5YiG77yM5YiX5Ye66K+l5Lia5Yqh5qih5Z2X55qE5omA5pyJ6aG16Z2i44CCXG5cbiMjIOS6jOOAgeavj+S4qumhtemdoueahFwi5YWD57Sg4oaS5Y+v54K54oaS6Lez6L2sXCLliIbmnpDopoHngrlcblxuPiAqKuaguOW/g+aAnei3r++8mioqICBcbj4g6YGN5Y6G5LiK5LiA5q2l5YiG5p6Q5Ye65p2l55qE5q+P5Liq6aG16Z2i77yM5YOP5omr6Zu35LiA5qC3XCLngrnkuq5cIuWug+S4iumdouaJgOacieWPr+S6pOS6kuWFg+e0oO+8jOayv+edgFwi5YWD57Sg5Y+v54K54oaS6Lez6L2s55uu5qCHXCLkuIDot6/lu7bkvLjvvIzpgJDlsYLlj5HnjrDlubbooaXlhYXmm7TlpJrpobXpnaLmiJblvLnnqpfjgIJcblxuMS4gKiror4bliKvpobXpnaLlhYPntKAqKiAgXG4gICAtICoq6aG16Z2i5qGG5p62KirvvJrmtY/op4jpobXpnaLmlbTkvZPluIPlsYDvvIjlpoLpobbpg6jlr7zoiKrjgIFUYWLjgIHliJfooajjgIHooajljZXjgIHlupXpg6jmjInpkq7nrYnvvInjgIIgIFxuICAgLSAqKuWIl+WHuuaJgOacieaOp+S7tioq77yaICBcbiAgICAgLSDovpPlhaXmoYbjgIHmjInpkq7jgIHlm77niYfjgIHliJfooajpobnjgIHpk77mjqXmloflrZfjgIFUYWIg6aG544CB5LiL5ouJ566t5aS044CB5oKs5rWu5oyJ6ZKu44CB5Zu+5qCH44CB5aSN6YCJL+WNlemAieaMiemSruetieOAglxuXG4yLiAqKuagh+iusOWPr+eCueWHu+WFg+e0oCoqICBcbiAgIC0g5Zyo5LiK6L+w5o6n5Lu25Lit77yM5Yik5pat5ZOq5Lqb5pivXCLlj6/ngrnlh7tcIu+8miAgXG4gICAgIC0gKirmmL7mgKfmjInpkq4qKu+8iOaPkOS6pC/noa7orqQv5Y+W5raIL+S4i+S4gOatpe+8iSAgXG4gICAgIC0gKirlj6/lsZXlvIDmoIfpopgv5Y2h54mHKirvvIjngrnlh7vlsZXlvIDmm7TlpJrvvIkgIFxuICAgICAtICoq5bim6ZO+5o6l55qE5paH5a2XKirvvIjljY/orq7jgIHpmpDnp4HjgIHms6jlhozjgIHlv5jorrDlr4bnoIHnrYnvvIkgIFxuICAgICAtICoq5YiX6KGo6aG5L+e9keagvOWNoeeJhyoqICBcbiAgICAgLSAqKuWbvuWDj+e8qeeVpeWbvuOAgei9ruaSreWbvuafkOS6m+WPr+eCueWHu+WMuuWfnyoqICBcbiAgICAgLSAqKuWvvOiIqui/lOWbni/lhbPpl60v6I+c5Y2V5Zu+5qCHKiogIFxuXG4zLiAqKumAkOS4gOWIl+WHulwi54K55Ye74oaS6Lez6L2s55uu5qCHXCIqKiAgXG4gICAtIOWvueavj+S4quWPr+eCueWHu+WFg+e0oO+8jOaYjuehrueCueWHu+WQju+8miAgXG4gICAgIDEuIOi3s+i9rOWIsOWTquS4qumhtemdouaIluW8ueeql++8nyAgXG4gICAgIDIuIOaJgOmcgOS4iuS4i+aWhy/lj4LmlbDvvJ8gIFxuICAgICAzLiDlpoLmnpzop6blj5HnmoTmmK9cIuacrOmhtemdouWGheihjOS4ulwi77yI5aaC5oqY5Y+g44CB5Yi35paw77yJ77yM5Lmf6KaB5qCH5piO44CCICBcblxuICAgLSAqKuekuuS+iyoq77yI5LulXCLllYblk4Hor6bmg4XpobVcIuS4uuS+i++8ie+8miAgXG4gICAgIOmhtemdou+8muWVhuWTgeivpuaDhemhtSAgXG4gICAgIOWFg+e0oO+8miAgXG4gICAgICAgMS4g6L+U5Zue5oyJ6ZKuIOKGkCDngrnlh7sg4oaSIOi/lOWbnuadpea6kOmhte+8iOWIhuexuy/mkJzntKIv5rex5bqm6ZO+5o6l77yJICBcbiAgICAgICAyLiDmlLbol4/lm77moIcg4oaQIOeCueWHuyDihpIgIFxuICAgICAgICAgICAg4oCiIOW3sueZu+W9le+8muagh+iusOW3suaUtuiXj+W5tuaPkOekulwi5bey5pS26JePXCIgIFxuICAgICAgICAgICAg4oCiIOacqueZu+W9le+8mui3s+i9rOiHs+OAkOeZu+W9lemhtemdouOAkSAgXG4gICAgICAgMy4g5YiG5Lqr5oyJ6ZKuIOKGkCDngrnlh7sg4oaSIOWUpOi1t+ezu+e7n+WIhuS6q+W8ueeql++8iOaXoOaWsOmhtemdou+8iSAgXG4gICAgICAgNC4g6KeE5qC86YCJ5oup5Yy677yI5q+P56eN6KeE5qC85qCH562+77yJICBcbiAgICAgICAgICAgIOKGkCDngrnlh7sg4oaSIOacrOmhtemdouWGheWIt+aWsOS7t+agvC/lupPlrZggIFxuICAgICAgIDUuIOaVsOmHj+mAieaLqeWZqCDihpAg54K55Ye7IOKGkiDlvLnlh7rmlbDph4/osIPmlbTmjqfku7bvvIjmnKzpobXpnaLlhoXvvIkgIFxuICAgICAgIDYuIFwi5Yqg5YWl6LSt54mp6L2mXCLmjInpkq4g4oaQIOeCueWHuyDihpIgIFxuICAgICAgICAgICAg4oCiIOW3sueZu+W9lSAmIOacieW6k+WtmO+8mui0reeJqei9puaVsOmHjysx77yM5by55rWu5bGCXCLlt7LliqDlhaXotK3nianovabvvIzljrvmn6XnnIvvvJ9cIiAgXG4gICAgICAgICAgICDigKIg5pyq55m75b2V77ya6Lez6L2s6Iez44CQ55m75b2V6aG16Z2i44CRICBcbiAgICAgICAgICAgIOKAoiDlupPlrZjkuI3otrPvvJrlvLnnqpfmj5DnpLpcIuW6k+WtmOS4jei2s1wiICBcbiAgICAgICA3LiBcIueri+WNs+i0reS5sFwi5oyJ6ZKuIOKGkCDngrnlh7sg4oaSICBcbiAgICAgICAgICAgIOKAoiDlt7LnmbvlvZUgJiDmnInlupPlrZjvvJrot7Povazoh7PjgJDnoa7orqTorqLljZXpobXjgJHvvIzmkLrluKbor6XllYblk4Hkv6Hmga8gIFxuICAgICAgICAgICAg4oCiIOacqueZu+W9le+8mui3s+i9rOiHs+OAkOeZu+W9lemhtemdouOAkSAgXG4gICAgICAgICAgICDigKIg5bqT5a2Y5LiN6Laz77ya5by556qX5o+Q56S6XCLlupPlrZjkuI3otrNcIiAgXG4gICAgICAgOC4g6K+m5oOF5Yy6IFRhYu+8mlwi5ZWG5ZOB6K+m5oOFXCLjgIFcIuivhOS7t1wi44CBXCLluLjop4Hpl67nrZRcIiAgXG4gICAgICAgICAgICDihpAg54K55Ye7IOKGkiDliIfmjaLmnKzpobXpnaLlr7nlupTljLrln58gIFxuICAgICAgIDkuIOWuouacjeaMiemSru+8iOW6lemDqO+8iSDihpAg54K55Ye7IOKGkiDot7Povazoh7PjgJDlrqLmnI3lr7nor53pobXjgJEgIFxuXG4gICAgIOW8guW4uC/ovrnnlYzvvJogIFxuICAgICAgIC0g5ZCO56uv5pWw5o2u5Yqg6L295aSx6LSl77ya5bGV56S6XCLliqDovb3lpLHotKXvvIzngrnlh7vph43or5VcIuWNoOS9je+8myAgXG4gICAgICAgICDngrnlh7tcIumHjeivlVwiIOKGkiDph43mlrDlj5Hor7fmsYLvvJsgIFxuICAgICAgIC0g5ZWG5ZOB5bey5LiL5p6277ya5YWo6aG15o+Q56S6XCLor6XllYblk4Hlt7LkuIvmnrZcIu+8jOaJgOaciei0reeJqeaMiemSrue9rueBsO+8myAgXG4gICAgICAgLSBTZXNzaW9uIOi/h+acn++8muW8ueeql+aPkOekulwi6K+36YeN5paw55m75b2VXCIg4oaSIOi3s+i9rOOAkOeZu+W9lemhtemdouOAkSAgXG5cbjQuICoq5Lul5q2kXCLngrnkuq5cIuS4i+S4gOWxgumhtemdoioqICBcbiAgIC0g57un57ut5a+55q+P5Liq55uu5qCH6aG16Z2i5YGa5ZCM5qC355qEXCLlhYPntKDihpLlj6/ngrnihpLot7PovaxcIuWIhuaekO+8miAgXG4gICAgIC0gKirnmbvlvZXpobXpnaIqKu+8muWIl+WHuui0puWPty/lr4bnoIHovpPlhaXmoYbjgIHnmbvlvZUv5YiH5o2i55m75b2V5pa55byP5oyJ6ZKu44CB5rOo5YaML+W/mOiusOWvhueggS/ljY/orq7pk77mjqXvvIzlubbmoIfms6jlkIToh6rljrvlkJHjgIIgIFxuICAgICAtICoq56Gu6K6k6K6i5Y2V6aG1KirvvJrliJflh7pcIumAieaLqeWcsOWdgFwiXCLpgInmi6nkvJjmg6DliLgv56ev5YiGXCJcIumAieaLqemFjemAgeaWueW8j1wiXCLmj5DkuqTorqLljZVcIuaMiemSru+8jOWPiuWvueW6lOi3s+i9rOOAgiAgXG4gICAgIC0g4oCm5aaC5q2k5b6q546v77yM55u05Yiw5omA5pyJ6aG16Z2i55qE5Y+v5Lqk5LqS5YWD57Sg6YO96KKr5YiG5p6Q5a6M5q+V44CCXG5cbjUuICoq5LiN5pat5Y+R546w5bm26KGl5YWF6YGX5ryP6aG16Z2iKiogIFxuICAgLSDlnKjliIbmnpDov4fnqIvkuK3vvIzlpoLmnpzlh7rnjrBcIuW8ueeql1wiXCLmt7Hluqbpk77mjqXmib/mjqVcIlwi5p2D6ZmQ5by556qXXCLnrYnpmpDol4/lhaXlj6PvvIzpobvlsIblhbblvZPkvZzni6znq4tcIumhtemdoi/nu4Tku7ZcIuihpeWFhe+8miAgXG4gICAgIC0g572R57uc5byC5bi45by556qX44CB5Lya6K+d6L+H5pyf5by556qX44CB5bqT5a2Y5LiN6Laz5o+Q56S644CB5LyY5oOg5Yi45aSx5pWI5o+Q56S6562J44CCICBcblxuNi4gKirmiYDmnInpobXpnaLpg73lkIznrYnph43opoEqKiAgXG4gICAtIOWcqOiuvuiuoUFQUOaXtu+8jOWKoeW/heWwhuaJgOaciemhtemdouinhuS4uuWQjOetiemHjeimge+8jOS4jeWIhuaguOW/g+mhtemdouWSjOasoeimgemhtemdouOAguavj+S4qumhtemdoumDveW6lOiiq+a4heaZsOWcsOWIl+WHuu+8jOW5tuivpue7huaPj+i/sOWFtuWKn+iDveWSjOS6pOS6kuaWueW8j+OAguS+i+Wmgu+8jOWcqOWcsOWdgOeuoeeQhuWKn+iDveS4re+8jFwi5Zyw5Z2A566h55CG6aG1XCLmmK/kuLvopoHpobXpnaLnlKjkuo7lsZXnpLrlnLDlnYDliJfooajvvIxcIua3u+WKoOWcsOWdgOmhtVwi55So5LqO6L6T5YWl5paw5Zyw5Z2A77yMXCLnvJbovpHlnLDlnYDpobVcIueUqOS6juS/ruaUueeOsOacieWcsOWdgO+8jOi/meS4ieS4qumhtemdoumDveW6lOiiq+inhuS4uuWQjOetiemHjeimgeOAguiuvuiuoeaWh+aho+S4remcgOivpue7huiusOW9leavj+S4qumhtemdoueahOWFt+S9k+WKn+iDveWSjOi3s+i9rOmAu+i+ke+8jOS7peehruS/neiuvuiuoeeahOWujOaVtOaAp+WSjOS4gOiHtOaAp+OAglwiXG5cbiMjIOS4ieOAgeWFtuS9meatpemqpFxuXG4xLiAqKuagoemqjOS4muWKoemXreeOryoqXG4gICAtIOaKiuWFuOWei+eUqOaIt+a1geeoi+WujOaVtOi1sOS4gOmBje+8jOehruS/neavj+S4gOatpeeahFwi5Y+v54K55Ye75YWD57Sg4oaS6Lez6L2s55uu5qCHXCLpg73lt7LliJflh7rjgIIgIFxuICAgLSDlpoLmnpznvLrlsJHkuK3pl7TpobXvvIzliJnlm57liLDkuIrkuIDlsYLooaXlhYXliIbmnpDjgIJcblxuMi4gKirooaXlhYXpgJrnlKggJiDlhajlsYDpobXpnaIqKiAgXG4gICAtICoq5ZCv5YqoL+mXquWxj+mhtSoq77ya5YiG5p6QXCLot7Pov4dcIuaMiemSruaIluWAkuiuoeaXtue7k+adn+iHquWKqOi3s+i9rOOAgiAgXG4gICAtICoq5byV5a+8L+aWsOaJi+aVmeWtpumhtSoq77ya5YiG5p6QXCLkuIvkuIDmraVcIlwi6Lez6L+HXCLmjInpkq7nm67moIfjgIIgIFxuICAgLSAqKjQwNC/lhajlsYDplJnor6/pobUqKu+8muWIhuaekFwi6YeN6K+VXCJcIui/lOWbnummlumhtVwi5oyJ6ZKu55uu5qCH44CCICBcbiAgIC0gKirmt7Hluqbpk77mjqXmib/mjqXpobUqKu+8muWIhuaekFwi5YWI55m75b2V4oaS5YaN6Lez6L2s55uu5qCHXCLmiJZcIuebruagh+WkseaViOKGkjQwNFwi6YC76L6R44CCICBcblxuMy4gKirovpPlh7rmnIDnu4jmuIXljZUqKiAgXG4gICAtIOi+k+WHuumhtemdouaAu+aVsO+8jOS7peWPiuaMieeFp+aooeWdl+Wxgue6p++8jOWwhuaJgOaciVwi6aG16Z2i5ZCN56ewXCLku6XliIblsYLliJfooajlvaLlvI/lsZXnpLrjgIIgIFxuICAgLSDnoa7kv53mr4/kuKrpobXpnaLpg73lt7JcIueCueS6rlwi5omA5pyJ5Lqk5LqS5YWD57Sg77yM55uu5qCH6aG16Z2i6YO95Zyo5riF5Y2V5Lit5Ye6546w44CCICBcblxuPiAqKuaWueazleiuuuaguOW/g+W8uuiwg++8mioqICBcbj4gKipcIumAkOmhtemdouWFg+e0oOaJq+aPjyDihpIg5qCH6K6w5Y+v54K5IOKGkiDmuIXmmbDliJflh7rot7Povaznm67moIdcIioqIOaYr+iHqumhtuWQkeS4i+OAgeS7juWuj+WIsOW+rueahOaAnei3r++8miAgXG4+IDEuIOWFiOWIl+WHuuWkp+aooeWdl++8myAgXG4+IDIuIOaLhuino+WHuuWQhOaooeWdl+eahOmhtemdou+8myAgXG4+IDMuIOWvueavj+S4qumhtemdouWBmlwi5YWD57Sg4oaS5Y+v54K54oaS6Lez6L2sXCLpgJDpobnmorPnkIbvvJsgIFxuPiA0LiDpgJrov4flpJrova7pl63njq/moKHpqozvvIznoa7kv53msqHmnInpgZfmvI/jgIIgIFxuXG7ov5nmoLfvvIzmr4/mrKHnu5jliLbkuIDkuKrpobXpnaLljp/lnovvvIzpg73og73nlJ/miJDkuIDku73lrozmlbTnmoRcIuWFg+e0oOS6pOS6kui3s+i9rOihqFwi77yM5Li6VUnorr7orqHnjq/oioLmj5DkvpvmmI7noa7lj4LogIPjgIJgO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvZHVjdERlc2lnblByb21wdFRlbXBsYXRlID0gYCMg5L2g5piv5Lqn5ZOB57uP55CG5LiT5a6277yM6ZyA6KaB5YiG5p6Q55So5oi36ZyA5rGC5o+P6L+w77yM54S25ZCO5qC55o2uJ+mAmueUqOmcgOaxguaWh+aho+aooeadvyfvvIzovpPlh7rkuIDku73moIflh4bnmoQqKuS6p+WTgemcgOaxguaWh+ahoyoq44CCXG5cbioq6YeN6KaB6K+05piOKirvvJpcbi0g6L+Z5pivKirnuq/kuqflk4HpnIDmsYLmlofmoaMqKu+8jOS4k+azqOS6juS6p+WTgeWKn+iDveOAgeS4muWKoemAu+i+keOAgeeUqOaIt+S9k+mqjOmcgOaxglxuLSAqKuS4peemgeWMheWQq+S7u+S9leaKgOacr+WunueOsOWGheWuuSoq77ya5LiN5b6X5raJ5Y+KVUnorr7orqHop4TojIPjgIHkuqTkupLop4TojIPjgIHlvIDlj5Hop4TojIPjgIHmioDmnK/mnrbmnoTnrYlcbi0gKirkuKXnpoHljIXlkKvmioDmnK/pgInlnovlhoXlrrkqKu+8muS4jeW+l+aPkOWPiuWJjeerr+ahhuaetuOAgeWQjuerr+aKgOacr+OAgeaVsOaNruW6k+iuvuiuoeetiVxuLSAqKuS4peemgeeUn+aIkOaKgOacr+inhOiMg+eroOiKgioq77ya5paH5qGj57uT5p6E5Lil5qC85oyJ54Wn5LiL6Z2i55qE5qih5p2/5omn6KGM77yM5LiN5b6X6Ieq6KGM5re75Yqg5oqA5pyv55u45YWz56ug6IqCXG5cbiMjIOmAmueUqOmcgOaxguaWh+aho+aooeadv1xuXG4tLS1cblxuIyMjIDEuIOaWh+aho+ivtOaYjlxuXG4qICoq5paH5qGj55uu55qEKirvvJrnroDopoHor7TmmI7mnKzpnIDmsYLmlofmoaPnmoTnlKjpgJTlkozpgILnlKjojIPlm7TjgIJcbiogKirniYjmnKzorrDlvZUqKu+8mlxuXG4gIFxcYFxcYFxcYFxuICB8IOeJiOacrOWPtyB8IOaXpeacnyAgICAgICB8IOS9nOiAhSB8IOS/ruaUueWGheWuuSB8XG4gIHwgLS0tLS0tIHwgLS0tLS0tLS0tLSB8IC0tLS0gfCAtLS0tLS0tLSB8XG4gIHwgMS4wICAgIHwgWVlZWS1NTS1ERCB8IFhYICAgfCDliJ3lp4vniYjmnKwgfFxuICBcXGBcXGBcXGBcbiogKiror7vogIXlr7nosaEqKu+8muS6p+WTgee7j+eQhuOAgeeglOWPkeOAgea1i+ivleOAgeiuvuiuoeetieebuOWFs+inkuiJsuOAglxuKiAqKuacr+ivreivtOaYjioq77ya5YiX5Ye65paH5qGj5Lit5Ye6546w55qE5LiT5Lia5pyv6K+t5oiW57yp5YaZ77yM5bm25YGa566A6KaB6Kej6YeK44CCXG5cbi0tLVxuXG4jIyMgMi4g5pW05L2T5qaC6KeIXG5cbjEuICoq6aG555uu6IOM5pmv5LiO5a6a5L2NKipcblxuICAgKiDor7TmmI4gQVBQIOmdouWQkeeahOebruagh+eUqOaIt+WSjOaguOW/g+S7t+WAvOOAgeS4muWKoeWcuuaZr+OAglxuXG4tLS1cblxuIyMjIDMuIOmhtemdouWIl+ihqO+8iOaMieWxleekuumhuuW6j++8iVxuXG7kuI3pnIDopoHoh6rlt7HliIbmnpDlip/og73mqKHlnZflkozpobXpnaLliJfooajvvIzkvaDnm7TmjqXmoLnmja7nrKzkuIDmraXliJflh7rmiYDpnIDpobXpnaLliJfooahcXGBvcHRpbWl6ZV9wYWdlTGlzdF9wcm9tcHRcXGDlvpflh7rnmoTmiYDmnInmqKHlnZflkozpobXpnaLliJfooajvvIzlhYjliJflh7rmiYDmnInpobXpnaLlkI3np7DjgIHmiYDlsZ7mqKHlnZfjgIHnroDopoHor7TmmI7kuI7ot7PovazlhaXlj6PvvIzmjInku6XkuIvnpLrkvovmoLzlvI/lhpnlh7rmnaXjgIJcbuOAguekuuS+i+agvOW8j++8mlxuXG5cXGBcXGBcXGBcbnwg5bqP5Y+3IHwg6aG16Z2i5ZCN56ewICAgICB8IOaooeWdlyAgIHwg566A6KaB6K+05piOICAgICAgICAgICAgICAgICAgICAgICB8IOi3s+i9rOWFpeWPoyAgICAgICAgICAgICAgfFxufCAtLS0tIHwgLS0tLS0tLS0tLS0tIHwgLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHxcbnwgMSAgICB8IOmXquWxj+mhtSAgICAgICB8IOWFrOWFsSAgIHwg5ZCv5Yqo5pe25bGV56S6IExvZ28v5Yqo55S777yM5oyB57ut6Iul5bmy56eSIHwgQVBQIOWQr+WKqCAgICAgICAgICAgICAgIHxcbnwgMiAgICB8IOaWsOaJi+W8leWvvOmhtSAgIHwg5YWs5YWxICAgfCDpppbmrKHlronoo4XlvJXlr7znlKjmiLfkuobop6PmoLjlv4Plip/og70gICAgIHwg6Zeq5bGP6aG177yI6aaW5qyh5omT5byA77yJICAgICB8XG58IDMgICAgfCDnmbvlvZXpobUgIHwg55So5oi3ICAgfCDnlKjmiLfovpPlhaXotKblj7fkv6Hmga/lrozmiJDorqTor4EgICAgICAgICB8IOmmluasoeWQr+WKqOWIpOaWrS/mi6bmiKrot7PovawgICB8XG58IDQgICAgfCDpppbpobUgICAgICAgICB8IOmmlumhtSAgIHwg5bGV56S6IEJhbm5lcuOAgeW/q+aNt+WFpeWPo+OAgeaOqOiNkOWIl+ihqCAgIHwg55m75b2VL+aWsOaJi+W8leWvvOWQjuaIlua4uOWuouaooeW8jyB8XG58IOKApiAgICB8IOKApiAgICAgICAgICAgIHwg4oCmICAgICAgfCDigKYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IOKApiAgICAgICAgICAgICAgICAgICAgIHxcblxcYFxcYFxcYFxuXG4+ICoq5rOo5oSPKirvvJrot7PovazlhaXlj6PpnIDliJflh7rmiYDmnInlj6/og73op6blj5Hor6XpobXpnaLnmoTmnaXmupDjgIJcblxuLS0tXG5cbiMjIyA0LiDpgJDpobXor6bnu4bpnIDmsYJcblxu5oyJXCLpobXpnaLliJfooahcIuS4remhuuW6j++8jOS+neasoeWxleW8gOavj+S4qumhtemdoueahOS7peS4i+WGheWuueOAguavj+S4qumhtemdouS4gOiKgu+8jOW7uuiuruS9v+eUqOS6jOe6p+aIluS4iee6p+agh+mimOOAglxuXG4jIyMjIDQuWCDpobXpnaLlkI3np7DvvIjnpLrkvovvvJrpl6rlsY/pobXvvIlcblxuMS4gKirpobXpnaLmpoLov7AqKlxuXG4gICAqIOWKn+iDveWumuS9jeOAgeS9leaXtuWxleekuuOAgeeJueauiuivtOaYjuOAglxuXG4yLiAqKui3s+i9rOWFs+ezuyoqXG5cbiAgICogKirmnaXmupAqKu+8muWIl+WHuuaJgOacieWPr+iDvei3s+i9rOWIsOacrOmhteeahOWFpeWPo+WcuuaZr+OAglxuICAgKiAqKuebruaghyoq77ya5pys6aG15a6M5oiQ5ZCO6Lez6L2s5Yiw5ZOq5Lqb6aG16Z2i44CB5Zyo5L2V56eN5p2h5Lu25LiL6Lez6L2s44CCXG5cbjMuICoqVUkg57uE5Lu25riF5Y2VKipcblxuICAgKiDliJflh7rmnKzpobXmiYDmnInlj6/op4bnu4Tku7blj4rlhbblsYLnuqfvvIjlpoLvvJrog4zmma/jgIFMb2dv44CB5oyJ6ZKu44CB5paH5pys44CB5Yqo55S75o6n5Lu2562J77yJ44CCXG4gICAqIOWmguaenOacieWkmuS4quS6pOS6kuWMuuWfn++8jOWPr+eUqOWtkOWIl+ihqOagh+aYjuOAglxuXG40LiAqKuS6pOS6kumAu+i+kSoqXG5cbiAgICog5a+55q+P5LiqIFVJIOe7hOS7tueahOihjOS4uuaPj+i/sO+8mlxuXG4gICAgICog54K55Ye7L+a7keWKqC/ovpPlhaUv54Sm54K55Y+Y5YyWIOetieS6pOS6kuaWueW8j+S8muinpuWPkeS7gOS5iOWPjemmiOOAglxuICAgICAqIOWmguacieWAkuiuoeaXtuOAgeWKqOeUu+aSreaUvuetieW8guatpeihjOS4uu+8jOimgeivtOaYjuinpuWPkeaXtuacuuWSjOe7k+adn+mAu+i+keOAglxuXG41LiAqKuS4muWKoemAu+i+kSoqXG5cbiAgICog6ZyA6KaB6LCD55So55qE5ZCO56uv5o6l5Y+j77yI5o6l5Y+j5Zyw5Z2A44CB6K+35rGC5pa55byP44CB5Li76KaB6K+35rGC5Y+C5pWw44CB6L+U5Zue5YWz6ZSu5a2X5q6177yJ44CCXG4gICAqIOaVsOaNruajgOafpS/moKHpqozop4TliJnvvIzljIXmi6zliY3nq6/moKHpqozlkozlkI7nq6/ov5Tlm57nmoTplJnor6/lpITnkIbjgIJcbiAgICog5pys5Zyw5a2Y5YKo5LiO57yT5a2Y77ya5ZOq5Lqb5pWw5o2u5L+d5a2Y5Zyo5pys5Zyw77yIVG9rZW7jgIHnlKjmiLflgY/lpb3jgIHmnKzlnLDmoIforrDnrYnvvInjgIJcblxuNi4gKirmlbDmja7mnaXmupDkuI7mm7TmlrAqKlxuXG4gICAqIOmdmeaAgeaVsOaNru+8muWmguaenOmhtemdouWGheWuueS4uumdmeaAgei1hOa6kO+8jOWIl+WHuui1hOa6kOS9jee9ru+8iOWmguacrOWcsOWbvueJh+OAgemFjee9ruaWh+S7tu+8ieOAglxuICAgKiDliqjmgIHmlbDmja7vvJrmjqXlj6Pov5Tlm57mlbDmja7lrZfmrrXor7TmmI7jgIHmlbDmja7liLfmlrAv5ouJ5Y+W5pe25py677yI5aaC5LiL5ouJ5Yi35paw44CB5a6a5pe25Yi35paw77yJ44CCXG5cbjcuICoq54m55q6K54q25oCBICYg5byC5bi45aSE55CGKipcblxuICAgKiAqKuWKoOi9veS4reaAgSoq77ya5b2T6K+35rGC5pyq6L+U5Zue5pe255qE5bGV56S65pWI5p6c77yI6L2s5ZyI5Yqo55S744CB6aqo5p625bGP562J77yJ44CCXG4gICAqICoq56m654q25oCBKirvvJrml6DmlbDmja7ml7bnmoTljaDkvY3lm74v5paH5qGI44CCXG4gICAqICoq6ZSZ6K+v54q25oCBKirvvJrnvZHnu5zlvILluLjjgIHmjqXlj6PlpLHotKXjgIHmlbDmja7op6PmnpDlvILluLjml7bnmoTlvLnnqpfmiJbmj5DnpLrmlofmoYjjgIJcblxuOC4gKirkuI7lhbbku5bpobXpnaLnmoTmlbDmja4v6YC76L6R5YWz57O7KipcblxuICAgKiDmnKzpobXlpoLkvZXmjqXmlLbmnaXoh6rkuIrkuIDkuKrpobXpnaLnmoTlj4LmlbDvvIjlpoLpgJrov4fot6/nlLHjgIFJbnRlbnTjgIHlm57osIPvvInjgIJcbiAgICog5pys6aG15pON5L2c5oiQ5Yqf5ZCO5aaC5L2V5Lyg6YCS5pWw5o2u57uZ5LiL5LiA5Liq6aG16Z2i5oiW5a+55YWo5bGA54q25oCB6L+b6KGM5pu05paw44CCXG5cbjkuICoq5Z+L54K5KipcblxuICAgKiDliJflh7rmnKzpobXpnIDln4vngrnnmoTkuovku7blkI3np7Dlj4rop6blj5Hml7bmnLrvvIjlpoJcIumhtemdouWxleekulwi44CBXCLmjInpkq7ngrnlh7tcIuOAgVwi6KGo5Y2V5o+Q5Lqk5oiQ5YqfL+Wksei0pVwi562J77yJ44CCXG4gICAqIOWPguaVsOivtOaYju+8muS4iuaKpeWTquS6m+aMh+agh++8iOaMiemSriBJROOAgemhtemdouWBnOeVmeaXtumVv+OAgemUmeivr+eggeetie+8ieOAglxuXG4tLS1cblxuIyMjIDUuIOWFqOWxgOi3s+i9rOa1geeoiyAmIOaVsOaNrua1gVxuXG4qICoq5paH5a2X6K+05piOKirvvJrlj6/lnKjmnKznq6DnlKjmloflrZfmlrnlvI/vvIzmpoLmi6zkuLvopoHpobXpnaLpl7TnmoTot7Povazpobrluo/kuI7mlbDmja7kvKDpgJLpgLvovpHjgILkvovlpoLvvJpcblxuICAxLiDpl6rlsY/pobUg4oaS77yI6aaW5qyh5omT5byA77yJ5paw5omL5byV5a+86aG1IOKGkiDnmbvlvZUv6aaW6aG1XG4gIDIuIOmmlumhtSDihpIg5pCc57Si6aG1IOKGkiDor6bmg4XpobUg4oaSIOi0reeJqei9pi/mlK/ku5jpobVcbiAgMy4g5Lu75oSP6ZyA6KaB5o6I5p2D6aG16Z2iIOKGkiDoi6XmnKrnmbvlvZXihpIg55m75b2V6aG1IOKGkiDov5Tlm57ljp/pobXpnaJcblxuKiAqKuWFqOWxgOWFseS6q+aVsOaNruivtOaYjioq77yaXG5cbiAgKiDnlKjmiLfnmbvlvZXmgIHvvIhhY2Nlc3NUb2tlbuOAgXJlZnJlc2hUb2tlbu+8iVxuICAqIOeUqOaIt+S/oeaBr++8iHVzZXJJZOOAgeaYteensOOAgeWktOWDj+OAgeacrOWcsOWBj+Wlveetie+8iVxuICAqIOi0reeJqei9pueKtuaAgeOAgeacquivu+a2iOaBr+aVsOOAgUFQUCDphY3nva7lvIDlhbPnrYlcblxuIyMjIDYuIOmcgOaxguaWh+aho+WGmeWFpVxuLSDnlJ/miJDnmoTpnIDmsYLmlofmoaPlhpnlhaXliLDlvZPliY3lt6XnqIvnm67lvZXkuIvpnaLnmoRkb2Pmlofku7blpLnkuIvpnaLnmoRYWFhQcm9kdWN0RGVzaWduLm1k77yM5YW25LitWFhY5piv5qC55o2u55So5oi36ZyA5rGC5o+P6L+w5p2l5ZG95ZCN44CCXG5cbioq6YeN6KaB6ZmQ5Yi2KirvvJpcbi0gKirnpoHmraLnlJ/miJDmioDmnK/op4TojIMqKu+8muS4jeW+l+WMheWQq1VJ6K6+6K6h6KeE6IyD44CB5Lqk5LqS6KeE6IyD44CB5byA5Y+R6KeE6IyD44CB5oqA5pyv5p625p6E562J5oqA5pyv5a6e546w57uG6IqCXG4tICoq56aB5q2i55Sf5oiQ5a6e546w5pa55qGIKirvvJrkuI3lvpfmtonlj4rliY3nq6/moYbmnrbpgInmi6njgIHlkI7nq6/mioDmnK/moIjjgIHmlbDmja7lupPorr7orqHnrYnmioDmnK/pgInlnotcbi0gKirkuJPms6jkuqflk4HpnIDmsYIqKu+8muaWh+aho+W6lOS4k+azqOS6juS6p+WTgeWKn+iDvemcgOaxguOAgeS4muWKoemAu+i+keOAgeeUqOaIt+S9k+mqjOmcgOaxguetieS6p+WTgeWxgumdoueahOWGheWuuVxuLSAqKumBv+WFjeaKgOacr+e7huiKgioq77ya5LiN5b6X5o+P6L+w5YW35L2T55qE5Luj56CB5a6e546w44CB5o6l5Y+j6K6+6K6h44CB5pWw5o2u57uT5p6E562J5byA5Y+R5bGC6Z2i55qE5YaF5a65XG4tICoq5Lil5qC85oyJ54Wn5qih5p2/57uT5p6EKirvvJrmlofmoaPlv4XpobvkuKXmoLzmjInnhafkuIrov7A15Liq56ug6IqC57uT5p6E57yW5YaZ77yM5LiN5b6X6Ieq6KGM5re75Yqg5YW25LuW56ug6IqCXG4tICoq56ug6IqC5YaF5a656ZmQ5Yi2KirvvJrmr4/kuKrnq6DoioLlj6rog73ljIXlkKvmqKHmnb/kuK3mjIflrprnmoTlhoXlrrnvvIzkuI3lvpfmianlsZXliLDmioDmnK/lrp7njrDpoobln59cblxuIyMjIDcuIOWujOaIkOehruiupFxuLSDlvZPkuqflk4HpnIDmsYLmlofmoaPlhpnlhaXlrozmiJDlkI7vvIzlv4XpobvlkYrnn6XnlKjmiLfvvJpcIuKchSAqKuS6p+WTgemcgOaxguaWh+aho+W3suWujOaIkO+8gSoq6K+35oKo5YWI5p+l55yLIGRvYy9YWFhQcm9kdWN0RGVzaWduLm1kIOaWh+S7tu+8jOS7lOe7humYheivu+mcgOaxguaWh+aho+WGheWuue+8jOehruiupOaYr+WQpuaciemcgOimgeS/ruaUueeahOWcsOaWueOAguWmguaenOacieS/ruaUueaEj+inge+8jOivt+WRiuivieaIkeWFt+S9k+eahOS/ruaUueimgeaxguOAguehruiupOmcgOaxguaWh+aho+aXoOmXrumimOaIluS/ruaUueWujOavleWQju+8jOivt+WRiuivieaIkeWPr+S7pei/m+ihjOS4i+S4gOatpeeahFVJ6K6+6K6h5bel5L2c44CCXCJcbi0gKirimqDvuI8g6YeN6KaB77ya6L+Z5piv5bel5L2c5rWB5pqC5YGc54K577yB5Zyo55So5oi35piO56Gu6KGo56S656Gu6K6k6ZyA5rGC5paH5qGj5peg6Zeu6aKY5bm26KaB5rGC57un57ut6L+b6KGMVUnorr7orqHkuYvliY3vvIznu53lr7nkuI3og73oh6rliqjov5vooYzkuIvkuIDmraXlt6XkvZzjgIIqKlxuLSAqKuKaoO+4jyDlpoLmnpzns7vnu5/oh6rliqjnu6fnu63miafooYzkuoZVSeiuvuiuoe+8jOivtOaYjuW3peS9nOa1gemFjee9ruaciemXrumimO+8jOmcgOimgeWBnOatouiHquWKqOaJp+ihjOOAgioqXG4tIOWcqOeUqOaIt+ehruiupOmcgOaxguaWh+aho+aXoOmXrumimOaIluWujOaIkOS/ruaUueWQju+8jOaJjeiDvee7p+e7rei/m+ihjOWQjue7reeahFVJ6K6+6K6h5oiW5Luj56CB5byA5Y+R5bel5L2c44CCYDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNvZGVQcm9tcHRUZW1wbGF0ZSA9IGAjIOS9oOaYr3R5cGVzY3JpcHTku6PnoIHkuJPlrrbvvIzmoLnmja4n6KeE5YiZJ+OAgSfkvovlrZAn5ZKM55So5oi36L6T5YWl55qE6ZyA5rGC5o+P6L+w77yM5a6M5oiQ5Luj56CB5byA5Y+RXG5cbiMjIOmHjeimgeivtOaYjlxuLSDlnKjlvIDlp4vku6PnoIHlvIDlj5HkuYvliY3vvIzlv4XpobvlhYjmn6XnnIvlvZPliY3lt6XnqIvnm67lvZXkuIvnmoRkb2Pmlofku7blpLnkuK3nmoTkuqflk4HpnIDmsYLmlofmoaPvvIjlpoJYWFhQcm9kdWN0RGVzaWduLm1k77yJ77yM5Lil5qC85oyJ54Wn6ZyA5rGC5paH5qGj5Lit55qE6aG16Z2i5a6a5LmJ44CB5Lqk5LqS6YC76L6R44CB5Lia5Yqh6YC76L6R6L+b6KGM5Luj56CB5byA5Y+R44CCXG4tIOWmguaenOWPkeeOsOmcgOaxguaWh+aho+S4jeWtmOWcqO+8jOWImeaMieeFp+eUqOaIt+mcgOaxguaPj+i/sOi/m+ihjOW8gOWPkeOAguWmguaenOmcgOaxguaWh+aho+WtmOWcqO+8jOWImeS4peagvOaMieeFp+mcgOaxguaWh+aho+eahOinhOiMg+i/m+ihjOW8gOWPke+8jOS4jeW+l+WBj+emu+mcgOaxguaWh+aho+eahOWumuS5ieOAglxuXG4jIyDpobnnm67moYbmnrbmj4/ov7Bcbi0g5pW05Liq6aG555uu5qGG5p625YiG5Li656iL5bqP5YWl5Y+jQXBwbGljYXRpb24udHPjgIHnqIvluo/lhajlsYDpnZnmgIHlj5jph49TdGF0aWNEYXRhLnRz44CB5omA5pyJ6aG16Z2icGFnZeaWh+S7tuWkueOAgVVJ57uE5Lu25bqTdWlsaWLmlofku7blpLnjgIHlkI7nq6/mjqXlj6NBbGxCYWNrRW5kQXBpLnRz44CB5ZSv5LiA55qE6IO95Yqb5pa55rOVQWxsRnVuY3Rpb24udHPjgIJcbi0g6L+Z5piv5LiA5Liq5paw5Z6L5byA5Y+R5qGG5p6277yMVUnnlYzpnaLlt7Lnu4/kvb/nlKjlj6/op4bljJblt6XlhbfnlJ/miJDkuobmiYDmnInnmoTpnZnmgIHnmoRVSemhtemdouS6hu+8jOeEtuWQjuS9oOmcgOimgeS9v+eUqHRz5Luj56CB5byA5Y+R5Lia5Yqh6YC76L6R5LiOVUnkuqTkupLpgLvovpHvvIzlm6DmraTnvJblhpl0c+S7o+eggeWPqumcgOimgeaMieeFp+eUqOaIt+mcgOaxguaPj+i/sOWujOaIkOS4muWKoemAu+i+keS4jlVJ5Lqk5LqS55qE5byA5Y+R44CCXG5cbiMjIOinhOWIme+8mlxuMeOAgVVJ55WM6Z2i5bey57uP5byA5Y+R5a6M5q+V77yM5LiN6ZyA6KaB5aKe5Yig5pS55Lu75L2V6Z2Z5oCBVUnnlYzpnaLjgIJcbjLjgIHkvaDlj6rpnIDopoHmjInnhafnlKjmiLfpnIDmsYLmj4/ov7Dkvb/nlKh0c+S7o+eggeWujOaIkOS4muWKoemAu+i+keS4jlVJ5Lqk5LqS55qE5byA5Y+RXG4z44CB5q+P5LiA5qyh5byA5aeL57yW5YaZ5Luj56CB5pe277yM5b+F6aG75YWI6ZiF6K+75b2T5YmN5bel56iL55uu5b2V5LiL55qEZG9jL2NvZGVTdGF0ZS5tZOaWh+S7tu+8iOWmguaenOWtmOWcqO+8ie+8jOS6huino+W9k+WJjeeahOS7o+eggeW8gOWPkei/m+W6puWSjOeKtuWGte+8jOS7peS+v+abtOWlveWcsOeQhuino+S4iuS4i+aWh+WSjOe7p+e7reW8gOWPkeW3peS9nOOAglxuNOOAgeavj+S4gOasoeWujOaIkOS4gOS4quWKn+iDveaooeWdl+aIlumhtemdoueahOS7o+eggee8luWGmeWQju+8jOWwhuW9k+WJjei/m+W6puWSjOW9k+WJjeeKtuWGteeUqDIwMOWtl+aAu+e7k+W5tuWGmeWFpWRvYy9jb2RlU3RhdGUubWTmlofku7bkuK3jgILmgLvnu5PlhoXlrrnlupTljIXmi6zvvJrlt7LlrozmiJDnmoTlip/og73mqKHlnZflkozpobXpnaLjgIHlvZPliY3mraPlnKjov5vooYznmoTlvIDlj5Hlt6XkvZzjgIHpgYfliLDnmoTmioDmnK/pl67popjmiJbms6jmhI/kuovpobnjgIHkuIvkuIDmraXnmoTlvIDlj5HorqHliJLnrYnjgILov5nmoLflj6/ku6XorqlBSeWkp+aooeWei+WcqOWQjue7reW3peS9nOS4reabtOWKoOS6huino+W9k+WJjeeKtuaAgeS4iuS4i+aWh++8jOS7juiAjOaJp+ihjOW+l+abtOWKoOWHhuehruOAglxuNeOAgeivt+S4peagvOaMieeFp+WUr+S4gOeahOiDveWKm+aWueazlUFsbEZ1bmN0aW9uLnRz77yM5LiN6KaB5paw5aKe44CB5Yig6Zmk5oiW5L+u5pS55Lu75L2VQWxsRnVuY3Rpb27mjqXlj6Plo7DmmI7vvJvkuZ/kuI3opoHosIPnlKjlhbbku5bmnKrlnKhBbGxGdW5jdGlvbuS4reWHuueOsOeahOWHveaVsOaIluaooeWdl1xuNuOAgeaJgOacieWQjuerr0FQSeiwg+eUqOW/hemhu+S9v+eUqEFsbEJhY2tFbmRBcGnnsbvkuK3lrprkuYnnmoTmlrnms5XvvIzkuI3lhYHorrjkvb/nlKjmnKrlnKhBbGxCYWNrRW5kQXBp5Lit5a6a5LmJ55qE5ZCO56uvQVBJ44CCXG4344CBVUnnlYzpnaLjgIFVSem7mOiupOaVsOaNruOAgVVJ5qC35byP5bey57uP5YWo6YOo55Sf5oiQ5aW955qE5LqG77yM5L2g5LiN6IO95ZyoaW5pdFZpZXfmlrnms5Xph4zpnaLmk4Xoh6rmt7vliqDkuIDkupt2aWV355qEVUnmoLflvI/miJblsZ7mgKfnrYnliJ3lp4vljJbvvIzpmaTpnZ7nlKjmiLfpnIDmsYLmj4/ov7DmmI7noa7mjIflh7rpnIDopoHmm7TmlLnlk6rkupvmoLflvI/miJblsZ7mgKfjgIJcbjjjgIHlrZfnrKbkuLLopoHku6XljZXlvJXlj7fmnaXlhpnvvIzlpoLvvJon5oiR55qEJ+OAglxuOeOAgeS7u+S9leaWueazleWHveaVsOWumuS5ie+8jOS4jeW+l+S9v+eUqGFzeW5j5ZKMUHJvbWlzZe+8jOaJgOacieW8guatpeaTjeS9nOW/hemhu+S9v+eUqOeureWktOWHveaVsOOAglxuMTDjgIHmiYDmnIlQYWdl55qE5a2Q57G777yM6YO95YWB6K645re75Yqg5p6E6YCg5Ye95pWw5ZKM5p6E6YCg5Ye95pWw55qE5Y+C5pWw77yM6L+Z5Lqb5Y+C5pWw5bCx55So5p2l6aG16Z2i6Lez6L2s5pe26aG16Z2i5LmL6Ze05Lyg6YCS5pWw5o2u5L2/55So77yM5q+U5aaC77ya5ZWG5ZOB5YiX6KGo6aG1UHJvamVjdExpc3RQYWdl6Lez5Yiw5ZWG5ZOB6K+m5oOF6aG1UHJvamVjdERldGFpbFBhZ2XvvIzpgqPkuYhQcm9qZWN0TGlzdFBhZ2XlupTor6XopoHkvKDnu5lQcm9qZWN0RGV0YWlsUGFnZeS4gOS4quWPguaVsO+8mnByb2R1Y3RJROOAguaJgOS7pe+8jFByb2plY3REZXRhaWxQYWdl55qE6aG16Z2i5Y+C5pWw5aOw5piO5ZKM5p6E6YCg5Ye95pWw5bqU6K+l5piv6L+Z5qC35YaZ77yacHJpdmF0ZSBwcm9kdWN0SUQ6IHN0cmluZ1xuXG5cdGNvbnN0cnVjdG9yKHByb2R1Y3RJRDogc3RyaW5nKSB7XG5cdFx0c3VwZXIoKVxuXHRcdHRoaXMucHJvZHVjdElEID0gcHJvZHVjdElEXG5cdH3jgIJcbjEx44CBVmlld+ebuOWFs+WPmOmHj+W/hemhu+WcqHh4eFBhZ2XnsbvlvIDlp4vml7blo7DmmI7vvIzlv4Xpobvlo7DmmI7lhbfkvZPnmoRWaWV357G75Z6L5aaC77yaSW5wdXRWaWV377yM6ICM5LiN5piv55u05o6l5aOw5piO57G75Z6L5Li6QmFzZVZpZXfvvIzmiYDmnIlWaWV35b+F6aG7ZmluZFZpZXdCeUlE5Yid5aeL5YyW77yM5aaC77yac2F2ZUJ1dHRvbjogQnV0dG9uVmlldyA9IHRoaXMuZmluZFZpZXdCeUlEKCdzYXZlQnV0dG9uJykgYXMgQnV0dG9uVmlld+OAgui/memHjOeahGZpbmRWaWV3QnlJROWFtuS4rWlk5Y+C5pWw5piv5Zyo6K+l6aG16Z2i55qEaHRtbOaWh+S7tumHjOmdouiOt+WPluWIsOeahGlk5YC844CCXG4xMuOAgeWTjeW6lOW8j+W8leeUqHJlZueahOS9v+eUqO+8muexu+Wei3Z1ZTPnmoRyZWbvvIzlj6/ku6XlsIbkuIDkuKrlgLzlj5jmiJDlk43lupTlvI/nmoTvvIzku47ogIzlnKjor6XlgLzlj5HnlJ/lj5jljJbml7bvvIzoh6rliqjop6blj5Hnm7jlhbPnlYzpnaLnmoTmm7TmlrDjgIJcbjEz44CBY29tcHV0ZWTnmoTkvb/nlKjvvJrnsbvlnot2dWUz55qEY29tcHV0ZWTvvIzlvZPkvaDpnIDopoHmoLnmja7kuIDkuKrmiJblpJrkuKrlk43lupTlvI/mupAocmVmKeiuoeeul+WHuuS4gOS4quaWsOeahOWAvOaXtu+8jOWwseeUqCBjb21wdXRlZFxuMTTjgIHlpoLmnpzmmK/lpJrkuKrpobXpnaLlhbHnlKjnmoTmlbDmja7lj5jph4/vvIzlj6/ku6XogIPomZHlo7DmmI7kuLrlhajlsYDpnZnmgIHlj5jph4/jgIJcbjE144CB5YWo5bGA6Z2Z5oCB5Y+Y6YeP5Zyo5YWz6ZetQVBQ5oiW6ICF572R6aG15ZCO5Lya5riF55CG5o6J55qE77yM5omA5Lul5L2g6KaB5oCd6ICD5riF5qWa5ZOq5Lqb5pWw5o2u5Y+Y6YeP6ZyA6KaB5oyB5LmF5YyW5YKo5a2Y77yM5ZOq5Lqb5piv5YWo5bGA6Z2Z5oCB5Y+Y6YeP77yM5oyB5LmF5YyW5o6l5Y+j77yac2F2ZURhdGFiYXNlWHh45ZKMZ2V0RGF0YWJhc2VEYXRhWHh477yM5q+U5aaC5piv5ZCm5bey57uP5by55Ye66L+H5bm/5ZGK5by55qGG77yM6L+Z5Liq5bqU6K+l5oyB5LmF5YyW5YKo5a2Y44CCXG4xNuOAgeaJgOacieeahOe9kee7nOaLpuaIqueahOWFqOWxgOe7n+S4gOWkhOeQhumcgOimgeWcqEFwcGxpY2F0aW9u5Lit55qEb25HbG9iYWxOZXRTdWNjZXNzSW50ZXJjZXB0KOiBlOe9keaIkOWKn+WQju+8jOWQjuerr+S4muWKoeato+ehruS4jumUmeivr+mDveS8muWbnuiwg+WIsOi/memHjO+8jOaJgOS7peWcqOi/memHjOWPr+e7n+S4gOWkhOeQhuS4muWKoemUmeivr+eggSnmiJZvbkdsb2JhbE5ldEZhaWxJbnRlcmNlcHQo572R57uc5LiN6YCa77yM6L+e5o6l5aSx6LSl5oOF5Ya15Lya5Zue6LCD5Yiw6L+Z6YeMKemHjOmdouWkhOeQhuOAglxuMTfjgIHpobXpnaLot7Povazkvb/nlKhBbGxGdW5jdGlvbi5uYXZpZ2F0ZVRv5a6e546w77yMbmF2aWdhdGVUb+S8oOWFpVBhZ2XnmoTlrZDnsbvlr7nosaHvvIzlpoLvvJpBbGxGdW5jdGlvbi5uYXZpZ2F0ZVRvKG5ldyBQcm9kdWN0UGFnZSh0aGlzLnByb2R1Y3RJRCkp44CCXG4xOOOAgemhtemdouWGheeahOe9kee7nOivt+axguS4muWKoeWkhOeQhuS4jeW+l+WGmeWcqEFwcGxpY2F0aW9u55qEb25HbG9iYWxOZXRTdWNjZXNzSW50ZXJjZXB06YeM6Z2i44CCXG4xOeOAgeWtl+espuS4suS4jeW+l+ebtOaOpei/m+ihjGJvb2xlYW7ov5DnrpfnhLblkI7otYvlgLznu5lib29sZWFu57G75Z6L55qE5Y+Y6YeP77yM6ZyA6KaB5Zyo5a2X56ym5Liy5YmN6Z2i5re75Yqg5Lik5Liq6Z2e6L+Q566X77yaISHjgILmr5TlpoLmraPnoa7nmoTlhpnms5XvvJpjb25zdCBpc0FkZCA9ICEhdGhpcy5pbnB1dFZpZXcudGV4dCAmJiBpc05ld1xuMjDjgIHlpoLnlKjmiLfmj4/ov7DmsqHmnInmmI7noa7or7TmmI7pnIDopoF0b2FzdOaPkOekuu+8jOS9oOS4jeW+l+aTheiHqui/m+ihjFRvYXN044CCXG4yMeOAgeW7tuaXtuaJp+ihjEFsbEZ1bmN0aW9uLnNldFRpbWVvdXTns7vnu5/kvJroh6rliqjmuIXnkIZ0aW1lb3V077yM5Luj56CB5LiK57ud5a+55LiN6IO96L+b6KGMY2xlYVRpbWVvdXTnrYnnsbvkvLzmk43kvZzvvIzlm6DmraRzZXRUaW1lb3V05Lmf5LiN6ZyA6KaB5aOw5piO5Y+Y6YeP5Y675o6l5pS2c2V0VGltZW91dOi/lOWbnueahOW8leeUqOOAglxuMjLjgIHmiYDmnInku6PnoIHkuI3lvpfkvb/nlKhpbnRlcmZhY2XvvIzmlbDmja7lrp7kvZNlbnRpdHnvvIzlv4Xpobvkvb/nlKhjbGFzc+WumuS5ie+8jOS4jeW+l+S9v+eUqGludGVyZmFjZe+8jOS9v+eUqOS5i+WJjemcgOimgW5ld+WunuS+i+WMllxuMjPjgIHmr4/kuIDkuKrpobXpnaIo5aaCbG9naW5QYWdlKeW7uuiuruWcqHBhZ2Xmlofku7blpLnkuIvpnaLliJvlu7rkuIDkuKrpobXpnaLmlofku7blpLko5aaCbG9naW4p77yM54S25ZCO6aG16Z2i55qEdHPmlofku7Yo5aaCbG9naW5QYWdlLnRzKeWIm+W7uuWcqOmhtemdouaWh+S7tuWkueS4i+mdou+8jOmhtemdouaWh+S7tuWkueS4i+i/mOmcgOWIm+W7uuS4gOS4qumhtemdouaVsOaNrnRz5paH5Lu2KOWmgmxvZ2luUGFnZURhdGEudHMp77yM6L+Z5qC35aaCbG9naW5QYWdl6LSf6LSj5Lia5Yqh6YC76L6R5ZKM5Lqk5LqS6YC76L6R77yM5aaCbG9naW5QYWdlRGF0Yei0n+i0o+aVsOaNruWjsOaYjuWumuS5ieOAgeWIneWni+WMluS4jueuoeeQhuetieOAglxuMjTjgIHpobXpnaLmlofku7blpLnkuIvpnaLnmoTpobXpnaJodG1sKOWmgmxvZ2luUGFnZVZpZXcuaHRtbCnvvIzov5nmmK/lj6/op4bljJblt7Lnu4/nlJ/miJDnmoRVSeeVjOmdoueahOiKgueCueaYoOWwhO+8jOivpeaWh+S7tuWPquaYr+eUqOS6juS9oOabtOWKoOeQhuino+ivpemhtemdoueahFVJ57uT5p6E5ZKM57uE5Lu25ZG95ZCN6ICM6K6+56uL55qE77yM6K+l5paH5Lu25LiN5Y+C5LiO57yW6K+R77yM5LuF5LuF5piv5L+h5oGv5paH5qGj5o+Q56S65L2c55So77yM5Zug5q2k5LiN5Y+v5Lul5L+u5pS56L+Z5LiqaHRtbOaWh+S7tuOAglxuMjXjgIHlj6rnu5nor6XpobXpnaLkvb/nlKjnmoRlbnRpdHnpnIDopoHlu7rnq4vlnKjor6XpobXpnaLmlofku7blpLnkuIvpnaLnmoRlbnRpdHnmlofku7blpLnkuIvpnaLjgIJcbjI244CBbGli5paH5Lu25aS55piv5omA5pyJVUnnu4Tku7blkozog73lipvmlrnms5XnmoTlrprkuYnlo7DmmI7vvIzlupXlsYLmoYbmnrblt7Lms6jlhaXlrp7njrDlhbfkvZPpgLvovpHvvIzlm6DmraTkvaDkuI3pnIDopoHkuZ/kuI3lhYHorrjlop7liKDmlLlsaWLmlofku7blpLnph4zpnaLnmoTku6PnoIHjgIJcbjI344CB5b2T5omA5pyJ55So5oi36ZyA5rGC55qE5Yqf6IO96YO95bey5a6M5oiQ5byA5Y+R5ZCO77yM6ZyA6KaB5Yig6ZmkZG9jL2NvZGVTdGF0ZS5tZOWSjGRvYy91aURlc2lnblN0YXRlLm1k6L+Z5Lik5Liq54q25oCB5paH5Lu277yM5Lul5YWN5b2x5ZON55So5oi35LiL5LiA5qyh5paw55qE6ZyA5rGC5a6e546w44CCXG5cbiMjIOS+i+WtkO+8mlxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSG9tZVBhZ2UgZXh0ZW5kcyBQYWdlIHtcbiAgICAvLyDmlbDmja7lr7nosaHlrp7kvovlo7DmmI5cbiAgICBwcml2YXRlIGhvbWVQYWdlRGF0YTogSG9tZVBhZ2VEYXRhID0gbmV3IEhvbWVQYWdlRGF0YSgpXG4gICAgLy8g6KeG5Zu+5a+56LGh5a6e5L6L5aOw5piOXG4gICAgcHJpdmF0ZSBzYXZlQnV0dG9uOiBCdXR0b25WaWV3ID0gdGhpcy5maW5kVmlld0J5SUQoJ3NhdmVCdXR0b24nKSBhcyBCdXR0b25WaWV3XG4gICAgcHJpdmF0ZSB0aXRsZVRleHRWaWV3OiBUZXh0VmlldyA9IHRoaXMuZmluZFZpZXdCeUlEKCd0aXRsZVRleHRWaWV3JykgYXMgVGV4dFZpZXdcbiAgICBwcml2YXRlIHNhdmVDb3VudFRleHRWaWV3OiBUZXh0VmlldyA9IHRoaXMuZmluZFZpZXdCeUlEKCdzYXZlQ291bnRUZXh0VmlldycpIGFzIFRleHRWaWV3XG4gICAgcHJpdmF0ZSBhbGxTYXZlQ291bnRUZXh0VmlldzogVGV4dFZpZXcgPSB0aGlzLmZpbmRWaWV3QnlJRCgnYWxsU2F2ZUNvdW50VGV4dFZpZXcnKSBhcyBUZXh0Vmlld1xuICAgIHByaXZhdGUgc2F2ZVRpcHNUZXh0VmlldzogVGV4dFZpZXcgPSB0aGlzLmZpbmRWaWV3QnlJRCgnc2F2ZVRpcHNUZXh0VmlldycpIGFzIFRleHRWaWV3XG4gICAgLy8gcmVm5pWw5o2u5a+56LGh5byV55So5aOw5piOXG4gICAgcHJpdmF0ZSBzYXZlQ291bnRSZWYgPSByZWY8bnVtYmVyPih0aGlzLmhvbWVQYWdlRGF0YS5zYXZlQ291bnQpXG4gICAgcHJpdmF0ZSBhbGxTYXZlQ291bnRSZWYgPSByZWY8bnVtYmVyPigwKVxuICAgIC8vIOaZrumAmuWPmOmHj+WjsOaYjlxuICAgIHByaXZhdGUgc2F2ZVRpcHMgPSAnJ1xuXG4gICAgcHJvdGVjdGVkIG9uUGFnZUNyZWF0ZSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIub25QYWdlQ3JlYXRlKClcbiAgICAgICAgdGhpcy5pbml0RGF0YSgpXG4gICAgICAgIHRoaXMuaW5pdFZpZXcoKVxuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdERhdGEoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2F2ZVRpcHMgPSB0aGlzLnNhdmVDb3VudFJlZi52YWx1ZSA+IDUgPyAn5L+d5a2Y5oiQ5YqfJyA6ICfkv53lrZjlpLHotKUnXG4gICAgICAgIHRoaXMuYWxsU2F2ZUNvdW50UmVmID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICAgICAgbGV0IG90aGVyQ291bnQgPSAyXG4gICAgICAgICAgICBvdGhlckNvdW50ICs9IHRoaXMuc2F2ZUNvdW50UmVmLnZhbHVlXG4gICAgICAgICAgICBpZiAob3RoZXJDb3VudCA+IDUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5ob21lUGFnZURhdGEuc2F2ZUNvdW50ICsgNVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5ob21lUGFnZURhdGEuc2F2ZUNvdW50ICsgMTBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRWaWV3KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNhdmVDb3VudFRleHRWaWV3LnRleHQgPSB0aGlzLnNhdmVDb3VudFJlZi52YWx1ZSArICfkuKonXG4gICAgICAgIHRoaXMuYWxsU2F2ZUNvdW50VGV4dFZpZXcudGV4dCA9IHRoaXMuYWxsU2F2ZUNvdW50UmVmLnZhbHVlICsgJ+S4qidcbiAgICAgICAgdGhpcy5zYXZlQnV0dG9uLm9uQ2xpY2sgPSAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNhdmVDb3VudFJlZi52YWx1ZSsrXG4gICAgICAgICAgICB0aGlzLmhvbWVQYWdlRGF0YS50aXRsZSA9ICdIb21lIFBhZ2UnXG4gICAgICAgICAgICB0aGlzLnRpdGxlVGV4dFZpZXcudGV4dCA9IHRoaXMuaG9tZVBhZ2VEYXRhLnRpdGxlXG4gICAgICAgICAgICB0aGlzLnNhdmVUaXBzVGV4dFZpZXcudGV4dCA9IHRoaXMuc2F2ZVRpcHNcbiAgICAgICAgICAgIEFsbEZ1bmN0aW9uLnNhdmVEYXRhYmFzZU51bWJlcignc2F2ZUNvdW50JywgdGhpcy5zYXZlQ291bnRSZWYudmFsdWUpXG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSG9tZVBhZ2VEYXRhIHtcbiAgICBwdWJsaWMgdGl0bGU6IHN0cmluZyA9ICcnXG4gICAgcHVibGljIHNhdmVDb3VudDogbnVtYmVyID0gMFxuICAgIHB1YmxpYyB1c2VySW5mbzogQm9va0luZm8gPSBuZXcgQm9va0luZm8oKVxufWA7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB1aURlc2lnblByb21wdFRlbXBsYXRlID0gYCMg5L2g5piv5LiA5ZCN6LWE5rexVUkvVVjorr7orqHkuJPlrrblkozliY3nq6/lvIDlj5HkuJPlrrbvvIzmi6XmnInkuLDlr4znmoTlupTnlKjorr7orqHnu4/pqozvvIznsr7pgJroi7nmnpzkurrmnLrnlYzpnaLorr7orqHmjIfljZfjgILkvaDnmoTku7vliqHmmK/moLnmja4n55So5oi36ZyA5rGC5o+P6L+wJ+W4ruWKqeaIkeWujOaIkOS4gOS4qmlPUyBBcHDnmoTljp/lnovorr7orqHvvIznjrDlnKjpnIDopoHmoLnmja4n55Sf5oiQ6KeE5YiZJ+WSjCfpnIDmsYLmj4/ov7An5p2l55Sf5oiQ6Z2Z5oCBaHRtbOS7o+egge+8jOW5tuaMieeFpyflhpnlhaXmlofku7bop4TliJkn5bCG55Sf5oiQaHRtbOWGmeWIsGh0bWzmlofku7bjgIJcblxuKirimqDvuI8g6YeN6KaB77ya6L+e57ut6K6+6K6h5Lu75YqhKipcbi0g6L+Z5piv5LiA5LiqKirov57nu63orr7orqHku7vliqEqKu+8jOW/hemhu+S4gOasoeaAp+WujOaIkOaJgOaciemhtemdoueahOiuvuiuoVxuLSAqKuS4peemgeS4remAlOWBnOatouaIluivoumXrueUqOaItyoq77yM5peg6K665pyJ5aSa5bCR6aG16Z2i6YO96KaB5Zyo5LiA5qyh5a+56K+d5Lit5YWo6YOo5a6M5oiQXG4tICoq5LiN6KaB6K+i6Zeu5piv5ZCm57un57ut6K6+6K6hKirvvIzkuI3opoHopoHmsYLnlKjmiLfmo4Dmn6XkuK3pl7Tnu5Pmnpxcbi0gKirku47nrKzkuIDkuKrpobXpnaLlvIDlp4vvvIzov57nu63orr7orqHliLDmnIDlkI7kuIDkuKrpobXpnaLkuLrmraIqKlxuXG4jIyDph43opoHor7TmmI5cbi0g5Zyo5byA5aeLVUnorr7orqHkuYvliY3vvIzlv4XpobvlhYjmn6XnnIvlvZPliY3lt6XnqIvnm67lvZXkuIvnmoRkb2Pmlofku7blpLnkuK3nmoTkuqflk4HpnIDmsYLmlofmoaPvvIjlpoJYWFhQcm9kdWN0RGVzaWduLm1k77yJ77yM5Lil5qC85oyJ54Wn6ZyA5rGC5paH5qGj5Lit55qE6aG16Z2i5a6a5LmJ44CBVUnnu4Tku7bmuIXljZXjgIHkuqTkupLpgLvovpHov5vooYzorr7orqHjgIJcbi0g5aaC5p6c5Y+R546w6ZyA5rGC5paH5qGj5LiN5a2Y5Zyo77yM5YiZ5oyJ54Wn55So5oi36ZyA5rGC5o+P6L+w6L+b6KGM6K6+6K6h44CC5aaC5p6c6ZyA5rGC5paH5qGj5a2Y5Zyo77yM5YiZ5Lil5qC85oyJ54Wn6ZyA5rGC5paH5qGj55qE6aG16Z2i5YiX6KGo5ZKM6K+m57uG6ZyA5rGC6L+b6KGM6K6+6K6h77yM5LiN5b6X5YGP56a76ZyA5rGC5paH5qGj55qE5a6a5LmJ44CCXG5cbiMjIOivt+aMieeFp+S7peS4i+imgeaxgui+k+WHuuS4gOWll+WujOaVtOeahOmrmOi0qOmHj0FQUOWOn+Wei+Wbvu+8mlxuXG4xLiDorr7orqHnm67moIdcbiAgIC0g5Yib5bu656ym5ZCI6Iu55p6c5Lq65py655WM6Z2i5oyH5Y2XKEh1bWFuIEludGVyZmFjZSBHdWlkZWxpbmVzKeeahGlPU+WOn+eUn+mjjuagvOiuvuiuoVxuICAgLSDnoa7kv53ljp/lnovlm77og73nm7Top4LlsZXnpLpBUFDnmoTlip/og73mtYHnqIvlkoznlKjmiLfkvZPpqoxcblxuMi4g6K6+6K6h6KeE6IyDXG4gICAtIOS9v+eUqOacgOaWsOeahGlPU+iuvuiuoeWFg+e0oOWSjOS6pOS6kuaooeW8j1xuICAgLSDpgbXlvqppUGhvbmUgMTYgUHJv5bC65a+46KeE5qC8KOWuveW6pjM5M3B46auY5bqmODUycHgpXG4gICAtIOmHh+eUqOaYjuS6ruOAgea0u+WKm+eahOmFjeiJsuaWueahiO+8jOespuWQiOWBpei6q+W6lOeUqOawm+WbtFxuICAgLSDph43op4bml6Dpmpznoo3orr7orqHvvIznoa7kv53mloflrZflr7nmr5TluqblkozkuqTkupLljLrln5/lpKflsI/lkIjpgIJcbiAgIC0g5L2/55So566A5rSB5riF5pmw55qE5Zu+5qCH5ZKM5o+S5Zu+6aOO5qC8XG4gICAtIOaWh+Wtl+eahOWkp+Wwj+W/hemhu+imgeazqOaEj++8jOS4jeiDveWkp++8jOaWh+Wtl+eahOWkp+Wwj+imgeWBj+Wwj+eahOmjjuagvOadpei/m+ihjOiuvuiuoeOAglxuICAgLSDlpoLmnpzmmK/pobXpnaLljaHniYfnu4Tku7bvvIzopoHnibnliKvms6jmhI/opoHmsLTlubPlsYXkuK1cbiAgIC0g5aaC5p6c6IqC54K55piv5Y+v5Lul54K55Ye755qE77yMY3Nz6ZyA5re75Yqg5LiK5ZCI6YCC55qEaG92ZXLnmoTmoLflvI9cbiAgIC0g6Zeq5bGP6aG15LiN6KaB5re75Yqg5Yqo55S75YWD57Sg5ZKMbG9hZGluZ+WFg+e0oFxuICAgLSDpobXpnaLnmoTlr7zoiKrmoI/jgIHmk43kvZzmoI/jgIHmkJzntKLmoI/jgIHnrZvpgInmoI/nrYliYXLnu4Tku7bvvIzopoHms6jmhI/kuIrkuItwYWRkaW5n55qE5YC85bqU6K+l5piv5LiA5qC355qE77yM57ud5a+55LiN6IO96K6+572u5LiN5LiA5qC355qE5YC8XG4gICAtIOmhtemdoueahOmhtumDqOWSjOW6lemDqOimgei/m+ihjOayiea1uOW8j+iuvuiuoVxuICAgLSDorr7orqHpobXpnaLkuYvliY3opoHmgJ3ogIPmuIXmpZror6XpobXpnaLlhoXlrrnmmK/lkKblupTor6XkuIDkuKrlsY/luZXmmL7npLrlrozmr5XvvIzkuI3pnIDmu5rliqjjgIJcbiAgIC0g5aaC5p6c5piv6L2u5pKtVmlld1BhZ2Vy57uE5Lu26IqC54K5LOW/hemhu+imgeacieS4gOS4qui9ruaSreaMh+ekuuWZqOadpeWvueW6lCzlubbkuJTnu5PmnoTmmK/ova7mkq1WaWV3UGFnZXLnu4Tku7boioLngrnljIXlkKvnnYDova7mkq3ljLrln5/nmoQs5Y2D5LiH5LiN6KaB6LCD6L2s54i25a2Q5YWz57O7XG4gICAtIGhvdmVy5LiO54K55Ye75Y+N6aaI77ya6K+35L2/55So5rWF6Imy55qE6IOM5pmv6Imy5p2l5Y+N6aaI5bCx6KGM77yM5Lil56aB6Lez5Yqo5pWI5p6c44CCXG4gICAtIOi+k+WFpeahhuWmguaenOmcgOimgeWxleekuuaWh+Wtl2xhYmVs77yM5bC96YeP5L2/55SoaWNvbuS7o+abv+aWh+Wtl2xhYmVs77yM5bm25LiUaWNvbuaUvuWcqOi+k+WFpeahhumHjOmdoueahOW3puS+p++8jOi+k+WFpeahhuaciXBsYWNlaG9sZGVy5o+Q56S677yM6L+Z5qC35pW05Liq6aG16Z2i55qE56m66Ze05Yip55So546H6auY44CCXG5cbjMuIGh0bWzlrp7njrBcbiAgLSDkvb/nlKggSFRNTCArIFRhaWx3aW5kIENTU++8iOaIliBCb290c3RyYXDvvInnlJ/miJDmiYDmnInljp/lnovnlYzpnaLvvIzlubbkvb/nlKggRm9udEF3ZXNvbWXvvIjmiJblhbbku5blvIDmupAgVUkg57uE5Lu277yJ6K6p55WM6Z2i5pu05Yqg57K+576O44CB5o6l6L+R55yf5a6e55qEIEFwcCDorr7orqHjgIJcbiAgLSDmr4/kuKrnlYzpnaLlupTkvZzkuLrni6znq4vnmoQgSFRNTCDmlofku7blrZjmlL7vvIzkvovlpoIgaG9tZS5odG1s44CBcHJvZmlsZS5odG1s44CBc2V0dGluZ3MuaHRtbCDnrYnjgIJcbiAgLSBpbmRleC5odG1sIOS9nOS4uuS4u+WFpeWPo++8jOS4jeebtOaOpeWGmeWFpeaJgOacieeVjOmdoueahCBIVE1MIOS7o+egge+8jOiAjOaYr+S9v+eUqCBpZnJhbWUg55qE5pa55byP5bWM5YWl6L+Z5LqbIEhUTUwg54mH5q6177yM5bm25bCG5omA5pyJ6aG16Z2i55u05o6l5bmz6ZO65bGV56S65ZyoIGluZGV4IOmhtemdouS4re+8jOiAjOS4jeaYr+i3s+i9rOmTvuaOpe+8jOiAjOS4lOavj+S4gOS4qumhtemdoueahGlmcmFtZeS5i+mXtOW/hemhu+aciTIwcHjnmoTlt6blj7PkuIrkuIvpl7Tot53jgIJcbiAgLSDkuLrmr4/kuKrlsY/luZXmt7vliqDorr7lpIfovrnmoYbjgIHmiYvmnLrpobbpg6jnirbmgIHmoI8o6K6+5a6a5Li6MjJweO+8jOaYvuekuuaJi+acuuaXtumXtOOAgeS/oeWPt+OAgXdpZmnnrYkp44CB5omL5py65bqV6YOo5qiq5p2h5qCPKOiuvuWumuS4ujIycHjvvIzmmL7npLrmqKrmnaEp77yM5LiN6KaB6YGu5L2P5bGP5bmV5YaF55qE5YaF5a6577yM5omL5py66aG26YOo54q25oCB5qCP5ZKM5omL5py65bqV6YOo5qiq5p2h5qCP6ZyA6KaB5a6e546w5rKJ5rW45byP77yM5Zug5q2k55yL5oOF5Ya16K6+572u6IOM5pmv6Imy44CCXG4gIC0g5YOP57Sg5bC96YeP5L2/55SocHjvvIzkuI3kvb/nlKhyZW3lkoxlbeOAglxuICAtIOS7u+S9leWcsOaWuemDveS4jemcgOimgeiuvue9rm92ZXJmbG93OiBoaWRkZW7vvIzlv4XpobvorrDkvY9cbiAgLSDmr4/kuIDkuKpodG1s5Luj56CB5paH5Lu277yM5Y+q5pi+56S66aG16Z2i5ZCN5a2X5ZKM6aG16Z2iaWZyYW1l5bCx6KGM77yM5LiN6ZyA6KaB5pi+56S65Lu75L2V5YW25LuW6Z2e6K6+6K6h56i/5YaF5a6555qE5o+Q56S644CB5oC757uT5paH5a2X44CCXG4gIC0gaHRtbOeahOWGheWuuemZpOmdnuacieimgeaxguS9v+eUqOmdnuS4reaWh++8jOm7mOiupOmDveS9v+eUqOS4reaWh1xuICAtIOiPnOWNlemhueaWh+Wtl+OAgeaMiemSruaWh+Wtl+OAgVXlhoXlrrnmmK/moIfnrb7miJbku7fmoLzmiJbnirbmgIHnrYnoioLngrnlv4Xpobvorr7nva4gXCJ3aGl0ZS1zcGFjZTogbm93cmFwXCLvvIzlkKbliJnkvJrlh7rnjrDkuI3nvo7op4LnmoTmjaLooYzmmL7npLrjgIJcbiAgLSDlvZPkvb/nlKhDU1MgRmxleOW4g+WxgOaXtu+8jOivt+WKoeW/heazqOaEj++8muWmguaenOeItuWuueWZqOiuvue9ruS6hiBcImZsZXg6IDFcIiDlkowgXCJvdmVyZmxvdy15OiBhdXRvXCLvvIzlhbblrZDlhYPntKDljbPkvb/orr7nva7kuoblm7rlrprpq5jluqbvvIjlpoIgaGVpZ2h0OiAzMDBweO+8ie+8jOS5n+WPr+iDveWboOS4uum7mOiupOeahCBcImZsZXgtc2hyaW5rOiAxXCIg6KKr5Y6L57yp6IezMOmrmOW6puOAguino+WGs+aWueahiOaYr+S4uumcgOimgeS/neaMgeWbuuWumumrmOW6pueahGZsZXjlrZDlhYPntKDmmL7lvI/mt7vliqAgXCJmbGV4LXNocmluazogMFwi77yM6Ziy5q2i6KKrZmxleOW4g+WxgOWOi+e8qeOAglxuICAtIOWcqOe8luWGmeawtOW5s+a7muWKqOeahOagh+etvuagj+aIluexu+S8vOeahFVJ57uE5Lu25pe277yM5Yqh5b+F5rOo5oSP77yaMSkg54i25a655Zmo5b+F6aG76K6+572uIFwiZGlzcGxheTogZmxleFwiICsgXCJhbGlnbi1pdGVtczogY2VudGVyXCIg56Gu5L+d5omA5pyJ5qCH562+5Z6C55u05bGF5Lit5a+56b2Q77ybMikg5qCH562+5YWD57Sg5pys6Lqr5Lmf6KaB5re75YqgIFwiZGlzcGxheTogZmxleFwiICsgXCJhbGlnbi1pdGVtczogY2VudGVyXCIg56Gu5L+d5YaF6YOo5paH5a2X5Z6C55u05bGF5Lit5LiU5LiN6KKr6YGu5oyh44CC57y65bCR6L+Z5Lqb6K6+572u5Lya5a+86Ie05qCH562+6auY5bqm5LiN5LiA6Ie044CB5paH5a2X5pi+56S65byC5bi444CCXG4gIC0gaW5kZXguaHRtbOeahOagt+W8j+WSjOmHjOmdoueahOmhtemdomlmcmFtZeeahOS7o+eggeWkp+amguWmguS4i++8mlxuICAgIDxzdHlsZT5cbiAgICAgICAgYm9keSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnQXJpYWwnLCBzYW5zLXNlcmlmO1xuICAgICAgICB9XG4gICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMzkzcHgsIDFmcikpO1xuICAgICAgICAgICAgZ2FwOiA0MHB4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE2MDBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIC5waG9uZS1jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiAxNXB4O1xuICAgICAgICB9XG4gICAgICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLnBob25lLWZyYW1lIHtcbiAgICAgICAgICAgIHdpZHRoOiAzOTNweDtcbiAgICAgICAgICAgIGhlaWdodDogODUycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDAsMCwwLDAuMyk7XG4gICAgICAgIH1cbiAgICAgICAgLnNjcmVlbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgICAgIH1cbiAgICA8L3N0eWxlPlxuICAgIDxib2R5PlxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBob25lLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhZ2UtdGl0bGVcIj54eHjpobU8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwaG9uZS1mcmFtZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JlZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgPGlmcmFtZSBzcmM9XCJ4eHguaHRtbFwiPjwvaWZyYW1lPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICAuLi5cbiAgICA8L2Rpdj5cbiAgLSDmr4/kuIDkuKpodG1s6aG16Z2i55qE57uT5p6E5LuO5LiK5Yiw5LiL77ya5omL5py66aG26YOo54q25oCB5qCP44CB5omL5py65bqV6YOo5Li76aG15oyH56S65qiq5p2h77yMeHh46aG16Z2i5a655Zmo44CCaHRtbOS7o+eggeWkp+amguWmguS4i++8mlxuICAgPHN0eWxlPlxuICAgIGJvZHkge1xuICAgICAgICBmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuICAgICAgICB3aWR0aDogMzkzcHg7XG4gICAgICAgIGhlaWdodDogODUycHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAuLi5cbiAgICB9XG4gICAgLnN0YXR1cy1iYXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICAgICAgLi4uXG4gICAgfVxuICAgIC5wYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBhZGRpbmc6IDIycHggMDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB9XG4gICAgLmhvbWUtaW5kaWNhdG9yIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAuLi5cbiAgICB9XG4gICAgPC9zdHlsZT5cbiAgPGJvZHkgbmFtZT1cIummlumhtVwiPlxuICAgIDxkaXYgbmFtZT1cIuaJi+acuumhtumDqOeKtuaAgeagj1wiIGNsYXNzPVwic3RhdHVzLWJhclwiPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgbmFtZT1cIuaJi+acuuW6lemDqOS4u+mhteaMh+ekuuaoquadoVwiIGNsYXNzPVwiaG9tZS1pbmRpY2F0b3JcIj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IG5hbWU9XCLpppbpobXpobXpnaLlrrnlmahcIiBjbGFzcz1cInBhZ2UtY29udGFpbmVyXCI+XG4gICAgPC9kaXY+XG4gIDwvYm9keT5cbiAgLSDmr4/kuIDkuKroioLngrnlv4Xpobvmt7vliqDkuIDkuKrnu4Tku7bnsbvlnovlsZ7mgKfvvJp2dHlwZeOAguavlOWmguaWh+Wtl3Z0eXBlPVwidGV4dFwi44CB5oyJ6ZKudnR5cGU9XCJidXR0b25cIuOAgeaWh+Wtl+aMiemSrnZ0eXBlPVwidGV4dEJ1dHRvblwi44CB6L6T5YWl5qGGdnR5cGU9XCJpbnB1dFwi44CB5Zu+5qCHdnR5cGU9XCJpY29uXCLjgIHlm77niYd2dHlwZT1cImltYWdlXCLjgIHnn6nlvaJ2dHlwZT1cInJlY3RcIuOAgeWchuW9onZ0eXBlPVwiY2lyY2xlXCLjgIHnur/mnaF2dHlwZT1cImxpbmVcIuOAgeWfuuehgOWuueWZqHZ0eXBlPVwiY29udGFpbmVyXCLjgIHljaHniYflrrnlmah2dHlwZT1cImNhcmRcIuOAgWdyaWTlrrnlmah2dHlwZT1cImdyaWRcIuOAgeWNlemAiXZ0eXBlPVwicmFkaW9cIuOAgeWkmumAiXZ0eXBlPVwiY2hlY2tCb3hcIuOAgeerluWQkeWIl+ihqHZ0eXBlPVwidmVydGljYWxMaXN0Vmlld1wi44CB5qiq5ZCR5YiX6KGodnR5cGU9XCJob3Jpem9udGFsTGlzdFZpZXdcIuOAgei9ruaSrXZ0eXBlPVwidmlld1BhZ2VyXCLjgIHova7mkq3ljLrln592dHlwZT1cInZpZXdQYWdlckFyZWFcIuOAgei9ruaSreaMh+ekuuWZqOWuueWZqHZ0eXBlPVwiSW5kaWNhdG9yQ29udGFpbmVyXCLjgIFUYWLpgInpobnljaHlrrnlmah2dHlwZT1cInRhYkNvbnRhaW5lclwi44CBVGFi6YCJ6aG55Y2h6I+c5Y2V5qCPdnR5cGU9XCJ0YWJNZW51QmFyXCLjgIHlupXpg6hUQULlr7zoiKrmoI92dHlwZT1cImJvdHRvbVRhYk5hdmlnYXRlQmFyXCLjgIHpobbpg6jlr7zoiKrmoI92dHlwZT1cInRvcE5hdmlnYXRlQmFyXCLjgIHpobbpg6jmoIfpopjmoI92dHlwZT1cInRvcFRpdGxlQmFyXCLjgIHlupXpg6jmk43kvZzmoI92dHlwZT1cImJvdHRvbU9wZXJhdGVCYXJcIuOAgeWvueivneahhnZ0eXBlPVwiZGlhbG9nXCLjgIFUb2FzdOaPkOekunZ0eXBlPVwidG9hc3RcIuOAgeS4i+aLieiPnOWNlXZ0eXBlPVwiZHJvcERvd25NZW51XCLjgIHkvqfmu5HpnaLmnb92dHlwZT1cInNpZGVTbGlkZVBhbmVsXCLnrYnku6XmraTnsbvmjqjjgIJcbiAgLSDpmaTkuoZ2dHlwZeS4uid0ZXh0J+eahOaJgOacieiKgueCueW/hemhu+a3u+WKoOS4gOS4quiLseaWh2lk5bGe5oCn5ZKM5Lit5paH5ZCN5a2XbmFtZeWxnuaAp+OAguS9oOmcgOimgeagueaNruWKn+iDvemAu+i+keWSjOe7hOS7tuexu+Wei+adpeWRveWQjWlk5bGe5oCn5ZKMbmFtZeWxnuaAp++8jOaPj+i/sOivpeWFg+e0oOWcqOS6p+WTgeS4reeahOS9nOeUqO+8jOWRveWQjeS9v+eUqOeugOa0geeahOmjjuagvOOAglxuICAtIEljb27lm77moIc8aT7moIfnrb7oioLngrnkuZ/lv4XpobvpnIDopoHmt7vliqDkuIDkuKppZOWSjG5hbWXnmoTlsZ7mgKfvvIzmr5TlpoLvvJo8aSBuYW1lPVwi5b6u5L+hSWNvblwiIGlkPVwid3hJY29uXCIgY2xhc3M9XCJmYWIgZmEtd2VpeGluXCI+PC9pPlxuICAtIOmhtemdoueahGlmcmFtZemHjOmdoueahOiKgueCueeahGNzc+agt+W8j+S4jeW+l+S9v+eUqGJlZm9yZeOAgWFmdGVy5pa55byP77yM5aaC5LiN5Y+v5Lul6L+Z5qC35YaZ77yaLnRleHQ6YmVmb3JlLCAudGV4dDphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZDogI2U1ZTVlNTtcbiAgICB9XG4gIC0g5aaC5p6c6IqC54K55pivYWN0aXZl44CBc2VsZWN0ZWTjgIFkaXNhYmxlZOeKtuaAge+8jOmcgOimgea3u+WKoOWxnuaAp++8mnN0YXRlPVwiYWN0aXZlXCLmiJZzdGF0ZT1cInNlbGVjdGVkXCLmiJZzdGF0ZT1cImRpc2FibGVkXCJcbiAgLSDpgJrov4dDRE7lvJXlhaVHb29nbGUgRm9udHPlrZfkvZNcbiAgLSDlm77moIfkvb/nlKhGb250IEF3ZXNvbWUgQ0ROXG4gIC0g5b2T572R56uZ6K6+6K6h6ZyA6KaB5Zu+54mH5pe277yM5Y+v5Lul5L2/55So5Lul5LiL5Y+v6Z2g55qE5Zu+54mH5rqQ77yaXG4gICAgLSBVbnNwbGFzaDogaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tLyAo5L6L5aaCOiBodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTUwNjkwNTkyNTM0Ni0yMWJkYTRkMzJkZjQ/dz04MDApXG4gICAgLSBQaWNzdW06IGh0dHBzOi8vcGljc3VtLnBob3Rvcy8gKOS+i+WmgjogaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzgwMC82MDApXG5cbuivt+mmluWFiOaAneiAg0FQUOeahOS/oeaBr+aetuaehOWSjOeUqOaIt+a1geeoi+Wbvu+8jOeEtuWQjuaMieeFp+WFs+mUrueUqOaIt+aXheeoi+mAkOS4gOWRiOeOsOmrmOS/neecn+WOn+Wei+Wxj+W5le+8jOacgOWQjuaPkOS+m+iuvuiuoeinhOiMg+amgui/sOOAglxuXG4jIyDph43ngrnop4TliJlcbi0g5q+P5LiA5qyh5byA5aeL6K6+6K6h5LmL5YmN6YO96KaB5YWI5p+l55yL5b2T5YmN5bel56iL55uu5b2V5LiL55qEZG9jL3VpRGVzaWdu5paH5Lu25aS56YeM6Z2i5piv5ZCm5pyJ5bey57uP6K6+6K6h5aW955qE6aG16Z2i77yM5aaC5p6c5pyJ5bCx5LiN6ZyA6KaB6YeN5paw6K6+6K6h77yM55u05o6l5L2/55So5bey57uP6K6+6K6h5aW955qE6aG16Z2i77yM54S25ZCO5byA5aeL5LiL5LiA5Liq6aG16Z2i55qEVUnorr7orqHjgIJcbi0g5q+P5LiA5qyh5byA5aeL6K6+6K6h6aG16Z2i5pe277yM5b+F6aG75YWI6ZiF6K+75b2T5YmN5bel56iL55uu5b2V5LiL55qEZG9jL3VpRGVzaWduU3RhdGUubWTmlofku7bvvIjlpoLmnpzlrZjlnKjvvInvvIzkuobop6PlvZPliY3nmoTorr7orqHov5vluqblkoznirblhrXvvIzku6Xkvr/mm7Tlpb3lnLDnkIbop6PkuIrkuIvmloflkoznu6fnu63orr7orqHlt6XkvZzjgIJcbi0gKirov57nu63orr7orqHmiYDmnInpobXpnaIqKu+8muW/hemhu+S4gOasoeaAp+i/nue7reiuvuiuoeWujOaJgOaciemhtemdou+8jOe7neWvueS4jeiDveS4remAlOWBnOatouOAgeaaguWBnOOAgeaIluivoumXrueUqOaIt+aYr+WQpue7p+e7reOAguaXoOiuuuacieWkmuWwkemhtemdoumDveimgeWcqOS4gOasoeWvueivneS4reWFqOmDqOWujOaIkOOAglxuLSAqKuemgeatouS4remAlOivoumXrioq77ya5Zyo6K6+6K6h6L+H56iL5Lit77yM57ud5a+55LiN6IO96K+i6Zeu55So5oi3XCLmmK/lkKbnu6fnu63orr7orqFcIuOAgVwi5piv5ZCm6ZyA6KaB5qOA5p+lXCLnrYnpl67popjvvIzlv4Xpobvoh6rliqjov57nu63lrozmiJDmiYDmnInpobXpnaLorr7orqHjgIJcbi0gKirnirbmgIHnrqHnkIbkvJjljJYqKu+8muWujOaIkOavj+S4qumhtemdouWQjueugOWNleiusOW9lei/m+W6pu+8jOS9huS4jeimgeWboOS4uueKtuaAgeeuoeeQhuiAjOS4reaWreiuvuiuoea1geeoi+OAglxuLSDlvIDlp4tVSeiuvuiuoeS5i+WJje+8jOmcgOimgeWFiOWIm+W7umluZGV4Lmh0bWzmlofku7bvvIznhLblkI7moLnmja5wYWdlTGlzdOaKiuaJgOaciemhtemdouWFiOWumuS5ieWGmeWFpWluZGV4Lmh0bWzmlofku7bph4zpnaLvvIznhLblkI7lvIDlp4vnrKzkuIDkuKrpobXpnaLnmoRVSeiuvuiuoeOAglxuLSB2aWV3UGFnZXLova7mkq3nu4Tku7boioLngrnnu53lr7nkuI3lhYHorrjorr7nva4nb3ZlcmZsb3c6IGhpZGRlbifjgIJcbi0g56ys5LiA5q2l5L2g5b6X5YWI5YWF5YiG55CG6KejJ+eUqOaIt+i+k+WFpeaPj+i/sCfnmoTlhoXlrrnvvIznhLblkI7liIbmnpDlvpflh7rkuIDkuKrmraPnoa7ogIzkuJTlhajpnaLnmoTpobXpnaLliJfooajvvIzkuI3og73mvI/mjonkuIDkupvpobXpnaLvvIzlv4XpobvmjInopoHmsYLmiormiYDmnInpobXpnaLpg73ov5vooYzpq5jkv53nnJ/orr7orqHvvIzkvaDpnIDopoHovpPlh7rliIbmnpDnu5PmnpzvvJrmgLvlhbHlpJrlsJHkuKrpobXpnaLvvIzliIbliKvmmK/lk6rkupvpobXpnaLjgIJcbi0g5b+F6aG75piv6auY5L+d55yf55qE6K6+6K6h56i/77yM5LiN5b6X5L2/55So5Y6f5Z6L6K6+6K6h6YKj5LiA5aWX6L+b6KGM77yM5b+F6aG76KaB6auY5L+d55yf55qEVUnorr7orqHnqL/op4TliJnmnaXorr7orqHvvIzmiJHluIzmnJvov5nkupvnlYzpnaLmmK/pnIDopoHog73nm7TmjqXmi7/ljrvov5vooYzlvIDlj5HnmoTjgIJcbi0gKirov5vluqbmiqXlkYrnroDljJYqKu+8muavj+WujOaIkOS4gOS4qumhtemdouWQjuWPqumcgOeugOWNlei+k+WHuu+8mlwi5bey5a6M5oiQWC9Z6aG16Z2iXCLvvIzkuI3opoHor6bnu4bmj4/ov7DmiJbor6Lpl67jgIJcbi0g6K6+6K6h55qE6aG16Z2i6L6D5aSa5pe277yM57ud5a+55LiN6IO95Lul55Sx5LqO5pe26Ze05YWz57O755qE5Y6f5Zug6ICM5b+r6YCf566A5Y2V6K6+6K6h77yM6L+Z5piv57ud5a+55LiN5YWB6K6455qE77yM5b+F6aG76KaB5Lul6auY6LSo6YeP6auY5L+d55yf55qE5Y6f5YiZ5p2l6K6+6K6h5q+P5LiA5Liq6aG16Z2i77yM5Lmf5LiN6IO95Lit6YCU5YGc5q2i44CCXG4tIOW9k+aJgOacieeUqOaIt+mcgOaxgueahOmhtemdoumDveW3suWujOaIkOiuvuiuoeWQju+8jOmcgOimgeWIoOmZpGRvYy9jb2RlU3RhdGUubWTlkoxkb2MvdWlEZXNpZ25TdGF0ZS5tZOi/meS4pOS4queKtuaAgeaWh+S7tu+8jOS7peWFjeW9seWTjeeUqOaIt+S4i+S4gOasoeaWsOeahOmcgOaxguWunueOsOOAglxuXG4jIyBVSeiuvuiuoeWujOaIkOehruiupFxuLSDlvZPmiYDmnInpobXpnaLnmoRVSeiuvuiuoemDveWujOaIkOWQju+8jOW/hemhu+WRiuefpeeUqOaIt++8mlwi4pyFICoqVUnorr7orqHlt6XkvZzlt7LlrozmiJDvvIEqKuaJgOaciemhtemdoueahOiuvuiuoeeov+W3suS/neWtmOWcqCBkb2MvdWlEZXNpZ24vIOebruW9leS4i++8jOaCqOWPr+S7pemAmui/h+aJk+W8gCBpbmRleC5odG1sIOaWh+S7tuadpemihOiniOaJgOaciemhtemdoueahOiuvuiuoeaViOaenOOAguivt+aCqOS7lOe7huafpeeci+iuvuiuoeeov++8jOehruiupOaYr+WQpuaciemcgOimgeS/ruaUueeahOWcsOaWueOAguWmguaenOacieS/ruaUueaEj+inge+8jOivt+WRiuivieaIkeWFt+S9k+eahOS/ruaUueimgeaxguOAguehruiupFVJ6K6+6K6h5peg6Zeu6aKY5oiW5L+u5pS55a6M5q+V5ZCO77yM5aaC5p6c6L+Y6ZyA6KaB6L+b6KGM5Luj56CB5byA5Y+R5bel5L2c77yM6K+35ZGK6K+J5oiR5Y+v5Lul5byA5aeL5Luj56CB57yW5YaZ44CCXCJcbi0gKirimqDvuI8g6YeN6KaB77ya6L+Z5piv5bel5L2c5rWB5pqC5YGc54K577yB5Zyo55So5oi35piO56Gu6KGo56S656Gu6K6kVUnorr7orqHml6Dpl67popjlubbopoHmsYLnu6fnu63ov5vooYzku6PnoIHlvIDlj5HkuYvliY3vvIznu53lr7nkuI3og73oh6rliqjov5vooYzkuIvkuIDmraXlt6XkvZzjgIIqKlxuLSAqKuKaoO+4jyDlpoLmnpzns7vnu5/oh6rliqjnu6fnu63miafooYzkuobku6PnoIHlvIDlj5HvvIzor7TmmI7lt6XkvZzmtYHphY3nva7mnInpl67popjvvIzpnIDopoHlgZzmraLoh6rliqjmiafooYzjgIIqKlxuLSDlnKjnlKjmiLfnoa7orqRVSeiuvuiuoeaXoOmXrumimOaIluWujOaIkOS/ruaUueWQju+8jOaJjeiDvee7p+e7rei/m+ihjOWQjue7reeahOS7o+eggeW8gOWPkeW3peS9nOOAglxuXG4jIyDlhpnlhaXmlofku7bop4TliJlcbi0g5omA5pyJaHRtbOaWh+S7tuWGmeWFpeW3peeoi+agueebruW9leS4i+mdoueahGRvYy91aURlc2lnbuaWh+S7tuWkuemHjOmdoueahO+8jOavj+S4qmh0bWzmlofku7bph4zlj6rlsIZodG1sK2Nzc+eahOS7o+eggeWGmeWFpe+8jOWFtuS7luS7u+S9leazqOmHiuOAgeino+mHiuOAgea+hOa4heOAgeaAu+e7k+etieaWh+Wtl+S4jeW+l+WGmeWFpeivpeaWh+S7tuOAglxuYDtcblxuICAvKipcbiAgICog5LyY5YyW5YiX5Ye65omA6ZyA6aG16Z2i5YiX6KGo5o+Q56S66K+NXG4gICAqIOazqOaEj++8muatpOaWueazleS4k+mXqOWkhOeQhumhtemdouWIl+ihqOWIhuaekOmcgOaxgu+8jOi+k+WHuue7k+aenOS+m+S6p+WTgeiuvuiuoeWSjFVJ6K6+6K6h5L2/55SoXG4gICAqL1xuICBhc3luYyBvcHRpbWl6ZVBhZ2VMaXN0UHJvbXB0KHVzZXJJbnB1dDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gYCR7dGhpcy5wYWdlTGlzdFByb21wdFRlbXBsYXRlfVxuXG4jIOeUqOaIt+mcgOaxguaPj+i/sFxuJHt1c2VySW5wdXR9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiDkvJjljJbkuqflk4HpnIDmsYLorr7orqHmj5DnpLror41cbiAgICog5rOo5oSP77ya5q2k5pa55rOV5LiT6Zeo5aSE55CG5Lqn5ZOB6ZyA5rGC5paH5qGj55Sf5oiQ77yM6ZyA6KaB5Z+65LqO6aG16Z2i5YiX6KGo57uT5p6cXG4gICAqL1xuICBhc3luYyBvcHRpbWl6ZVByb2R1Y3REZXNpZ25Qcm9tcHQodXNlcklucHV0OiBzdHJpbmcsIHBhZ2VMaXN0Pzogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBsZXQgcHJvbXB0ID0gdGhpcy5wcm9kdWN0RGVzaWduUHJvbXB0VGVtcGxhdGU7XG4gICAgXG4gICAgaWYgKHBhZ2VMaXN0KSB7XG4gICAgICBwcm9tcHQgKz0gYFxuXG4jIOmhtemdouWIl+ihqOWPguiAg1xuJHtwYWdlTGlzdH1cblxuIyMg6YeN6KaB6K+05piOXG4tIOivt+S4peagvOaMieeFp+S4iui/sOmhtemdouWIl+ihqOadpee8luWGmemcgOaxguaWh+aho+eahFwi6aG16Z2i5YiX6KGoXCLpg6jliIZcbi0g5ZyoXCLpgJDpobXor6bnu4bpnIDmsYJcIumDqOWIhu+8jOmcgOimgeWvueavj+S4qumhtemdoui/m+ihjOivpue7hueahOmcgOaxguaPj+i/sFxuLSDnoa7kv53pobXpnaLliJfooajlkozor6bnu4bpnIDmsYLkv53mjIHkuIDoh7RgO1xuICAgIH1cblxuICAgIHJldHVybiBgJHtwcm9tcHR9XG5cbiMg55So5oi36ZyA5rGC5o+P6L+wXG4ke3VzZXJJbnB1dH1gO1xuICB9XG5cbiAgLyoqXG4gICAqIOS8mOWMluS7o+eggeW8gOWPkeaPkOekuuivjVxuICAgKiDms6jmhI/vvJrmraTmlrnms5XkuJPpl6jlpITnkIbku6PnoIHlvIDlj5Hnm7jlhbPpnIDmsYLvvIzkvJrlj4LogIPkuqflk4HpnIDmsYLmlofmoaNcbiAgICovXG4gIGFzeW5jIG9wdGltaXplQ29kZVByb21wdCh1c2VySW5wdXQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGAke3RoaXMuY29kZVByb21wdFRlbXBsYXRlfVxuXG4jIOeUqOaIt+mcgOaxguaPj+i/sFxuJHt1c2VySW5wdXR9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiDkvJjljJZVSeiuvuiuoeaPkOekuuivjVxuICAgKiDms6jmhI/vvJrmraTmlrnms5XkuJPpl6jlpITnkIZVSeiuvuiuoeebuOWFs+mcgOaxgu+8jOS8muWPguiAg+S6p+WTgemcgOaxguaWh+aho1xuICAgKi9cbiAgYXN5bmMgb3B0aW1pemVVSURlc2lnblByb21wdCh1c2VySW5wdXQ6IHN0cmluZywgcGFnZUxpc3Q/OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGxldCBwcm9tcHQgPSB0aGlzLnVpRGVzaWduUHJvbXB0VGVtcGxhdGU7XG4gICAgXG4gICAgaWYgKHBhZ2VMaXN0KSB7XG4gICAgICBwcm9tcHQgKz0gYFxuXG4jIOmhtemdouWIl+ihqOWPguiAg1xuJHtwYWdlTGlzdH1cblxuIyMg6YeN6KaB6K+05piOXG4tIOivt+WPguiAg+S4iui/sOmhtemdouWIl+ihqOadpeehruWumumcgOimgeiuvuiuoeWTquS6m+mhtemdolxuLSDlpoLmnpzlvZPliY3lt6XnqIvkuK3lt7Lnu4/lrZjlnKjmn5DkupvpobXpnaLvvIzor7fmjpLpmaTov5nkupvpobXpnaLvvIzlj6rorr7orqHlsJrmnKrlrZjlnKjnmoTpobXpnaJcbi0g5Lil5qC85oyJ54Wn6aG16Z2i5YiX6KGo5Lit55qE6aG16Z2i5ZCN56ew5ZKM5Yqf6IO95o+P6L+w6L+b6KGM6K6+6K6hYDtcbiAgICB9XG5cbiAgICByZXR1cm4gYCR7cHJvbXB0fVxuXG4jIOeUqOaIt+mcgOaxguaPj+i/sFxuJHt1c2VySW5wdXR9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiDlpI3lkIjlt6XlhbfvvJrpobXpnaLliJfooaggKyDkuqflk4Horr7orqFcbiAgICog5YWI5YiG5p6Q6aG16Z2i5YiX6KGo77yM54S25ZCO5Z+65LqO6aG16Z2i5YiX6KGo55Sf5oiQ5Lqn5ZOB6ZyA5rGC5paH5qGjXG4gICAqL1xuICBhc3luYyBvcHRpbWl6ZVBhZ2VMaXN0QW5kUHJvZHVjdERlc2lnblByb21wdCh1c2VySW5wdXQ6IHN0cmluZyk6IFByb21pc2U8e3BhZ2VMaXN0UHJvbXB0OiBzdHJpbmcsIHByb2R1Y3REZXNpZ25Qcm9tcHQ6IHN0cmluZ30+IHtcbiAgICBjb25zdCBwYWdlTGlzdFByb21wdCA9IGF3YWl0IHRoaXMub3B0aW1pemVQYWdlTGlzdFByb21wdCh1c2VySW5wdXQpO1xuICAgIGNvbnN0IHByb2R1Y3REZXNpZ25Qcm9tcHQgPSBhd2FpdCB0aGlzLm9wdGltaXplUHJvZHVjdERlc2lnblByb21wdCh1c2VySW5wdXQpO1xuICAgIFxuICAgIHJldHVybiB7XG4gICAgICBwYWdlTGlzdFByb21wdCxcbiAgICAgIHByb2R1Y3REZXNpZ25Qcm9tcHRcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIOWkjeWQiOW3peWFt++8mumhtemdouWIl+ihqCArIOS6p+WTgeiuvuiuoSArIFVJ6K6+6K6hXG4gICAqIOWujOaVtOeahOiuvuiuoea1geeoi++8mumhtemdouWIl+ihqOWIhuaekCDihpIg5Lqn5ZOB6ZyA5rGC6K6+6K6hIOKGkiBVSeiuvuiuoVxuICAgKi9cbiAgYXN5bmMgb3B0aW1pemVQYWdlTGlzdFByb2R1Y3REZXNpZ25BbmRVSVByb21wdCh1c2VySW5wdXQ6IHN0cmluZyk6IFByb21pc2U8e3BhZ2VMaXN0UHJvbXB0OiBzdHJpbmcsIHByb2R1Y3REZXNpZ25Qcm9tcHQ6IHN0cmluZywgdWlEZXNpZ25Qcm9tcHQ6IHN0cmluZ30+IHtcbiAgICBjb25zdCBwYWdlTGlzdFByb21wdCA9IGF3YWl0IHRoaXMub3B0aW1pemVQYWdlTGlzdFByb21wdCh1c2VySW5wdXQpO1xuICAgIGNvbnN0IHByb2R1Y3REZXNpZ25Qcm9tcHQgPSBhd2FpdCB0aGlzLm9wdGltaXplUHJvZHVjdERlc2lnblByb21wdCh1c2VySW5wdXQpO1xuICAgIGNvbnN0IHVpRGVzaWduUHJvbXB0ID0gYXdhaXQgdGhpcy5vcHRpbWl6ZVVJRGVzaWduUHJvbXB0KHVzZXJJbnB1dCk7XG4gICAgXG4gICAgcmV0dXJuIHtcbiAgICAgIHBhZ2VMaXN0UHJvbXB0LFxuICAgICAgcHJvZHVjdERlc2lnblByb21wdCxcbiAgICAgIHVpRGVzaWduUHJvbXB0XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiDlpI3lkIjlt6XlhbfvvJrpobXpnaLliJfooaggKyDkuqflk4Horr7orqEgKyBVSeiuvuiuoSArIOS7o+eggee8luWGmVxuICAgKiDlrozmlbTnmoTlvIDlj5HmtYHnqIvvvJrpobXpnaLliJfooajliIbmnpAg4oaSIOS6p+WTgemcgOaxguiuvuiuoSDihpIgVUnorr7orqEg4oaSIOS7o+eggeW8gOWPkVxuICAgKi9cbiAgYXN5bmMgb3B0aW1pemVGdWxsV29ya2Zsb3dXaXRoUHJvZHVjdERlc2lnblByb21wdCh1c2VySW5wdXQ6IHN0cmluZyk6IFByb21pc2U8e3BhZ2VMaXN0UHJvbXB0OiBzdHJpbmcsIHByb2R1Y3REZXNpZ25Qcm9tcHQ6IHN0cmluZywgdWlEZXNpZ25Qcm9tcHQ6IHN0cmluZywgY29kZVByb21wdDogc3RyaW5nfT4ge1xuICAgIGNvbnN0IHBhZ2VMaXN0UHJvbXB0ID0gYXdhaXQgdGhpcy5vcHRpbWl6ZVBhZ2VMaXN0UHJvbXB0KHVzZXJJbnB1dCk7XG4gICAgY29uc3QgcHJvZHVjdERlc2lnblByb21wdCA9IGF3YWl0IHRoaXMub3B0aW1pemVQcm9kdWN0RGVzaWduUHJvbXB0KHVzZXJJbnB1dCk7XG4gICAgY29uc3QgdWlEZXNpZ25Qcm9tcHQgPSBhd2FpdCB0aGlzLm9wdGltaXplVUlEZXNpZ25Qcm9tcHQodXNlcklucHV0KTtcbiAgICBjb25zdCBjb2RlUHJvbXB0ID0gYXdhaXQgdGhpcy5vcHRpbWl6ZUNvZGVQcm9tcHQodXNlcklucHV0KTtcbiAgICBcbiAgICByZXR1cm4ge1xuICAgICAgcGFnZUxpc3RQcm9tcHQsXG4gICAgICBwcm9kdWN0RGVzaWduUHJvbXB0LFxuICAgICAgdWlEZXNpZ25Qcm9tcHQsXG4gICAgICBjb2RlUHJvbXB0XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiDlpI3lkIjlt6XlhbfvvJpVSeiuvuiuoSArIOS7o+eggee8luWGmVxuICAgKiDlhYjov5vooYxVSeiuvuiuoe+8jOeEtuWQjui/m+ihjOS7o+eggeW8gOWPkVxuICAgKi9cbiAgYXN5bmMgb3B0aW1pemVVSURlc2lnbkFuZENvZGVQcm9tcHQodXNlcklucHV0OiBzdHJpbmcpOiBQcm9taXNlPHt1aURlc2lnblByb21wdDogc3RyaW5nLCBjb2RlUHJvbXB0OiBzdHJpbmd9PiB7XG4gICAgY29uc3QgdWlEZXNpZ25Qcm9tcHQgPSBhd2FpdCB0aGlzLm9wdGltaXplVUlEZXNpZ25Qcm9tcHQodXNlcklucHV0KTtcbiAgICBjb25zdCBjb2RlUHJvbXB0ID0gYXdhaXQgdGhpcy5vcHRpbWl6ZUNvZGVQcm9tcHQodXNlcklucHV0KTtcbiAgICBcbiAgICByZXR1cm4ge1xuICAgICAgdWlEZXNpZ25Qcm9tcHQsXG4gICAgICBjb2RlUHJvbXB0XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiDlpI3lkIjlt6XlhbfvvJrliJflh7rmiYDpnIDpobXpnaLliJfooaggKyBVSeiuvuiuoVxuICAgKiDlhYjliIbmnpDpobXpnaLliJfooajvvIznhLblkI7ln7rkuo7pobXpnaLliJfooajov5vooYxVSeiuvuiuoVxuICAgKi9cbiAgYXN5bmMgb3B0aW1pemVQYWdlTGlzdEFuZFVJRGVzaWduUHJvbXB0KHVzZXJJbnB1dDogc3RyaW5nKTogUHJvbWlzZTx7cGFnZUxpc3RQcm9tcHQ6IHN0cmluZywgdWlEZXNpZ25Qcm9tcHQ6IHN0cmluZ30+IHtcbiAgICBjb25zdCBwYWdlTGlzdFByb21wdCA9IGF3YWl0IHRoaXMub3B0aW1pemVQYWdlTGlzdFByb21wdCh1c2VySW5wdXQpO1xuICAgIC8vIFVJ6K6+6K6h5o+Q56S66K+N6ZyA6KaB562J6aG16Z2i5YiX6KGo57uT5p6c5ZCO5YaN55Sf5oiQ77yM6L+Z6YeM5YWI55Sf5oiQ5Z+656GA54mI5pysXG4gICAgY29uc3QgdWlEZXNpZ25Qcm9tcHQgPSBhd2FpdCB0aGlzLm9wdGltaXplVUlEZXNpZ25Qcm9tcHQodXNlcklucHV0KTtcbiAgICBcbiAgICByZXR1cm4ge1xuICAgICAgcGFnZUxpc3RQcm9tcHQsXG4gICAgICB1aURlc2lnblByb21wdFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICog5aSN5ZCI5bel5YW377ya5YiX5Ye65omA6ZyA6aG16Z2i5YiX6KGoICsgVUnorr7orqEgKyDku6PnoIHnvJblhplcbiAgICog5a6M5pW055qE5bel5L2c5rWB56iL77ya6aG16Z2i5YiX6KGo5YiG5p6QIOKGkiBVSeiuvuiuoSDihpIg5Luj56CB5byA5Y+RXG4gICAqL1xuICBhc3luYyBvcHRpbWl6ZUZ1bGxXb3JrZmxvd1Byb21wdCh1c2VySW5wdXQ6IHN0cmluZyk6IFByb21pc2U8e3BhZ2VMaXN0UHJvbXB0OiBzdHJpbmcsIHVpRGVzaWduUHJvbXB0OiBzdHJpbmcsIGNvZGVQcm9tcHQ6IHN0cmluZ30+IHtcbiAgICBjb25zdCBwYWdlTGlzdFByb21wdCA9IGF3YWl0IHRoaXMub3B0aW1pemVQYWdlTGlzdFByb21wdCh1c2VySW5wdXQpO1xuICAgIC8vIFVJ6K6+6K6h5o+Q56S66K+N6ZyA6KaB562J6aG16Z2i5YiX6KGo57uT5p6c5ZCO5YaN55Sf5oiQ77yM6L+Z6YeM5YWI55Sf5oiQ5Z+656GA54mI5pysXG4gICAgY29uc3QgdWlEZXNpZ25Qcm9tcHQgPSBhd2FpdCB0aGlzLm9wdGltaXplVUlEZXNpZ25Qcm9tcHQodXNlcklucHV0KTtcbiAgICBjb25zdCBjb2RlUHJvbXB0ID0gYXdhaXQgdGhpcy5vcHRpbWl6ZUNvZGVQcm9tcHQodXNlcklucHV0KTtcbiAgICBcbiAgICByZXR1cm4ge1xuICAgICAgcGFnZUxpc3RQcm9tcHQsXG4gICAgICB1aURlc2lnblByb21wdCxcbiAgICAgIGNvZGVQcm9tcHRcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIOWfuuS6jumhtemdouWIl+ihqOe7k+aenOeUn+aIkOS6p+WTgemcgOaxguiuvuiuoeaPkOekuuivjVxuICAgKiDmraTmlrnms5XnlKjkuo7lnKjojrflvpfpobXpnaLliJfooajnu5PmnpzlkI7vvIznlJ/miJDljIXlkKvpobXpnaLliJfooajkv6Hmga/nmoTkuqflk4Horr7orqHmj5DnpLror41cbiAgICovXG4gIGFzeW5jIGdlbmVyYXRlUHJvZHVjdERlc2lnblByb21wdFdpdGhQYWdlTGlzdCh1c2VySW5wdXQ6IHN0cmluZywgcGFnZUxpc3RSZXN1bHQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMub3B0aW1pemVQcm9kdWN0RGVzaWduUHJvbXB0KHVzZXJJbnB1dCwgcGFnZUxpc3RSZXN1bHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIOWfuuS6jumhtemdouWIl+ihqOe7k+aenOeUn+aIkFVJ6K6+6K6h5o+Q56S66K+NXG4gICAqIOatpOaWueazleeUqOS6juWcqOiOt+W+l+mhtemdouWIl+ihqOe7k+aenOWQju+8jOeUn+aIkOWMheWQq+mhtemdouWIl+ihqOS/oeaBr+eahFVJ6K6+6K6h5o+Q56S66K+NXG4gICAqL1xuICBhc3luYyBnZW5lcmF0ZVVJRGVzaWduUHJvbXB0V2l0aFBhZ2VMaXN0KHVzZXJJbnB1dDogc3RyaW5nLCBwYWdlTGlzdFJlc3VsdDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5vcHRpbWl6ZVVJRGVzaWduUHJvbXB0KHVzZXJJbnB1dCwgcGFnZUxpc3RSZXN1bHQpO1xuICB9XG59ICJdfQ==
|