外观
生物生成理论
从荒野中的孤狼到深海里的鲨鱼群,Survivalcraft 的世界并非随机堆砌,而是一套精密的生成—限制—消亡系统在背后运转。理解它,你就能预测什么时候危险会来,以及如何利用规则规避或狩猎。
生成架构
生存战争使用区块级和生物级两层系统协同工作,前者管理视野范围内的生物实体加载/卸载,后者负责实际生成和种群控制。
区块级管理
游戏世界被划分为 16×16 的区块,玩家周围的区块会被激活并开始生成生物,远离玩家的区块则会取消激活,上面的生物暂时消失。
| 参数 | 数值 | 说明 |
|---|---|---|
| 生成激活半径 | 48 区块(768 格) | 玩家周围 48 个区块范围内会生成生物 |
| 取消激活半径 | 60 区块(960 格) | 超出 60 区块范围的生物会消失 |
| 最后访问半径 | 8 区块 | 记录玩家最近访问过的区块 |
| 区块最大存活时间 | 76800 游戏时间 | 区块数据的最大保留时长 |
更新节奏:
| 事件 | 间隔(游戏时间) | 说明 |
|---|---|---|
| 丢弃旧区块 | 60 秒 | 检查区块是否过期需要清理 |
| 更新访问时间 | 5 秒 | 记录区块最近被访问的时间 |
| 激活新区块 | 4 秒 | 扫描视野范围,将新区块加入生成队列 |
| 取消激活区块 | 2 秒 | 检查远离玩家的生物,准备让其消失 |
区块激活每 4 秒一次,取消激活每 2 秒一次。移动到新区域后,最多 4 秒内就会开始生成生物。
生物级管理
生物生成有两套独立的系统,各自有数量上限:
| 参数 | 数值 | 说明 |
|---|---|---|
| 随机生成全局上限 | 26 只 | 白天和普通生成的生物总数 |
| 随机生成区域上限 | 3 只 | 16 格半径内最多 3 只 |
| 随机生成区域半径 | 16 格 | 区域检查的范围 |
| 常量生成全局上限(普通模式) | 6 只 | 夜间出没的掠食者总数 |
| 常量生成全局上限(挑战+残酷) | 12 只 | 挑战模式下夜间生物翻倍 |
| 常量生成区域上限 | 4 只 | 42 格半径内最多 4 只夜间生物 |
| 常量生成区域半径 | 42 格 | 夜间生物的区域检查范围 |
| 种群密度降低系数 | 0.25 | 同种超过 8 只后,生成概率降至 25% |
两套上限互不影响。白天最多 26 只普通生物,晚上额外最多 6(或 12)只夜间掠食者。夜间生成完全独立,不受白天上限约束。
持续与非持续生成
游戏中的生物生成系统有两种模式:
名词等价
持续生成和常量生成是等价的,非持续生成是随机生成,两者只是不同的叫法,下文多用常量和变量来解释。
| 生成模式 | 含义 | 触发条件 | 上限 | 典型生物 |
|---|---|---|---|---|
| 非持续(随机生成) | 有生成间隔,每隔一段时间尝试一次 | 季节间隔(夏 60 秒 / 冬 120 秒) | 全局 26 只 | 白天的牛、马、鹿、鸭子等 |
| 持续(常量生成) | 每帧检查,条件满足就生成,没有间隔 | 天空光照 < 0.1(夜间) | 全局 6 / 12 只 | 夜间的灰狼、郊狼、鬣狗等 |
"持续"不是说生物永远存在,而是说生成行为是持续的——夜间每帧都在检查是否要生成新的掠食者,只要有空位就会立即补上。这就是为什么天一黑,掠食者会迅速出现而不是等到下一个生成间隔。而白天的随机生成有 60 秒冷却,不会瞬间刷出一堆生物。
注意:洞穴生物属于非持续生成(随机生成),但它们生成在洞穴里,和地面生物共享 26 只上限。夜间常量生成的生物则是独立的 6/12 只上限。
生成主循环
每个游戏时间单位,生物生成系统执行三步操作:
- 处理新激活的区块 — 新区块最多尝试 10 次随机生成生物
- 处理已激活的区块 — 已有区块每帧尝试 2 次常量生成(夜间)
- 随机生成新生物 — 每隔一段时间在玩家附近随机生成一只
冬季的随机生成间隔是 120 秒,其他季节是 60 秒。冬季生物明显减少是因为生成频率直接减半了。
随机生成
随机生成需要同时满足以下条件:
- 环境行为模式设为"动态生态"(默认开启)
- 全局随机生成生物总数 < 26 只
- 玩家 68 格范围内的生物数 < 52 只
- 到达季节间隔(夏季 60 秒,冬季 120 秒)
生成位置类型按概率选择:
| 位置类型 | 概率 | 说明 |
|---|---|---|
| 地面 | 30% | 需要天空光照足够亮 |
| 洞穴 | 30% | 需要环境足够暗 |
| 水域 | 40% | 需要水方块 |
生成点在玩家周围 24-48 格范围内随机选取,最多尝试 10 次找到合适位置。水域生成占比最高,海洋比陆地更"热闹"。
区块生成
| 区块类型 | 尝试次数 | 生成模式 |
|---|---|---|
| 新激活区块 | 10 次 | 随机生成 |
| 已激活区块 | 2 次 | 常量生成(夜间) |
常量生成上限根据游戏模式动态调整:
- 创造/无害/生存模式:全局 6 只,每区域 4 只(42 格半径)
- 挑战/残酷模式:全局 12 只,每区域 4 只(42 格半径)
挑战模式夜间生物翻倍,这是挑战模式更危险的重要原因之一。
适生度系统
适生度计算
每种生物都有自己的"适生度"——衡量这个地方有多适合该生物生成。适生度越高,被选中的概率越大。
同种生物超过 8 只后,适生度直接降到原来的四分之一,这是天然的种群平衡机制——某一种生物太多了就不容易再生更多。天然种群上限大约在 8-10 只。
加权随机选择
生成时,所有符合条件的生物按适生度加权随机选择:
适生度越高的生物被选中的概率越大,但适生度低的生物也有机会出现,只是概率小。
生成点检查
不同位置类型有不同的生成条件:
地面生成条件:
| 条件 | 要求 |
|---|---|
| 高度范围 | 第 4 层到最高层减 4 |
| 光照 | 天空光与环境光之差 > 3(不够亮就不生成) |
| 下方方块 | 可碰撞或水 |
| 当前方块 | 不可碰撞且非水(要有足够空间) |
| 上方方块 | 不可碰撞且非水(要有足够空间) |
洞穴生成条件:
| 条件 | 要求 |
|---|---|
| 光照 | 天空光与环境光之差 < 5(不够暗就不生成) |
| 空间要求 | 同地面生成 |
水域生成条件:
| 条件 | 要求 |
|---|---|
| 当前方块 | 必须是水 |
| 上方 1 格 | 不可碰撞 |
| 上方 2 格 | 不可碰撞 |
生物适生度表
地面随机生成
适生度值越大越容易生成。"距岸"是到海洋岸边的距离,正值表示在陆地上,负值表示在海里。"—"表示该生物对此参数无要求。
| 生物 | 适生度 | 距岸 | 温度 | 湿度 | 海拔 | 脚下方块 |
|---|---|---|---|---|---|---|
| 鸭 | 2.5 | — | 中高 | 高 | — | 草地 / 树叶 |
| 渡鸦 | 2.5 | — | 干燥或寒冷 | — | — | 沙地 / 草地 |
| 海鸥 | 2.5 | -100 ~ 40 | — | — | — | — |
| 野猪 | 0.25 | > 20 | — | 高 | < 80 | 草地 / 泥土 |
| 棕牛 | 0.05 | > 20 | > 8 | > 6 | < 70 | 草地 / 泥土 |
| 黑牛 | 0.05 | > 20 | < 8 | > 6 | < 70 | 草地 / 泥土 |
| 白公牛 | 0.01 | > 20 | ≤ 1 | > 8 | < 70 | 草地 / 泥土 |
| 灰狼 | 0.075 | > 40 | — | > 8 | < 100 | 草地 / 泥土 |
| 郊狼 | 0.075 | > 40 | > 8 | < 8 | < 100 | 沙地 / 草地 |
| 棕熊 | 0.1 | > 40 | ≥ 8 | ≥ 8 | < 110 | 草地 / 泥土 |
| 黑熊 | 0.1 | > 40 | ≤ 7 | — | < 120 | 草地 / 泥土 |
| 北极熊 | 0.1 | -40 ~ 100 | ≤ 1 | — | < 80 | 雪 / 冰 |
| 马 | 0.05 | > 20 | > 8 | > 6 | < 80 | 草地 / 泥土 |
| 骆驼 | 0.05 | > 20 | > 8 | < 4 | < 80 | 沙地 |
| 驴 | 0.05 | > 20 | 中 | — | < 120 | 草地 / 泥土 |
| 长颈鹿 | 0.03 | > 20 | > 8 | > 8 | < 75 | 草地 / 泥土 |
| 犀牛 | 0.03 | > 40 | > 8 | > 8 | < 75 | 草地 / 泥土 |
| 老虎 | 0.025 | > 40 | — | > 8 | < 80 | 草地 / 泥土 |
| 白虎 | 0.02 | > 40 | ≤ 1 | — | < 90 | 岩石 / 草地 |
| 狮子 | 0.04 | > 40 | > 8 | — | < 80 | 沙地 |
| 美洲虎 | 0.03 | > 40 | > 8 | > 8 | < 100 | 草地 / 岩石 |
| 豹 | 0.03 | > 40 | > 8 | — | < 120 | 草地 / 岩石 |
| 斑马 | 0.05 | > 20 | > 8 | > 8 | < 80 | 草地 / 泥土 |
| 角马 | 0.05 | > 20 | > 8 | — | < 80 | 草地 / 泥土 |
| 驯鹿 | 0.05 | — | ≤ 1 | — | < 90 | 草地 / 泥土 |
| 驼鹿 | 0.1 | — | < 8 | — | < 90 | 草地 / 泥土 |
| 野牛 | 0.1 | — | ≤ 1 | < 8 | < 80 | 草地 / 泥土 |
| 鸵鸟 | 0.05 | > 20 | > 8 | < 4 | < 75 | 沙地 |
| 鹤鸵 | 0.05 | > 20 | > 8 | 中等 | < 75 | 草地 / 泥土 |
| 鬣狗 | 0.05 | > 40 | > 8 | — | < 80 | 沙地 / 草地 |
| 鸽子 | 1.5 | — | 中高 | — | — | — |
| 麻雀 | 1.5 | — | 中高 | — | — | — |
鸽子和麻雀的适生度高达 1.5,远超其他陆生生物(多数在 0.03-0.1),这就是为什么你总能看到鸟。
棕牛、黑牛、白公牛三种牛的分布由温度和湿度决定:热而湿润的地方出棕牛,冷而湿润的地方出黑牛,极寒且潮湿的地方出稀有的白公牛(适生度仅 0.01)。
马的生成模板有颜色变体,外观随机:黑色 35%、枣红色 50%、栗色 50%、帕洛米诺色(高温地区 30%)、白色(低温地区 30%)。温度影响马的颜色分布——高温地区多深色马,低温地区多白马。
洞穴生成
洞穴生物属于非持续生成(随机生成),生成在黑暗的地下环境中。下方方块必须是洞穴类方块才会通过检查。
| 生物 | 适生度 | 脚下方块要求 | 额外条件 | 生成模板 |
|---|---|---|---|---|
| 洞穴熊 | 1.0 | 洞穴石 / 洞穴苔石 / 洞穴岩石 / 洞穴沙 / 泥土 / 沙子 | 无 | 50% 黑熊 + 50% 棕熊 |
| 洞穴虎 | 0.25 | 同上 | 无 | 老虎 |
| 洞穴狮 | 0.25 | 同上 | 温度 > 8、湿度 ≤ 7 | 狮子 |
| 洞穴美洲虎 | 0.5 | 同上 | 无 | 美洲豹 |
| 洞穴豹 | 0.25 | 同上 | 无 | 豹子 |
| 洞穴鬣狗 | 1.0 | 同上 | 温度 > 8 | 鬣狗 |
洞穴熊比洞穴虎常见 4 倍(适生度 1.0 vs 0.25)。洞穴熊的生成模板随机选黑熊或棕熊外观,所以洞穴里的熊可能长得不一样。
所有洞穴生物都要求脚下踩着洞穴类方块(洞穴石、洞穴苔石、洞穴岩石、洞穴沙)或普通泥土/沙子。这意味着在人工挖的矿井里(脚下是普通石头)不会生成洞穴生物,只有天然洞穴里才会。
水域生成
| 生物 | 适生度 | 生成条件 |
|---|---|---|
| 公牛鲨 | 0.4 | 近海(距岸 < -2) |
| 虎鲨 | 0.3 | 较深海(距岸 < -5) |
| 大白鲨 | 0.2 | 深海(距岸 < -20) |
| 梭鱼 | 0.5 | 近海 |
| 海鲈鱼 | 1.0 | 近海 |
| 淡水鲈鱼 | 1.0 | 远海内陆、温度不太低 |
| 鳐鱼 | 1.0 / 0.5 | 近海 1.0,远海 0.5 |
| 食人鱼 | 1.0 | 内陆水域、有湿度、温度高 |
| 虎鲸 | 0.05 / 0.01 | 远海 0.05,近海 0.01 |
| 白鲸 | 0.05 / 0.01 | 同虎鲸 |
距岸为负值表示在海洋深处。越深的海洋越容易生成大型海洋掠食者,而近岸区域小型鱼类更多。
夜间常量生成
夜间常量生成需要天空光照强度 < 0.1(几乎全黑)。这是持续生成——每帧检查,条件满足就立即生成,没有冷却间隔。
| 生物 | 适生度 | 距岸 | 温度 | 湿度 | 海拔 | 光照 | 脚下方块 | 生成模板 |
|---|---|---|---|---|---|---|---|---|
| 灰狼 | 2.0 | > 40 | — | > 8 | < 100 | ≤ 7 | 草地 / 泥土 | 灰狼 |
| 郊狼 | 2.0 | > 40 | > 8 | < 8 | < 100 | ≤ 7 | 沙地 / 草地 | 郊狼 |
| 棕熊 | 0.5 | > 40 | ≥ 8 | ≥ 8 | < 110 | ≤ 7 | 草地 / 泥土 | 棕熊 |
| 黑熊 | 0.5 | > 40 | ≤ 7 | — | < 120 | ≤ 7 | 草地 / 泥土 | 黑熊 |
| 北极熊 | 0.25 | -40 ~ 100 | ≤ 1 | — | < 90 | ≤ 7 | 雪 / 冰 | ⚠️ 黑熊(应为北极熊) |
| 老虎 | 0.05 | > 40 | — | > 8 | < 80 | ≤ 7 | 草地 / 泥土 | 老虎 |
| 狮子 | 0.25 | > 40 | > 8 | — | < 80 | ≤ 7 | 沙地 | 狮子 |
| 美洲豹 | 0.25 | > 40 | > 8 | > 8 | < 100 | ≤ 7 | 草地 / 岩石 | 美洲豹 |
| 豹子 | 0.25 | > 40 | > 8 | — | < 120 | ≤ 7 | 草地 / 岩石 | 豹子 |
| 鬣狗 | 1.0 | > 40 | > 8 | — | < 80 | ≤ 7 | 沙地 / 草地 | 鬣狗 |
夜间常量生成的适生度普遍比白天随机生成高很多(如灰狼白天 0.075 vs 夜间 2.0,差了 27 倍),这就是为什么夜间危险生物会突然变多。
灰狼和郊狼的夜间适生度高达 2.0,是夜间最常见的掠食者。鬣狗 1.0 次之。熊类 0.5 中等。老虎 0.05 最低——夜间遇到老虎比遇到狼难 40 倍。
已知 bug:夜间北极熊使用了黑熊模型
在源码 SubsystemCreatureSpawn.cs 中,夜间北极熊的 SpawnFunction 硬编码调用了 "Bear_Black" 模板而非 "Bear_Polar":
这意味着夜间生成的北极熊外观是黑熊,白天正常。推测是开发时从黑熊代码复制粘贴后忘记修改模板名。此 bug 仅影响外观模型,不影响生成条件和行为逻辑。
生物生成过程
生物出生时的定位非常精确:
生物出生时的朝向完全随机(0 到 360 度)。
批量生成时,每个物种最多尝试 50 次找到合适位置,群体成员的分布范围:
- 水平偏移:±8 格
- 垂直偏移:-4 到 +8 格
生物消失机制
消失触发
当生物距离所有玩家都超过 60 区块(960 格)时,就会触发消失:
- 系统保存该生物的数据到所在区块中
- 标记开始消失的时间
- 两秒后正式移除实体
生物消失不是永久删除,而是把数据保存在区块里。你离开再回来时,它们会被重新加载出来。
消失过程
| 阶段 | 说明 | 持续时间 |
|---|---|---|
| 保存数据 | 将生物状态写入区块数据 | 瞬间 |
| 触发消失 | 标记消失开始时间 | 瞬间 |
| 渐进消失 | 等待移除 | 2 秒 |
游戏模式与季节的影响
游戏模式影响
| 模式 | 对生成的影响 |
|---|---|
| 创造 | 不影响生成参数 |
| 无害 | 生物不会主动攻击玩家,但生成数量不变 |
| 生存 | 正常生成 |
| 挑战 | 夜间常量生成上限从 6 提升到 12(翻倍) |
| 残酷 | 同挑战,但死亡后不能重生 |
| 冒险 | 特殊模式 |
季节影响
| 季节 | 随机生成间隔 | 说明 |
|---|---|---|
| 夏/秋/春 | 60 秒 | 正常频率 |
| 冬季 | 120 秒 | 频率减半 |
季节还通过间接方式影响夜间生成:只有天空光足够暗时才触发夜间常量生成。冬季昼短夜长,夜间生成时间更长。两个效应叠加——冬季白天生物少但夜晚危险生物更多。
环境行为模式
| 模式 | 效果 |
|---|---|
| 动态生态(默认) | 正常生成生物 |
| 静态环境 | 完全不生成新生物 |
在世界选项中将环境行为设为"静态"可以完全关闭生物生成,适合只想建造的玩家。
写给开发者
开发者概览
如果你计划开发模组或修改生成机制,以下技术细节将帮助你快速理解系统架构,避免踩坑。
核心文件索引
| 文件 | 职责 |
|---|---|
SubsystemCreatureSpawn.cs | 生物生成主循环、适生度计算、种群限制 |
SubsystemSpawn.cs | 区块级激活/取消激活、实体保存/加载 |
ComponentCreature.cs | 生物组件(ConstantSpawn、Category) |
ComponentSpawn.cs | 生成/消失组件(AutoDespawn、SpawnTime) |
CreatureCategory.cs | 生物分类枚举 |
SpawnLocationType.cs | 生成位置类型 |
EnvironmentBehaviorMode.cs | 环境行为模式 |
WorldSettings.cs | 世界设置 |
关键常量速查表
| 常量 | 值 | 文件位置 |
|---|---|---|
| m_totalLimit | 26 | SubsystemCreatureSpawn.cs |
| m_areaLimit | 3 | SubsystemCreatureSpawn.cs |
| m_areaRadius | 16 | SubsystemCreatureSpawn.cs |
| m_totalLimitConstant | 6 | SubsystemCreatureSpawn.cs |
| m_totalLimitConstantChallenging | 12 | SubsystemCreatureSpawn.cs |
| m_areaLimitConstant | 4 | SubsystemCreatureSpawn.cs |
| m_areaRadiusConstant | 42 | SubsystemCreatureSpawn.cs |
| m_populationReductionConstant | 0.25 | SubsystemCreatureSpawn.cs |
| SpawnRadius | 48 区块 | SubsystemSpawn.cs |
| DespawnRadius | 60 区块 | SubsystemSpawn.cs |
| MaxChunkAge | 76800 | SubsystemSpawn.cs |
模组扩展点
SubsystemCreatureSpawn 支持从 XML 读取自定义生成规则,通过 StandardCreatureSpawnRule 定义自定义生物的生成条件(温度、湿度、海岸距离、上方方块等)。
生成流程图
SubsystemCreatureSpawn.Update()
│
├── 新激活区块 → SpawnChunkCreatures(chunk, 10, false)
│ └── 随机生成:检查全局<26 + 区域<3(16格半径)
│ └── GetRandomChunkSpawnPoint() ×5
│ └── ProcessSpawnPoint() → TestSpawnPoint()
│ └── CalculateSpawnSuitability() > 0
│ └── GetRandomWeightedItem() 加权选择
│ └── SpawnCreature()
│
├── 已激活区块 → SpawnChunkCreatures(chunk, 2, true)
│ └── 常量生成:检查全局<6/12 + 区域<4(42格半径)
│ └── 需要 SkyLightIntensity < 0.1
│
└── 随机生成 → SpawnRandomCreature()
└── 检查全局<26 + 68格内<52
└── GetRandomSpawnPoint() ×10
└── 同上流程IyDnlJ/niannlJ/miJDnkIborroKCj4g5LuO6I2S6YeO5Lit55qE5a2k54u85Yiw5rex5rW36YeM55qE6bKo6bG8576k77yMU3Vydml2YWxjcmFmdCDnmoTkuJbnlYzlubbpnZ7pmo/mnLrloIbnoIzvvIzogIzmmK/kuIDlpZfnsr7lr4bnmoTnlJ/miJDigJTpmZDliLbigJTmtojkuqHns7vnu5/lnKjog4zlkI7ov5DovazjgILnkIbop6PlroPvvIzkvaDlsLHog73pooTmtYvku4DkuYjml7blgJnljbHpmankvJrmnaXvvIzku6Xlj4rlpoLkvZXliKnnlKjop4TliJnop4Tpgb/miJbni6nnjI7jgIIKCiMjIOeUn+aIkOaetuaehAoKPiDnlJ/lrZjmiJjkuonkvb/nlKjljLrlnZfnuqflkoznlJ/niannuqfkuKTlsYLns7vnu5/ljY/lkIzlt6XkvZzvvIzliY3ogIXnrqHnkIbop4bph47ojIPlm7TlhoXnmoTnlJ/nianlrp7kvZPliqDovb0v5Y246L2977yM5ZCO6ICF6LSf6LSj5a6e6ZmF55Sf5oiQ5ZKM56eN576k5o6n5Yi244CCCgojIyMg5Yy65Z2X57qn566h55CGCgrmuLjmiI/kuJbnlYzooqvliJLliIbkuLogMTbDlzE2IOeahOWMuuWdl++8jOeOqeWutuWRqOWbtOeahOWMuuWdl+S8muiiqyoq5r+A5rS7KirlubblvIDlp4vnlJ/miJDnlJ/nianvvIzov5znprvnjqnlrrbnmoTljLrlnZfliJnkvJrlj5bmtojmv4DmtLvvvIzkuIrpnaLnmoTnlJ/nianmmoLml7bmtojlpLHjgIIKCnwg5Y+C5pWwIHwg5pWw5YC8IHwg6K+05piOIHwKfC0tLS0tLXwtLS0tLS18LS0tLS0tfAp8IOeUn+aIkOa/gOa0u+WNiuW+hCB8IDQ4IOWMuuWdl++8iDc2OCDmoLzvvIkgfCDnjqnlrrblkajlm7QgNDgg5Liq5Yy65Z2X6IyD5Zu05YaF5Lya55Sf5oiQ55Sf54mpIHwKfCDlj5bmtojmv4DmtLvljYrlvoQgfCA2MCDljLrlnZfvvIg5NjAg5qC877yJIHwg6LaF5Ye6IDYwIOWMuuWdl+iMg+WbtOeahOeUn+eJqeS8mua2iOWksSB8Cnwg5pyA5ZCO6K6/6Zeu5Y2K5b6EIHwgOCDljLrlnZcgfCDorrDlvZXnjqnlrrbmnIDov5Horr/pl67ov4fnmoTljLrlnZcgfAp8IOWMuuWdl+acgOWkp+WtmOa0u+aXtumXtCB8IDc2ODAwIOa4uOaIj+aXtumXtCB8IOWMuuWdl+aVsOaNrueahOacgOWkp+S/neeVmeaXtumVvyB8CgoqKuabtOaWsOiKguWlj++8mioqCgp8IOS6i+S7tiB8IOmXtOmalO+8iOa4uOaIj+aXtumXtO+8iSB8IOivtOaYjiB8CnwtLS0tLS18LS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tfAp8IOS4ouW8g+aXp+WMuuWdlyB8IDYwIOenkiB8IOajgOafpeWMuuWdl+aYr+WQpui/h+acn+mcgOimgea4heeQhiB8Cnwg5pu05paw6K6/6Zeu5pe26Ze0IHwgNSDnp5IgfCDorrDlvZXljLrlnZfmnIDov5Hooqvorr/pl67nmoTml7bpl7QgfAp8IOa/gOa0u+aWsOWMuuWdlyB8IDQg56eSIHwg5omr5o+P6KeG6YeO6IyD5Zu077yM5bCG5paw5Yy65Z2X5Yqg5YWl55Sf5oiQ6Zif5YiXIHwKfCDlj5bmtojmv4DmtLvljLrlnZcgfCAyIOenkiB8IOajgOafpei/nOemu+eOqeWutueahOeUn+eJqe+8jOWHhuWkh+iuqeWFtua2iOWksSB8Cgo+IOWMuuWdl+a/gOa0u+avjyA0IOenkuS4gOasoe+8jOWPlua2iOa/gOa0u+avjyAyIOenkuS4gOasoeOAguenu+WKqOWIsOaWsOWMuuWfn+WQju+8jOacgOWkmiA0IOenkuWGheWwseS8muW8gOWni+eUn+aIkOeUn+eJqeOAggoKIyMjIOeUn+eJqee6p+euoeeQhgoK55Sf54mp55Sf5oiQ5pyJ5Lik5aWX54us56uL55qE57O757uf77yM5ZCE6Ieq5pyJ5pWw6YeP5LiK6ZmQ77yaCgp8IOWPguaVsCB8IOaVsOWAvCB8IOivtOaYjiB8CnwtLS0tLS18LS0tLS0tfC0tLS0tLXwKfCDpmo/mnLrnlJ/miJDlhajlsYDkuIrpmZAgfCAyNiDlj6ogfCDnmb3lpKnlkozmma7pgJrnlJ/miJDnmoTnlJ/nianmgLvmlbAgfAp8IOmaj+acuueUn+aIkOWMuuWfn+S4iumZkCB8IDMg5Y+qIHwgMTYg5qC85Y2K5b6E5YaF5pyA5aSaIDMg5Y+qIHwKfCDpmo/mnLrnlJ/miJDljLrln5/ljYrlvoQgfCAxNiDmoLwgfCDljLrln5/mo4Dmn6XnmoTojIPlm7QgfAp8IOW4uOmHj+eUn+aIkOWFqOWxgOS4iumZkO+8iOaZrumAmuaooeW8j++8iSB8IDYg5Y+qIHwg5aSc6Ze05Ye65rKh55qE5o6g6aOf6ICF5oC75pWwIHwKfCDluLjph4/nlJ/miJDlhajlsYDkuIrpmZDvvIjmjJHmiJgr5q6L6YW377yJIHwgMTIg5Y+qIHwg5oyR5oiY5qih5byP5LiL5aSc6Ze055Sf54mp57+75YCNIHwKfCDluLjph4/nlJ/miJDljLrln5/kuIrpmZAgfCA0IOWPqiB8IDQyIOagvOWNiuW+hOWGheacgOWkmiA0IOWPquWknOmXtOeUn+eJqSB8Cnwg5bi46YeP55Sf5oiQ5Yy65Z+f5Y2K5b6EIHwgNDIg5qC8IHwg5aSc6Ze055Sf54mp55qE5Yy65Z+f5qOA5p+l6IyD5Zu0IHwKfCDnp43nvqTlr4bluqbpmY3kvY7ns7vmlbAgfCAwLjI1IHwg5ZCM56eN6LaF6L+HIDgg5Y+q5ZCO77yM55Sf5oiQ5qaC546H6ZmN6IezIDI1JSB8Cgo+IOS4pOWll+S4iumZkOS6kuS4jeW9seWTjeOAgueZveWkqeacgOWkmiAyNiDlj6rmma7pgJrnlJ/nianvvIzmmZrkuIrpop3lpJbmnIDlpJogNu+8iOaIliAxMu+8ieWPquWknOmXtOaOoOmjn+iAheOAguWknOmXtOeUn+aIkOWujOWFqOeLrOeri++8jOS4jeWPl+eZveWkqeS4iumZkOe6puadn+OAggoKIyMjIOaMgee7reS4jumdnuaMgee7reeUn+aIkAoK5ri45oiP5Lit55qE55Sf54mp55Sf5oiQ57O757uf5pyJ5Lik56eN5qih5byP77yaCgo6OjogaW5mbyDlkI3or43nrYnku7cK5oyB57ut55Sf5oiQ5ZKM5bi46YeP55Sf5oiQ5piv562J5Lu355qE77yM6Z2e5oyB57ut55Sf5oiQ5piv6ZqP5py655Sf5oiQ77yM5Lik6ICF5Y+q5piv5LiN5ZCM55qE5Y+r5rOV77yM5LiL5paH5aSa55So5bi46YeP5ZKM5Y+Y6YeP5p2l6Kej6YeK44CCCjo6OgoKfCDnlJ/miJDmqKHlvI8gfCDlkKvkuYkgfCDop6blj5HmnaHku7YgfCDkuIrpmZAgfCDlhbjlnovnlJ/niakgfAp8LS0tLS0tLS0tfC0tLS0tLXwtLS0tLS0tLS18LS0tLS0tfC0tLS0tLS0tLXwKfCAqKumdnuaMgee7re+8iOmaj+acuueUn+aIkO+8iSoqIHwg5pyJ55Sf5oiQ6Ze06ZqU77yM5q+P6ZqU5LiA5q615pe26Ze05bCd6K+V5LiA5qyhIHwg5a2j6IqC6Ze06ZqU77yI5aSPIDYwIOenkiAvIOWGrCAxMjAg56eS77yJIHwg5YWo5bGAIDI2IOWPqiB8IOeZveWkqeeahOeJm+OAgemprOOAgem5v+OAgem4reWtkOetiSB8CnwgKirmjIHnu63vvIjluLjph4/nlJ/miJDvvIkqKiB8IOavj+W4p+ajgOafpe+8jOadoeS7tua7oei2s+WwseeUn+aIkO+8jOayoeaciemXtOmalCB8IOWkqeepuuWFieeFpyA8IDAuMe+8iOWknOmXtO+8iSB8IOWFqOWxgCA2IC8gMTIg5Y+qIHwg5aSc6Ze055qE54Gw54u844CB6YOK54u844CB6ayj54uX562JIHwKCj4gIuaMgee7rSLkuI3mmK/or7TnlJ/nianmsLjov5zlrZjlnKjvvIzogIzmmK/or7QqKueUn+aIkOihjOS4uuaYr+aMgee7reeahCoq4oCU4oCU5aSc6Ze05q+P5bin6YO95Zyo5qOA5p+l5piv5ZCm6KaB55Sf5oiQ5paw55qE5o6g6aOf6ICF77yM5Y+q6KaB5pyJ56m65L2N5bCx5Lya56uL5Y2z6KGl5LiK44CC6L+Z5bCx5piv5Li65LuA5LmI5aSp5LiA6buR77yM5o6g6aOf6ICF5Lya6L+F6YCf5Ye6546w6ICM5LiN5piv562J5Yiw5LiL5LiA5Liq55Sf5oiQ6Ze06ZqU44CC6ICM55m95aSp55qE6ZqP5py655Sf5oiQ5pyJIDYwIOenkuWGt+WNtO+8jOS4jeS8mueerOmXtOWIt+WHuuS4gOWghueUn+eJqeOAggoKPiDms6jmhI/vvJrmtJ7nqbTnlJ/nianlsZ7kuo4qKumdnuaMgee7reeUn+aIkCoq77yI6ZqP5py655Sf5oiQ77yJ77yM5L2G5a6D5Lus55Sf5oiQ5Zyo5rSe56m06YeM77yM5ZKM5Zyw6Z2i55Sf54mp5YWx5LqrIDI2IOWPquS4iumZkOOAguWknOmXtOW4uOmHj+eUn+aIkOeahOeUn+eJqeWImeaYr+eLrOeri+eahCA2LzEyIOWPquS4iumZkOOAggoKIyMg55Sf5oiQ5Li75b6q546vCgrmr4/kuKrmuLjmiI/ml7bpl7TljZXkvY3vvIznlJ/niannlJ/miJDns7vnu5/miafooYzkuInmraXmk43kvZzvvJoKCjEuICoq5aSE55CG5paw5r+A5rS755qE5Yy65Z2XKiog4oCUIOaWsOWMuuWdl+acgOWkmuWwneivlSAxMCDmrKHpmo/mnLrnlJ/miJDnlJ/niakKMi4gKirlpITnkIblt7Lmv4DmtLvnmoTljLrlnZcqKiDigJQg5bey5pyJ5Yy65Z2X5q+P5bin5bCd6K+VIDIg5qyh5bi46YeP55Sf5oiQ77yI5aSc6Ze077yJCjMuICoq6ZqP5py655Sf5oiQ5paw55Sf54mpKiog4oCUIOavj+malOS4gOauteaXtumXtOWcqOeOqeWutumZhOi/kemaj+acuueUn+aIkOS4gOWPqgoKPiDlhqzlraPnmoTpmo/mnLrnlJ/miJDpl7TpmpTmmK8gMTIwIOenku+8jOWFtuS7luWto+iKguaYryA2MCDnp5LjgILlhqzlraPnlJ/nianmmI7mmL7lh4/lsJHmmK/lm6DkuLrnlJ/miJDpopHnjofnm7TmjqXlh4/ljYrkuobjgIIKCiMjIyDpmo/mnLrnlJ/miJAKCumaj+acuueUn+aIkOmcgOimgeWQjOaXtua7oei2s+S7peS4i+adoeS7tu+8mgoKLSDnjq/looPooYzkuLrmqKHlvI/orr7kuLoi5Yqo5oCB55Sf5oCBIu+8iOm7mOiupOW8gOWQr++8iQotIOWFqOWxgOmaj+acuueUn+aIkOeUn+eJqeaAu+aVsCA8IDI2IOWPqgotIOeOqeWutiA2OCDmoLzojIPlm7TlhoXnmoTnlJ/nianmlbAgPCA1MiDlj6oKLSDliLDovr7lraPoioLpl7TpmpTvvIjlpI/lraMgNjAg56eS77yM5Yas5a2jIDEyMCDnp5LvvIkKCueUn+aIkOS9jee9ruexu+Wei+aMieamgueOh+mAieaLqe+8mgoKfCDkvY3nva7nsbvlnosgfCDmpoLnjocgfCDor7TmmI4gfAp8LS0tLS0tLS0tfC0tLS0tLXwtLS0tLS18Cnwg5Zyw6Z2iIHwgMzAlIHwg6ZyA6KaB5aSp56m65YWJ54Wn6Laz5aSf5LquIHwKfCDmtJ7nqbQgfCAzMCUgfCDpnIDopoHnjq/looPotrPlpJ/mmpcgfAp8IOawtOWfnyB8IDQwJSB8IOmcgOimgeawtOaWueWdlyB8Cgo+IOeUn+aIkOeCueWcqOeOqeWutuWRqOWbtCAyNC00OCDmoLzojIPlm7TlhoXpmo/mnLrpgInlj5bvvIzmnIDlpJrlsJ3or5UgMTAg5qyh5om+5Yiw5ZCI6YCC5L2N572u44CC5rC05Z+f55Sf5oiQ5Y2g5q+U5pyA6auY77yM5rW35rSL5q+U6ZmG5Zyw5pu0IueDremXuSLjgIIKCiMjIyDljLrlnZfnlJ/miJAKCnwg5Yy65Z2X57G75Z6LIHwg5bCd6K+V5qyh5pWwIHwg55Sf5oiQ5qih5byPIHwKfC0tLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tfAp8IOaWsOa/gOa0u+WMuuWdlyB8IDEwIOasoSB8IOmaj+acuueUn+aIkCB8Cnwg5bey5r+A5rS75Yy65Z2XIHwgMiDmrKEgfCDluLjph4/nlJ/miJDvvIjlpJzpl7TvvIkgfAoK5bi46YeP55Sf5oiQ5LiK6ZmQ5qC55o2u5ri45oiP5qih5byP5Yqo5oCB6LCD5pW077yaCi0g5Yib6YCgL+aXoOWusy/nlJ/lrZjmqKHlvI/vvJrlhajlsYAgNiDlj6rvvIzmr4/ljLrln58gNCDlj6rvvIg0MiDmoLzljYrlvoTvvIkKLSDmjJHmiJgv5q6L6YW35qih5byP77ya5YWo5bGAIDEyIOWPqu+8jOavj+WMuuWfnyA0IOWPqu+8iDQyIOagvOWNiuW+hO+8iQoKPiDmjJHmiJjmqKHlvI/lpJzpl7TnlJ/niannv7vlgI3vvIzov5nmmK/mjJHmiJjmqKHlvI/mm7TljbHpmannmoTph43opoHljp/lm6DkuYvkuIDjgIIKCiMjIOmAgueUn+W6puezu+e7nwoKIyMjIOmAgueUn+W6puiuoeeulwoK5q+P56eN55Sf54mp6YO95pyJ6Ieq5bex55qEIumAgueUn+W6piLigJTigJTooaHph4/ov5nkuKrlnLDmlrnmnInlpJrpgILlkIjor6XnlJ/niannlJ/miJDjgILpgILnlJ/luqbotorpq5jvvIzooqvpgInkuK3nmoTmpoLnjofotorlpKfjgIIKCiQkClx0ZXh0e+acgOe7iOmAgueUn+W6pn0gPSAKXGJlZ2lue2Nhc2VzfQpcdGV4dHvln7rnoYDpgILnlJ/luqZ9IFx0aW1lcyAwLjI1ICYgXHRleHR75ZCM56eN55Sf54mpID4gOCDlj6p9IFxcClx0ZXh0e+WfuuehgOmAgueUn+W6pn0gJiBcdGV4dHvlhbbku5bmg4XlhrV9ClxlbmR7Y2FzZXN9CiQkCgo+IOWQjOenjeeUn+eJqei2hei/hyA4IOWPquWQju+8jOmAgueUn+W6puebtOaOpemZjeWIsOWOn+adpeeahOWbm+WIhuS5i+S4gO+8jOi/meaYr+WkqeeEtueahOenjee+pOW5s+ihoeacuuWItuKAlOKAlOafkOS4gOenjeeUn+eJqeWkquWkmuS6huWwseS4jeWuueaYk+WGjeeUn+abtOWkmuOAguWkqeeEtuenjee+pOS4iumZkOWkp+e6puWcqCA4LTEwIOWPquOAggoKIyMjIOWKoOadg+maj+acuumAieaLqQoK55Sf5oiQ5pe277yM5omA5pyJ56ym5ZCI5p2h5Lu255qE55Sf54mp5oyJ6YCC55Sf5bqm5Yqg5p2D6ZqP5py66YCJ5oup77yaCgokJApcdGV4dHvnrKwgaSDnp43nlJ/nianooqvpgInkuK3nmoTmpoLnjod9ID0gXGZyYWN7XHRleHR76YCC55Sf5bqmfV9pfXtcc3VtX3tqPTF9XntufSBcdGV4dHvpgILnlJ/luqZ9X2p9CiQkCgo+IOmAgueUn+W6pui2iumrmOeahOeUn+eJqeiiq+mAieS4reeahOamgueOh+i2iuWkp++8jOS9humAgueUn+W6puS9jueahOeUn+eJqeS5n+acieacuuS8muWHuueOsO+8jOWPquaYr+amgueOh+Wwj+OAggoKIyMjIOeUn+aIkOeCueajgOafpQoK5LiN5ZCM5L2N572u57G75Z6L5pyJ5LiN5ZCM55qE55Sf5oiQ5p2h5Lu277yaCgoqKuWcsOmdoueUn+aIkOadoeS7tu+8mioqCgp8IOadoeS7tiB8IOimgeaxgiB8CnwtLS0tLS18LS0tLS0tfAp8IOmrmOW6puiMg+WbtCB8IOesrCA0IOWxguWIsOacgOmrmOWxguWHjyA0IHwKfCDlhYnnhacgfCDlpKnnqbrlhYnkuI7njq/looPlhYnkuYvlt64gPiAz77yI5LiN5aSf5Lqu5bCx5LiN55Sf5oiQ77yJIHwKfCDkuIvmlrnmlrnlnZcgfCDlj6/norDmkp7miJbmsLQgfAp8IOW9k+WJjeaWueWdlyB8IOS4jeWPr+eisOaSnuS4lOmdnuawtO+8iOimgeaciei2s+Wkn+epuumXtO+8iSB8Cnwg5LiK5pa55pa55Z2XIHwg5LiN5Y+v56Kw5pKe5LiU6Z2e5rC077yI6KaB5pyJ6Laz5aSf56m66Ze077yJIHwKCioq5rSe56m055Sf5oiQ5p2h5Lu277yaKioKCnwg5p2h5Lu2IHwg6KaB5rGCIHwKfC0tLS0tLXwtLS0tLS18Cnwg5YWJ54WnIHwg5aSp56m65YWJ5LiO546v5aKD5YWJ5LmL5beuIDwgNe+8iOS4jeWkn+aal+WwseS4jeeUn+aIkO+8iSB8Cnwg56m66Ze06KaB5rGCIHwg5ZCM5Zyw6Z2i55Sf5oiQIHwKCioq5rC05Z+f55Sf5oiQ5p2h5Lu277yaKioKCnwg5p2h5Lu2IHwg6KaB5rGCIHwKfC0tLS0tLXwtLS0tLS18Cnwg5b2T5YmN5pa55Z2XIHwg5b+F6aG75piv5rC0IHwKfCDkuIrmlrkgMSDmoLwgfCDkuI3lj6/norDmkp4gfAp8IOS4iuaWuSAyIOagvCB8IOS4jeWPr+eisOaSniB8CgojIyDnlJ/nianpgILnlJ/luqbooagKCiMjIyDlnLDpnaLpmo/mnLrnlJ/miJAKCj4g6YCC55Sf5bqm5YC86LaK5aSn6LaK5a655piT55Sf5oiQ44CCIui3neWyuCLmmK/liLDmtbfmtIvlsrjovrnnmoTot53nprvvvIzmraPlgLzooajnpLrlnKjpmYblnLDkuIrvvIzotJ/lgLzooajnpLrlnKjmtbfph4zjgIIi4oCUIuihqOekuuivpeeUn+eJqeWvueatpOWPguaVsOaXoOimgeaxguOAggoKfCDnlJ/niakgfCDpgILnlJ/luqYgfCDot53lsrggfCDmuKnluqYgfCDmub/luqYgfCDmtbfmi5QgfCDohJrkuIvmlrnlnZcgfAp8LS0tLS0tfC0tLS0tLS0tfC0tLS0tLXwtLS0tLS18LS0tLS0tfC0tLS0tLXwtLS0tLS0tLS18Cnwg6bitIHwgMi41IHwg4oCUIHwg5Lit6auYIHwg6auYIHwg4oCUIHwg6I2J5ZywIC8g5qCR5Y+2IHwKfCDmuKHpuKYgfCAyLjUgfCDigJQgfCDlubLnh6XmiJblr5LlhrcgfCDigJQgfCDigJQgfCDmspnlnLAgLyDojYnlnLAgfAp8IOa1t+m4pSB8IDIuNSB8IC0xMDAgfiA0MCB8IOKAlCB8IOKAlCB8IOKAlCB8IOKAlCB8Cnwg6YeO54yqIHwgMC4yNSB8ID4gMjAgfCDigJQgfCDpq5ggfCA8IDgwIHwg6I2J5ZywIC8g5rOl5ZyfIHwKfCDmo5XniZsgfCAwLjA1IHwgPiAyMCB8ID4gOCB8ID4gNiB8IDwgNzAgfCDojYnlnLAgLyDms6XlnJ8gfAp8IOm7keeJmyB8IDAuMDUgfCA+IDIwIHwgPCA4IHwgPiA2IHwgPCA3MCB8IOiNieWcsCAvIOazpeWcnyB8Cnwg55m95YWs54mbIHwgMC4wMSB8ID4gMjAgfCDiiaQgMSB8ID4gOCB8IDwgNzAgfCDojYnlnLAgLyDms6XlnJ8gfAp8IOeBsOeLvCB8IDAuMDc1IHwgPiA0MCB8IOKAlCB8ID4gOCB8IDwgMTAwIHwg6I2J5ZywIC8g5rOl5ZyfIHwKfCDpg4rni7wgfCAwLjA3NSB8ID4gNDAgfCA+IDggfCA8IDggfCA8IDEwMCB8IOaymeWcsCAvIOiNieWcsCB8Cnwg5qOV54aKIHwgMC4xIHwgPiA0MCB8IOKJpSA4IHwg4omlIDggfCA8IDExMCB8IOiNieWcsCAvIOazpeWcnyB8Cnwg6buR54aKIHwgMC4xIHwgPiA0MCB8IOKJpCA3IHwg4oCUIHwgPCAxMjAgfCDojYnlnLAgLyDms6XlnJ8gfAp8IOWMl+aegeeGiiB8IDAuMSB8IC00MCB+IDEwMCB8IOKJpCAxIHwg4oCUIHwgPCA4MCB8IOmbqiAvIOWGsCB8Cnwg6amsIHwgMC4wNSB8ID4gMjAgfCA+IDggfCA+IDYgfCA8IDgwIHwg6I2J5ZywIC8g5rOl5ZyfIHwKfCDpqobpqbwgfCAwLjA1IHwgPiAyMCB8ID4gOCB8IDwgNCB8IDwgODAgfCDmspnlnLAgfAp8IOmptCB8IDAuMDUgfCA+IDIwIHwg5LitIHwg4oCUIHwgPCAxMjAgfCDojYnlnLAgLyDms6XlnJ8gfAp8IOmVv+miiOm5vyB8IDAuMDMgfCA+IDIwIHwgPiA4IHwgPiA4IHwgPCA3NSB8IOiNieWcsCAvIOazpeWcnyB8Cnwg54qA54mbIHwgMC4wMyB8ID4gNDAgfCA+IDggfCA+IDggfCA8IDc1IHwg6I2J5ZywIC8g5rOl5ZyfIHwKfCDogIHomY4gfCAwLjAyNSB8ID4gNDAgfCDigJQgfCA+IDggfCA8IDgwIHwg6I2J5ZywIC8g5rOl5ZyfIHwKfCDnmb3omY4gfCAwLjAyIHwgPiA0MCB8IOKJpCAxIHwg4oCUIHwgPCA5MCB8IOWyqeefsyAvIOiNieWcsCB8Cnwg54uu5a2QIHwgMC4wNCB8ID4gNDAgfCA+IDggfCDigJQgfCA8IDgwIHwg5rKZ5ZywIHwKfCDnvo7mtLLomY4gfCAwLjAzIHwgPiA0MCB8ID4gOCB8ID4gOCB8IDwgMTAwIHwg6I2J5ZywIC8g5bKp55+zIHwKfCDosbkgfCAwLjAzIHwgPiA0MCB8ID4gOCB8IOKAlCB8IDwgMTIwIHwg6I2J5ZywIC8g5bKp55+zIHwKfCDmlpHpqawgfCAwLjA1IHwgPiAyMCB8ID4gOCB8ID4gOCB8IDwgODAgfCDojYnlnLAgLyDms6XlnJ8gfAp8IOinkumprCB8IDAuMDUgfCA+IDIwIHwgPiA4IHwg4oCUIHwgPCA4MCB8IOiNieWcsCAvIOazpeWcnyB8Cnwg6amv6bm/IHwgMC4wNSB8IOKAlCB8IOKJpCAxIHwg4oCUIHwgPCA5MCB8IOiNieWcsCAvIOazpeWcnyB8Cnwg6am86bm/IHwgMC4xIHwg4oCUIHwgPCA4IHwg4oCUIHwgPCA5MCB8IOiNieWcsCAvIOazpeWcnyB8Cnwg6YeO54mbIHwgMC4xIHwg4oCUIHwg4omkIDEgfCA8IDggfCA8IDgwIHwg6I2J5ZywIC8g5rOl5ZyfIHwKfCDpuLXpuJ8gfCAwLjA1IHwgPiAyMCB8ID4gOCB8IDwgNCB8IDwgNzUgfCDmspnlnLAgfAp8IOm5pOm4tSB8IDAuMDUgfCA+IDIwIHwgPiA4IHwg5Lit562JIHwgPCA3NSB8IOiNieWcsCAvIOazpeWcnyB8Cnwg6ayj54uXIHwgMC4wNSB8ID4gNDAgfCA+IDggfCDigJQgfCA8IDgwIHwg5rKZ5ZywIC8g6I2J5ZywIHwKfCDpuL3lrZAgfCAxLjUgfCDigJQgfCDkuK3pq5ggfCDigJQgfCDigJQgfCDigJQgfAp8IOm6u+mbgCB8IDEuNSB8IOKAlCB8IOS4remrmCB8IOKAlCB8IOKAlCB8IOKAlCB8Cgo+IOm4veWtkOWSjOm6u+mbgOeahOmAgueUn+W6pumrmOi+viAxLjXvvIzov5zotoXlhbbku5bpmYbnlJ/nlJ/nianvvIjlpJrmlbDlnKggMC4wMy0wLjHvvInvvIzov5nlsLHmmK/kuLrku4DkuYjkvaDmgLvog73nnIvliLDpuJ/jgIIKCj4g5qOV54mb44CB6buR54mb44CB55m95YWs54mb5LiJ56eN54mb55qE5YiG5biD55Sx5rip5bqm5ZKM5rm/5bqm5Yaz5a6a77ya54Ot6ICM5rm/5ram55qE5Zyw5pa55Ye65qOV54mb77yM5Ya36ICM5rm/5ram55qE5Zyw5pa55Ye66buR54mb77yM5p6B5a+S5LiU5r2u5rm/55qE5Zyw5pa55Ye656iA5pyJ55qE55m95YWs54mb77yI6YCC55Sf5bqm5LuFIDAuMDHvvInjgIIKCj4g6ams55qE55Sf5oiQ5qih5p2/5pyJ6aKc6Imy5Y+Y5L2T77yM5aSW6KeC6ZqP5py677ya6buR6ImyIDM1JeOAgeaeo+e6ouiJsiA1MCXjgIHmoJfoibIgNTAl44CB5biV5rSb57Gz6K+66Imy77yI6auY5rip5Zyw5Yy6IDMwJe+8ieOAgeeZveiJsu+8iOS9jua4qeWcsOWMuiAzMCXvvInjgILmuKnluqblvbHlk43pqaznmoTpopzoibLliIbluIPigJTigJTpq5jmuKnlnLDljLrlpJrmt7HoibLpqazvvIzkvY7muKnlnLDljLrlpJrnmb3pqazjgIIKCiMjIyDmtJ7nqbTnlJ/miJAKCj4g5rSe56m055Sf54mp5bGe5LqO6Z2e5oyB57ut55Sf5oiQ77yI6ZqP5py655Sf5oiQ77yJ77yM55Sf5oiQ5Zyo6buR5pqX55qE5Zyw5LiL546v5aKD5Lit44CC5LiL5pa55pa55Z2X5b+F6aG75piv5rSe56m057G75pa55Z2X5omN5Lya6YCa6L+H5qOA5p+l44CCCgp8IOeUn+eJqSB8IOmAgueUn+W6piB8IOiEmuS4i+aWueWdl+imgeaxgiB8IOmineWkluadoeS7tiB8IOeUn+aIkOaooeadvyB8CnwtLS0tLS18LS0tLS0tLS18LS0tLS0tLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tfAp8IOa0nueptOeGiiB8IDEuMCB8IOa0nueptOefsyAvIOa0nueptOiLlOefsyAvIOa0nueptOWyqeefsyAvIOa0nueptOaymSAvIOazpeWcnyAvIOaymeWtkCB8IOaXoCB8IDUwJSDpu5HnhoogKyA1MCUg5qOV54aKIHwKfCDmtJ7nqbTomY4gfCAwLjI1IHwg5ZCM5LiKIHwg5pegIHwg6ICB6JmOIHwKfCDmtJ7nqbTni64gfCAwLjI1IHwg5ZCM5LiKIHwg5rip5bqmID4gOOOAgea5v+W6piDiiaQgNyB8IOeLruWtkCB8Cnwg5rSe56m0576O5rSy6JmOIHwgMC41IHwg5ZCM5LiKIHwg5pegIHwg576O5rSy6LG5IHwKfCDmtJ7nqbTosbkgfCAwLjI1IHwg5ZCM5LiKIHwg5pegIHwg6LG55a2QIHwKfCDmtJ7nqbTprKPni5cgfCAxLjAgfCDlkIzkuIogfCDmuKnluqYgPiA4IHwg6ayj54uXIHwKCj4g5rSe56m054aK5q+U5rSe56m06JmO5bi46KeBIDQg5YCN77yI6YCC55Sf5bqmIDEuMCB2cyAwLjI177yJ44CC5rSe56m054aK55qE55Sf5oiQ5qih5p2/6ZqP5py66YCJ6buR54aK5oiW5qOV54aK5aSW6KeC77yM5omA5Lul5rSe56m06YeM55qE54aK5Y+v6IO96ZW/5b6X5LiN5LiA5qC344CCCgo+IOaJgOaciea0nueptOeUn+eJqemDveimgeaxguiEmuS4i+i4qeedgOa0nueptOexu+aWueWdl++8iOa0nueptOefs+OAgea0nueptOiLlOefs+OAgea0nueptOWyqeefs+OAgea0nueptOayme+8ieaIluaZrumAmuazpeWcny/mspnlrZDjgILov5nmhI/lkbPnnYDlnKjkurrlt6XmjJbnmoTnn7/kupXph4zvvIjohJrkuIvmmK/mma7pgJrnn7PlpLTvvInkuI3kvJrnlJ/miJDmtJ7nqbTnlJ/nianvvIzlj6rmnInlpKnnhLbmtJ7nqbTph4zmiY3kvJrjgIIKCiMjIyDmsLTln5/nlJ/miJAKCnwg55Sf54mpIHwg6YCC55Sf5bqmIHwg55Sf5oiQ5p2h5Lu2IHwKfC0tLS0tLXwtLS0tLS0tLXwtLS0tLS0tLS18Cnwg5YWs54mb6bKoIHwgMC40IHwg6L+R5rW377yI6Led5bK4IDwgLTLvvIkgfAp8IOiZjumyqCB8IDAuMyB8IOi+g+a3sea1t++8iOi3neWyuCA8IC0177yJIHwKfCDlpKfnmb3psqggfCAwLjIgfCDmt7HmtbfvvIjot53lsrggPCAtMjDvvIkgfAp8IOairemxvCB8IDAuNSB8IOi/kea1tyB8Cnwg5rW36bKI6bG8IHwgMS4wIHwg6L+R5rW3IHwKfCDmt6HmsLTpsojpsbwgfCAxLjAgfCDov5zmtbflhoXpmYbjgIHmuKnluqbkuI3lpKrkvY4gfAp8IOmzkOmxvCB8IDEuMCAvIDAuNSB8IOi/kea1tyAxLjDvvIzov5zmtbcgMC41IHwKfCDpo5/kurrpsbwgfCAxLjAgfCDlhoXpmYbmsLTln5/jgIHmnInmub/luqbjgIHmuKnluqbpq5ggfAp8IOiZjumyuCB8IDAuMDUgLyAwLjAxIHwg6L+c5rW3IDAuMDXvvIzov5HmtbcgMC4wMSB8Cnwg55m96bK4IHwgMC4wNSAvIDAuMDEgfCDlkIzomY7psrggfAoKPiDot53lsrjkuLrotJ/lgLzooajnpLrlnKjmtbfmtIvmt7HlpITjgILotormt7HnmoTmtbfmtIvotorlrrnmmJPnlJ/miJDlpKflnovmtbfmtIvmjqDpo5/ogIXvvIzogIzov5HlsrjljLrln5/lsI/lnovpsbznsbvmm7TlpJrjgIIKCiMjIyDlpJzpl7TluLjph4/nlJ/miJAKCj4g5aSc6Ze05bi46YeP55Sf5oiQ6ZyA6KaB5aSp56m65YWJ54Wn5by65bqmIDwgMC4x77yI5Yeg5LmO5YWo6buR77yJ44CC6L+Z5pivKirmjIHnu63nlJ/miJAqKuKAlOKAlOavj+W4p+ajgOafpe+8jOadoeS7tua7oei2s+Wwseeri+WNs+eUn+aIkO+8jOayoeacieWGt+WNtOmXtOmalOOAggoKfCDnlJ/niakgfCDpgILnlJ/luqYgfCDot53lsrggfCDmuKnluqYgfCDmub/luqYgfCDmtbfmi5QgfCDlhYnnhacgfCDohJrkuIvmlrnlnZcgfCDnlJ/miJDmqKHmnb8gfAp8LS0tLS0tfC0tLS0tLS0tfC0tLS0tLXwtLS0tLS18LS0tLS0tfC0tLS0tLXwtLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLXwKfCDngbDni7wgfCAyLjAgfCA+IDQwIHwg4oCUIHwgPiA4IHwgPCAxMDAgfCDiiaQgNyB8IOiNieWcsCAvIOazpeWcnyB8IOeBsOeLvCB8Cnwg6YOK54u8IHwgMi4wIHwgPiA0MCB8ID4gOCB8IDwgOCB8IDwgMTAwIHwg4omkIDcgfCDmspnlnLAgLyDojYnlnLAgfCDpg4rni7wgfAp8IOajleeGiiB8IDAuNSB8ID4gNDAgfCDiiaUgOCB8IOKJpSA4IHwgPCAxMTAgfCDiiaQgNyB8IOiNieWcsCAvIOazpeWcnyB8IOajleeGiiB8Cnwg6buR54aKIHwgMC41IHwgPiA0MCB8IOKJpCA3IHwg4oCUIHwgPCAxMjAgfCDiiaQgNyB8IOiNieWcsCAvIOazpeWcnyB8IOm7keeGiiB8Cnwg5YyX5p6B54aKIHwgMC4yNSB8IC00MCB+IDEwMCB8IOKJpCAxIHwg4oCUIHwgPCA5MCB8IOKJpCA3IHwg6ZuqIC8g5YawIHwg4pqg77iPICoq6buR54aKKirvvIjlupTkuLrljJfmnoHnhorvvIkgfAp8IOiAgeiZjiB8IDAuMDUgfCA+IDQwIHwg4oCUIHwgPiA4IHwgPCA4MCB8IOKJpCA3IHwg6I2J5ZywIC8g5rOl5ZyfIHwg6ICB6JmOIHwKfCDni67lrZAgfCAwLjI1IHwgPiA0MCB8ID4gOCB8IOKAlCB8IDwgODAgfCDiiaQgNyB8IOaymeWcsCB8IOeLruWtkCB8Cnwg576O5rSy6LG5IHwgMC4yNSB8ID4gNDAgfCA+IDggfCA+IDggfCA8IDEwMCB8IOKJpCA3IHwg6I2J5ZywIC8g5bKp55+zIHwg576O5rSy6LG5IHwKfCDosbnlrZAgfCAwLjI1IHwgPiA0MCB8ID4gOCB8IOKAlCB8IDwgMTIwIHwg4omkIDcgfCDojYnlnLAgLyDlsqnnn7MgfCDosbnlrZAgfAp8IOmso+eLlyB8IDEuMCB8ID4gNDAgfCA+IDggfCDigJQgfCA8IDgwIHwg4omkIDcgfCDmspnlnLAgLyDojYnlnLAgfCDprKPni5cgfAoKPiDlpJzpl7TluLjph4/nlJ/miJDnmoTpgILnlJ/luqbmma7pgY3mr5Tnmb3lpKnpmo/mnLrnlJ/miJDpq5jlvojlpJrvvIjlpoLngbDni7znmb3lpKkgMC4wNzUgdnMg5aSc6Ze0IDIuMO+8jOW3ruS6hiAyNyDlgI3vvInvvIzov5nlsLHmmK/kuLrku4DkuYjlpJzpl7TljbHpmannlJ/niankvJrnqoHnhLblj5jlpJrjgIIKCj4g54Gw54u85ZKM6YOK54u855qE5aSc6Ze06YCC55Sf5bqm6auY6L6+IDIuMO+8jOaYr+WknOmXtOacgOW4uOingeeahOaOoOmjn+iAheOAgumso+eLlyAxLjAg5qyh5LmL44CC54aK57G7IDAuNSDkuK3nrYnjgILogIHomY4gMC4wNSDmnIDkvY7igJTigJTlpJzpl7TpgYfliLDogIHomY7mr5TpgYfliLDni7zpmr4gNDAg5YCN44CCCgojIyMjIOW3suefpSBidWfvvJrlpJzpl7TljJfmnoHnhorkvb/nlKjkuobpu5HnhormqKHlnosKCuWcqOa6kOeggSBgU3Vic3lzdGVtQ3JlYXR1cmVTcGF3bi5jc2Ag5Lit77yM5aSc6Ze05YyX5p6B54aK55qEIGBTcGF3bkZ1bmN0aW9uYCDnoaznvJbnoIHosIPnlKjkuoYgYCJCZWFyX0JsYWNrImAg5qih5p2/6ICM6Z2eIGAiQmVhcl9Qb2xhciJg77yaCgokJApcdGV4dHvlpJzpl7TljJfmnoHnhop9IFx4cmlnaHRhcnJvd3tcdGV4dHvlupTosIPnlKh9fSBcdGV4dHtCZWFyXF9Qb2xhciDmqKHmnb99CiQkCgokJApcdGV4dHvlrp7pmYXosIPnlKh9IFx4cmlnaHRhcnJvd3tcdGV4dHtidWd9fSBcdGV4dHtCZWFyXF9CbGFjayDmqKHmnb99CiQkCgo+IOi/meaEj+WRs+edgCoq5aSc6Ze055Sf5oiQ55qE5YyX5p6B54aK5aSW6KeC5piv6buR54aKKirvvIznmb3lpKnmraPluLjjgILmjqjmtYvmmK/lvIDlj5Hml7bku47pu5Hnhorku6PnoIHlpI3liLbnspjotLTlkI7lv5jorrDkv67mlLnmqKHmnb/lkI3jgILmraQgYnVnIOS7heW9seWTjeWkluinguaooeWei++8jOS4jeW9seWTjeeUn+aIkOadoeS7tuWSjOihjOS4uumAu+i+keOAggoKIyMg55Sf54mp55Sf5oiQ6L+H56iLCgrnlJ/nianlh7rnlJ/ml7bnmoTlrprkvY3pnZ7luLjnsr7noa7vvJoKCiQkClx0ZXh0e+WHuueUn+S9jee9rn0gPSAKXGJlZ2lue2Nhc2VzfQp4ID0gXHRleHR75pa55Z2X5Lit5b+DfSArIFx0ZXh0e+maj+acuuWBj+enu30oMC40LCAwLjYpIFxcCnkgPSBcdGV4dHvmlrnlnZfpobbpg6h9ICsgMS4xIFxcCnogPSBcdGV4dHvmlrnlnZfkuK3lv4N9ICsgXHRleHR76ZqP5py65YGP56e7fSgwLjQsIDAuNikKXGVuZHtjYXNlc30KJCQKCueUn+eJqeWHuueUn+aXtueahOacneWQkeWujOWFqOmaj+acuu+8iDAg5YiwIDM2MCDluqbvvInjgIIKCuaJuemHj+eUn+aIkOaXtu+8jOavj+S4queJqeenjeacgOWkmuWwneivlSA1MCDmrKHmib7liLDlkIjpgILkvY3nva7vvIznvqTkvZPmiJDlkZjnmoTliIbluIPojIPlm7TvvJoKLSDmsLTlubPlgY/np7vvvJrCsTgg5qC8Ci0g5Z6C55u05YGP56e777yaLTQg5YiwICs4IOagvAoKIyMg55Sf54mp5raI5aSx5py65Yi2CgojIyMg5raI5aSx6Kem5Y+RCgrlvZPnlJ/nianot53nprvmiYDmnInnjqnlrrbpg73otoXov4cgNjAg5Yy65Z2X77yIOTYwIOagvO+8ieaXtu+8jOWwseS8muinpuWPkea2iOWkse+8mgoKMS4g57O757uf5L+d5a2Y6K+l55Sf54mp55qE5pWw5o2u5Yiw5omA5Zyo5Yy65Z2X5LitCjIuIOagh+iusOW8gOWni+a2iOWkseeahOaXtumXtAozLiDkuKTnp5LlkI7mraPlvI/np7vpmaTlrp7kvZMKCj4g55Sf54mp5raI5aSx5LiN5piv5rC45LmF5Yig6Zmk77yM6ICM5piv5oqK5pWw5o2u5L+d5a2Y5Zyo5Yy65Z2X6YeM44CC5L2g56a75byA5YaN5Zue5p2l5pe277yM5a6D5Lus5Lya6KKr6YeN5paw5Yqg6L295Ye65p2l44CCCgojIyMg5raI5aSx6L+H56iLCgp8IOmYtuautSB8IOivtOaYjiB8IOaMgee7reaXtumXtCB8CnwtLS0tLS18LS0tLS0tfC0tLS0tLS0tLXwKfCDkv53lrZjmlbDmja4gfCDlsIbnlJ/niannirbmgIHlhpnlhaXljLrlnZfmlbDmja4gfCDnnqzpl7QgfAp8IOinpuWPkea2iOWksSB8IOagh+iusOa2iOWkseW8gOWni+aXtumXtCB8IOeerOmXtCB8Cnwg5riQ6L+b5raI5aSxIHwg562J5b6F56e76ZmkIHwgMiDnp5IgfAoKIyMg5ri45oiP5qih5byP5LiO5a2j6IqC55qE5b2x5ZONCgojIyMg5ri45oiP5qih5byP5b2x5ZONCgp8IOaooeW8jyB8IOWvueeUn+aIkOeahOW9seWTjSB8CnwtLS0tLS18LS0tLS0tLS0tLS0tLXwKfCDliJvpgKAgfCDkuI3lvbHlk43nlJ/miJDlj4LmlbAgfAp8IOaXoOWusyB8IOeUn+eJqeS4jeS8muS4u+WKqOaUu+WHu+eOqeWutu+8jOS9hueUn+aIkOaVsOmHj+S4jeWPmCB8Cnwg55Sf5a2YIHwg5q2j5bi455Sf5oiQIHwKfCDmjJHmiJggfCDlpJzpl7TluLjph4/nlJ/miJDkuIrpmZDku44gNiDmj5DljYfliLAgMTLvvIjnv7vlgI3vvIkgfAp8IOaui+mFtyB8IOWQjOaMkeaImO+8jOS9huatu+S6oeWQjuS4jeiDvemHjeeUnyB8Cnwg5YaS6ZmpIHwg54m55q6K5qih5byPIHwKCiMjIyDlraPoioLlvbHlk40KCnwg5a2j6IqCIHwg6ZqP5py655Sf5oiQ6Ze06ZqUIHwg6K+05piOIHwKfC0tLS0tLXwtLS0tLS0tLS0tLS0tfC0tLS0tLXwKfCDlpI8v56eLL+aYpSB8IDYwIOenkiB8IOato+W4uOmikeeOhyB8Cnwg5Yas5a2jIHwgMTIwIOenkiB8IOmikeeOh+WHj+WNiiB8Cgo+IOWto+iKgui/mOmAmui/h+mXtOaOpeaWueW8j+W9seWTjeWknOmXtOeUn+aIkO+8muWPquacieWkqeepuuWFiei2s+Wkn+aal+aXtuaJjeinpuWPkeWknOmXtOW4uOmHj+eUn+aIkOOAguWGrOWto+aYvOefreWknOmVv++8jOWknOmXtOeUn+aIkOaXtumXtOabtOmVv+OAguS4pOS4quaViOW6lOWPoOWKoOKAlOKAlOWGrOWto+eZveWkqeeUn+eJqeWwkeS9huWknOaZmuWNsemZqeeUn+eJqeabtOWkmuOAggoKIyMjIOeOr+Wig+ihjOS4uuaooeW8jwoKfCDmqKHlvI8gfCDmlYjmnpwgfAp8LS0tLS0tfC0tLS0tLXwKfCDliqjmgIHnlJ/mgIHvvIjpu5jorqTvvIkgfCDmraPluLjnlJ/miJDnlJ/niakgfAp8IOmdmeaAgeeOr+WigyB8IOWujOWFqOS4jeeUn+aIkOaWsOeUn+eJqSB8Cgo+IOWcqOS4lueVjOmAiemhueS4reWwhueOr+Wig+ihjOS4uuiuvuS4uiLpnZnmgIEi5Y+v5Lul5a6M5YWo5YWz6Zet55Sf54mp55Sf5oiQ77yM6YCC5ZCI5Y+q5oOz5bu66YCg55qE546p5a6244CCCgoKCiMjIOWGmee7meW8gOWPkeiAhQoKPGRldGFpbHM+CjxzdW1tYXJ5PuW8gOWPkeiAheamguiniDwvc3VtbWFyeT4KCj4g5aaC5p6c5L2g6K6h5YiS5byA5Y+R5qih57uE5oiW5L+u5pS555Sf5oiQ5py65Yi277yM5Lul5LiL5oqA5pyv57uG6IqC5bCG5biu5Yqp5L2g5b+r6YCf55CG6Kej57O757uf5p625p6E77yM6YG/5YWN6Lip5Z2R44CCCgojIyMg5qC45b+D5paH5Lu257Si5byVCgp8IOaWh+S7tiB8IOiBjOi0oyB8CnwtLS0tLS18LS0tLS0tfAp8IGBTdWJzeXN0ZW1DcmVhdHVyZVNwYXduLmNzYCB8IOeUn+eJqeeUn+aIkOS4u+W+queOr+OAgemAgueUn+W6puiuoeeul+OAgeenjee+pOmZkOWItiB8CnwgYFN1YnN5c3RlbVNwYXduLmNzYCB8IOWMuuWdl+e6p+a/gOa0uy/lj5bmtojmv4DmtLvjgIHlrp7kvZPkv53lrZgv5Yqg6L29IHwKfCBgQ29tcG9uZW50Q3JlYXR1cmUuY3NgIHwg55Sf54mp57uE5Lu277yIQ29uc3RhbnRTcGF3buOAgUNhdGVnb3J577yJIHwKfCBgQ29tcG9uZW50U3Bhd24uY3NgIHwg55Sf5oiQL+a2iOWksee7hOS7tu+8iEF1dG9EZXNwYXdu44CBU3Bhd25UaW1l77yJIHwKfCBgQ3JlYXR1cmVDYXRlZ29yeS5jc2AgfCDnlJ/nianliIbnsbvmnprkuL4gfAp8IGBTcGF3bkxvY2F0aW9uVHlwZS5jc2AgfCDnlJ/miJDkvY3nva7nsbvlnosgfAp8IGBFbnZpcm9ubWVudEJlaGF2aW9yTW9kZS5jc2AgfCDnjq/looPooYzkuLrmqKHlvI8gfAp8IGBXb3JsZFNldHRpbmdzLmNzYCB8IOS4lueVjOiuvue9riB8CgojIyMg5YWz6ZSu5bi46YeP6YCf5p+l6KGoCgp8IOW4uOmHjyB8IOWAvCB8IOaWh+S7tuS9jee9riB8CnwtLS0tLS18LS0tLS18LS0tLS0tLS0tfAp8IG1fdG90YWxMaW1pdCB8IDI2IHwgU3Vic3lzdGVtQ3JlYXR1cmVTcGF3bi5jcyB8CnwgbV9hcmVhTGltaXQgfCAzIHwgU3Vic3lzdGVtQ3JlYXR1cmVTcGF3bi5jcyB8CnwgbV9hcmVhUmFkaXVzIHwgMTYgfCBTdWJzeXN0ZW1DcmVhdHVyZVNwYXduLmNzIHwKfCBtX3RvdGFsTGltaXRDb25zdGFudCB8IDYgfCBTdWJzeXN0ZW1DcmVhdHVyZVNwYXduLmNzIHwKfCBtX3RvdGFsTGltaXRDb25zdGFudENoYWxsZW5naW5nIHwgMTIgfCBTdWJzeXN0ZW1DcmVhdHVyZVNwYXduLmNzIHwKfCBtX2FyZWFMaW1pdENvbnN0YW50IHwgNCB8IFN1YnN5c3RlbUNyZWF0dXJlU3Bhd24uY3MgfAp8IG1fYXJlYVJhZGl1c0NvbnN0YW50IHwgNDIgfCBTdWJzeXN0ZW1DcmVhdHVyZVNwYXduLmNzIHwKfCBtX3BvcHVsYXRpb25SZWR1Y3Rpb25Db25zdGFudCB8IDAuMjUgfCBTdWJzeXN0ZW1DcmVhdHVyZVNwYXduLmNzIHwKfCBTcGF3blJhZGl1cyB8IDQ4IOWMuuWdlyB8IFN1YnN5c3RlbVNwYXduLmNzIHwKfCBEZXNwYXduUmFkaXVzIHwgNjAg5Yy65Z2XIHwgU3Vic3lzdGVtU3Bhd24uY3MgfAp8IE1heENodW5rQWdlIHwgNzY4MDAgfCBTdWJzeXN0ZW1TcGF3bi5jcyB8CgojIyMg5qih57uE5omp5bGV54K5CgpgU3Vic3lzdGVtQ3JlYXR1cmVTcGF3bmAg5pSv5oyB5LuOIFhNTCDor7vlj5boh6rlrprkuYnnlJ/miJDop4TliJnvvIzpgJrov4cgYFN0YW5kYXJkQ3JlYXR1cmVTcGF3blJ1bGVgIOWumuS5ieiHquWumuS5ieeUn+eJqeeahOeUn+aIkOadoeS7tu+8iOa4qeW6puOAgea5v+W6puOAgea1t+WyuOi3neemu+OAgeS4iuaWueaWueWdl+etie+8ieOAggoKIyMjIOeUn+aIkOa1geeoi+WbvgoKYGBgClN1YnN5c3RlbUNyZWF0dXJlU3Bhd24uVXBkYXRlKCkKICAgIOKUggogICAg4pSc4pSA4pSAIOaWsOa/gOa0u+WMuuWdlyDihpIgU3Bhd25DaHVua0NyZWF0dXJlcyhjaHVuaywgMTAsIGZhbHNlKQogICAg4pSCICAgICDilJTilIDilIAg6ZqP5py655Sf5oiQ77ya5qOA5p+l5YWo5bGAPDI2ICsg5Yy65Z+fPDPvvIgxNuagvOWNiuW+hO+8iQogICAg4pSCICAgICAgICAg4pSU4pSA4pSAIEdldFJhbmRvbUNodW5rU3Bhd25Qb2ludCgpIMOXNQogICAg4pSCICAgICAgICAgICAgIOKUlOKUgOKUgCBQcm9jZXNzU3Bhd25Qb2ludCgpIOKGkiBUZXN0U3Bhd25Qb2ludCgpCiAgICDilIIgICAgICAgICAgICAgICAgIOKUlOKUgOKUgCBDYWxjdWxhdGVTcGF3blN1aXRhYmlsaXR5KCkgPiAwCiAgICDilIIgICAgICAgICAgICAgICAgICAgICDilJTilIDilIAgR2V0UmFuZG9tV2VpZ2h0ZWRJdGVtKCkg5Yqg5p2D6YCJ5oupCiAgICDilIIgICAgICAgICAgICAgICAgICAgICAgICAg4pSU4pSA4pSAIFNwYXduQ3JlYXR1cmUoKQogICAg4pSCCiAgICDilJzilIDilIAg5bey5r+A5rS75Yy65Z2XIOKGkiBTcGF3bkNodW5rQ3JlYXR1cmVzKGNodW5rLCAyLCB0cnVlKQogICAg4pSCICAgICDilJTilIDilIAg5bi46YeP55Sf5oiQ77ya5qOA5p+l5YWo5bGAPDYvMTIgKyDljLrln588NO+8iDQy5qC85Y2K5b6E77yJCiAgICDilIIgICAgICAgICDilJTilIDilIAg6ZyA6KaBIFNreUxpZ2h0SW50ZW5zaXR5IDwgMC4xCiAgICDilIIKICAgIOKUlOKUgOKUgCDpmo/mnLrnlJ/miJAg4oaSIFNwYXduUmFuZG9tQ3JlYXR1cmUoKQogICAgICAgICAg4pSU4pSA4pSAIOajgOafpeWFqOWxgDwyNiArIDY45qC85YaFPDUyCiAgICAgICAgICAgICAg4pSU4pSA4pSAIEdldFJhbmRvbVNwYXduUG9pbnQoKSDDlzEwCiAgICAgICAgICAgICAgICAgIOKUlOKUgOKUgCDlkIzkuIrmtYHnqIsKYGBgCjwvZGV0YWlscz4=
