/* =========================================================
   2026（第十三届）中国国际石墨烯创新大会 官网
   设计系统：深蓝 × 天空蓝 · 苹果风格交互 · 简洁现代商务科技风 · 响应式

   ▼ 本文件为设计源码（单一数据源），含 CSS 变量与 @custom-media 断点 token。
   ▼ 运行 npm run build:css 编译为运行时 public/css/style.css（将 @custom-media
     展开为真实 @media 查询，浏览器无需原生支持）。切勿直接编辑编译产物。
   ========================================================= */

/* ---------- 响应式断点 token（@custom-media，按宽度从宽到窄） ----------
   --bp-lg  1024px  桌面 → 平板横屏
   --bp-md   992px  平板横屏 → 平板竖屏
   --bp-sm   768px  平板 → 手机（常见移动断点）
   --bp-xs   640px  大屏手机
   --bp-min  480px  小屏手机
   --bp-compact 420px  紧凑手机（窄屏表单，如验证码行/按钮堆叠）
   ▼ rem 用法示例：@media (--bp-sm) { ... }（编译时自动展开为 @media (max-width:768px)） */
@custom-media --bp-lg (max-width: 1024px);
@custom-media --bp-md (max-width: 992px);
@custom-media --bp-sm (max-width: 768px);
@custom-media --bp-xs (max-width: 640px);
@custom-media --bp-min (max-width: 480px);
@custom-media --bp-compact (max-width: 420px);

:root {
  --navy: #0A2A5E;
  --navy-2: #123A7C;
  --navy-3: #0E3169;
  --sky: #2E9BF0;
  --sky-2: #5BB5F5;
  --sky-bg: #EAF4FC;
  --ink: #16233B;
  --gray: #5A6B85;
  --line: #E3EAF3;
  --bg: #F6F9FD;
  --white: #fff;
  --gold: #F5A623;
  --sky-line: #D6E9FA;
  --gray-light: #8A97AC;
  --green: #1B8A4A;
  --green-bg: #E7F7EC;
  --radius: 12px;
  --shadow: 0 2px 12px rgba(10, 42, 94, .06);
  --shadow-lg: 0 8px 28px rgba(10, 42, 94, .12);
  /* Apple Design System Colors —— 对齐品牌色（单一数据源 = navy/sky 系） */
  --apple-blue: var(--sky);
  --apple-blue-hover: var(--navy-2);
  --apple-blue-light: var(--sky-bg);
  --apple-gray: #8E8E93;
  --apple-gray-bg: #F2F2F7;
  --apple-gray-bg-2: #E5E5EA;
  --apple-green: #34C759;
  --apple-orange: var(--gold);
  --apple-red: #FF3B30;
  --apple-purple: #AF52DE;
  --apple-teal: #5AC8FA;
  --apple-radius: 12px;
  --apple-radius-lg: 16px;
  --apple-radius-xl: 22px;
  --apple-blur: saturate(180%) blur(20px);
  --apple-shadow: var(--shadow);
  --apple-shadow-hover: var(--shadow-lg);
  --apple-transition: all .3s cubic-bezier(.25,.46,.45,.94);

  /* 语义 token：间距 / 排版 / 圆角 / 容器 */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-8: 48px;
  --space-10: 56px;
  --space-12: 64px;
  --font-xs: 12px;
  --font-sm: 13px;
  --font-base: 15px;
  --font-md: 16px;
  --font-lg: 20px;
  --font-xl: 26px;
  --leading: 1.7;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 22px;
  --radius-round: 999px;
  --container-max: 1200px;
  --container-pad: 24px;
  --container-pad-sm: 16px;
  /* 语义色：深蓝渐变高光 / 深色底上的浅色文字（替代散落的十六进制） */
  --accent: #1B5BB8;           /* 品牌渐变终点蓝 */
  --navy-text: #BFD6F2;        /* 深蓝底上的浅蓝正文 */
  --navy-text-dim: #B9C9E2;    /* 深蓝底上的更弱蓝（footer/topbar 元信息） */
  /* 表单反馈色 */
  --error-bg: #FDEBEC;
  --error-border: #F5C6CB;
  --error-text: #C0392B;
  --success-bg: #E7F6EC;
  --success-border: #B7E4C7;
  --success-text: #1E7E4E;
  /* 语义阴影：交互按钮 / 聚焦环（统一为品牌深蓝投影，替代 iOS 蓝 rgba(0,122,255) 双源头） */
  --shadow-btn: 0 1px 3px rgba(10,42,94,.3), 0 4px 12px rgba(10,42,94,.2);
  --shadow-btn-hover: 0 2px 8px rgba(10,42,94,.4), 0 6px 20px rgba(10,42,94,.25);
  --focus-ring: 0 0 0 4px rgba(10,42,94,.12);
  --focus-ring-sm: 0 0 0 3px rgba(10,42,94,.12);
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }

/* 键盘焦点可见性：仅键盘导航显示焦点环，鼠标不显示 */
:focus-visible { outline: 2px solid var(--sky); outline-offset: 2px; border-radius: 2px; }
a:focus, button:focus, input:focus, select:focus, textarea:focus { outline-color: var(--sky); }

body {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", "Helvetica Neue", sans-serif;
  color: var(--ink);
  background: var(--white);
  line-height: var(--leading);
  font-size: var(--font-base);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
a { color: var(--sky); text-decoration: none; transition: color .2s; }
a:hover { color: var(--navy); }
img { max-width: 100%; display: block; }
.container { max-width: var(--container-max); margin: 0 auto; padding: 0 var(--container-pad); }
.section { padding: var(--space-10) 0; }
.section-alt { background: var(--bg); }

/* ---------- 标题 ---------- */
.sec-head { margin-bottom: var(--space-6); }
.sec-head .bar { display: inline-block; width: 6px; height: 26px; background: var(--sky); border-radius: 3px; vertical-align: -4px; margin-right: 12px; }
.sec-head h2 { display: inline-block; font-size: 26px; font-weight: 800; color: var(--navy); letter-spacing: .5px; }
.sec-head .en { display: block; font-size: 12px; color: var(--gray); letter-spacing: 2px; text-transform: uppercase; margin-top: 6px; }
.sec-head.center { text-align: center; }
.sec-head.center .bar { display: none; }
.sec-head .more { font-size: 14px; font-weight: 600; color: var(--sky); white-space: nowrap; margin-bottom: 4px; }
.sec-head .more:hover { color: var(--navy); }

/* ---------- 按钮 (Apple Design Style) ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: var(--space-3) var(--space-5); border-radius: var(--radius-xl); font-size: var(--font-base); font-weight: 600;
  border: none; cursor: pointer; transition: var(--apple-transition); text-decoration: none; line-height: 1.4;
  font-family: inherit; position: relative; overflow: hidden;
  -webkit-tap-highlight-color: transparent;
}
.btn::before {
  content: ""; position: absolute; inset: 0; background: rgba(255,255,255,.15); opacity: 0;
  transition: opacity .2s; border-radius: inherit;
}
.btn:active::before { opacity: 1; }
.btn:active { transform: scale(.97); }
.btn-primary {
  background: linear-gradient(180deg, var(--apple-blue) 0%, var(--apple-blue-hover) 100%);
  color: #fff; box-shadow: var(--shadow-btn);
}
.btn-primary:hover { background: var(--apple-blue-hover); color: #fff; box-shadow: var(--shadow-btn-hover); transform: translateY(-1px); }
.btn-navy {
  background: linear-gradient(180deg, var(--navy) 0%, var(--navy-2) 100%);
  color: #fff; box-shadow: var(--shadow-btn);
}
.btn-navy:hover { background: var(--navy-2); color: #fff; box-shadow: var(--shadow-btn-hover); transform: translateY(-1px); }
.btn-outline {
  background: rgba(255,255,255,.6); backdrop-filter: var(--apple-blur); -webkit-backdrop-filter: var(--apple-blur);
  border: 1.5px solid var(--apple-blue); color: var(--apple-blue);
}
.btn-outline:hover { background: var(--apple-blue-light); color: var(--apple-blue-hover); border-color: var(--apple-blue-hover); transform: translateY(-1px); }
.btn-white {
  background: rgba(255,255,255,.9); backdrop-filter: var(--apple-blur); -webkit-backdrop-filter: var(--apple-blur);
  color: var(--ink); box-shadow: 0 1px 3px rgba(10,42,94,.08);
}
.btn-white:hover { background: #fff; box-shadow: 0 2px 12px rgba(10,42,94,.12); transform: translateY(-1px); }
.btn-lg { padding: var(--space-4) var(--space-8); font-size: var(--font-md); border-radius: 24px; }
.btn-block { width: 100%; }
/* Apple Style Icon Buttons */
.btn-icon { width: 36px; height: 36px; padding: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
.btn svg, .btn .ico-svg { width: 18px; height: 18px; flex-shrink: 0; }

/* ---------- 顶部导航 ---------- */
.topbar { background: var(--navy); color: var(--navy-text-dim); font-size: 12.5px; }
.topbar .container { display: flex; justify-content: space-between; align-items: center; height: 38px; }
.topbar a { color: var(--navy-text-dim); }
.topbar a:hover { color: #fff; }
.topbar .right { display: flex; gap: 18px; align-items: center; }
.topbar .lang-switch a { padding: 2px 8px; border-radius: 6px; transition: var(--apple-transition); }
.topbar .lang-switch a.active { background: var(--apple-blue); color: #fff; }

.header {
  background: rgba(255,255,255,.72); backdrop-filter: var(--apple-blur); -webkit-backdrop-filter: var(--apple-blur);
  box-shadow: 0 .5px 0 rgba(0,0,0,.06), 0 1px 8px rgba(10,42,94,.04); position: sticky; top: 0; z-index: 100;
}
.header .container { display: flex; align-items: center; justify-content: space-between; height: 60px; }
.logo { display: flex; align-items: center; gap: 12px; }
.logo-img { height: 42px; width: auto; display: block; }
.logo .hex {
  width: 42px; height: 42px; border-radius: 12px; flex-shrink: 0;
  background: linear-gradient(135deg, var(--navy), var(--sky));
  color: #fff; display: flex; align-items: center; justify-content: center;
  font-size: 20px; font-weight: 800;
}
.logo .name { font-size: 16px; font-weight: 800; color: var(--navy); line-height: 1.3; }
.logo .name small { display: block; font-size: 10.5px; color: var(--gray); font-weight: 500; letter-spacing: .5px; }

.nav { display: flex; align-items: center; gap: 2px; }
.nav a { color: var(--ink); font-size: 14px; padding: 8px 14px; border-radius: 10px; font-weight: 500; transition: var(--apple-transition); }
.nav a:hover { color: var(--apple-blue); background: var(--apple-blue-light); }
.nav a.active { color: var(--apple-blue); font-weight: 600; background: var(--apple-blue-light); }
.nav .nav-reg {
  background: linear-gradient(180deg, var(--apple-blue) 0%, var(--apple-blue-hover) 100%); color: #fff !important;
  font-weight: 600; margin-left: 6px; border-radius: var(--radius-round) !important; padding: 8px 22px !important;
  box-shadow: var(--shadow-btn);
}
.nav .nav-reg:hover { background: var(--apple-blue-hover); box-shadow: var(--shadow-btn-hover); transform: translateY(-1px); }
.nav-toggle { display: none; background: none; border: none; cursor: pointer; padding: 8px; }
.nav-toggle span { display: block; width: 24px; height: 2.5px; background: var(--navy); margin: 5px 0; border-radius: 2px; transition: .3s; }

/* 移动端抽屉 */
.mobile-nav {
  display: none; position: fixed; top: 0; right: -100%; width: 78%; max-width: 340px; height: 100%;
  background: var(--navy); z-index: 200; padding: 24px; transition: right .3s ease; overflow-y: auto;
}
.mobile-nav.open { right: 0; }
.mobile-nav .close { background: none; border: none; color: #fff; font-size: 28px; cursor: pointer; float: right; }
.mobile-logo { height: 44px; width: auto; margin: 8px 0 20px; filter: brightness(0) invert(1); }
.mobile-nav a { display: block; color: #DCE9F9; font-size: 17px; padding: 14px 6px; border-bottom: 1px solid rgba(255,255,255,.08); }
.mobile-nav a.active { color: var(--sky-2); font-weight: 700; }
.mobile-nav .nav-reg { color: #FFD27A; font-weight: 700; }
.mobile-nav .lang-row { margin-top: 20px; display: flex; gap: 12px; }
.mobile-nav .lang-row a { border: 1px solid rgba(255,255,255,.25); border-radius: 6px; padding: 8px 18px; font-size: 14px; }
.mobile-nav .lang-row a.active { background: var(--sky); border-color: var(--sky); }
.mobile-overlay { display: none; position: fixed; inset: 0; background: rgba(10,42,94,.45); z-index: 150; }

/* ---------- 首页 Banner ---------- */
.hero {
  background: var(--navy);
  color: #fff; padding: 72px 0 96px; position: relative; overflow: hidden;
}
.hero-slides { position: absolute; inset: 0; z-index: 0; }
.hero-slide {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  opacity: 0; transition: opacity 1.2s ease;
}
.hero-slide.active { opacity: 1; }
.hero-content { display: none; animation: heroFade .8s ease; }
.hero-content.active { display: block; }
@keyframes heroFade { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.hero-overlay {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg, rgba(10,42,94,.85) 0%, rgba(10,42,94,.6) 50%, rgba(10,42,94,.3) 100%);
}
.hero::before {
  content: ""; position: absolute; right: -80px; top: -80px; width: 380px; height: 380px; border-radius: 50%;
  background: radial-gradient(circle, rgba(46,155,240,.35), transparent 70%); z-index: 1;
}
.hero::after {
  content: ""; position: absolute; left: -60px; bottom: -120px; width: 300px; height: 300px; border-radius: 50%;
  background: radial-gradient(circle, rgba(91,181,245,.22), transparent 70%); z-index: 1;
}
.hero .container { position: relative; z-index: 2; }
.hero-logo { height: 80px; width: auto; margin-bottom: 24px; filter: drop-shadow(0 4px 12px rgba(0,0,0,.2)); }
.hero .tagline { display: inline-block; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22); padding: 5px 16px; border-radius: 30px; font-size: 13px; letter-spacing: 1px; margin-bottom: 20px; }
.hero h1 { font-size: 42px; font-weight: 800; letter-spacing: 1px; line-height: 1.3; max-width: none; white-space: nowrap; text-shadow: 0 2px 8px rgba(0,0,0,.3); }
.hero .sub { color: var(--navy-text); font-size: 17px; margin-top: 14px; letter-spacing: .5px; text-shadow: 0 1px 4px rgba(0,0,0,.3); }
.hero .meta { display: flex; gap: 36px; flex-wrap: wrap; margin-top: 28px; }
.hero .meta .item { font-size: 13px; color: var(--navy-text); }
.hero .meta .item b { display: block; color: #fff; font-size: 17px; margin-top: 2px; }
.hero .meta .cohost-item { display: flex; flex-direction: column; gap: 4px; }
.hero .meta .cohost-logos { display: flex; align-items: center; gap: 10px; min-height: 26px; }
.hero .meta .cohost-logo { height: 26px; width: auto; max-width: 120px; object-fit: contain; background: rgba(255,255,255,.92); border-radius: 4px; padding: 3px 8px; }
.hero .meta .cohost-item b { font-size: 15px; }

/* 轮播指示器 */
.hero-dots { position: absolute; bottom: 32px; left: 50%; transform: translateX(-50%); display: flex; gap: 10px; z-index: 3; }
.hero-dots .dot { width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,.4); cursor: pointer; transition: all .25s; }
.hero-dots .dot.active { background: #fff; width: 28px; border-radius: 5px; }
.hero-dots .dot:hover { background: rgba(255,255,255,.7); }
.hero .countdown { display: flex; gap: 14px; margin-top: 30px; }
.hero .countdown .cell {
  background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); border-radius: 10px;
  min-width: 76px; padding: 12px 8px; text-align: center;
}
.hero .countdown .cell b { display: block; font-size: 28px; color: #FFD27A; font-weight: 800; line-height: 1.2; }
.hero .countdown .cell span { font-size: 12px; color: #DCE9F9; }
.hero .countdown .colon { align-self: center; font-size: 26px; color: rgba(255,255,255,.5); font-weight: 700; }
.hero .actions { margin-top: 34px; display: flex; gap: 14px; flex-wrap: wrap; }

/* 快速导航卡片 */
.quick-nav { margin-top: -52px; position: relative; z-index: 5; }
.quick-nav .grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 14px; }
.quick-nav .item {
  background: rgba(255,255,255,.8); backdrop-filter: var(--apple-blur); -webkit-backdrop-filter: var(--apple-blur);
  border: 1px solid var(--line); border-radius: var(--apple-radius-lg); padding: 22px 10px;
  text-align: center; box-shadow: var(--apple-shadow); transition: var(--apple-transition); display: block; color: var(--navy);
}
.quick-nav .item:hover { transform: translateY(-4px); box-shadow: var(--apple-shadow-hover); border-color: var(--apple-blue); color: var(--apple-blue); }
.quick-nav .item .ico { font-size: 28px; margin-bottom: 8px; display: block; }
.quick-nav .item span { font-size: 14px; font-weight: 600; }

/* ---------- 卡片 ---------- */
.card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 26px; box-shadow: var(--shadow); }
.card h3 { font-size: 18px; color: var(--navy); margin-bottom: 12px; font-weight: 700; }

/* 信息速览 */
.info-list .row { display: flex; align-items: center; gap: 16px; padding: 14px 0; border-bottom: 1px dashed var(--line); }
.info-list .row:last-child { border: none; }
.info-list .date { background: var(--sky-bg); color: var(--navy); font-weight: 700; border-radius: 8px; padding: 7px 14px; font-size: 14px; min-width: 110px; text-align: center; }
.info-list .cohost-date { display: flex; align-items: center; justify-content: center; min-height: 40px; padding: 4px 10px; }
.info-list .cohost-logo-sm { height: 30px; width: auto; max-width: 100px; object-fit: contain; }
.info-list .t { font-size: 15px; font-weight: 600; color: var(--ink); }
.info-list .t small { display: block; color: var(--gray); font-size: 13px; font-weight: 400; }

/* 亮点 */
.highlight-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.highlight { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 26px 22px; box-shadow: var(--shadow); transition: all .25s; }
.highlight:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: var(--sky); }
.highlight .num { font-size: 30px; font-weight: 800; color: var(--sky); line-height: 1; }
.highlight h4 { font-size: 17px; color: var(--navy); margin: 12px 0 8px; }
.highlight p { font-size: 13.5px; color: var(--gray); }

/* 议程速览 */
.agenda-list .row { display: flex; align-items: center; gap: 18px; padding: 16px 0; border-bottom: 1px dashed var(--line); }
.agenda-list .row:last-child { border: none; }
.agenda-list .date { background: var(--sky-bg); color: var(--navy); font-weight: 700; border-radius: 8px; padding: 8px 14px; font-size: 14px; min-width: 130px; text-align: center; flex-shrink: 0; }
.agenda-list .t { font-size: 15px; font-weight: 600; }
.agenda-list .t small { display: block; color: var(--gray); font-size: 13px; font-weight: 400; }
.agenda-list .go { margin-left: auto; color: var(--sky); font-weight: 700; white-space: nowrap; }

/* =========================================================
   整体大会议程 · 矩阵式日程总览
   ========================================================= */
.agenda-matrix {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
  height: 600px;                 /* 固定整体高度，不随后台数据增加而拉长 */
  display: flex;
  flex-direction: column;
}
.am-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  flex: 1;
  min-height: 0;                 /* 关键：让 flex 子元素可被压缩到固定高度内 */
  overflow-y: auto;              /* 内容超出时内部滚动 */
}
.am-col { border-right: 1px solid var(--line); display: flex; flex-direction: column; }
.am-col:last-child { border-right: none; }

/* 列头 */
.am-col-head {
  background: linear-gradient(180deg, var(--navy) 0%, var(--navy-2) 100%);
  color: #fff; text-align: center; padding: 16px 10px 14px;
}
.am-col-head .d { font-size: 19px; font-weight: 800; letter-spacing: .5px; }
.am-col-head .w { font-size: 12px; opacity: .85; margin-top: 2px; letter-spacing: 1px; }
.am-col-head.off { background: var(--navy-3); opacity: .92; }

/* 列体 */
.am-col-body { padding: 14px; display: flex; flex-direction: column; gap: 12px; background: #FBFDFF; flex: 1; }

/* 主会场深蓝卡片 */
.am-card-main {
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 100%);
  color: #fff; border-radius: 10px; padding: 14px 14px 12px;
  box-shadow: 0 4px 14px rgba(10,42,94,.22);
  transition: var(--apple-transition);
}
.am-card-main:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(10,42,94,.32); }
.am-card-main .t { font-size: 15px; font-weight: 800; letter-spacing: .3px; }
.am-card-main .time { font-size: 12px; opacity: .85; margin-top: 2px; }
.am-card-main ul { list-style: none; margin-top: 8px; }
.am-card-main li {
  font-size: 12px; line-height: 1.5; padding: 4px 0;
  border-top: 1px solid rgba(255,255,255,.16);
  display: flex; gap: 6px; align-items: baseline;
}
.am-card-main li:first-child { border-top: none; }
.am-card-main li .tm { font-weight: 700; opacity: .95; flex-shrink: 0; min-width: 44px; }
.am-main-link { color: inherit; text-decoration: none; display: block; }
.am-main-link:hover { color: inherit; }

/* 分论坛白底卡片 */
.am-card {
  background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 12px 13px 10px;
  transition: var(--apple-transition);
}
.am-card:hover { box-shadow: var(--shadow); border-color: var(--sky-2); transform: translateY(-2px); }
.am-card .t { font-size: 14px; font-weight: 700; color: var(--sky); line-height: 1.4; }
.am-card .meta { display: flex; justify-content: space-between; align-items: center; margin-top: 3px; gap: 6px; flex-wrap: wrap; }
.am-card .loc { font-size: 12px; color: var(--green); font-weight: 600; }
.am-card .time { font-size: 12px; color: var(--gray); }
.am-card ul { list-style: none; margin-top: 7px; border-top: 1px dashed var(--line); padding-top: 6px; }
.am-card li { font-size: 12px; color: var(--ink); padding: 2.5px 0; line-height: 1.5; }
.am-card li::before { content: "·"; color: var(--sky); font-weight: 700; margin-right: 6px; }
.am-link { color: inherit; text-decoration: none; }
.am-link:hover { color: inherit; }

/* 闭门会浅蓝底 */
.am-card-close { background: var(--sky-bg); border: 1px solid var(--sky-line); }

/* 返程 */
.am-return { text-align: center; padding: 40px 10px; color: var(--gray); }
.am-return .ic { font-size: 30px; opacity: .5; }
.am-return .tx { font-size: 14px; font-weight: 700; margin-top: 6px; color: var(--gray); }

/* 底部通栏 */
.am-foot {
  background: var(--sky-bg); border-top: 1px solid var(--line);
  text-align: center; padding: 12px 16px;
  font-size: 13.5px; font-weight: 700; color: var(--navy); letter-spacing: .5px;
}
.am-foot span { color: var(--gray); font-weight: 400; margin-left: 12px; letter-spacing: 0; }

/* =========================================================
   会议一览表
   ========================================================= */
.overview-wrap {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.ov-scroll { overflow-x: auto; }
.ov-table { width: 100%; border-collapse: collapse; min-width: 860px; }
.ov-table thead th {
  background: linear-gradient(180deg, var(--navy) 0%, var(--navy-2) 100%);
  color: #fff; padding: 13px 18px; font-size: 14px; font-weight: 700; text-align: left; letter-spacing: .5px; white-space: nowrap;
}
.ov-table tbody td {
  padding: 15px 18px; border-bottom: 1px solid var(--line);
  font-size: 14px; vertical-align: middle; line-height: 1.6;
}
.ov-table tbody tr:last-child td { border-bottom: none; }
.ov-table tbody tr { transition: background .2s; }
.ov-table tbody tr:hover { background: #F6FAFE; }

/* 高亮行 */
.ov-table tbody tr.hl { background: var(--sky-bg); }
.ov-table tbody tr.hl:hover { background: #DFF0FC; }
.ov-table tbody tr.hl td:first-child { box-shadow: inset 4px 0 0 var(--sky); }

.ov-table .date { font-weight: 700; color: var(--navy); white-space: nowrap; }
.ov-table .date small { display: block; font-size: 12px; color: var(--gray-light); font-weight: 400; }
.ov-table .time { color: var(--gray); white-space: nowrap; font-size: 13px; }
.ov-table .name { font-weight: 700; color: var(--ink); }
.ov-table .name a { color: var(--ink); text-decoration: none; }
.ov-table .name a:hover { color: var(--sky); }
.ov-table tr.hl .name { color: var(--navy); }
.ov-table .venue { color: var(--green); font-weight: 600; white-space: nowrap; }
.ov-table .topic { color: var(--gray); font-size: 13px; }
.ov-table .tag {
  display: inline-block; font-size: 11px; font-weight: 700; padding: 2px 10px; border-radius: 999px; margin-left: 8px; vertical-align: 1px;
}
.ov-table .tag-main { background: var(--navy); color: #fff; }
.ov-table .tag-close { background: var(--sky-bg); color: var(--navy); border: 1px solid var(--sky-line); }

@media (--bp-lg) {
  .am-grid { grid-template-columns: repeat(2, 1fr); }
  .am-col:nth-child(2n) { border-right: none; }
  .am-col:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}
@media (--bp-xs) {
  .am-grid { grid-template-columns: 1fr; }
  .am-col { border-right: none; border-bottom: 1px solid var(--line); }
  .am-col:last-child { border-bottom: none; }
  .am-col-head { padding: 12px 10px; }
  .am-col-head .d { font-size: 17px; }
  .am-return { padding: 20px 10px; }
  .ov-table { min-width: 720px; }
}

/* 嘉宾卡片 */
.speaker-card { display: flex; gap: 16px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 18px; box-shadow: var(--shadow); transition: all .25s; }
.speaker-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: var(--sky); }
.speaker-card .av-wrap { width: 64px; height: 64px; border-radius: 50%; flex-shrink: 0; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,.12); }
.speaker-card .av-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.speaker-card b { font-size: 15.5px; color: var(--navy); }
.speaker-card small { color: var(--gray); display: block; font-size: 12.5px; line-height: 1.5; }

/* 合作单位 */
.partner-wrap { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.partner-item { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 0; box-shadow: var(--shadow); display: flex; align-items: center; justify-content: center; height: 80px; overflow: hidden; transition: all .25s; }
.partner-item:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); border-color: var(--sky); }
.partner-logo { width: 100%; height: 100%; max-height: 80px; object-fit: contain; display: block; padding: 8px; }
@media (max-width: 992px) { .partner-wrap { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px) { .partner-wrap { grid-template-columns: repeat(2, 1fr); } }
.partner-group h4 { font-size: 14px; color: var(--gray); margin-bottom: 12px; font-weight: 600; letter-spacing: 1px; }

/* 新闻卡片 */
.news-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; box-shadow: var(--shadow); transition: all .25s; display: block; color: var(--ink); height: 100%; }
.news-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: var(--sky); }
.news-card .date { font-size: 12.5px; color: var(--gray); }
.news-card h4 { font-size: 16px; color: var(--navy); margin: 8px 0; line-height: 1.5; }
.news-card p { font-size: 13.5px; color: var(--gray); }
.news-card .more { color: var(--sky); font-size: 13px; font-weight: 600; margin-top: 10px; display: inline-block; }

/* 往届回顾 */
.review-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; box-shadow: var(--shadow); text-align: center; }
.review-card .year { font-size: 34px; font-weight: 800; color: var(--navy); }
.review-card .city { display: inline-block; background: var(--sky-bg); color: var(--sky); font-size: 13px; padding: 3px 14px; border-radius: 20px; margin: 8px 0; font-weight: 600; }
.review-card h5 { font-size: 15px; color: var(--navy); }
.review-card p { font-size: 13px; color: var(--gray); margin-top: 6px; }

/* ---------- 页脚 ---------- */
.footer { background: var(--navy); color: var(--navy-text-dim); padding: 56px 0 0; font-size: 14px; }
.footer .grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 36px; padding-bottom: 40px; }
.footer h4 { color: #fff; font-size: 16px; margin-bottom: 18px; font-weight: 700; }
.footer a { color: var(--navy-text-dim); display: block; padding: 5px 0; }
.footer a:hover { color: #fff; }
.footer-logo { height: 56px; width: auto; margin-bottom: 16px; filter: brightness(0) invert(1); }
.footer .about p { font-size: 13.5px; line-height: 1.8; margin-top: 12px; }
.footer .contact p { padding: 5px 0; }
.footer .bottom { border-top: 1px solid rgba(255,255,255,.1); padding: 18px 0; text-align: center; font-size: 12.5px; color: #8FA6C8; }
.footer .bottom .beian-mps { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 4px; }
.footer .bottom .beian-mps img { height: 18px; width: auto; vertical-align: middle; }
.footer .bottom .beian-mps a { display: inline; padding: 0; }

/* ---------- 页面头 (带背景图) ---------- */
.page-hero { background: linear-gradient(120deg, var(--navy), var(--navy-2) 60%, var(--accent)); background-size: cover; background-position: center; color: #fff; padding: 64px 0; position: relative; }
.page-hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,42,94,.75) 0%, rgba(10,42,94,.85) 100%); }
.page-hero .container { position: relative; z-index: 2; }
.page-hero h1 { font-size: 32px; font-weight: 800; letter-spacing: 1px; text-shadow: 0 2px 8px rgba(0,0,0,.2); }
.page-hero .sub { color: var(--navy-text); margin-top: 8px; font-size: 15px; text-shadow: 0 1px 4px rgba(0,0,0,.2); }
.breadcrumb { font-size: 13px; color: var(--navy-text); margin-top: 10px; }
.breadcrumb a { color: var(--navy-text); }
.breadcrumb a:hover { color: #fff; }

/* ---------- 背景图板块 ---------- */
.bg-section { background-size: cover; background-position: center; position: relative; }
.bg-section-overlay { position: absolute; inset: 0; background: rgba(10,42,94,.82); }
.bg-section .container { position: relative; z-index: 2; }

/* ---------- 毛玻璃卡片 ---------- */
.glass {
  background: rgba(255,255,255,.1); backdrop-filter: var(--apple-blur); -webkit-backdrop-filter: var(--apple-blur);
  border: 1px solid rgba(255,255,255,.15); border-radius: var(--apple-radius-lg);
}
.review-card.glass { color: var(--ink); padding: 24px; transition: var(--apple-transition); background: rgba(255,255,255,.92); }
.review-card.glass:hover { background: #fff; transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,.2); }
.review-card.glass .year { font-size: 28px; font-weight: 800; color: var(--navy); }
.review-card.glass .city { font-size: 14px; color: var(--apple-blue); font-weight: 700; }
.review-card.glass h5 { font-size: 15px; color: var(--navy); margin-top: 8px; }
.review-card.glass p { font-size: 13px; color: var(--gray); margin-top: 6px; }
a.review-card { text-decoration: none; display: block; }
a.review-card:hover h5 { color: var(--sky); }
.review-card .rv-more { display: inline-block; margin-top: 10px; font-size: 13px; font-weight: 700; color: var(--sky); transition: transform .2s; }
a.review-card:hover .rv-more { transform: translateX(4px); }

/* 往届大会 LOGO 卡片 */
.review-card .rv-logo { width: 88px; height: 88px; margin: 0 auto 12px; display: block; border-radius: 18px; box-shadow: 0 4px 14px rgba(0,0,0,.15); }
.review-card .rv-num { display: inline-block; font-size: 12px; font-weight: 700; color: var(--navy); background: var(--sky-bg); padding: 2px 12px; border-radius: 20px; margin-bottom: 8px; letter-spacing: .5px; }

/* =========================================================
   往届回顾详情页
   ========================================================= */
.rd-intro { display: flex; gap: 36px; align-items: flex-start; flex-wrap: wrap; }
.rd-logo { flex-shrink: 0; }
.rd-logo-img { width: 180px; height: 180px; border-radius: 22px; box-shadow: 0 8px 28px rgba(10,42,94,.18); background: #fff; padding: 18px; }
.rd-info { flex: 1; min-width: 300px; }
.rd-tags { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.rd-tag { display: inline-block; font-size: 13px; font-weight: 700; padding: 4px 16px; border-radius: 999px; background: var(--sky-bg); color: var(--navy); }
.rd-tag-year { background: linear-gradient(180deg, var(--navy), var(--navy-2)); color: #fff; }
.rd-tag-city { background: var(--green-bg); color: var(--green); }
.rd-theme { font-size: 26px; font-weight: 800; color: var(--navy); margin-bottom: 12px; }
.rd-desc { font-size: 15px; color: var(--gray); line-height: 1.9; margin-bottom: 20px; }
.rd-meta { display: flex; flex-direction: column; gap: 10px; }
.rd-meta-item { display: flex; gap: 14px; align-items: baseline; }
.rd-meta-label { flex-shrink: 0; width: 72px; font-size: 13px; font-weight: 700; color: var(--gray-light); }
.rd-meta-val { font-size: 14px; color: var(--ink); line-height: 1.6; }

/* 大会亮点 */
.rd-highlights { display: flex; flex-direction: column; gap: 14px; }
.rd-hl-item { display: flex; gap: 14px; align-items: flex-start; background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--sky); border-radius: 10px; padding: 16px 20px; box-shadow: var(--shadow); }
.rd-hl-dot { flex-shrink: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--sky); margin-top: 8px; }
.rd-hl-item p { font-size: 14px; color: var(--ink); line-height: 1.8; }

/* 现场照片 */
.rd-photos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.rd-photo { border-radius: 12px; overflow: hidden; box-shadow: var(--shadow); border: 1px solid var(--line); background: #fff; margin: 0; }
.rd-photo img { width: 100%; height: 190px; object-fit: cover; display: block; transition: var(--apple-transition); }
.rd-photo:hover img { transform: scale(1.04); }
.rd-photo figcaption { font-size: 12.5px; color: var(--gray); text-align: center; padding: 10px 8px; }

/* 宣传报道 */
.rd-news { display: flex; flex-direction: column; gap: 12px; }
.rd-news-item { display: flex; align-items: center; gap: 16px; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 16px 20px; box-shadow: var(--shadow); transition: var(--apple-transition); text-decoration: none; }
.rd-news-item:hover { box-shadow: var(--shadow-lg); transform: translateY(-2px); border-color: var(--sky-2); }
.rd-news-icon { font-size: 24px; flex-shrink: 0; }
.rd-news-body { flex: 1; min-width: 0; }
.rd-news-title { font-size: 15px; font-weight: 700; color: var(--ink); line-height: 1.6; }
.rd-news-item:hover .rd-news-title { color: var(--sky); }
.rd-news-src { font-size: 12.5px; color: var(--gray-light); margin-top: 4px; }
.rd-news-go { font-size: 18px; color: var(--sky); flex-shrink: 0; font-weight: 700; }
.rd-news-note { margin-top: 14px; font-size: 12px; color: var(--gray-light); text-align: center; }

/* 上一届 / 下一届导航 */
.rd-nav { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.rd-nav-btn { display: flex; align-items: center; gap: 12px; text-decoration: none; border: 1px solid var(--line); border-radius: 12px; padding: 12px 18px; background: #fff; box-shadow: var(--shadow); transition: var(--apple-transition); }
.rd-nav-btn:hover { box-shadow: var(--shadow-lg); border-color: var(--sky-2); transform: translateY(-2px); }
.rd-nav-arrow { font-size: 20px; color: var(--sky); font-weight: 700; }
.rd-nav-txt { display: flex; flex-direction: column; }
.rd-nav-txt small { font-size: 12px; color: var(--gray-light); }
.rd-nav-txt strong { font-size: 15px; color: var(--navy); font-weight: 800; }
.rd-nav-next { text-align: right; }

@media (--bp-sm) {
  .rd-intro { flex-direction: column; gap: 24px; }
  .rd-logo-img { width: 140px; height: 140px; }
  .rd-photos { grid-template-columns: repeat(2, 1fr); }
  .rd-photo img { height: 150px; }
  .rd-nav { flex-wrap: wrap; justify-content: center; }
  .rd-nav-btn { flex: 1; min-width: 200px; }
}

/* ---------- 快速导航 SVG 图标 ---------- */
.quick-nav .item .qn-svg { width: 28px; height: 28px; color: var(--apple-blue); margin-bottom: 6px; transition: var(--apple-transition); }
.quick-nav .item:hover .qn-svg { color: var(--apple-blue-hover); transform: scale(1.1); }

/* ---------- 议程页 ---------- */
.day-block { margin-bottom: 40px; }
.day-title { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }
.day-title .badge { background: var(--navy); color: #fff; padding: 6px 18px; border-radius: 8px; font-weight: 700; font-size: 15px; }
.day-title h2 { font-size: 22px; color: var(--navy); font-weight: 700; }

/* 议程详情 */
.session-table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
/* 宽表内嵌滚动：避免窄屏整页横向滚动 / 内容被裁剪 */
.table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
@media (--bp-sm) { .session-table { min-width: 640px; } }
.session-table th { background: var(--navy); color: #fff; padding: 12px 16px; text-align: left; font-weight: 600; }
.session-table td { border: 1px solid var(--line); padding: 12px 16px; vertical-align: top; }
.session-table tr:nth-child(even) td { background: var(--bg); }
.session-table .time { white-space: nowrap; font-weight: 700; color: var(--navy); }
.session-table .speaker { color: var(--gray); font-size: 13.5px; }
.venue-banner { background: var(--sky-bg); border: 1px solid #CBE4FA; border-radius: 10px; padding: 16px 22px; display: flex; gap: 30px; flex-wrap: wrap; margin-bottom: 28px; }
.venue-banner .item { font-size: 14px; }
.venue-banner .item b { color: var(--navy); display: block; font-size: 15px; }
.venue-banner .item span { color: var(--gray); font-size: 12.5px; }

/* ---------- 嘉宾页 ---------- */
/* 统一响应式栅格：桌面列数在下方集中定义，媒体查询只改列数（替代视图内联 grid，修复移动端横滚） */
.speaker-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.news-grid   { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.review-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.exhibitor-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.about-grid  { display: grid; grid-template-columns: 1.4fr 1fr; gap: 28px; }
.hotel-grid  { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.poster-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.media-grid  { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.speaker-full { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; box-shadow: var(--shadow); transition: all .25s; }
.speaker-full:hover { box-shadow: var(--shadow-lg); border-color: var(--sky); }
.speaker-full .head { display: flex; gap: 18px; align-items: center; }
.speaker-full .av { width: 76px; height: 76px; border-radius: 50%; flex-shrink: 0; background: linear-gradient(135deg, var(--navy), var(--sky)); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 28px; font-weight: 700; }
.speaker-full h3 { font-size: 18px; color: var(--navy); }
.speaker-full .pos { color: var(--gray); font-size: 13px; margin-top: 2px; }
.speaker-full .aff { color: var(--gray); font-size: 13px; }
.speaker-full .bio { font-size: 13.5px; color: var(--gray); margin-top: 14px; line-height: 1.8; }
.speaker-full .topic { margin-top: 12px; background: var(--sky-bg); border-radius: 8px; padding: 10px 14px; font-size: 13.5px; color: var(--navy); }
.speaker-full .expand { margin-top: 12px; color: var(--sky); font-weight: 600; font-size: 13.5px; cursor: pointer; background: none; border: none; }
.speaker-full .expand:hover { color: var(--navy); }

/* ---------- 海报页 ---------- */
.poster-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; box-shadow: var(--shadow); transition: all .25s; display: block; color: var(--ink); height: 100%; }
.poster-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: var(--sky); }
.poster-card .cat { display: inline-block; background: var(--sky-bg); color: var(--sky); font-size: 12px; padding: 3px 12px; border-radius: 20px; font-weight: 600; }
.poster-card h3 { font-size: 16.5px; color: var(--navy); margin: 10px 0 6px; line-height: 1.5; }
.poster-card .author { font-size: 13.5px; color: var(--gray); }
.poster-card .author b { color: var(--ink); }
.poster-card .go { color: var(--sky); font-weight: 600; font-size: 13.5px; margin-top: 10px; display: inline-block; }

/* 海报列表上方说明文字（后台富文本维护） */
.poster-intro { background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--sky); border-radius: var(--radius); padding: 22px 26px; margin-bottom: 30px; box-shadow: var(--shadow); color: var(--ink); font-size: 15px; line-height: 1.85; }
.poster-intro p { margin: 0 0 12px; }
.poster-intro p:last-child { margin-bottom: 0; }
.poster-intro h1, .poster-intro h2, .poster-intro h3, .poster-intro h4 { color: var(--navy); margin: 14px 0 10px; line-height: 1.4; }
.poster-intro ul, .poster-intro ol { margin: 0 0 12px 22px; }
.poster-intro li { margin-bottom: 6px; }
.poster-intro img { max-width: 100%; height: auto; border-radius: 6px; margin: 8px 0; }
.poster-intro a { color: var(--sky); text-decoration: underline; }
.poster-intro strong, .poster-intro b { color: var(--navy); }

/* 海报征集横幅 */
.call-banner { background: linear-gradient(120deg, var(--navy), var(--accent)); color: #fff; border-radius: var(--radius); padding: 36px; display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; }
.call-banner h3 { font-size: 22px; font-weight: 800; }
.call-banner p { color: var(--navy-text); font-size: 14px; margin-top: 8px; max-width: 720px; }

/* ---------- 展览页 ---------- */
.expo-hero { background: var(--sky-bg); border: 1px solid #CBE4FA; border-radius: var(--radius); padding: 30px; margin-bottom: 36px; }
.expo-hero h2 { font-size: 24px; color: var(--navy); font-weight: 800; }
.expo-hero p { color: var(--gray); margin-top: 8px; font-size: 14.5px; }
.expo-hero .meta { display: flex; gap: 30px; flex-wrap: wrap; margin-top: 16px; font-size: 14px; }
.expo-hero .meta b { color: var(--navy); }
.exhibitor-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; box-shadow: var(--shadow); transition: all .25s; height: 100%; }
.exhibitor-card:hover { box-shadow: var(--shadow-lg); border-color: var(--sky); }
.exhibitor-card .booth { display: inline-block; background: var(--navy); color: #fff; font-size: 12.5px; padding: 3px 12px; border-radius: 6px; font-weight: 700; }
.exhibitor-card h3 { font-size: 17px; color: var(--navy); margin: 10px 0 6px; }
.exhibitor-card p { font-size: 13.5px; color: var(--gray); }
.exhibitor-card .exhibitor-logo { display: flex; align-items: center; justify-content: center; min-height: 110px; margin: 8px 0 14px; }
.exhibitor-card .exhibitor-logo-img { max-width: 100%; max-height: 96px; width: auto; height: auto; object-fit: contain; }
.exhibitor-card .exhibitor-name { text-align: center; font-size: 15px; font-weight: 600; color: var(--navy); line-height: 1.5; }

/* ---------- 媒体页 ---------- */
.gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.gallery-item { border-radius: var(--radius); overflow: hidden; border: 1px solid var(--line); position: relative; aspect-ratio: 4/3; background: linear-gradient(135deg, var(--navy), var(--sky)); display: flex; align-items: center; justify-content: center; color: #fff; }
.gallery-item .ph { font-size: 40px; }
.gallery-item .cap { position: absolute; bottom: 0; left: 0; right: 0; background: rgba(10,42,94,.75); padding: 8px 12px; font-size: 13px; }

/* ---------- 会务页 ---------- */
.service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.service-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 26px 22px; box-shadow: var(--shadow); text-align: center; }
a.service-card { display: block; text-decoration: none; color: inherit; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
a.service-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: var(--sky); }
html { scroll-behavior: smooth; }
.sec-head { scroll-margin-top: 90px; }
.service-card .ico { font-size: 34px; }
.service-card h4 { font-size: 16.5px; color: var(--navy); margin: 12px 0 8px; }
.service-card p { font-size: 13px; color: var(--gray); }
.hotel-card { position: relative; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; box-shadow: var(--shadow); }
.hotel-card.soldout { opacity: .55; filter: grayscale(1); }
.hotel-card .soldout-stamp { position: absolute; top: 12px; right: 12px; background: #e23b3b; color: #fff; font-weight: 700; font-size: 14px; letter-spacing: 2px; padding: 4px 12px; border-radius: 4px; transform: rotate(-8deg); box-shadow: 0 2px 6px rgba(0,0,0,.2); z-index: 2; }
.hotel-card .top { display: flex; justify-content: space-between; align-items: center; }
.hotel-card h4 { font-size: 16.5px; color: var(--navy); }
.hotel-card .level { background: var(--sky-bg); color: var(--sky); font-size: 12px; padding: 2px 10px; border-radius: 20px; font-weight: 600; }
.hotel-card .info { font-size: 13px; color: var(--gray); margin-top: 10px; line-height: 2; }
.hotel-card .info b { color: var(--navy); }
.faq-item { background: #fff; border: 1px solid var(--line); border-radius: 10px; margin-bottom: 12px; overflow: hidden; }
.faq-item .q { padding: 16px 22px; font-weight: 700; color: var(--navy); cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-size: 15px; }
.faq-item button.q { font-family: inherit; font-size: inherit; text-align: left; background: none; border: none; width: 100%; font-weight: 700; color: var(--navy); cursor: pointer; display: flex; justify-content: space-between; align-items: center; }
.faq-item .q .arrow { transition: transform .3s; color: var(--sky); }
.faq-item.open .q .arrow { transform: rotate(180deg); }
.faq-item .a { display: none; padding: 0 22px 16px; color: var(--gray); font-size: 14px; line-height: 1.9; }
.faq-item.open .a { display: block; }
.guide-list { counter-reset: guide; }
.guide-item { display: flex; gap: 16px; padding: 14px 0; border-bottom: 1px dashed var(--line); }
.guide-item:last-child { border: none; }
.guide-item .n { counter-increment: guide; width: 34px; height: 34px; border-radius: 50%; background: var(--sky-bg); color: var(--sky); font-weight: 800; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.guide-item .n::before { content: counter(guide); }
.guide-item h5 { font-size: 15.5px; color: var(--navy); }
.guide-item p { font-size: 13.5px; color: var(--gray); margin-top: 4px; }

/* ---------- 注册页 ---------- */
.register-wrap { display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; align-items: start; }
.form-card { background: #fff; border: 1px solid var(--line); border-radius: var(--apple-radius-xl); padding: 32px; box-shadow: var(--apple-shadow); }
.form-group { margin-bottom: 20px; }
.form-group label { display: block; font-size: 14px; font-weight: 600; color: var(--navy); margin-bottom: 8px; }
.form-group label .req { color: var(--apple-red); }
.form-control { width: 100%; padding: 12px 16px; border: 1.5px solid var(--line); border-radius: var(--apple-radius); font-size: 15px; color: var(--ink); background: var(--apple-gray-bg); transition: var(--apple-transition); font-family: inherit; }
.form-control:focus { outline: none; border-color: var(--apple-blue); background: #fff; box-shadow: var(--focus-ring); }
textarea.form-control { resize: vertical; min-height: 90px; }
.form-select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235A6B85' stroke-width='2' fill='none'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 36px; }
.form-note { font-size: 12.5px; color: var(--gray); background: var(--sky-bg); border-radius: 8px; padding: 10px 14px; margin-bottom: 20px; }
.form-error { display: none; background: var(--error-bg); border: 1px solid var(--error-border); color: var(--error-text); border-radius: 8px; padding: 10px 14px; font-size: 13.5px; margin-bottom: 16px; }
.form-error.show { display: block; }
.form-success { display: none; background: var(--success-bg); border: 1px solid var(--success-border); color: var(--success-text); border-radius: 8px; padding: 12px 16px; font-size: 14px; margin-bottom: 16px; }
.form-success.show { display: block; }
.side-info { background: var(--sky-bg); border: 1px solid #CBE4FA; border-radius: var(--radius); padding: 26px; }
.side-info h4 { color: var(--navy); font-size: 17px; margin-bottom: 14px; }
.side-info .row { display: flex; gap: 12px; padding: 8px 0; font-size: 14px; }
.side-info .row b { color: var(--navy); min-width: 80px; }
.side-info .row span { color: var(--gray); }

/* ---------- 搜索页 ---------- */
.search-bar { display: flex; gap: 10px; margin-bottom: 28px; }
.search-bar input { flex: 1; padding: 13px 18px; border: 1.5px solid var(--line); border-radius: 8px; font-size: 15px; }
.search-bar input:focus { outline: none; border-color: var(--sky); }
.search-result { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 18px 22px; margin-bottom: 12px; box-shadow: var(--shadow); display: block; color: var(--ink); transition: all .2s; }
.search-result:hover { border-color: var(--sky); box-shadow: var(--shadow-lg); }
.search-result .tag { display: inline-block; background: var(--sky-bg); color: var(--sky); font-size: 12px; padding: 2px 10px; border-radius: 20px; margin-right: 8px; font-weight: 600; }
.search-result h4 { font-size: 16px; color: var(--navy); margin-top: 6px; }
.search-result p { font-size: 13.5px; color: var(--gray); margin-top: 4px; }
.search-empty { text-align: center; padding: 60px 0; color: var(--gray); }
.search-empty .ico { font-size: 48px; margin-bottom: 12px; }

/* ---------- 下载页 ---------- */
.download-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 26px; box-shadow: var(--shadow); display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; margin-bottom: 16px; }
.download-card .info h4 { font-size: 17px; color: var(--navy); }
.download-card .info p { font-size: 13px; color: var(--gray); margin-top: 4px; }
.download-card .btns { display: flex; gap: 10px; }

/* 重点资料下载（大会介绍 / 展览介绍 PDF） */
.download-feature {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg);
  padding: 28px 32px; box-shadow: var(--shadow); margin-bottom: 20px;
  display: flex; align-items: center; gap: 24px; flex-wrap: wrap;
  transition: var(--apple-transition); position: relative; overflow: hidden;
}
.download-feature::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: linear-gradient(180deg, var(--sky), var(--navy)); }
.download-feature:hover { box-shadow: var(--shadow-lg); transform: translateY(-2px); }
.df-icon { width: 48px; height: 48px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.df-icon svg { display: block; width: 48px; height: 48px; }
.df-info { flex: 1; min-width: 240px; }
.df-tag { display: inline-block; background: var(--sky-bg); color: var(--navy); font-size: 12px; font-weight: 700; padding: 3px 12px; border-radius: 999px; margin-bottom: 8px; }
.df-tag-green { background: #E7F7EC; color: #1B8A4A; }
.df-info h3 { font-size: 21px; color: var(--navy); font-weight: 800; margin-bottom: 6px; }
.df-info p { font-size: 13.5px; color: var(--gray); line-height: 1.7; }
.df-file { display: inline-block; margin-top: 8px; font-size: 12px; color: var(--sky); background: #fff; border: 1px dashed var(--sky); padding: 3px 10px; border-radius: 6px; }
.df-btns { display: flex; gap: 10px; }
.df-coming { font-size: 13px; color: var(--gray); border: 1px dashed var(--line); padding: 10px 20px; border-radius: 999px; }

/* 画册页 PDF 下载条（大会介绍 / 展览介绍） */
.pdf-download-bar {
  margin-top: 32px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg);
  padding: 22px 28px; box-shadow: var(--shadow); display: flex; align-items: center; gap: 20px; flex-wrap: wrap;
  transition: var(--apple-transition); position: relative; overflow: hidden;
}
.pdf-download-bar::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: linear-gradient(180deg, var(--sky), var(--navy)); }
.pdf-download-bar:hover { box-shadow: var(--shadow-lg); transform: translateY(-2px); }
.pdb-info { display: flex; align-items: center; gap: 14px; flex: 1; min-width: 240px; }
.pdb-icon { font-size: 36px; line-height: 1; }
.pdb-info strong { display: block; font-size: 17px; color: var(--navy); font-weight: 800; }
.pdb-file { display: inline-block; margin-top: 5px; font-size: 12px; color: var(--sky); background: #fff; border: 1px dashed var(--sky); padding: 2px 10px; border-radius: 6px; }
.pdb-btns { display: flex; gap: 10px; }
@media (--bp-xs) {
  .pdf-download-bar { padding: 18px 20px; }
  .pdb-btns { width: 100%; }
  .pdb-btns .btn { flex: 1; }
}

/* ---------- 管理后台样式已迁移至 public/css/admin.css ---------- */

/* ---------- 404 ---------- */
.notfound { text-align: center; padding: 100px 0; }
.notfound .code { font-size: 90px; font-weight: 800; color: var(--sky); line-height: 1; }
.notfound p { color: var(--gray); margin: 16px 0 24px; }

/* ---------- 首页 HIGHLIGHTS 精选板块 ---------- */
.feature-highlights { background: linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 100%); color: #fff; padding: 56px 0; }
.feature-highlights .sec-head h2 { color: #fff; }
.feature-highlights .sec-head .en { color: rgba(255,255,255,.5); }
.feature-highlights .sec-head.center .bar { display: none; }
.fh-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.fh-card {
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); border-radius: 12px;
  padding: 24px 20px; transition: all .25s; display: block; color: #fff; cursor: pointer;
}
.fh-card:hover { background: rgba(255,255,255,.15); border-color: var(--sky-2); transform: translateY(-4px); }
.fh-card .fh-ico { font-size: 28px; margin-bottom: 12px; }
.fh-card .fh-ico svg { width: 32px; height: 32px; color: var(--sky-2); }
.fh-card h4 { font-size: 15px; font-weight: 700; line-height: 1.5; }
.fh-card .fh-arrow { color: var(--sky-2); font-size: 13px; margin-top: 10px; display: inline-block; font-weight: 600; }

/* ---------- 首页 MENU 卡片导航板块 ---------- */
.menu-section { padding: 56px 0; }
.menu-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.menu-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--apple-radius-xl); overflow: hidden;
  box-shadow: var(--apple-shadow); transition: var(--apple-transition); display: flex; flex-direction: column;
}
.menu-card:hover { box-shadow: var(--apple-shadow-hover); transform: translateY(-4px); border-color: var(--apple-blue); }
.menu-card .mc-banner {
  height: 140px; background: linear-gradient(135deg, var(--navy), var(--sky));
  display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden;
}
.menu-card .mc-banner::after {
  content: ""; position: absolute; right: -30px; top: -30px; width: 120px; height: 120px;
  border-radius: 50%; background: rgba(255,255,255,.1);
}
.menu-card .mc-banner .mc-ico { font-size: 52px; position: relative; z-index: 2; }
.menu-card .mc-banner .mc-ico-svg { width: 48px; height: 48px; color: #fff; position: relative; z-index: 2; }
.menu-card .mc-body { padding: 24px 26px; flex: 1; display: flex; flex-direction: column; }
.menu-card .mc-body h3 { font-size: 19px; color: var(--navy); font-weight: 800; margin-bottom: 8px; }
.menu-card .mc-body p { font-size: 14px; color: var(--gray); line-height: 1.8; flex: 1; }
.menu-card .mc-body .mc-link { color: var(--apple-blue); font-weight: 600; font-size: 14px; margin-top: 16px; display: inline-flex; align-items: center; gap: 6px; transition: var(--apple-transition); }
.menu-card:hover .mc-body .mc-link { gap: 10px; }
.menu-card .mc-body .mc-link::after { content: "→"; transition: transform .2s; }
.menu-card:hover .mc-body .mc-link::after { transform: translateX(4px); }

/* ---------- 首页 Plan your visit 板块 ---------- */
.visit-banner {
  background: var(--sky-bg); border-radius: 16px; padding: 40px;
  display: flex; align-items: center; justify-content: space-between; gap: 30px; flex-wrap: wrap;
}
.visit-banner .vb-info { flex: 1; min-width: 300px; }
.visit-banner h3 { font-size: 24px; color: var(--navy); font-weight: 800; }
.visit-banner p { color: var(--gray); font-size: 15px; margin-top: 10px; line-height: 1.8; }
.visit-banner .vb-stats { display: flex; gap: 28px; margin-top: 18px; }
.visit-banner .vb-stats .st b { font-size: 26px; color: var(--sky); font-weight: 800; display: block; }
.visit-banner .vb-stats .st span { font-size: 13px; color: var(--gray); }

/* ---------- 议程页 日期 Tab 切换 (Apple Segmented Control) ---------- */
.day-tabs { display: flex; gap: 4px; margin-bottom: 32px; background: var(--apple-gray-bg); border: none; border-radius: var(--apple-radius-lg); overflow: hidden; padding: 4px; }
.day-tab {
  flex: 1; padding: 14px 24px; text-align: center; cursor: pointer; transition: var(--apple-transition);
  border: none; background: transparent; font-family: inherit; border-radius: 10px;
}
.day-tab:last-child { border-right: none; }
.day-tab.active { background: #fff; color: var(--ink); box-shadow: 0 1px 4px rgba(0,0,0,.1); }
.day-tab .dt-day { font-size: 13px; color: var(--apple-gray); font-weight: 600; }
.day-tab.active .dt-day { color: var(--apple-gray); }
.day-tab .dt-date { font-size: 18px; font-weight: 800; color: var(--ink); margin-top: 4px; }
.day-tab.active .dt-date { color: var(--apple-blue); }
.day-tab .dt-count { font-size: 12px; color: var(--apple-gray); margin-top: 4px; }
.day-tab.active .dt-count { color: var(--apple-blue); }
.day-content { display: none; }
.day-content.active { display: block; animation: fadeIn .3s ease; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

/* 议程搜索条 */
.agenda-search { margin-bottom: 24px; }
.agenda-search input {
  width: 100%; padding: 14px 18px 14px 46px; border: 1.5px solid var(--line); border-radius: var(--apple-radius-lg);
  font-size: 15px; font-family: inherit; background: var(--apple-gray-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%238E8E93' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") no-repeat 16px center;
  transition: var(--apple-transition);
}
.agenda-search input:focus { outline: none; border-color: var(--apple-blue); background-color: #fff; box-shadow: var(--focus-ring); }

/* 议程时间线 */
.timeline { position: relative; padding-left: 24px; }
.timeline::before { content: ""; position: absolute; left: 7px; top: 0; bottom: 0; width: 2px; background: var(--line); }
.tl-item { position: relative; margin-bottom: 16px; }
.tl-item::before { content: ""; position: absolute; left: -21px; top: 20px; width: 12px; height: 12px; border-radius: 50%; background: var(--sky); border: 2px solid #fff; box-shadow: 0 0 0 2px var(--sky); }
.tl-item .tl-card { background: #fff; border: 1px solid var(--line); border-radius: var(--apple-radius-lg); padding: 18px 22px; box-shadow: var(--apple-shadow); transition: var(--apple-transition); display: block; color: var(--ink); }
.tl-item .tl-card:hover { border-color: var(--apple-blue); box-shadow: var(--apple-shadow-hover); transform: translateY(-2px); }
.tl-item .tl-time { font-size: 13px; color: var(--apple-blue); font-weight: 700; }
.tl-item .tl-title { font-size: 15px; color: var(--navy); font-weight: 700; margin-top: 4px; }
.tl-item .tl-desc { font-size: 13px; color: var(--gray); margin-top: 4px; }
.tl-item .tl-venue { font-size: 12.5px; color: var(--gray); margin-top: 6px; }

/* ---------- 嘉宾分类徽章 ---------- */
.speaker-badge { display: inline-block; font-size: 11px; padding: 3px 10px; border-radius: 20px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; margin-bottom: 10px; }
.speaker-badge.keynote { background: #FFF3E0; color: #E65100; }
.speaker-badge.invited { background: #E8F5E9; color: #2E7D32; }
.speaker-badge.innovation { background: var(--sky-bg); color: var(--sky); }
.speaker-badge.roundtable { background: #F3E5F5; color: #6A1B9A; }
.speaker-badge.chair { background: #ECEFF1; color: #455A64; }

/* 嘉宾分类筛选 */
.speaker-filter { display: flex; gap: 8px; margin-bottom: 28px; flex-wrap: wrap; }
.speaker-filter button {
  padding: 8px 20px; border: none; border-radius: var(--radius-round); background: var(--apple-gray-bg); cursor: pointer;
  font-size: 14px; font-weight: 600; color: var(--ink); transition: var(--apple-transition); font-family: inherit;
}
.speaker-filter button.active { background: var(--apple-blue); color: #fff; box-shadow: var(--shadow-btn); }
.speaker-filter button:hover:not(.active) { background: var(--apple-gray-bg-2); color: var(--apple-blue); }

/* 嘉宾卡片新版 */
.sp-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--apple-radius-lg); padding: 24px;
  box-shadow: var(--apple-shadow); transition: var(--apple-transition); display: block; color: var(--ink); height: 100%;
}
.sp-card:hover { transform: translateY(-4px); box-shadow: var(--apple-shadow-hover); border-color: var(--apple-blue); }
.sp-card .sp-head { display: flex; gap: 16px; align-items: flex-start; }
.sp-card .sp-av-wrap { width: 64px; height: 64px; border-radius: 50%; flex-shrink: 0; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,.12); }
.sp-card .sp-av-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sp-card .sp-info { flex: 1; min-width: 0; }
.sp-card h3, .sp-card h4 { font-size: 16px; color: var(--navy); font-weight: 700; }
.sp-card .sp-pos { font-size: 12px; color: var(--apple-blue); margin-top: 3px; font-weight: 600; line-height: 1.4; }
.sp-card .sp-aff { font-size: 13px; color: var(--gray); margin-top: 4px; line-height: 1.5; }
.sp-card .sp-country { font-size: 12px; color: var(--sky); margin-top: 4px; font-weight: 600; }
.sp-card .sp-find { margin-top: 14px; font-size: 13px; color: var(--sky); font-weight: 600; display: inline-flex; align-items: center; gap: 4px; }

/* 嘉宾搜索栏 */
.speaker-search-bar { margin-bottom: 20px; }
.speaker-search-bar .ssb-inner { position: relative; max-width: 480px; }
.speaker-search-bar .ssb-inner .ssb-icon { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--gray); pointer-events: none; }
.speaker-search-bar .ssb-inner input {
  width: 100%; padding: 11px 16px 11px 42px; border: 1.5px solid var(--line); border-radius: var(--radius-round);
  font-size: 14px; font-family: inherit; background: var(--apple-gray-bg); color: var(--ink);
  transition: var(--apple-transition); outline: none;
}
.speaker-search-bar .ssb-inner input:focus { border-color: var(--apple-blue); background: #fff; box-shadow: var(--focus-ring-sm); }
.speaker-search-bar .ssb-inner input::placeholder { color: var(--gray); }

/* ---------- 嘉宾详情页 ---------- */
.speaker-detail-section { padding-top: 0; }
.speaker-detail-card {
  max-width: 1000px; margin: 0 auto; background: #fff; border-radius: var(--apple-radius-lg);
  box-shadow: var(--apple-shadow); overflow: hidden;
  display: grid; grid-template-columns: 320px 1fr; gap: 0;
}
.sd-left {
  padding: 40px 32px; background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  border-right: 1px solid var(--line); display: flex; flex-direction: column; align-items: center; text-align: center;
}
.sd-avatar-wrap { position: relative; margin-bottom: 20px; }
.sd-avatar { width: 160px; height: 160px; border-radius: 50%; object-fit: cover; display: block; box-shadow: 0 4px 20px rgba(0,0,0,.15); }
.sd-badge {
  position: absolute; bottom: 8px; right: 8px; padding: 4px 12px; border-radius: var(--radius-round);
  font-size: 11px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: #fff;
  border: 3px solid #fff; box-shadow: 0 2px 6px rgba(0,0,0,.15);
}
.sd-badge-keynote { background: #E65100; }
.sd-badge-invited { background: #2E7D32; }
.sd-badge-chair { background: #455A64; }
.sd-name { font-size: 24px; font-weight: 800; color: var(--navy); margin-bottom: 4px; }
.sd-name-en { font-size: 15px; color: var(--gray); margin-bottom: 20px; font-style: italic; }
.sd-meta-item {
  display: flex; align-items: flex-start; gap: 8px; font-size: 14px; color: var(--gray);
  margin-bottom: 12px; text-align: left; width: 100%; line-height: 1.5;
}
.sd-meta-item svg { flex-shrink: 0; margin-top: 2px; color: var(--apple-blue); }
.sd-back-btn { margin-top: 24px; width: 100%; justify-content: center; }

.sd-right { padding: 40px; }
.sd-topic-box {
  background: linear-gradient(135deg, var(--sky-bg), #e3f2fd); border-radius: 12px; padding: 20px 24px;
  margin-bottom: 32px; border-left: 4px solid var(--sky);
}
.sd-topic-label { font-size: 12px; font-weight: 700; color: var(--sky); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 6px; }
.sd-topic-text { font-size: 18px; font-weight: 700; color: var(--navy); line-height: 1.6; }
.sd-bio-section { margin-bottom: 24px; }
.sd-bio-title { display: flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 800; color: var(--navy); margin-bottom: 16px; }
.sd-bio-bar { width: 4px; height: 20px; background: var(--sky); border-radius: 2px; flex-shrink: 0; }
.sd-bio-content { font-size: 15px; color: var(--ink); line-height: 2; text-align: justify; }
.sd-en-topic { margin-top: 20px; padding: 12px 16px; background: var(--apple-gray-bg); border-radius: 8px; font-size: 13px; color: var(--gray); }
.sd-en-topic strong { color: var(--navy); }

/* ---------- 议程与嘉宾合一页面 ---------- */
.prog-section { margin-bottom: 56px; }
.prog-section .ps-head { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; }
.prog-section .ps-head .ps-bar { width: 6px; height: 28px; background: var(--sky); border-radius: 3px; flex-shrink: 0; }
.prog-section .ps-head h2 { font-size: 24px; font-weight: 800; color: var(--navy); }
.prog-section .ps-head .ps-en { font-size: 13px; color: var(--gray); letter-spacing: 1px; display: block; margin-top: 4px; }

/* 时间线"查看详情"链接 */
.tl-item .tl-go { color: var(--sky); font-weight: 700; font-size: 13px; margin-top: 8px; display: inline-block; }

/* 嘉宾分组标题 */
.speaker-group .sg-title {
  font-size: 20px; font-weight: 800; color: var(--navy); margin-bottom: 20px;
  padding-bottom: 12px; border-bottom: 2px solid var(--line);
}

/* 嘉宾卡片网格 */
.sp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }

/* 嘉宾卡片主题显示 */
.sp-card .sp-topic {
  margin-top: 14px; padding: 10px 14px; background: var(--sky-bg); border-radius: 8px;
  font-size: 13px; color: var(--navy); font-weight: 600; line-height: 1.6;
}

/* ---------- 响应式 ---------- */
@media (--bp-lg) {
  .highlight-grid { grid-template-columns: repeat(2, 1fr); }
  .speaker-grid { grid-template-columns: repeat(2, 1fr); }
  .sp-grid { grid-template-columns: repeat(2, 1fr); }
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .quick-nav .grid { grid-template-columns: repeat(4, 1fr); }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .register-wrap { grid-template-columns: 1fr; }
  .footer .grid { grid-template-columns: repeat(2, 1fr); }
  .fh-grid { grid-template-columns: repeat(2, 1fr); }
  .menu-grid { grid-template-columns: 1fr; }
  .review-grid { grid-template-columns: repeat(3, 1fr); }
  .news-grid { grid-template-columns: repeat(2, 1fr); }
  .exhibitor-grid { grid-template-columns: repeat(3, 1fr); }
  .about-grid { grid-template-columns: 1fr; }
  .poster-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (--bp-sm) {
  .nav { display: none; }
  .nav-toggle { display: block; }
  .mobile-nav { display: block; }
  .hero { padding: 52px 0 120px; }
  .hero-logo { height: 56px; }
  .logo-img { height: 40px; }
  .hero h1 { font-size: 28px; white-space: normal; }
  .hero-slide { background-position: right center; }
  .hero-overlay { background: linear-gradient(180deg, rgba(10,42,94,.9) 0%, rgba(10,42,94,.7) 100%); }
  .hero-dots { bottom: 20px; }
  .hero .sub { font-size: 14.5px; }
  .hero .meta { gap: 18px; }
  .hero .countdown .cell { min-width: 62px; }
  .hero .countdown .cell b { font-size: 22px; }
  .quick-nav .grid { grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .speaker-detail-card { grid-template-columns: 1fr; }
  .sd-left { border-right: none; border-bottom: 1px solid var(--line); padding: 32px 24px; }
  .sd-right { padding: 32px 24px; }
  .sd-avatar { width: 120px; height: 120px; }
  .quick-nav { margin-top: -44px; }
  .section { padding: 40px 0; }
  .sec-head h2 { font-size: 21px; }
  .page-hero h1 { font-size: 25px; }
  .highlight-grid, .speaker-grid, .sp-grid, .service-grid { grid-template-columns: 1fr; }
  .review-grid { grid-template-columns: repeat(2, 1fr); }
  .news-grid { grid-template-columns: repeat(2, 1fr); }
  .media-grid { grid-template-columns: repeat(2, 1fr); }
  .exhibitor-grid { grid-template-columns: repeat(2, 1fr); }
  .poster-grid { grid-template-columns: repeat(2, 1fr); }
  .contact-grid { grid-template-columns: 1fr; }
  .hotel-grid { grid-template-columns: 1fr; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .footer .grid { grid-template-columns: 1fr; gap: 24px; }
  .session-table { font-size: 13.5px; }
  .session-table th, .session-table td { padding: 10px; }
  .agenda-list .row { flex-wrap: wrap; }
  .agenda-list .go { margin-left: 0; }
  .topbar .right .hide-mobile { display: none; }
  .call-banner { padding: 26px; }
  .fh-grid { grid-template-columns: 1fr; }
  .day-tabs { flex-direction: column; }
  .day-tab { border-right: none; border-bottom: 1px solid var(--line); }
  .day-tab:last-child { border-bottom: none; }
  .visit-banner { padding: 24px; }
  .visit-banner .vb-stats { gap: 18px; }
}
@media (--bp-min) {
  .container { padding: 0 var(--container-pad-sm); }
  .hero h1 { font-size: 24px; }
  .hero .countdown { gap: 8px; }
  .hero .countdown .cell { min-width: 54px; padding: 10px 4px; }
  .hero .countdown .cell b { font-size: 19px; }
  .hero .actions .btn { width: 100%; }
  .quick-nav .grid { grid-template-columns: repeat(3, 1fr); }
  .logo .name { font-size: 14px; }
  .review-grid { grid-template-columns: 1fr; }
  .news-grid, .media-grid, .exhibitor-grid, .poster-grid, .gallery-grid { grid-template-columns: 1fr; }
  .logo .hex { width: 36px; height: 36px; font-size: 17px; }
}

/* =========================================================
   大会介绍页 / 展览介绍页（复刻 PDF 设计）
   ========================================================= */
.center-sub { text-align: center; color: var(--gray); max-width: 760px; margin: -12px auto 28px; font-size: 15px; line-height: 1.8; }

/* 大会定位 + KPI */
.about-hero {
  background: linear-gradient(135deg, #EAF4FC 0%, #F6F9FD 60%, #fff 100%);
  padding: 56px 0 48px;
  border-bottom: 1px solid var(--line);
}
.about-title { text-align: center; margin-bottom: 36px; }
.about-title .tagline { display: inline-block; font-size: 13px; color: var(--navy); background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 6px 18px; margin-bottom: 16px; letter-spacing: .5px; }
.about-title h2 { font-size: 32px; font-weight: 800; color: var(--navy); margin-bottom: 10px; }
.about-title .platform { font-size: 17px; color: var(--sky); font-weight: 600; }
.kpi-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; max-width: 960px; margin: 0 auto 32px; }
.kpi {
  background: #fff; border-radius: var(--radius); padding: 24px 16px; text-align: center;
  box-shadow: var(--shadow); border-top: 3px solid var(--gold); position: relative;
}
.kpi::before {
  content: "❦"; position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
  color: var(--gold); font-size: 20px; background: #fff; border-radius: 50%; padding: 0 6px;
}
.kpi-num { font-size: 34px; font-weight: 800; color: var(--navy); line-height: 1.1; }
.kpi-num .unit { font-size: 20px; color: var(--gold); font-weight: 700; margin-left: 2px; }
.kpi-label { font-size: 13px; color: var(--gray); margin-top: 6px; }
.about-intro { max-width: 960px; margin: 0 auto; text-align: left; }
.about-intro p { font-size: 15px; color: var(--gray); line-height: 2; }

/* 联系我们 */
.contact-page-body { max-width: 960px; margin: 0 auto; background: #fff; border-radius: var(--radius); padding: 36px; box-shadow: var(--shadow); border: 1px solid var(--line); text-align: left; }
.contact-page-body p { font-size: 15px; color: var(--gray); line-height: 2; margin-bottom: 12px; }
.contact-page-body h2, .contact-page-body h3, .contact-page-body h4 { color: var(--navy); margin: 18px 0 10px; }
.contact-page-body ul { padding-left: 20px; margin-bottom: 12px; }
.contact-page-body li { color: var(--gray); line-height: 1.9; margin-bottom: 6px; }
.contact-page-body a { color: var(--primary); }

/* 大会意义 */
.purpose-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.purpose-card {
  background: #fff; border-radius: var(--radius); padding: 28px 22px; text-align: center;
  box-shadow: var(--shadow); transition: var(--apple-transition); border: 1px solid var(--line);
}
.purpose-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.purpose-ico { font-size: 36px; margin-bottom: 12px; }
.purpose-card h4 { font-size: 18px; color: var(--navy); margin-bottom: 4px; }
.purpose-card .en { display: block; font-size: 11px; color: var(--sky); letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 10px; }
.purpose-card p { font-size: 13.5px; color: var(--gray); line-height: 1.8; }

/* 组织架构 */
.org-grid { display: grid; grid-template-columns: 1fr 1.4fr 1.6fr; gap: 20px; }
.org-col { background: #fff; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); border: 1px solid var(--line); }
.org-head { padding: 14px 20px; color: #fff; font-size: 16px; font-weight: 700; text-align: center; }
.org-head.host { background: linear-gradient(120deg, var(--navy), var(--navy-2)); }
.org-head.organizer { background: linear-gradient(120deg, var(--accent), var(--sky)); }
.org-head.support { background: linear-gradient(120deg, #3D7BD9, #5BB5F5); }
.org-body { padding: 16px 20px; }
.org-item { font-size: 13.5px; color: var(--ink); padding: 7px 0; border-bottom: 1px dashed var(--line); }
.org-item:last-child { border-bottom: none; }
/* 功能2：后台富文本（自研编辑器）写入的组织单位内容，保持原列表观感 */
.org-body > p, .org-body > div, .org-body > ul, .org-body > ol { font-size: 13.5px; color: var(--ink); padding: 7px 0; border-bottom: 1px dashed var(--line); margin: 0; }
.org-body > *:last-child { border-bottom: none; }
.org-body ul, .org-body ol { padding-left: 22px; }
.org-body li { padding: 2px 0; }
.org-body img { max-width: 100%; height: auto; }

/* 发展历程 */
.history-timeline { position: relative; max-width: 1000px; margin: 0 auto; padding: 20px 0; }
.history-timeline::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 3px; background: linear-gradient(180deg, var(--sky), var(--navy)); transform: translateX(-50%); border-radius: 2px; }
.ht-item { position: relative; width: 50%; padding: 12px 40px; box-sizing: border-box; }
.ht-item.top { left: 0; text-align: right; }
.ht-item.bottom { left: 50%; text-align: left; }
.ht-dot { position: absolute; top: 26px; width: 14px; height: 14px; background: var(--sky); border: 3px solid #fff; border-radius: 50%; box-shadow: 0 0 0 3px var(--sky); }
.ht-item.top .ht-dot { right: -7px; }
.ht-item.bottom .ht-dot { left: -7px; }
.ht-card { display: inline-block; background: #fff; border-radius: var(--radius); padding: 14px 18px; box-shadow: var(--shadow); border: 1px solid var(--line); max-width: 320px; }
.ht-year { font-size: 24px; font-weight: 800; color: var(--navy); }
.ht-num { font-size: 12px; color: var(--gold); font-weight: 700; margin: 2px 0; }
.ht-city { font-size: 14px; color: var(--sky); font-weight: 600; }
.ht-theme { font-size: 12.5px; color: var(--gray); margin-top: 4px; line-height: 1.6; }

/* 主题论坛 */
.forum-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.forum-card {
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 100%);
  border-radius: var(--radius); padding: 22px 20px; color: #fff; position: relative; overflow: hidden;
  transition: var(--apple-transition);
}
.forum-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.forum-tag { font-size: 10px; letter-spacing: 2px; color: rgba(255,255,255,.6); text-transform: uppercase; margin-bottom: 10px; }
.forum-card h4 { font-size: 17px; font-weight: 700; margin-bottom: 8px; }
.forum-card p { font-size: 12.5px; color: rgba(255,255,255,.8); line-height: 1.7; }

/* PDF 画册展示 */
.pdf-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.pdf-card {
  position: relative; border-radius: var(--radius); overflow: hidden; display: block;
  box-shadow: var(--shadow); border: 1px solid var(--line); background: #fff;
  transition: var(--apple-transition);
}
.pdf-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.pdf-card img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.pdf-view { position: absolute; right: 10px; bottom: 10px; background: rgba(10,42,94,.85); color: #fff; font-size: 12px; padding: 4px 12px; border-radius: 999px; }

/* 展览简介 */
.expo-intro-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 32px; align-items: center; }
.expo-intro-text h3 { font-size: 24px; color: var(--navy); font-weight: 800; margin-bottom: 18px; }
.expo-points { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; }
.expo-point { background: var(--sky-bg); border-radius: 10px; padding: 10px 16px; font-size: 14.5px; color: var(--navy); font-weight: 600; }
.expo-point .q { color: var(--sky); font-weight: 800; margin-right: 4px; }
.expo-desc { font-size: 14px; color: var(--gray); line-height: 2; }
.expo-chain { display: flex; flex-direction: column; align-items: center; gap: 16px; }
.chain-center {
  background: linear-gradient(135deg, var(--navy), var(--navy-2)); color: #fff;
  border-radius: 999px; padding: 14px 32px; font-size: 18px; font-weight: 700; box-shadow: var(--shadow-lg);
}
.chain-hex { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; max-width: 420px; }
.hex {
  width: 120px; height: 120px; background: linear-gradient(135deg, var(--sky), var(--sky-2));
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  display: flex; align-items: center; justify-content: center; color: #fff;
  transition: var(--apple-transition);
}
.hex:hover { transform: scale(1.05); }
.hex-t { font-size: 14px; font-weight: 700; text-align: center; padding: 0 14px; line-height: 1.4; }

/* 展会亮点 */
.expo-hl-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.expo-hl {
  background: #fff; border-radius: var(--radius); padding: 26px 22px; text-align: center;
  box-shadow: var(--shadow); border: 1px solid var(--line); position: relative; overflow: hidden;
  transition: var(--apple-transition);
}
.expo-hl:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.expo-hl-ico { width: 44px; height: 44px; margin: 0 auto 14px; background: var(--sky-bg); color: var(--sky); border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 20px; }
.expo-hl h4 { font-size: 16px; color: var(--navy); margin-bottom: 8px; }
.expo-hl p { font-size: 13px; color: var(--gray); line-height: 1.7; }

/* 特色活动 */
.activity-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; max-width: 900px; margin: 0 auto; }
.activity-node {
  background: #fff; border-radius: var(--radius); padding: 20px 18px; text-align: center;
  box-shadow: var(--shadow); border: 1px solid var(--line); display: flex; flex-direction: column; align-items: center; gap: 8px;
  transition: var(--apple-transition);
}
.activity-node:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.act-num { width: 34px; height: 34px; border-radius: 50%; background: var(--sky-bg); color: var(--sky); font-weight: 700; font-size: 14px; display: flex; align-items: center; justify-content: center; }
.activity-node h4 { font-size: 14.5px; color: var(--navy); }

/* 商务会客室 */
.meeting-banner {
  background: linear-gradient(120deg, var(--navy) 0%, var(--navy-2) 60%, var(--accent) 100%);
  border-radius: var(--radius-lg); padding: 40px; color: #fff; position: relative; overflow: hidden;
}
.meeting-banner::after { content: ""; position: absolute; right: -60px; top: -60px; width: 260px; height: 260px; border: 40px solid rgba(255,255,255,.06); border-radius: 50%; }
.mb-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; position: relative; z-index: 1; }
.mb-head h3 { font-size: 26px; font-weight: 800; }
.mb-badge { background: #fff; color: var(--navy); font-size: 13px; font-weight: 700; padding: 8px 20px; border-radius: 999px; }
.mb-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 24px; position: relative; z-index: 1; }
.mb-stat { background: rgba(255,255,255,.1); border-radius: var(--radius); padding: 20px 16px; text-align: center; backdrop-filter: blur(4px); }
.mb-stat b { display: block; font-size: 30px; font-weight: 800; color: #fff; }
.mb-stat b .unit { color: var(--gold); }
.mb-stat span { font-size: 13px; color: rgba(255,255,255,.8); }
.mb-desc { font-size: 14px; line-height: 2; color: rgba(255,255,255,.9); position: relative; z-index: 1; }

/* 专业观展团 */
.visitor-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; max-width: 1000px; margin: 0 auto; }
.visitor-tag {
  background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 10px 22px;
  font-size: 14px; color: var(--navy); font-weight: 600; box-shadow: var(--shadow);
  transition: var(--apple-transition);
}
.visitor-tag:hover { border-color: var(--sky); color: var(--sky); transform: translateY(-2px); }

/* 专业观展团 · 企业 Logo 墙 */
.visitor-logo-grid {
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px;
  max-width: 1040px; margin: 0 auto;
}
.visitor-logo-card {
  background: #fff; border-radius: 14px; padding: 10px;
  box-shadow: var(--shadow); border: 1px solid var(--line);
  transition: var(--apple-transition); cursor: default;
  display: flex; align-items: center; justify-content: center;
  min-height: 96px;
}
.visitor-logo-card svg { width: 100%; height: auto; display: block; }
.visitor-logo-card .visitor-logo-img { max-width: 100%; max-height: 74px; width: auto; height: auto; object-fit: contain; display: block; }
.visitor-logo-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: var(--sky); }

/* 支持媒体 · Logo 墙（前台 /media，每行 5 个，只显示 logo） */
.support-media-grid {
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px;
  max-width: 1040px; margin: 0 auto;
}
.support-media-card {
  background: #fff; border-radius: 14px; padding: 10px;
  box-shadow: var(--shadow); border: 1px solid var(--line);
  transition: var(--apple-transition); cursor: default;
  display: flex; align-items: center; justify-content: center;
  min-height: 96px;
}
.support-media-card .support-media-img { max-width: 100%; max-height: 74px; width: auto; height: auto; object-fit: contain; display: block; }
.support-media-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: var(--sky); }

/* 新闻"更多"入口 + 分页 */
.more-link-wrap { text-align: center; margin-top: 22px; }
.more-link { display: inline-block; padding: 10px 24px; border: 1px solid var(--line); border-radius: 999px; color: var(--sky); font-weight: 600; transition: var(--apple-transition); }
.more-link:hover { background: var(--sky); color: #fff; border-color: var(--sky); }
.pager { display: flex; gap: 8px; justify-content: center; align-items: center; margin-top: 30px; flex-wrap: wrap; }
.pager a, .pager span { min-width: 38px; height: 38px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 10px; color: #1e3a5f; font-size: 14px; transition: var(--apple-transition); }
.pager a:hover { border-color: var(--sky); color: var(--sky); }
.pager span.current { background: var(--sky); color: #fff; border-color: var(--sky); cursor: default; }

/* 响应式 */
@media (--bp-md) {
  .kpi-grid { grid-template-columns: repeat(3, 1fr); }
  .purpose-grid { grid-template-columns: repeat(2, 1fr); }
  .org-grid { grid-template-columns: 1fr; }
  .forum-grid { grid-template-columns: repeat(2, 1fr); }
  .expo-intro-grid { grid-template-columns: 1fr; }
  .expo-hl-grid { grid-template-columns: repeat(2, 1fr); }
  .activity-grid { grid-template-columns: repeat(2, 1fr); }
  .mb-stats { grid-template-columns: repeat(2, 1fr); }
  .pdf-grid { grid-template-columns: repeat(2, 1fr); }
  .visitor-logo-grid { grid-template-columns: repeat(3, 1fr); }
  .support-media-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (--bp-sm) {
  .history-timeline::before { left: 12px; }
  .ht-item { width: 100%; left: 0 !important; text-align: left !important; padding: 8px 0 8px 36px; }
  .ht-item .ht-dot { left: 6px !important; right: auto !important; }
  .ht-card { max-width: 100%; }
}
@media (--bp-min) {
  .kpi-grid { grid-template-columns: repeat(2, 1fr); }
  .purpose-grid, .forum-grid, .expo-hl-grid, .activity-grid, .pdf-grid { grid-template-columns: 1fr; }
  .visitor-logo-grid { grid-template-columns: repeat(2, 1fr); }
  .support-media-grid { grid-template-columns: repeat(2, 1fr); }
  .about-title h2 { font-size: 24px; }
  .mb-head { flex-direction: column; gap: 12px; align-items: flex-start; }
}

/* =========================================================
   历届大会 Reviews + 电子书翻页预览器
   ========================================================= */
.reviews-empty { text-align: center; color: var(--gray); padding: 60px 0; }
.reviews-list { display: flex; flex-direction: column; gap: 18px; }
.review-card { background: var(--white); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); overflow: hidden; transition: box-shadow .3s, transform .3s; }
.review-card:hover { box-shadow: var(--shadow-lg); }
.review-card-head { display: flex; align-items: center; gap: 20px; padding: 22px 24px; flex-wrap: wrap; }
.review-card-year { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 86px; background: linear-gradient(180deg, var(--navy), var(--navy-2)); color: #fff; border-radius: 14px; padding: 12px 14px; box-shadow: 0 6px 16px rgba(10,42,94,.22); }
.review-year-num { font-size: 27px; font-weight: 800; line-height: 1.1; letter-spacing: .5px; }
.review-year-tag { font-size: 12px; color: var(--navy-text-dim); margin-top: 4px; }
.review-card-info { flex: 1; min-width: 220px; }
.review-card-title { font-size: 19px; font-weight: 800; color: var(--navy); margin-bottom: 8px; }
.review-card-meta { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.review-meta-item { font-size: 13px; color: var(--gray); }
.review-meta-item strong { color: var(--ink); }
.review-meta-ico { font-style: normal; margin-right: 4px; }
.review-card-actions { display: flex; gap: 10px; }
.review-toggle-arrow { display: inline-block; margin-left: 6px; transition: transform .3s; }
.review-toggle.open .review-toggle-arrow { transform: rotate(180deg); }
.review-card-body { border-top: 1px solid var(--line); background: var(--bg); padding: 26px 28px; text-align: left; }
.review-rich { max-width: 880px; }
.review-rich h3 { font-size: 17px; color: var(--navy); margin: 18px 0 8px; }
.review-rich h3:first-child { margin-top: 0; }
.review-rich p { font-size: 14.5px; color: var(--gray); margin-bottom: 10px; }
.review-rich ul, .review-rich ol { margin: 0 0 10px 22px; }
.review-rich li { font-size: 14.5px; color: var(--gray); margin-bottom: 6px; }
.review-rich a { color: var(--sky); }
.review-rich img { border-radius: 8px; margin: 8px 0; }

/* ---------- 电子书翻页预览弹窗（仿真书形式） ---------- */
.ebook-modal { position: fixed; inset: 0; z-index: 1000; background: rgba(6,14,28,.74); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); display: none; align-items: center; justify-content: center; padding: 24px; }
.ebook-modal.open { display: flex; }
.ebook-shell { width: min(1180px, 96vw); height: min(88vh, 860px); background: #0d1b33; border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 24px 80px rgba(0,0,0,.5); }
.ebook-topbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px; background: #12213d; color: #fff; }
.ebook-title { font-size: 14px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ebook-actions { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.ebook-btn { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); color: #fff; width: 34px; height: 34px; border-radius: 8px; cursor: pointer; font-size: 15px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; transition: .2s; }
.ebook-btn:hover:not(:disabled) { background: rgba(255,255,255,.18); }
.ebook-btn:disabled { opacity: .35; cursor: not-allowed; }
.ebook-close { background: rgba(255,59,48,.16); border-color: rgba(255,59,48,.4); }
.ebook-close:hover:not(:disabled) { background: rgba(255,59,48,.32); }
.ebook-zoomval { color: var(--navy-text-dim); font-size: 12px; min-width: 44px; text-align: center; }

.ebook-stage { position: relative; flex: 1; overflow: hidden; background: radial-gradient(120% 120% at 50% 0%, #14264a 0%, #0d1b33 60%); }
.ebook-book { position: absolute; inset: 18px 64px; perspective: 2400px; transform-origin: center center; transition: transform .25s ease; }
.ebook-book.flipping-right { animation: ebookBookTiltR .62s ease; }
.ebook-book.flipping-left { animation: ebookBookTiltL .62s ease; }
.ebook-book.cover-closed .ebook-spine { opacity: 0; }
@keyframes ebookBookTiltR { 0% { transform: rotateY(0) scale(1); } 40% { transform: rotateY(-4deg) scale(1.015); } 100% { transform: rotateY(0) scale(1); } }
@keyframes ebookBookTiltL { 0% { transform: rotateY(0) scale(1); } 40% { transform: rotateY(4deg) scale(1.015); } 100% { transform: rotateY(0) scale(1); } }

/* 书本底部投影 */
.ebook-shadow { position: absolute; left: 2%; right: 2%; bottom: -16px; height: 34px; background: radial-gradient(50% 100% at 50% 50%, rgba(0,0,0,.45), transparent 72%); filter: blur(7px); z-index: 0; pointer-events: none; }

/* 右侧页堆（模拟书页厚度） */
.ebook-stack { position: absolute; top: 3px; bottom: 3px; right: -8px; width: 16px; z-index: 3; pointer-events: none; opacity: 0; transition: opacity .3s; }
.ebook-stack.stack-open { opacity: 1; }
.ebook-stack-layer { position: absolute; top: 0; bottom: 0; width: 10px; border-radius: 0 3px 3px 0; background: linear-gradient(90deg, #c7d3e6, #eef3fa 70%, #ffffff); box-shadow: 0 0 2px rgba(15,40,80,.18); }

/* 封面 */
.ebook-cover { position: absolute; inset: 0; z-index: 6; transform-origin: left center; transform-style: preserve-3d; display: none; }
.ebook-cover.cover-show { display: block; }
.ebook-cover.cover-flip { animation: ebookCoverOpen .7s cubic-bezier(.45,.05,.2,1) forwards; }
.ebook-cover.cover-flip-back { animation: ebookCoverClose .7s cubic-bezier(.45,.05,.2,1) forwards; }
@keyframes ebookCoverOpen { 0% { transform: rotateY(0); } 40% { box-shadow: 0 0 60px rgba(0,0,0,.55); } 100% { transform: rotateY(-180deg); } }
@keyframes ebookCoverClose { 0% { transform: rotateY(-180deg); } 100% { transform: rotateY(0); } }
.ebook-cover-face { position: absolute; inset: 0; border-radius: 5px 3px 3px 5px; background: linear-gradient(135deg, #081F45 0%, #0A2A5E 40%, var(--accent) 78%, #2E9BF0 100%); box-shadow: 0 12px 34px rgba(0,0,0,.45); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; color: #fff; padding: 30px; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.ebook-cover-face::after { content: ''; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(115deg, rgba(255,255,255,.14) 0%, transparent 32%, transparent 70%, rgba(255,255,255,.06) 100%); pointer-events: none; }
.ebook-cover-spine { position: absolute; left: 0; top: 0; bottom: 0; width: 16px; background: linear-gradient(90deg, rgba(0,0,0,.42), rgba(0,0,0,.12) 55%, transparent); z-index: 2; border-radius: 5px 0 0 5px; }
.ebook-cover-deco { font-size: 34px; opacity: .55; letter-spacing: 6px; }
.ebook-cover-title { font-size: 24px; font-weight: 800; text-align: center; line-height: 1.45; letter-spacing: 2px; text-shadow: 0 2px 12px rgba(0,0,0,.35); }
.ebook-cover-sub { font-size: 12px; opacity: .85; text-align: center; letter-spacing: 2.5px; line-height: 1.8; }

.ebook-layer { position: absolute; inset: 0; }
.ebook-under { z-index: 1; }
.ebook-over { z-index: 2; }
.ebook-slot { position: absolute; top: 0; bottom: 0; width: 50%; display: flex; align-items: center; justify-content: center; padding: 10px; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.ebook-slot-left { left: 0; }
.ebook-slot-right { right: 0; }
.ebook-over .ebook-slot-left { transform-origin: right center; }
.ebook-over .ebook-slot-right { transform-origin: left center; }
.ebook-over .ebook-slot.flip-left { animation: ebookFlipLeft .62s cubic-bezier(.4,.1,.2,1) forwards; }
.ebook-over .ebook-slot.flip-right { animation: ebookFlipRight .62s cubic-bezier(.4,.1,.2,1) forwards; }
@keyframes ebookFlipLeft { 0% { transform: rotateY(0); } 100% { transform: rotateY(180deg); } }
@keyframes ebookFlipRight { 0% { transform: rotateY(0); } 100% { transform: rotateY(-180deg); } }
/* 翻页时页面上的明暗渐变（模拟纸张卷曲受光） */
.ebook-over .ebook-slot.flip-left::after,
.ebook-over .ebook-slot.flip-right::after { content: ''; position: absolute; inset: 0; pointer-events: none; }
.ebook-over .ebook-slot.flip-left::after { background: linear-gradient(90deg, rgba(0,0,0,.32), rgba(0,0,0,.06) 38%, rgba(255,255,255,.28) 70%, transparent); animation: ebookShadeL .62s ease forwards; }
.ebook-over .ebook-slot.flip-right::after { background: linear-gradient(270deg, rgba(0,0,0,.32), rgba(0,0,0,.06) 38%, rgba(255,255,255,.28) 70%, transparent); animation: ebookShadeR .62s ease forwards; }
@keyframes ebookShadeL { 0% { opacity: 0; } 30% { opacity: 1; } 100% { opacity: .35; } }
@keyframes ebookShadeR { 0% { opacity: 0; } 30% { opacity: 1; } 100% { opacity: .35; } }
.ebook-slot:not(.has-page) { display: none; }
.ebook-slot.single { width: 100%; }
.ebook-page-canvas { max-width: 100%; max-height: 100%; display: flex; align-items: center; justify-content: center; }
.ebook-page-canvas canvas { max-width: 100%; max-height: 100%; width: auto; height: auto; box-shadow: 0 6px 22px rgba(0,0,0,.35); border-radius: 2px; background: #fff; }
.ebook-spine { position: absolute; left: 50%; top: 0; bottom: 0; width: 2px; margin-left: -1px; background: linear-gradient(180deg, rgba(0,0,0,.38), rgba(0,0,0,.12) 15%, rgba(0,0,0,.12) 85%, rgba(0,0,0,.38)); z-index: 5; pointer-events: none; }

/* 卷页阴影（翻页时沿书脊扫过） */
.ebook-curl { position: absolute; top: 0; bottom: 0; width: 110px; z-index: 4; pointer-events: none; opacity: 0; background: linear-gradient(90deg, rgba(0,0,0,.34), rgba(0,0,0,.1) 45%, transparent 80%); filter: blur(4px); }
.ebook-curl.curl-right { animation: ebookCurlRight .62s ease forwards; }
.ebook-curl.curl-left { animation: ebookCurlLeft .62s ease forwards; }
@keyframes ebookCurlRight { 0% { left: 50%; opacity: 0; } 20% { opacity: 1; } 85% { opacity: .9; } 100% { left: 100%; opacity: 0; } }
@keyframes ebookCurlLeft { 0% { right: 50%; opacity: 0; } 20% { opacity: 1; } 85% { opacity: .9; } 100% { right: 100%; opacity: 0; } }

.ebook-loading { position: absolute; inset: 0; display: none; align-items: center; justify-content: center; flex-direction: column; gap: 14px; color: var(--navy-text-dim); z-index: 20; background: rgba(13,27,51,.62); }
.ebook-loading p { font-size: 13px; }
.ebook-spinner { width: 40px; height: 40px; border: 3px solid rgba(255,255,255,.15); border-top-color: var(--sky); border-radius: 50%; animation: ebookSpin 1s linear infinite; }
@keyframes ebookSpin { to { transform: rotate(360deg); } }

.ebook-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 46px; height: 46px; border-radius: 50%; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); color: #fff; font-size: 26px; cursor: pointer; z-index: 10; display: flex; align-items: center; justify-content: center; transition: .2s; }
.ebook-nav:hover:not(:disabled) { background: rgba(255,255,255,.22); }
.ebook-nav:disabled { opacity: .3; cursor: not-allowed; }
.ebook-nav-prev { left: 18px; }
.ebook-nav-next { right: 18px; }

.ebook-bottombar { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 10px 16px; background: #12213d; color: var(--navy-text-dim); font-size: 13px; }
.ebook-pageno { display: inline-flex; align-items: center; gap: 6px; }
.ebook-pageno input { width: 56px; text-align: center; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); color: #fff; border-radius: 6px; padding: 4px 6px; font-size: 13px; }
.ebook-pageno input:focus { outline: none; border-color: var(--sky); }

@media (--bp-sm) {
  .review-card-head { flex-direction: column; align-items: flex-start; gap: 14px; }
  .review-card-actions { width: 100%; }
  .review-card-actions .btn { flex: 1; }
  .ebook-modal { padding: 0; }
  .ebook-shell { width: 100vw; height: 100vh; height: 100dvh; border-radius: 0; }
  .ebook-book { inset: 12px 12px; }
  .ebook-nav { width: 38px; height: 38px; font-size: 22px; }
  .ebook-nav-prev { left: 4px; }
  .ebook-nav-next { right: 4px; }
}

/* ---------- 报名/注册表单（register.ejs）响应式：验证码按钮与行布局 ---------- */
@media (--bp-sm) {
  .code-btn { min-width: 112px; font-size: 13px; padding: 8px 10px; }
}
@media (--bp-compact) {
  .code-row { flex-direction: column; }
  .code-btn { width: 100%; }
}

/* ---------- 打印 ---------- */
@media print {
  .topbar, .header, .mobile-nav, .mobile-overlay, .nav-toggle, .footer, .call-banner, .hero-dots,
  .quick-nav, .countdown, .breadcrumb, .btn { display: none !important; }
  body { background: #fff; color: #000; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .hero, .section { padding: 20px 0; }
  a { color: #000; text-decoration: underline; }
  img { max-width: 100%; }
  .container { max-width: 100%; padding: 0 12px; }
}

/* ---------- 通用弹窗（账户中心 / 购票 / 等复用） ---------- */
.ac-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(10,42,94,.45);padding:20px}
.ac-modal-box{background:#fff;border-radius:14px;box-shadow:0 18px 50px rgba(10,42,94,.25);width:100%;max-width:420px;max-height:90vh;overflow-y:auto;padding:22px 24px}
.ac-modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.ac-modal-title{font-size:16px;font-weight:700;color:var(--navy,#0A2A5E)}
.ac-modal-close{border:none;background:none;font-size:22px;line-height:1;color:#8a97a8;cursor:pointer;padding:2px 6px}
.ac-modal-close:hover{color:#0A2A5E}
.ac-field{display:block;margin:12px 0 4px;font-size:13px;color:#6b7a8d}
.ac-input{width:100%;box-sizing:border-box;padding:9px 12px;border:1px solid #d6deea;border-radius:8px;font-size:14px}
/* 开关（订单详情·发票信息） */
.ac-switch{display:inline-flex;align-items:center;cursor:pointer;user-select:none}
.ac-switch input{position:absolute;opacity:0;width:0;height:0}
.ac-switch-track{position:relative;width:44px;height:24px;border-radius:24px;background:#cfd8e3;transition:.2s;flex:0 0 auto}
.ac-switch-track:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:.2s}
.ac-switch input:checked + .ac-switch-track{background:var(--sky)}
.ac-switch input:checked + .ac-switch-track:after{transform:translateX(20px)}
/* 缴费方式标签（订单详情） */
.ac-tabs{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.ac-tab{padding:8px 18px;border:1px solid var(--line);background:#f4f7fb;color:var(--gray);border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}
.ac-tab.active{background:var(--sky);color:#fff;border-color:var(--sky)}
.ac-tab-panel{font-size:13.5px;color:var(--gray);line-height:1.9;overflow:hidden}
.ac-msg-ok{color:#1a9e5f;font-size:13px;margin:8px 0 0}
.ac-msg-err{color:#d23f3f;font-size:13px;margin:8px 0 0}
.ac-actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}

/* 新闻列表（/media 时间倒序，标题+时间） */
.news-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.news-list-item{border-bottom:1px solid var(--line)}
.news-list-link{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:16px 4px;color:var(--ink);text-decoration:none;transition:background .15s}
.news-list-link:hover{background:#f7f9fc}
.news-list-title{font-size:16px;font-weight:600;color:var(--navy)}
.news-list-link:hover .news-list-title{color:var(--accent)}
.news-list-date{flex:0 0 auto;font-size:13px;color:var(--gray);font-variant-numeric:tabular-nums}
@media (max-width:600px){.news-list-link{flex-direction:column;gap:4px}.news-list-date{order:-1}}

/* 后台表单错误提示（议程时间必填等） */
.flash-error{margin:0 0 16px;padding:10px 14px;border:1px solid #f5c2c2;background:#fdecec;color:#c0392b;border-radius:8px;font-size:14px;font-weight:600}
/* 后台议程列表时段标签 */
.period-tag{display:inline-block;margin-top:4px;padding:1px 8px;border-radius:10px;background:#eef2ff;color:#4338ca;font-size:12px}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNyYy5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAyMDI277yI56ys5Y2B5LiJ5bGK77yJ5Lit5Zu95Zu96ZmF55+z5aKo54Ov5Yib5paw5aSn5LyaIOWumOe9kVxuICAg6K6+6K6h57O757uf77ya5rex6JOdIMOXIOWkqeepuuiTnSDCtyDoi7nmnpzpo47moLzkuqTkupIgwrcg566A5rSB546w5Luj5ZWG5Yqh56eR5oqA6aOOIMK3IOWTjeW6lOW8j1xuXG4gICDilrwg5pys5paH5Lu25Li66K6+6K6h5rqQ56CB77yI5Y2V5LiA5pWw5o2u5rqQ77yJ77yM5ZCrIENTUyDlj5jph4/kuI4gQGN1c3RvbS1tZWRpYSDmlq3ngrkgdG9rZW7jgIJcbiAgIOKWvCDov5DooYwgbnBtIHJ1biBidWlsZDpjc3Mg57yW6K+R5Li66L+Q6KGM5pe2IHB1YmxpYy9jc3Mvc3R5bGUuY3Nz77yI5bCGIEBjdXN0b20tbWVkaWFcbiAgICAg5bGV5byA5Li655yf5a6eIEBtZWRpYSDmn6Xor6LvvIzmtY/op4jlmajml6DpnIDljp/nlJ/mlK/mjIHvvInjgILliIfli7/nm7TmjqXnvJbovpHnvJbor5HkuqfnianjgIJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiAtLS0tLS0tLS0tIOWTjeW6lOW8j+aWreeCuSB0b2tlbu+8iEBjdXN0b20tbWVkaWHvvIzmjInlrr3luqbku47lrr3liLDnqoTvvIkgLS0tLS0tLS0tLVxuICAgLS1icC1sZyAgMTAyNHB4ICDmoYzpnaIg4oaSIOW5s+adv+aoquWxj1xuICAgLS1icC1tZCAgIDk5MnB4ICDlubPmnb/mqKrlsY8g4oaSIOW5s+adv+erluWxj1xuICAgLS1icC1zbSAgIDc2OHB4ICDlubPmnb8g4oaSIOaJi+acuu+8iOW4uOingeenu+WKqOaWreeCue+8iVxuICAgLS1icC14cyAgIDY0MHB4ICDlpKflsY/miYvmnLpcbiAgIC0tYnAtbWluICA0ODBweCAg5bCP5bGP5omL5py6XG4gICAtLWJwLWNvbXBhY3QgNDIwcHggIOe0p+WHkeaJi+acuu+8iOeqhOWxj+ihqOWNle+8jOWmgumqjOivgeeggeihjC/mjInpkq7loIblj6DvvIlcbiAgIOKWvCByZW0g55So5rOV56S65L6L77yaQG1lZGlhICgtLWJwLXNtKSB7IC4uLiB977yI57yW6K+R5pe26Ieq5Yqo5bGV5byA5Li6IEBtZWRpYSAobWF4LXdpZHRoOjc2OHB4Ke+8iSAqL1xuQGN1c3RvbS1tZWRpYSAtLWJwLWxnIChtYXgtd2lkdGg6IDEwMjRweCk7XG5AY3VzdG9tLW1lZGlhIC0tYnAtbWQgKG1heC13aWR0aDogOTkycHgpO1xuQGN1c3RvbS1tZWRpYSAtLWJwLXNtIChtYXgtd2lkdGg6IDc2OHB4KTtcbkBjdXN0b20tbWVkaWEgLS1icC14cyAobWF4LXdpZHRoOiA2NDBweCk7XG5AY3VzdG9tLW1lZGlhIC0tYnAtbWluIChtYXgtd2lkdGg6IDQ4MHB4KTtcbkBjdXN0b20tbWVkaWEgLS1icC1jb21wYWN0IChtYXgtd2lkdGg6IDQyMHB4KTtcblxuOnJvb3Qge1xuICAtLW5hdnk6ICMwQTJBNUU7XG4gIC0tbmF2eS0yOiAjMTIzQTdDO1xuICAtLW5hdnktMzogIzBFMzE2OTtcbiAgLS1za3k6ICMyRTlCRjA7XG4gIC0tc2t5LTI6ICM1QkI1RjU7XG4gIC0tc2t5LWJnOiAjRUFGNEZDO1xuICAtLWluazogIzE2MjMzQjtcbiAgLS1ncmF5OiAjNUE2Qjg1O1xuICAtLWxpbmU6ICNFM0VBRjM7XG4gIC0tYmc6ICNGNkY5RkQ7XG4gIC0td2hpdGU6ICNmZmY7XG4gIC0tZ29sZDogI0Y1QTYyMztcbiAgLS1za3ktbGluZTogI0Q2RTlGQTtcbiAgLS1ncmF5LWxpZ2h0OiAjOEE5N0FDO1xuICAtLWdyZWVuOiAjMUI4QTRBO1xuICAtLWdyZWVuLWJnOiAjRTdGN0VDO1xuICAtLXJhZGl1czogMTJweDtcbiAgLS1zaGFkb3c6IDAgMnB4IDEycHggcmdiYSgxMCwgNDIsIDk0LCAuMDYpO1xuICAtLXNoYWRvdy1sZzogMCA4cHggMjhweCByZ2JhKDEwLCA0MiwgOTQsIC4xMik7XG4gIC8qIEFwcGxlIERlc2lnbiBTeXN0ZW0gQ29sb3JzIOKAlOKAlCDlr7npvZDlk4HniYzoibLvvIjljZXkuIDmlbDmja7mupAgPSBuYXZ5L3NreSDns7vvvIkgKi9cbiAgLS1hcHBsZS1ibHVlOiB2YXIoLS1za3kpO1xuICAtLWFwcGxlLWJsdWUtaG92ZXI6IHZhcigtLW5hdnktMik7XG4gIC0tYXBwbGUtYmx1ZS1saWdodDogdmFyKC0tc2t5LWJnKTtcbiAgLS1hcHBsZS1ncmF5OiAjOEU4RTkzO1xuICAtLWFwcGxlLWdyYXktYmc6ICNGMkYyRjc7XG4gIC0tYXBwbGUtZ3JheS1iZy0yOiAjRTVFNUVBO1xuICAtLWFwcGxlLWdyZWVuOiAjMzRDNzU5O1xuICAtLWFwcGxlLW9yYW5nZTogdmFyKC0tZ29sZCk7XG4gIC0tYXBwbGUtcmVkOiAjRkYzQjMwO1xuICAtLWFwcGxlLXB1cnBsZTogI0FGNTJERTtcbiAgLS1hcHBsZS10ZWFsOiAjNUFDOEZBO1xuICAtLWFwcGxlLXJhZGl1czogMTJweDtcbiAgLS1hcHBsZS1yYWRpdXMtbGc6IDE2cHg7XG4gIC0tYXBwbGUtcmFkaXVzLXhsOiAyMnB4O1xuICAtLWFwcGxlLWJsdXI6IHNhdHVyYXRlKDE4MCUpIGJsdXIoMjBweCk7XG4gIC0tYXBwbGUtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xuICAtLWFwcGxlLXNoYWRvdy1ob3ZlcjogdmFyKC0tc2hhZG93LWxnKTtcbiAgLS1hcHBsZS10cmFuc2l0aW9uOiBhbGwgLjNzIGN1YmljLWJlemllciguMjUsLjQ2LC40NSwuOTQpO1xuXG4gIC8qIOivreS5iSB0b2tlbu+8mumXtOi3nSAvIOaOkueJiCAvIOWchuinkiAvIOWuueWZqCAqL1xuICAtLXNwYWNlLTE6IDRweDtcbiAgLS1zcGFjZS0yOiA4cHg7XG4gIC0tc3BhY2UtMzogMTJweDtcbiAgLS1zcGFjZS00OiAxNnB4O1xuICAtLXNwYWNlLTU6IDI0cHg7XG4gIC0tc3BhY2UtNjogMzJweDtcbiAgLS1zcGFjZS04OiA0OHB4O1xuICAtLXNwYWNlLTEwOiA1NnB4O1xuICAtLXNwYWNlLTEyOiA2NHB4O1xuICAtLWZvbnQteHM6IDEycHg7XG4gIC0tZm9udC1zbTogMTNweDtcbiAgLS1mb250LWJhc2U6IDE1cHg7XG4gIC0tZm9udC1tZDogMTZweDtcbiAgLS1mb250LWxnOiAyMHB4O1xuICAtLWZvbnQteGw6IDI2cHg7XG4gIC0tbGVhZGluZzogMS43O1xuICAtLXJhZGl1cy1zbTogOHB4O1xuICAtLXJhZGl1cy1tZDogMTJweDtcbiAgLS1yYWRpdXMtbGc6IDE2cHg7XG4gIC0tcmFkaXVzLXhsOiAyMnB4O1xuICAtLXJhZGl1cy1yb3VuZDogOTk5cHg7XG4gIC0tY29udGFpbmVyLW1heDogMTIwMHB4O1xuICAtLWNvbnRhaW5lci1wYWQ6IDI0cHg7XG4gIC0tY29udGFpbmVyLXBhZC1zbTogMTZweDtcbiAgLyog6K+t5LmJ6Imy77ya5rex6JOd5riQ5Y+Y6auY5YWJIC8g5rex6Imy5bqV5LiK55qE5rWF6Imy5paH5a2X77yI5pu/5Luj5pWj6JC955qE5Y2B5YWt6L+b5Yi277yJICovXG4gIC0tYWNjZW50OiAjMUI1QkI4OyAgICAgICAgICAgLyog5ZOB54mM5riQ5Y+Y57uI54K56JOdICovXG4gIC0tbmF2eS10ZXh0OiAjQkZENkYyOyAgICAgICAgLyog5rex6JOd5bqV5LiK55qE5rWF6JOd5q2j5paHICovXG4gIC0tbmF2eS10ZXh0LWRpbTogI0I5QzlFMjsgICAgLyog5rex6JOd5bqV5LiK55qE5pu05byx6JOd77yIZm9vdGVyL3RvcGJhciDlhYPkv6Hmga/vvIkgKi9cbiAgLyog6KGo5Y2V5Y+N6aaI6ImyICovXG4gIC0tZXJyb3ItYmc6ICNGREVCRUM7XG4gIC0tZXJyb3ItYm9yZGVyOiAjRjVDNkNCO1xuICAtLWVycm9yLXRleHQ6ICNDMDM5MkI7XG4gIC0tc3VjY2Vzcy1iZzogI0U3RjZFQztcbiAgLS1zdWNjZXNzLWJvcmRlcjogI0I3RTRDNztcbiAgLS1zdWNjZXNzLXRleHQ6ICMxRTdFNEU7XG4gIC8qIOivreS5iemYtOW9se+8muS6pOS6kuaMiemSriAvIOiBmueEpueOr++8iOe7n+S4gOS4uuWTgeeJjOa3seiTneaKleW9se+8jOabv+S7oyBpT1Mg6JOdIHJnYmEoMCwxMjIsMjU1KSDlj4zmupDlpLTvvIkgKi9cbiAgLS1zaGFkb3ctYnRuOiAwIDFweCAzcHggcmdiYSgxMCw0Miw5NCwuMyksIDAgNHB4IDEycHggcmdiYSgxMCw0Miw5NCwuMik7XG4gIC0tc2hhZG93LWJ0bi1ob3ZlcjogMCAycHggOHB4IHJnYmEoMTAsNDIsOTQsLjQpLCAwIDZweCAyMHB4IHJnYmEoMTAsNDIsOTQsLjI1KTtcbiAgLS1mb2N1cy1yaW5nOiAwIDAgMCA0cHggcmdiYSgxMCw0Miw5NCwuMTIpO1xuICAtLWZvY3VzLXJpbmctc206IDAgMCAwIDNweCByZ2JhKDEwLDQyLDk0LC4xMik7XG59XG4qIHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5odG1sIHsgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7IH1cblxuLyog6ZSu55uY54Sm54K55Y+v6KeB5oCn77ya5LuF6ZSu55uY5a+86Iiq5pi+56S654Sm54K5546v77yM6byg5qCH5LiN5pi+56S6ICovXG46Zm9jdXMtdmlzaWJsZSB7IG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1za3kpOyBvdXRsaW5lLW9mZnNldDogMnB4OyBib3JkZXItcmFkaXVzOiAycHg7IH1cbmE6Zm9jdXMsIGJ1dHRvbjpmb2N1cywgaW5wdXQ6Zm9jdXMsIHNlbGVjdDpmb2N1cywgdGV4dGFyZWE6Zm9jdXMgeyBvdXRsaW5lLWNvbG9yOiB2YXIoLS1za3kpOyB9XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNGIFBybyBEaXNwbGF5XCIsIFwiU0YgUHJvIFRleHRcIiwgXCJQaW5nRmFuZyBTQ1wiLCBcIk1pY3Jvc29mdCBZYUhlaVwiLCBcIk5vdG8gU2FucyBTQ1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiB2YXIoLS1pbmspO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZSk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1sZWFkaW5nKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LWJhc2UpO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cbmEgeyBjb2xvcjogdmFyKC0tc2t5KTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB0cmFuc2l0aW9uOiBjb2xvciAuMnM7IH1cbmE6aG92ZXIgeyBjb2xvcjogdmFyKC0tbmF2eSk7IH1cbmltZyB7IG1heC13aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IH1cbi5jb250YWluZXIgeyBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci1tYXgpOyBtYXJnaW46IDAgYXV0bzsgcGFkZGluZzogMCB2YXIoLS1jb250YWluZXItcGFkKTsgfVxuLnNlY3Rpb24geyBwYWRkaW5nOiB2YXIoLS1zcGFjZS0xMCkgMDsgfVxuLnNlY3Rpb24tYWx0IHsgYmFja2dyb3VuZDogdmFyKC0tYmcpOyB9XG5cbi8qIC0tLS0tLS0tLS0g5qCH6aKYIC0tLS0tLS0tLS0gKi9cbi5zZWMtaGVhZCB7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTYpOyB9XG4uc2VjLWhlYWQgLmJhciB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDZweDsgaGVpZ2h0OiAyNnB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1za3kpOyBib3JkZXItcmFkaXVzOiAzcHg7IHZlcnRpY2FsLWFsaWduOiAtNHB4OyBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cbi5zZWMtaGVhZCBoMiB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAyNnB4OyBmb250LXdlaWdodDogODAwOyBjb2xvcjogdmFyKC0tbmF2eSk7IGxldHRlci1zcGFjaW5nOiAuNXB4OyB9XG4uc2VjLWhlYWQgLmVuIHsgZGlzcGxheTogYmxvY2s7IGZvbnQtc2l6ZTogMTJweDsgY29sb3I6IHZhcigtLWdyYXkpOyBsZXR0ZXItc3BhY2luZzogMnB4OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBtYXJnaW4tdG9wOiA2cHg7IH1cbi5zZWMtaGVhZC5jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbi5zZWMtaGVhZC5jZW50ZXIgLmJhciB7IGRpc3BsYXk6IG5vbmU7IH1cbi5zZWMtaGVhZCAubW9yZSB7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLXNreSk7IHdoaXRlLXNwYWNlOiBub3dyYXA7IG1hcmdpbi1ib3R0b206IDRweDsgfVxuLnNlYy1oZWFkIC5tb3JlOmhvdmVyIHsgY29sb3I6IHZhcigtLW5hdnkpOyB9XG5cbi8qIC0tLS0tLS0tLS0g5oyJ6ZKuIChBcHBsZSBEZXNpZ24gU3R5bGUpIC0tLS0tLS0tLS0gKi9cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGdhcDogOHB4O1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS01KTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXhsKTsgZm9udC1zaXplOiB2YXIoLS1mb250LWJhc2UpOyBmb250LXdlaWdodDogNjAwO1xuICBib3JkZXI6IG5vbmU7IGN1cnNvcjogcG9pbnRlcjsgdHJhbnNpdGlvbjogdmFyKC0tYXBwbGUtdHJhbnNpdGlvbik7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgbGluZS1oZWlnaHQ6IDEuNDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IHBvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idG46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjE1KTsgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnM7IGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG59XG4uYnRuOmFjdGl2ZTo6YmVmb3JlIHsgb3BhY2l0eTogMTsgfVxuLmJ0bjphY3RpdmUgeyB0cmFuc2Zvcm06IHNjYWxlKC45Nyk7IH1cbi5idG4tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLWFwcGxlLWJsdWUpIDAlLCB2YXIoLS1hcHBsZS1ibHVlLWhvdmVyKSAxMDAlKTtcbiAgY29sb3I6ICNmZmY7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1idG4pO1xufVxuLmJ0bi1wcmltYXJ5OmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tYXBwbGUtYmx1ZS1ob3Zlcik7IGNvbG9yOiAjZmZmOyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctYnRuLWhvdmVyKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOyB9XG4uYnRuLW5hdnkge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB2YXIoLS1uYXZ5KSAwJSwgdmFyKC0tbmF2eS0yKSAxMDAlKTtcbiAgY29sb3I6ICNmZmY7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1idG4pO1xufVxuLmJ0bi1uYXZ5OmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tbmF2eS0yKTsgY29sb3I6ICNmZmY7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1idG4taG92ZXIpOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7IH1cbi5idG4tb3V0bGluZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjYpOyBiYWNrZHJvcC1maWx0ZXI6IHZhcigtLWFwcGxlLWJsdXIpOyAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogdmFyKC0tYXBwbGUtYmx1cik7XG4gIGJvcmRlcjogMS41cHggc29saWQgdmFyKC0tYXBwbGUtYmx1ZSk7IGNvbG9yOiB2YXIoLS1hcHBsZS1ibHVlKTtcbn1cbi5idG4tb3V0bGluZTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWFwcGxlLWJsdWUtbGlnaHQpOyBjb2xvcjogdmFyKC0tYXBwbGUtYmx1ZS1ob3Zlcik7IGJvcmRlci1jb2xvcjogdmFyKC0tYXBwbGUtYmx1ZS1ob3Zlcik7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsgfVxuLmJ0bi13aGl0ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjkpOyBiYWNrZHJvcC1maWx0ZXI6IHZhcigtLWFwcGxlLWJsdXIpOyAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogdmFyKC0tYXBwbGUtYmx1cik7XG4gIGNvbG9yOiB2YXIoLS1pbmspOyBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgxMCw0Miw5NCwuMDgpO1xufVxuLmJ0bi13aGl0ZTpob3ZlciB7IGJhY2tncm91bmQ6ICNmZmY7IGJveC1zaGFkb3c6IDAgMnB4IDEycHggcmdiYSgxMCw0Miw5NCwuMTIpOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7IH1cbi5idG4tbGcgeyBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KSB2YXIoLS1zcGFjZS04KTsgZm9udC1zaXplOiB2YXIoLS1mb250LW1kKTsgYm9yZGVyLXJhZGl1czogMjRweDsgfVxuLmJ0bi1ibG9jayB7IHdpZHRoOiAxMDAlOyB9XG4vKiBBcHBsZSBTdHlsZSBJY29uIEJ1dHRvbnMgKi9cbi5idG4taWNvbiB7IHdpZHRoOiAzNnB4OyBoZWlnaHQ6IDM2cHg7IHBhZGRpbmc6IDA7IGJvcmRlci1yYWRpdXM6IDUwJTsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4uYnRuIHN2ZywgLmJ0biAuaWNvLXN2ZyB7IHdpZHRoOiAxOHB4OyBoZWlnaHQ6IDE4cHg7IGZsZXgtc2hyaW5rOiAwOyB9XG5cbi8qIC0tLS0tLS0tLS0g6aG26YOo5a+86IiqIC0tLS0tLS0tLS0gKi9cbi50b3BiYXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1uYXZ5KTsgY29sb3I6IHZhcigtLW5hdnktdGV4dC1kaW0pOyBmb250LXNpemU6IDEyLjVweDsgfVxuLnRvcGJhciAuY29udGFpbmVyIHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBhbGlnbi1pdGVtczogY2VudGVyOyBoZWlnaHQ6IDM4cHg7IH1cbi50b3BiYXIgYSB7IGNvbG9yOiB2YXIoLS1uYXZ5LXRleHQtZGltKTsgfVxuLnRvcGJhciBhOmhvdmVyIHsgY29sb3I6ICNmZmY7IH1cbi50b3BiYXIgLnJpZ2h0IHsgZGlzcGxheTogZmxleDsgZ2FwOiAxOHB4OyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4udG9wYmFyIC5sYW5nLXN3aXRjaCBhIHsgcGFkZGluZzogMnB4IDhweDsgYm9yZGVyLXJhZGl1czogNnB4OyB0cmFuc2l0aW9uOiB2YXIoLS1hcHBsZS10cmFuc2l0aW9uKTsgfVxuLnRvcGJhciAubGFuZy1zd2l0Y2ggYS5hY3RpdmUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1hcHBsZS1ibHVlKTsgY29sb3I6ICNmZmY7IH1cblxuLmhlYWRlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjcyKTsgYmFja2Ryb3AtZmlsdGVyOiB2YXIoLS1hcHBsZS1ibHVyKTsgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IHZhcigtLWFwcGxlLWJsdXIpO1xuICBib3gtc2hhZG93OiAwIC41cHggMCByZ2JhKDAsMCwwLC4wNiksIDAgMXB4IDhweCByZ2JhKDEwLDQyLDk0LC4wNCk7IHBvc2l0aW9uOiBzdGlja3k7IHRvcDogMDsgei1pbmRleDogMTAwO1xufVxuLmhlYWRlciAuY29udGFpbmVyIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBoZWlnaHQ6IDYwcHg7IH1cbi5sb2dvIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMnB4OyB9XG4ubG9nby1pbWcgeyBoZWlnaHQ6IDQycHg7IHdpZHRoOiBhdXRvOyBkaXNwbGF5OiBibG9jazsgfVxuLmxvZ28gLmhleCB7XG4gIHdpZHRoOiA0MnB4OyBoZWlnaHQ6IDQycHg7IGJvcmRlci1yYWRpdXM6IDEycHg7IGZsZXgtc2hyaW5rOiAwO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1uYXZ5KSwgdmFyKC0tc2t5KSk7XG4gIGNvbG9yOiAjZmZmOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAyMHB4OyBmb250LXdlaWdodDogODAwO1xufVxuLmxvZ28gLm5hbWUgeyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiA4MDA7IGNvbG9yOiB2YXIoLS1uYXZ5KTsgbGluZS1oZWlnaHQ6IDEuMzsgfVxuLmxvZ28gLm5hbWUgc21hbGwgeyBkaXNwbGF5OiBibG9jazsgZm9udC1zaXplOiAxMC41cHg7IGNvbG9yOiB2YXIoLS1ncmF5KTsgZm9udC13ZWlnaHQ6IDUwMDsgbGV0dGVyLXNwYWNpbmc6IC41cHg7IH1cblxuLm5hdiB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMnB4OyB9XG4ubmF2IGEgeyBjb2xvcjogdmFyKC0taW5rKTsgZm9udC1zaXplOiAxNHB4OyBwYWRkaW5nOiA4cHggMTRweDsgYm9yZGVyLXJhZGl1czogMTBweDsgZm9udC13ZWlnaHQ6IDUwMDsgdHJhbnNpdGlvbjogdmFyKC0tYXBwbGUtdHJhbnNpdGlvbik7IH1cbi5uYXYgYTpob3ZlciB7IGNvbG9yOiB2YXIoLS1hcHBsZS1ibHVlKTsgYmFja2dyb3VuZDogdmFyKC0tYXBwbGUtYmx1ZS1saWdodCk7IH1cbi5uYXYgYS5hY3RpdmUgeyBjb2xvcjogdmFyKC0tYXBwbGUtYmx1ZSk7IGZvbnQtd2VpZ2h0OiA2MDA7IGJhY2tncm91bmQ6IHZhcigtLWFwcGxlLWJsdWUtbGlnaHQpOyB9XG4ubmF2IC5uYXYtcmVnIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdmFyKC0tYXBwbGUtYmx1ZSkgMCUsIHZhcigtLWFwcGxlLWJsdWUtaG92ZXIpIDEwMCUpOyBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNjAwOyBtYXJnaW4tbGVmdDogNnB4OyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcm91bmQpICFpbXBvcnRhbnQ7IHBhZGRpbmc6IDhweCAyMnB4ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1idG4pO1xufVxuLm5hdiAubmF2LXJlZzpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWFwcGxlLWJsdWUtaG92ZXIpOyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctYnRuLWhvdmVyKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOyB9XG4ubmF2LXRvZ2dsZSB7IGRpc3BsYXk6IG5vbmU7IGJhY2tncm91bmQ6IG5vbmU7IGJvcmRlcjogbm9uZTsgY3Vyc29yOiBwb2ludGVyOyBwYWRkaW5nOiA4cHg7IH1cbi5uYXYtdG9nZ2xlIHNwYW4geyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDI0cHg7IGhlaWdodDogMi41cHg7IGJhY2tncm91bmQ6IHZhcigtLW5hdnkpOyBtYXJnaW46IDVweCAwOyBib3JkZXItcmFkaXVzOiAycHg7IHRyYW5zaXRpb246IC4zczsgfVxuXG4vKiDnp7vliqjnq6/mir3lsYkgKi9cbi5tb2JpbGUtbmF2IHtcbiAgZGlzcGxheTogbm9uZTsgcG9zaXRpb246IGZpeGVkOyB0b3A6IDA7IHJpZ2h0OiAtMTAwJTsgd2lkdGg6IDc4JTsgbWF4LXdpZHRoOiAzNDBweDsgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1uYXZ5KTsgei1pbmRleDogMjAwOyBwYWRkaW5nOiAyNHB4OyB0cmFuc2l0aW9uOiByaWdodCAuM3MgZWFzZTsgb3ZlcmZsb3cteTogYXV0bztcbn1cbi5tb2JpbGUtbmF2Lm9wZW4geyByaWdodDogMDsgfVxuLm1vYmlsZS1uYXYgLmNsb3NlIHsgYmFja2dyb3VuZDogbm9uZTsgYm9yZGVyOiBub25lOyBjb2xvcjogI2ZmZjsgZm9udC1zaXplOiAyOHB4OyBjdXJzb3I6IHBvaW50ZXI7IGZsb2F0OiByaWdodDsgfVxuLm1vYmlsZS1sb2dvIHsgaGVpZ2h0OiA0NHB4OyB3aWR0aDogYXV0bzsgbWFyZ2luOiA4cHggMCAyMHB4OyBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpOyB9XG4ubW9iaWxlLW5hdiBhIHsgZGlzcGxheTogYmxvY2s7IGNvbG9yOiAjRENFOUY5OyBmb250LXNpemU6IDE3cHg7IHBhZGRpbmc6IDE0cHggNnB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDgpOyB9XG4ubW9iaWxlLW5hdiBhLmFjdGl2ZSB7IGNvbG9yOiB2YXIoLS1za3ktMik7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cbi5tb2JpbGUtbmF2IC5uYXYtcmVnIHsgY29sb3I6ICNGRkQyN0E7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cbi5tb2JpbGUtbmF2IC5sYW5nLXJvdyB7IG1hcmdpbi10b3A6IDIwcHg7IGRpc3BsYXk6IGZsZXg7IGdhcDogMTJweDsgfVxuLm1vYmlsZS1uYXYgLmxhbmctcm93IGEgeyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4yNSk7IGJvcmRlci1yYWRpdXM6IDZweDsgcGFkZGluZzogOHB4IDE4cHg7IGZvbnQtc2l6ZTogMTRweDsgfVxuLm1vYmlsZS1uYXYgLmxhbmctcm93IGEuYWN0aXZlIHsgYmFja2dyb3VuZDogdmFyKC0tc2t5KTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1za3kpOyB9XG4ubW9iaWxlLW92ZXJsYXkgeyBkaXNwbGF5OiBub25lOyBwb3NpdGlvbjogZml4ZWQ7IGluc2V0OiAwOyBiYWNrZ3JvdW5kOiByZ2JhKDEwLDQyLDk0LC40NSk7IHotaW5kZXg6IDE1MDsgfVxuXG4vKiAtLS0tLS0tLS0tIOmmlumhtSBCYW5uZXIgLS0tLS0tLS0tLSAqL1xuLmhlcm8ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1uYXZ5KTtcbiAgY29sb3I6ICNmZmY7IHBhZGRpbmc6IDcycHggMCA5NnB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBoaWRkZW47XG59XG4uaGVyby1zbGlkZXMgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOyB6LWluZGV4OiAwOyB9XG4uaGVyby1zbGlkZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgb3BhY2l0eTogMDsgdHJhbnNpdGlvbjogb3BhY2l0eSAxLjJzIGVhc2U7XG59XG4uaGVyby1zbGlkZS5hY3RpdmUgeyBvcGFjaXR5OiAxOyB9XG4uaGVyby1jb250ZW50IHsgZGlzcGxheTogbm9uZTsgYW5pbWF0aW9uOiBoZXJvRmFkZSAuOHMgZWFzZTsgfVxuLmhlcm8tY29udGVudC5hY3RpdmUgeyBkaXNwbGF5OiBibG9jazsgfVxuQGtleWZyYW1lcyBoZXJvRmFkZSB7IGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTRweCk7IH0gdG8geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuLmhlcm8tb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IHotaW5kZXg6IDE7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgxMCw0Miw5NCwuODUpIDAlLCByZ2JhKDEwLDQyLDk0LC42KSA1MCUsIHJnYmEoMTAsNDIsOTQsLjMpIDEwMCUpO1xufVxuLmhlcm86OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IC04MHB4OyB0b3A6IC04MHB4OyB3aWR0aDogMzgwcHg7IGhlaWdodDogMzgwcHg7IGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgcmdiYSg0NiwxNTUsMjQwLC4zNSksIHRyYW5zcGFyZW50IDcwJSk7IHotaW5kZXg6IDE7XG59XG4uaGVybzo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC02MHB4OyBib3R0b206IC0xMjBweDsgd2lkdGg6IDMwMHB4OyBoZWlnaHQ6IDMwMHB4OyBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsIHJnYmEoOTEsMTgxLDI0NSwuMjIpLCB0cmFuc3BhcmVudCA3MCUpOyB6LWluZGV4OiAxO1xufVxuLmhlcm8gLmNvbnRhaW5lciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMjsgfVxuLmhlcm8tbG9nbyB7IGhlaWdodDogODBweDsgd2lkdGg6IGF1dG87IG1hcmdpbi1ib3R0b206IDI0cHg7IGZpbHRlcjogZHJvcC1zaGFkb3coMCA0cHggMTJweCByZ2JhKDAsMCwwLC4yKSk7IH1cbi5oZXJvIC50YWdsaW5lIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4xMik7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjIyKTsgcGFkZGluZzogNXB4IDE2cHg7IGJvcmRlci1yYWRpdXM6IDMwcHg7IGZvbnQtc2l6ZTogMTNweDsgbGV0dGVyLXNwYWNpbmc6IDFweDsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuLmhlcm8gaDEgeyBmb250LXNpemU6IDQycHg7IGZvbnQtd2VpZ2h0OiA4MDA7IGxldHRlci1zcGFjaW5nOiAxcHg7IGxpbmUtaGVpZ2h0OiAxLjM7IG1heC13aWR0aDogODIwcHg7IHRleHQtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLDAsMCwuMyk7IH1cbi5oZXJvIC5zdWIgeyBjb2xvcjogdmFyKC0tbmF2eS10ZXh0KTsgZm9udC1zaXplOiAxN3B4OyBtYXJnaW4tdG9wOiAxNHB4OyBsZXR0ZXItc3BhY2luZzogLjVweDsgdGV4dC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsMCwwLC4zKTsgfVxuLmhlcm8gLm1ldGEgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDM2cHg7IGZsZXgtd3JhcDogd3JhcDsgbWFyZ2luLXRvcDogMjhweDsgfVxuLmhlcm8gLm1ldGEgLml0ZW0geyBmb250LXNpemU6IDEzcHg7IGNvbG9yOiB2YXIoLS1uYXZ5LXRleHQpOyB9XG4uaGVybyAubWV0YSAuaXRlbSBiIHsgZGlzcGxheTogYmxvY2s7IGNvbG9yOiAjZmZmOyBmb250LXNpemU6IDE3cHg7IG1hcmdpbi1ib3R0b206IDJweDsgfVxuLmhlcm8gLm1ldGEgLmNvaG9zdC1pdGVtIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA0cHg7IH1cbi5oZXJvIC5tZXRhIC5jb2hvc3QtbG9nb3MgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEwcHg7IG1pbi1oZWlnaHQ6IDI2cHg7IH1cbi5oZXJvIC5tZXRhIC5jb2hvc3QtbG9nbyB7IGhlaWdodDogMjZweDsgd2lkdGg6IGF1dG87IG1heC13aWR0aDogMTIwcHg7IG9iamVjdC1maXQ6IGNvbnRhaW47IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjkyKTsgYm9yZGVyLXJhZGl1czogNHB4OyBwYWRkaW5nOiAzcHggOHB4OyB9XG4uaGVybyAubWV0YSAuY29ob3N0LWl0ZW0gYiB7IGZvbnQtc2l6ZTogMTVweDsgfVxuXG4vKiDova7mkq3mjIfnpLrlmaggKi9cbi5oZXJvLWRvdHMgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogMzJweDsgbGVmdDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IGRpc3BsYXk6IGZsZXg7IGdhcDogMTBweDsgei1pbmRleDogMzsgfVxuLmhlcm8tZG90cyAuZG90IHsgd2lkdGg6IDEwcHg7IGhlaWdodDogMTBweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC40KTsgY3Vyc29yOiBwb2ludGVyOyB0cmFuc2l0aW9uOiBhbGwgLjI1czsgfVxuLmhlcm8tZG90cyAuZG90LmFjdGl2ZSB7IGJhY2tncm91bmQ6ICNmZmY7IHdpZHRoOiAyOHB4OyBib3JkZXItcmFkaXVzOiA1cHg7IH1cbi5oZXJvLWRvdHMgLmRvdDpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjcpOyB9XG4uaGVybyAuY291bnRkb3duIHsgZGlzcGxheTogZmxleDsgZ2FwOiAxNHB4OyBtYXJnaW4tdG9wOiAzMHB4OyB9XG4uaGVybyAuY291bnRkb3duIC5jZWxsIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMSk7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjIpOyBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBtaW4td2lkdGg6IDc2cHg7IHBhZGRpbmc6IDEycHggOHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uaGVybyAuY291bnRkb3duIC5jZWxsIGIgeyBkaXNwbGF5OiBibG9jazsgZm9udC1zaXplOiAyOHB4OyBjb2xvcjogI0ZGRDI3QTsgZm9udC13ZWlnaHQ6IDgwMDsgbGluZS1oZWlnaHQ6IDEuMjsgfVxuLmhlcm8gLmNvdW50ZG93biAuY2VsbCBzcGFuIHsgZm9udC1zaXplOiAxMnB4OyBjb2xvcjogI0RDRTlGOTsgfVxuLmhlcm8gLmNvdW50ZG93biAuY29sb24geyBhbGlnbi1zZWxmOiBjZW50ZXI7IGZvbnQtc2l6ZTogMjZweDsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjUpOyBmb250LXdlaWdodDogNzAwOyB9XG4uaGVybyAuYWN0aW9ucyB7IG1hcmdpbi10b3A6IDM0cHg7IGRpc3BsYXk6IGZsZXg7IGdhcDogMTRweDsgZmxleC13cmFwOiB3cmFwOyB9XG5cbi8qIOW/q+mAn+WvvOiIquWNoeeJhyAqL1xuLnF1aWNrLW5hdiB7IG1hcmdpbi10b3A6IC01MnB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDU7IH1cbi5xdWljay1uYXYgLmdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpOyBnYXA6IDE0cHg7IH1cbi5xdWljay1uYXYgLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC44KTsgYmFja2Ryb3AtZmlsdGVyOiB2YXIoLS1hcHBsZS1ibHVyKTsgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IHZhcigtLWFwcGxlLWJsdXIpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tYXBwbGUtcmFkaXVzLWxnKTsgcGFkZGluZzogMjJweCAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IGJveC1zaGFkb3c6IHZhcigtLWFwcGxlLXNoYWRvdyk7IHRyYW5zaXRpb246IHZhcigtLWFwcGxlLXRyYW5zaXRpb24pOyBkaXNwbGF5OiBibG9jazsgY29sb3I6IHZhcigtLW5hdnkpO1xufVxuLnF1aWNrLW5hdiAuaXRlbTpob3ZlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTsgYm94LXNoYWRvdzogdmFyKC0tYXBwbGUtc2hhZG93LWhvdmVyKTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1hcHBsZS1ibHVlKTsgY29sb3I6IHZhcigtLWFwcGxlLWJsdWUpOyB9XG4ucXVpY2stbmF2IC5pdGVtIC5pY28geyBmb250LXNpemU6IDI4cHg7IG1hcmdpbi1ib3R0b206IDhweDsgZGlzcGxheTogYmxvY2s7IH1cbi5xdWljay1uYXYgLml0ZW0gc3BhbiB7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4vKiAtLS0tLS0tLS0tIOWNoeeJhyAtLS0tLS0tLS0tICovXG4uY2FyZCB7IGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyBwYWRkaW5nOiAyNnB4OyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpOyB9XG4uY2FyZCBoMyB7IGZvbnQtc2l6ZTogMThweDsgY29sb3I6IHZhcigtLW5hdnkpOyBtYXJnaW4tYm90dG9tOiAxMnB4OyBmb250LXdlaWdodDogNzAwOyB9XG5cbi8qIOS/oeaBr+mAn+iniCAqL1xuLmluZm8tbGlzdCAucm93IHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxNnB4OyBwYWRkaW5nOiAxNHB4IDA7IGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgdmFyKC0tbGluZSk7IH1cbi5pbmZvLWxpc3QgLnJvdzpsYXN0LWNoaWxkIHsgYm9yZGVyOiBub25lOyB9XG4uaW5mby1saXN0IC5kYXRlIHsgYmFja2dyb3VuZDogdmFyKC0tc2t5LWJnKTsgY29sb3I6IHZhcigtLW5hdnkpOyBmb250LXdlaWdodDogNzAwOyBib3JkZXItcmFkaXVzOiA4cHg7IHBhZGRpbmc6IDdweCAxNHB4OyBmb250LXNpemU6IDE0cHg7IG1pbi13aWR0aDogMTEwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuLmluZm8tbGlzdCAuY29ob3N0LWRhdGUgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgbWluLWhlaWdodDogNDBweDsgcGFkZGluZzogNHB4IDEwcHg7IH1cbi5pbmZvLWxpc3QgLmNvaG9zdC1sb2dvLXNtIHsgaGVpZ2h0OiAzMHB4OyB3aWR0aDogYXV0bzsgbWF4LXdpZHRoOiAxMDBweDsgb2JqZWN0LWZpdDogY29udGFpbjsgfVxuLmluZm8tbGlzdCAudCB7IGZvbnQtc2l6ZTogMTVweDsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLWluayk7IH1cbi5pbmZvLWxpc3QgLnQgc21hbGwgeyBkaXNwbGF5OiBibG9jazsgY29sb3I6IHZhcigtLWdyYXkpOyBmb250LXNpemU6IDEzcHg7IGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLyog5Lqu54K5ICovXG4uaGlnaGxpZ2h0LWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpOyBnYXA6IDIwcHg7IH1cbi5oaWdobGlnaHQgeyBiYWNrZ3JvdW5kOiAjZmZmOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgcGFkZGluZzogMjZweCAyMnB4OyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpOyB0cmFuc2l0aW9uOiBhbGwgLjI1czsgfVxuLmhpZ2hsaWdodDpob3ZlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWxnKTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1za3kpOyB9XG4uaGlnaGxpZ2h0IC5udW0geyBmb250LXNpemU6IDMwcHg7IGZvbnQtd2VpZ2h0OiA4MDA7IGNvbG9yOiB2YXIoLS1za3kpOyBsaW5lLWhlaWdodDogMTsgfVxuLmhpZ2hsaWdodCBoNCB7IGZvbnQtc2l6ZTogMTdweDsgY29sb3I6IHZhcigtLW5hdnkpOyBtYXJnaW46IDEycHggMCA4cHg7IH1cbi5oaWdobGlnaHQgcCB7IGZvbnQtc2l6ZTogMTMuNXB4OyBjb2xvcjogdmFyKC0tZ3JheSk7IH1cblxuLyog6K6u56iL6YCf6KeIICovXG4uYWdlbmRhLWxpc3QgLnJvdyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMThweDsgcGFkZGluZzogMTZweCAwOyBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkIHZhcigtLWxpbmUpOyB9XG4uYWdlbmRhLWxpc3QgLnJvdzpsYXN0LWNoaWxkIHsgYm9yZGVyOiBub25lOyB9XG4uYWdlbmRhLWxpc3QgLmRhdGUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1za3ktYmcpOyBjb2xvcjogdmFyKC0tbmF2eSk7IGZvbnQtd2VpZ2h0OiA3MDA7IGJvcmRlci1yYWRpdXM6IDhweDsgcGFkZGluZzogOHB4IDE0cHg7IGZvbnQtc2l6ZTogMTRweDsgbWluLXdpZHRoOiAxMzBweDsgdGV4dC1hbGlnbjogY2VudGVyOyBmbGV4LXNocmluazogMDsgfVxuLmFnZW5kYS1saXN0IC50IHsgZm9udC1zaXplOiAxNXB4OyBmb250LXdlaWdodDogNjAwOyB9XG4uYWdlbmRhLWxpc3QgLnQgc21hbGwgeyBkaXNwbGF5OiBibG9jazsgY29sb3I6IHZhcigtLWdyYXkpOyBmb250LXNpemU6IDEzcHg7IGZvbnQtd2VpZ2h0OiA0MDA7IH1cbi5hZ2VuZGEtbGlzdCAuZ28geyBtYXJnaW4tbGVmdDogYXV0bzsgY29sb3I6IHZhcigtLXNreSk7IGZvbnQtd2VpZ2h0OiA3MDA7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICDmlbTkvZPlpKfkvJrorq7nqIsgwrcg55+p6Zi15byP5pel56iL5oC76KeIXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5hZ2VuZGEtbWF0cml4IHtcbiAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5hbS1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTsgfVxuLmFtLWNvbCB7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4uYW0tY29sOmxhc3QtY2hpbGQgeyBib3JkZXItcmlnaHQ6IG5vbmU7IH1cblxuLyog5YiX5aS0ICovXG4uYW0tY29sLWhlYWQge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB2YXIoLS1uYXZ5KSAwJSwgdmFyKC0tbmF2eS0yKSAxMDAlKTtcbiAgY29sb3I6ICNmZmY7IHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzogMTZweCAxMHB4IDE0cHg7XG59XG4uYW0tY29sLWhlYWQgLmQgeyBmb250LXNpemU6IDE5cHg7IGZvbnQtd2VpZ2h0OiA4MDA7IGxldHRlci1zcGFjaW5nOiAuNXB4OyB9XG4uYW0tY29sLWhlYWQgLncgeyBmb250LXNpemU6IDEycHg7IG9wYWNpdHk6IC44NTsgbWFyZ2luLXRvcDogMnB4OyBsZXR0ZXItc3BhY2luZzogMXB4OyB9XG4uYW0tY29sLWhlYWQub2ZmIHsgYmFja2dyb3VuZDogdmFyKC0tbmF2eS0zKTsgb3BhY2l0eTogLjkyOyB9XG5cbi8qIOWIl+S9kyAqL1xuLmFtLWNvbC1ib2R5IHsgcGFkZGluZzogMTRweDsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxMnB4OyBiYWNrZ3JvdW5kOiAjRkJGREZGOyBmbGV4OiAxOyB9XG5cbi8qIOS4u+S8muWcuua3seiTneWNoeeJhyAqL1xuLmFtLWNhcmQtbWFpbiB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLW5hdnkpIDAlLCB2YXIoLS1uYXZ5LTIpIDEwMCUpO1xuICBjb2xvcjogI2ZmZjsgYm9yZGVyLXJhZGl1czogMTBweDsgcGFkZGluZzogMTRweCAxNHB4IDEycHg7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDE0cHggcmdiYSgxMCw0Miw5NCwuMjIpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS1hcHBsZS10cmFuc2l0aW9uKTtcbn1cbi5hbS1jYXJkLW1haW46aG92ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7IGJveC1zaGFkb3c6IDAgNnB4IDIwcHggcmdiYSgxMCw0Miw5NCwuMzIpOyB9XG4uYW0tY2FyZC1tYWluIC50IHsgZm9udC1zaXplOiAxNXB4OyBmb250LXdlaWdodDogODAwOyBsZXR0ZXItc3BhY2luZzogLjNweDsgfVxuLmFtLWNhcmQtbWFpbiAudGltZSB7IGZvbnQtc2l6ZTogMTJweDsgb3BhY2l0eTogLjg1OyBtYXJnaW4tdG9wOiAycHg7IH1cbi5hbS1jYXJkLW1haW4gdWwgeyBsaXN0LXN0eWxlOiBub25lOyBtYXJnaW4tdG9wOiA4cHg7IH1cbi5hbS1jYXJkLW1haW4gbGkge1xuICBmb250LXNpemU6IDEycHg7IGxpbmUtaGVpZ2h0OiAxLjU7IHBhZGRpbmc6IDRweCAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMTYpO1xuICBkaXNwbGF5OiBmbGV4OyBnYXA6IDZweDsgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xufVxuLmFtLWNhcmQtbWFpbiBsaTpmaXJzdC1jaGlsZCB7IGJvcmRlci10b3A6IG5vbmU7IH1cbi5hbS1jYXJkLW1haW4gbGkgLnRtIHsgZm9udC13ZWlnaHQ6IDcwMDsgb3BhY2l0eTogLjk1OyBmbGV4LXNocmluazogMDsgbWluLXdpZHRoOiA0NHB4OyB9XG4uYW0tbWFpbi1saW5rIHsgY29sb3I6IGluaGVyaXQ7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZGlzcGxheTogYmxvY2s7IH1cbi5hbS1tYWluLWxpbms6aG92ZXIgeyBjb2xvcjogaW5oZXJpdDsgfVxuXG4vKiDliIborrrlnZvnmb3lupXljaHniYcgKi9cbi5hbS1jYXJkIHtcbiAgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7IGJvcmRlci1yYWRpdXM6IDEwcHg7IHBhZGRpbmc6IDEycHggMTNweCAxMHB4O1xuICB0cmFuc2l0aW9uOiB2YXIoLS1hcHBsZS10cmFuc2l0aW9uKTtcbn1cbi5hbS1jYXJkOmhvdmVyIHsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1za3ktMik7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsgfVxuLmFtLWNhcmQgLnQgeyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiB2YXIoLS1za3kpOyBsaW5lLWhlaWdodDogMS40OyB9XG4uYW0tY2FyZCAubWV0YSB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgbWFyZ2luLXRvcDogM3B4OyBnYXA6IDZweDsgZmxleC13cmFwOiB3cmFwOyB9XG4uYW0tY2FyZCAubG9jIHsgZm9udC1zaXplOiAxMnB4OyBjb2xvcjogdmFyKC0tZ3JlZW4pOyBmb250LXdlaWdodDogNjAwOyB9XG4uYW0tY2FyZCAudGltZSB7IGZvbnQtc2l6ZTogMTJweDsgY29sb3I6IHZhcigtLWdyYXkpOyB9XG4uYW0tY2FyZCB1bCB7IGxpc3Qtc3R5bGU6IG5vbmU7IG1hcmdpbi10b3A6IDdweDsgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCB2YXIoLS1saW5lKTsgcGFkZGluZy10b3A6IDZweDsgfVxuLmFtLWNhcmQgbGkgeyBmb250LXNpemU6IDEycHg7IGNvbG9yOiB2YXIoLS1pbmspOyBwYWRkaW5nOiAyLjVweCAwOyBsaW5lLWhlaWdodDogMS41OyB9XG4uYW0tY2FyZCBsaTo6YmVmb3JlIHsgY29udGVudDogXCLCt1wiOyBjb2xvcjogdmFyKC0tc2t5KTsgZm9udC13ZWlnaHQ6IDcwMDsgbWFyZ2luLXJpZ2h0OiA2cHg7IH1cbi5hbS1saW5rIHsgY29sb3I6IGluaGVyaXQ7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuLmFtLWxpbms6aG92ZXIgeyBjb2xvcjogaW5oZXJpdDsgfVxuXG4vKiDpl63pl6jkvJrmtYXok53lupUgKi9cbi5hbS1jYXJkLWNsb3NlIHsgYmFja2dyb3VuZDogdmFyKC0tc2t5LWJnKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc2t5LWxpbmUpOyB9XG5cbi8qIOi/lOeoiyAqL1xuLmFtLXJldHVybiB7IHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzogNDBweCAxMHB4OyBjb2xvcjogdmFyKC0tZ3JheSk7IH1cbi5hbS1yZXR1cm4gLmljIHsgZm9udC1zaXplOiAzMHB4OyBvcGFjaXR5OiAuNTsgfVxuLmFtLXJldHVybiAudHggeyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IG1hcmdpbi10b3A6IDZweDsgY29sb3I6IHZhcigtLWdyYXkpOyB9XG5cbi8qIOW6lemDqOmAmuagjyAqL1xuLmFtLWZvb3Qge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1za3ktYmcpOyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzogMTJweCAxNnB4O1xuICBmb250LXNpemU6IDEzLjVweDsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLW5hdnkpOyBsZXR0ZXItc3BhY2luZzogLjVweDtcbn1cbi5hbS1mb290IHNwYW4geyBjb2xvcjogdmFyKC0tZ3JheSk7IGZvbnQtd2VpZ2h0OiA0MDA7IG1hcmdpbi1sZWZ0OiAxMnB4OyBsZXR0ZXItc3BhY2luZzogMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIOS8muiuruS4gOiniOihqFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ub3ZlcnZpZXctd3JhcCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ub3Ytc2Nyb2xsIHsgb3ZlcmZsb3cteDogYXV0bzsgfVxuLm92LXRhYmxlIHsgd2lkdGg6IDEwMCU7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IG1pbi13aWR0aDogODYwcHg7IH1cbi5vdi10YWJsZSB0aGVhZCB0aCB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLW5hdnkpIDAlLCB2YXIoLS1uYXZ5LTIpIDEwMCUpO1xuICBjb2xvcjogI2ZmZjsgcGFkZGluZzogMTNweCAxOHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IHRleHQtYWxpZ246IGxlZnQ7IGxldHRlci1zcGFjaW5nOiAuNXB4OyB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLm92LXRhYmxlIHRib2R5IHRkIHtcbiAgcGFkZGluZzogMTVweCAxOHB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIGZvbnQtc2l6ZTogMTRweDsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgbGluZS1oZWlnaHQ6IDEuNjtcbn1cbi5vdi10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHsgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuLm92LXRhYmxlIHRib2R5IHRyIHsgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMnM7IH1cbi5vdi10YWJsZSB0Ym9keSB0cjpob3ZlciB7IGJhY2tncm91bmQ6ICNGNkZBRkU7IH1cblxuLyog6auY5Lqu6KGMICovXG4ub3YtdGFibGUgdGJvZHkgdHIuaGwgeyBiYWNrZ3JvdW5kOiB2YXIoLS1za3ktYmcpOyB9XG4ub3YtdGFibGUgdGJvZHkgdHIuaGw6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjREZGMEZDOyB9XG4ub3YtdGFibGUgdGJvZHkgdHIuaGwgdGQ6Zmlyc3QtY2hpbGQgeyBib3gtc2hhZG93OiBpbnNldCA0cHggMCAwIHZhcigtLXNreSk7IH1cblxuLm92LXRhYmxlIC5kYXRlIHsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLW5hdnkpOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4ub3YtdGFibGUgLmRhdGUgc21hbGwgeyBkaXNwbGF5OiBibG9jazsgZm9udC1zaXplOiAxMnB4OyBjb2xvcjogdmFyKC0tZ3JheS1saWdodCk7IGZvbnQtd2VpZ2h0OiA0MDA7IH1cbi5vdi10YWJsZSAudGltZSB7IGNvbG9yOiB2YXIoLS1ncmF5KTsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgZm9udC1zaXplOiAxM3B4OyB9XG4ub3YtdGFibGUgLm5hbWUgeyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogdmFyKC0taW5rKTsgfVxuLm92LXRhYmxlIC5uYW1lIGEgeyBjb2xvcjogdmFyKC0taW5rKTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4ub3YtdGFibGUgLm5hbWUgYTpob3ZlciB7IGNvbG9yOiB2YXIoLS1za3kpOyB9XG4ub3YtdGFibGUgdHIuaGwgLm5hbWUgeyBjb2xvcjogdmFyKC0tbmF2eSk7IH1cbi5vdi10YWJsZSAudmVudWUgeyBjb2xvcjogdmFyKC0tZ3JlZW4pOyBmb250LXdlaWdodDogNjAwOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4ub3YtdGFibGUgLnRvcGljIHsgY29sb3I6IHZhcigtLWdyYXkpOyBmb250LXNpemU6IDEzcHg7IH1cbi5vdi10YWJsZSAudGFnIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDExcHg7IGZvbnQtd2VpZ2h0OiA3MDA7IHBhZGRpbmc6IDJweCAxMHB4OyBib3JkZXItcmFkaXVzOiA5OTlweDsgbWFyZ2luLWxlZnQ6IDhweDsgdmVydGljYWwtYWxpZ246IDFweDtcbn1cbi5vdi10YWJsZSAudGFnLW1haW4geyBiYWNrZ3JvdW5kOiB2YXIoLS1uYXZ5KTsgY29sb3I6ICNmZmY7IH1cbi5vdi10YWJsZSAudGFnLWNsb3NlIHsgYmFja2dyb3VuZDogdmFyKC0tc2t5LWJnKTsgY29sb3I6IHZhcigtLW5hdnkpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1za3ktbGluZSk7IH1cblxuQG1lZGlhICgtLWJwLWxnKSB7XG4gIC5hbS1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfVxuICAuYW0tY29sOm50aC1jaGlsZCgybikgeyBib3JkZXItcmlnaHQ6IG5vbmU7IH1cbiAgLmFtLWNvbDpudGgtY2hpbGQoLW4rMikgeyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7IH1cbn1cbkBtZWRpYSAoLS1icC14cykge1xuICAuYW0tZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG4gIC5hbS1jb2wgeyBib3JkZXItcmlnaHQ6IG5vbmU7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgfVxuICAuYW0tY29sOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9XG4gIC5hbS1jb2wtaGVhZCB7IHBhZGRpbmc6IDEycHggMTBweDsgfVxuICAuYW0tY29sLWhlYWQgLmQgeyBmb250LXNpemU6IDE3cHg7IH1cbiAgLmFtLXJldHVybiB7IHBhZGRpbmc6IDIwcHggMTBweDsgfVxuICAub3YtdGFibGUgeyBtaW4td2lkdGg6IDcyMHB4OyB9XG59XG5cbi8qIOWYieWuvuWNoeeJhyAqL1xuLnNwZWFrZXItY2FyZCB7IGRpc3BsYXk6IGZsZXg7IGdhcDogMTZweDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7IHBhZGRpbmc6IDE4cHg7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7IHRyYW5zaXRpb246IGFsbCAuMjVzOyB9XG4uc3BlYWtlci1jYXJkOmhvdmVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpOyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbGcpOyBib3JkZXItY29sb3I6IHZhcigtLXNreSk7IH1cbi5zcGVha2VyLWNhcmQgLmF2LXdyYXAgeyB3aWR0aDogNjRweDsgaGVpZ2h0OiA2NHB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGZsZXgtc2hyaW5rOiAwOyBvdmVyZmxvdzogaGlkZGVuOyBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLDAsMCwuMTIpOyB9XG4uc3BlYWtlci1jYXJkIC5hdi1pbWcgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBvYmplY3QtZml0OiBjb3ZlcjsgZGlzcGxheTogYmxvY2s7IH1cbi5zcGVha2VyLWNhcmQgYiB7IGZvbnQtc2l6ZTogMTUuNXB4OyBjb2xvcjogdmFyKC0tbmF2eSk7IH1cbi5zcGVha2VyLWNhcmQgc21hbGwgeyBjb2xvcjogdmFyKC0tZ3JheSk7IGRpc3BsYXk6IGJsb2NrOyBmb250LXNpemU6IDEyLjVweDsgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG4vKiDlkIjkvZzljZXkvY0gKi9cbi5wYXJ0bmVyLXdyYXAgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGdhcDogMTJweDsgfVxuLnBhcnRuZXItdGFnIHsgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7IGJvcmRlci1yYWRpdXM6IDhweDsgcGFkZGluZzogMTBweCAyMnB4OyBmb250LXNpemU6IDE1cHg7IGNvbG9yOiB2YXIoLS1uYXZ5KTsgZm9udC13ZWlnaHQ6IDYwMDsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTsgfVxuLnBhcnRuZXItaXRlbSB7IGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBib3JkZXItcmFkaXVzOiA4cHg7IHBhZGRpbmc6IDEwcHggMThweDsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IG1pbi1oZWlnaHQ6IDQ2cHg7IG1pbi13aWR0aDogOTZweDsgdHJhbnNpdGlvbjogYWxsIC4yNXM7IH1cbi5wYXJ0bmVyLWl0ZW06aG92ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sZyk7IGJvcmRlci1jb2xvcjogdmFyKC0tc2t5KTsgfVxuLnBhcnRuZXItbG9nbyB7IG1heC1oZWlnaHQ6IDM0cHg7IG1heC13aWR0aDogMTUwcHg7IHdpZHRoOiBhdXRvOyBoZWlnaHQ6IGF1dG87IG9iamVjdC1maXQ6IGNvbnRhaW47IGRpc3BsYXk6IGJsb2NrOyB9XG4ucGFydG5lci1ncm91cCBoNCB7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLWdyYXkpOyBtYXJnaW4tYm90dG9tOiAxMnB4OyBmb250LXdlaWdodDogNjAwOyBsZXR0ZXItc3BhY2luZzogMXB4OyB9XG5cbi8qIOaWsOmXu+WNoeeJhyAqL1xuLm5ld3MtY2FyZCB7IGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyBwYWRkaW5nOiAyMnB4OyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpOyB0cmFuc2l0aW9uOiBhbGwgLjI1czsgZGlzcGxheTogYmxvY2s7IGNvbG9yOiB2YXIoLS1pbmspOyBoZWlnaHQ6IDEwMCU7IH1cbi5uZXdzLWNhcmQ6aG92ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sZyk7IGJvcmRlci1jb2xvcjogdmFyKC0tc2t5KTsgfVxuLm5ld3MtY2FyZCAuZGF0ZSB7IGZvbnQtc2l6ZTogMTIuNXB4OyBjb2xvcjogdmFyKC0tZ3JheSk7IH1cbi5uZXdzLWNhcmQgaDQgeyBmb250LXNpemU6IDE2cHg7IGNvbG9yOiB2YXIoLS1uYXZ5KTsgbWFyZ2luOiA4cHggMDsgbGluZS1oZWlnaHQ6IDEuNTsgfVxuLm5ld3MtY2FyZCBwIHsgZm9udC1zaXplOiAxMy41cHg7IGNvbG9yOiB2YXIoLS1ncmF5KTsgfVxuLm5ld3MtY2FyZCAubW9yZSB7IGNvbG9yOiB2YXIoLS1za3kpOyBmb250LXNpemU6IDEzcHg7IGZvbnQtd2VpZ2h0OiA2MDA7IG1hcmdpbi10b3A6IDEwcHg7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKiDlvoDlsYrlm57pob4gKi9cbi5yZXZpZXctY2FyZCB7IGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyBwYWRkaW5nOiAyNHB4OyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbi5yZXZpZXctY2FyZCAueWVhciB7IGZvbnQtc2l6ZTogMzRweDsgZm9udC13ZWlnaHQ6IDgwMDsgY29sb3I6IHZhcigtLW5hdnkpOyB9XG4ucmV2aWV3LWNhcmQgLmNpdHkgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJhY2tncm91bmQ6IHZhcigtLXNreS1iZyk7IGNvbG9yOiB2YXIoLS1za3kpOyBmb250LXNpemU6IDEzcHg7IHBhZGRpbmc6IDNweCAxNHB4OyBib3JkZXItcmFkaXVzOiAyMHB4OyBtYXJnaW46IDhweCAwOyBmb250LXdlaWdodDogNjAwOyB9XG4ucmV2aWV3LWNhcmQgaDUgeyBmb250LXNpemU6IDE1cHg7IGNvbG9yOiB2YXIoLS1uYXZ5KTsgfVxuLnJldmlldy1jYXJkIHAgeyBmb250LXNpemU6IDEzcHg7IGNvbG9yOiB2YXIoLS1ncmF5KTsgbWFyZ2luLXRvcDogNnB4OyB9XG5cbi8qIC0tLS0tLS0tLS0g6aG16ISaIC0tLS0tLS0tLS0gKi9cbi5mb290ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1uYXZ5KTsgY29sb3I6IHZhcigtLW5hdnktdGV4dC1kaW0pOyBwYWRkaW5nOiA1NnB4IDAgMDsgZm9udC1zaXplOiAxNHB4OyB9XG4uZm9vdGVyIC5ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjRmciAxZnIgMWZyIDEuMmZyOyBnYXA6IDM2cHg7IHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG4uZm9vdGVyIGg0IHsgY29sb3I6ICNmZmY7IGZvbnQtc2l6ZTogMTZweDsgbWFyZ2luLWJvdHRvbTogMThweDsgZm9udC13ZWlnaHQ6IDcwMDsgfVxuLmZvb3RlciBhIHsgY29sb3I6IHZhcigtLW5hdnktdGV4dC1kaW0pOyBkaXNwbGF5OiBibG9jazsgcGFkZGluZzogNXB4IDA7IH1cbi5mb290ZXIgYTpob3ZlciB7IGNvbG9yOiAjZmZmOyB9XG4uZm9vdGVyLWxvZ28geyBoZWlnaHQ6IDU2cHg7IHdpZHRoOiBhdXRvOyBtYXJnaW4tYm90dG9tOiAxNnB4OyBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpOyB9XG4uZm9vdGVyIC5hYm91dCBwIHsgZm9udC1zaXplOiAxMy41cHg7IGxpbmUtaGVpZ2h0OiAxLjg7IG1hcmdpbi10b3A6IDEycHg7IH1cbi5mb290ZXIgLmNvbnRhY3QgcCB7IHBhZGRpbmc6IDVweCAwOyB9XG4uZm9vdGVyIC5ib3R0b20geyBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMSk7IHBhZGRpbmc6IDE4cHggMDsgdGV4dC1hbGlnbjogY2VudGVyOyBmb250LXNpemU6IDEyLjVweDsgY29sb3I6ICM4RkE2Qzg7IH1cblxuLyogLS0tLS0tLS0tLSDpobXpnaLlpLQgKOW4puiDjOaZr+WbvikgLS0tLS0tLS0tLSAqL1xuLnBhZ2UtaGVybyB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMjBkZWcsIHZhcigtLW5hdnkpLCB2YXIoLS1uYXZ5LTIpIDYwJSwgdmFyKC0tYWNjZW50KSk7IGJhY2tncm91bmQtc2l6ZTogY292ZXI7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgY29sb3I6ICNmZmY7IHBhZGRpbmc6IDY0cHggMDsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4ucGFnZS1oZXJvLW92ZXJsYXkgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDEwLDQyLDk0LC43NSkgMCUsIHJnYmEoMTAsNDIsOTQsLjg1KSAxMDAlKTsgfVxuLnBhZ2UtaGVybyAuY29udGFpbmVyIHsgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAyOyB9XG4ucGFnZS1oZXJvIGgxIHsgZm9udC1zaXplOiAzMnB4OyBmb250LXdlaWdodDogODAwOyBsZXR0ZXItc3BhY2luZzogMXB4OyB0ZXh0LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwwLDAsLjIpOyB9XG4ucGFnZS1oZXJvIC5zdWIgeyBjb2xvcjogdmFyKC0tbmF2eS10ZXh0KTsgbWFyZ2luLXRvcDogOHB4OyBmb250LXNpemU6IDE1cHg7IHRleHQtc2hhZG93OiAwIDFweCA0cHggcmdiYSgwLDAsMCwuMik7IH1cbi5icmVhZGNydW1iIHsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogdmFyKC0tbmF2eS10ZXh0KTsgbWFyZ2luLXRvcDogMTBweDsgfVxuLmJyZWFkY3J1bWIgYSB7IGNvbG9yOiB2YXIoLS1uYXZ5LXRleHQpOyB9XG4uYnJlYWRjcnVtYiBhOmhvdmVyIHsgY29sb3I6ICNmZmY7IH1cblxuLyogLS0tLS0tLS0tLSDog4zmma/lm77mnb/lnZcgLS0tLS0tLS0tLSAqL1xuLmJnLXNlY3Rpb24geyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuLmJnLXNlY3Rpb24tb3ZlcmxheSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IGJhY2tncm91bmQ6IHJnYmEoMTAsNDIsOTQsLjgyKTsgfVxuLmJnLXNlY3Rpb24gLmNvbnRhaW5lciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMjsgfVxuXG4vKiAtLS0tLS0tLS0tIOavm+eOu+eSg+WNoeeJhyAtLS0tLS0tLS0tICovXG4uZ2xhc3Mge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4xKTsgYmFja2Ryb3AtZmlsdGVyOiB2YXIoLS1hcHBsZS1ibHVyKTsgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IHZhcigtLWFwcGxlLWJsdXIpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xNSk7IGJvcmRlci1yYWRpdXM6IHZhcigtLWFwcGxlLXJhZGl1cy1sZyk7XG59XG4ucmV2aWV3LWNhcmQuZ2xhc3MgeyBjb2xvcjogdmFyKC0taW5rKTsgcGFkZGluZzogMjRweDsgdHJhbnNpdGlvbjogdmFyKC0tYXBwbGUtdHJhbnNpdGlvbik7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjkyKTsgfVxuLnJldmlldy1jYXJkLmdsYXNzOmhvdmVyIHsgYmFja2dyb3VuZDogI2ZmZjsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpOyBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMCwwLDAsLjIpOyB9XG4ucmV2aWV3LWNhcmQuZ2xhc3MgLnllYXIgeyBmb250LXNpemU6IDI4cHg7IGZvbnQtd2VpZ2h0OiA4MDA7IGNvbG9yOiB2YXIoLS1uYXZ5KTsgfVxuLnJldmlldy1jYXJkLmdsYXNzIC5jaXR5IHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tYXBwbGUtYmx1ZSk7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cbi5yZXZpZXctY2FyZC5nbGFzcyBoNSB7IGZvbnQtc2l6ZTogMTVweDsgY29sb3I6IHZhcigtLW5hdnkpOyBtYXJnaW4tdG9wOiA4cHg7IH1cbi5yZXZpZXctY2FyZC5nbGFzcyBwIHsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogdmFyKC0tZ3JheSk7IG1hcmdpbi10b3A6IDZweDsgfVxuYS5yZXZpZXctY2FyZCB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZGlzcGxheTogYmxvY2s7IH1cbmEucmV2aWV3LWNhcmQ6aG92ZXIgaDUgeyBjb2xvcjogdmFyKC0tc2t5KTsgfVxuLnJldmlldy1jYXJkIC5ydi1tb3JlIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW4tdG9wOiAxMHB4OyBmb250LXNpemU6IDEzcHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiB2YXIoLS1za3kpOyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzOyB9XG5hLnJldmlldy1jYXJkOmhvdmVyIC5ydi1tb3JlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7IH1cblxuLyog5b6A5bGK5aSn5LyaIExPR08g5Y2h54mHICovXG4ucmV2aWV3LWNhcmQgLnJ2LWxvZ28geyB3aWR0aDogODhweDsgaGVpZ2h0OiA4OHB4OyBtYXJnaW46IDAgYXV0byAxMnB4OyBkaXNwbGF5OiBibG9jazsgYm9yZGVyLXJhZGl1czogMThweDsgYm94LXNoYWRvdzogMCA0cHggMTRweCByZ2JhKDAsMCwwLC4xNSk7IH1cbi5yZXZpZXctY2FyZCAucnYtbnVtIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDEycHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiB2YXIoLS1uYXZ5KTsgYmFja2dyb3VuZDogdmFyKC0tc2t5LWJnKTsgcGFkZGluZzogMnB4IDEycHg7IGJvcmRlci1yYWRpdXM6IDIwcHg7IG1hcmdpbi1ib3R0b206IDhweDsgbGV0dGVyLXNwYWNpbmc6IC41cHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICDlvoDlsYrlm57pob7or6bmg4XpobVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnJkLWludHJvIHsgZGlzcGxheTogZmxleDsgZ2FwOiAzNnB4OyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgZmxleC13cmFwOiB3cmFwOyB9XG4ucmQtbG9nbyB7IGZsZXgtc2hyaW5rOiAwOyB9XG4ucmQtbG9nby1pbWcgeyB3aWR0aDogMTgwcHg7IGhlaWdodDogMTgwcHg7IGJvcmRlci1yYWRpdXM6IDIycHg7IGJveC1zaGFkb3c6IDAgOHB4IDI4cHggcmdiYSgxMCw0Miw5NCwuMTgpOyBiYWNrZ3JvdW5kOiAjZmZmOyBwYWRkaW5nOiAxOHB4OyB9XG4ucmQtaW5mbyB7IGZsZXg6IDE7IG1pbi13aWR0aDogMzAwcHg7IH1cbi5yZC10YWdzIHsgZGlzcGxheTogZmxleDsgZ2FwOiAxMHB4OyBmbGV4LXdyYXA6IHdyYXA7IG1hcmdpbi1ib3R0b206IDE0cHg7IH1cbi5yZC10YWcgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IDcwMDsgcGFkZGluZzogNHB4IDE2cHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1za3ktYmcpOyBjb2xvcjogdmFyKC0tbmF2eSk7IH1cbi5yZC10YWcteWVhciB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLW5hdnkpLCB2YXIoLS1uYXZ5LTIpKTsgY29sb3I6ICNmZmY7IH1cbi5yZC10YWctY2l0eSB7IGJhY2tncm91bmQ6IHZhcigtLWdyZWVuLWJnKTsgY29sb3I6IHZhcigtLWdyZWVuKTsgfVxuLnJkLXRoZW1lIHsgZm9udC1zaXplOiAyNnB4OyBmb250LXdlaWdodDogODAwOyBjb2xvcjogdmFyKC0tbmF2eSk7IG1hcmdpbi1ib3R0b206IDEycHg7IH1cbi5yZC1kZXNjIHsgZm9udC1zaXplOiAxNXB4OyBjb2xvcjogdmFyKC0tZ3JheSk7IGxpbmUtaGVpZ2h0OiAxLjk7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbi5yZC1tZXRhIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxMHB4OyB9XG4ucmQtbWV0YS1pdGVtIHsgZGlzcGxheTogZmxleDsgZ2FwOiAxNHB4OyBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cbi5yZC1tZXRhLWxhYmVsIHsgZmxleC1zaHJpbms6IDA7IHdpZHRoOiA3MnB4OyBmb250LXNpemU6IDEzcHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiB2YXIoLS1ncmF5LWxpZ2h0KTsgfVxuLnJkLW1ldGEtdmFsIHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0taW5rKTsgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4vKiDlpKfkvJrkuq7ngrkgKi9cbi5yZC1oaWdobGlnaHRzIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxNHB4OyB9XG4ucmQtaGwtaXRlbSB7IGRpc3BsYXk6IGZsZXg7IGdhcDogMTRweDsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBib3JkZXItbGVmdDogNHB4IHNvbGlkIHZhcigtLXNreSk7IGJvcmRlci1yYWRpdXM6IDEwcHg7IHBhZGRpbmc6IDE2cHggMjBweDsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTsgfVxuLnJkLWhsLWRvdCB7IGZsZXgtc2hyaW5rOiAwOyB3aWR0aDogOHB4OyBoZWlnaHQ6IDhweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiB2YXIoLS1za3kpOyBtYXJnaW4tdG9wOiA4cHg7IH1cbi5yZC1obC1pdGVtIHAgeyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1pbmspOyBsaW5lLWhlaWdodDogMS44OyB9XG5cbi8qIOeOsOWcuueFp+eJhyAqL1xuLnJkLXBob3RvcyB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7IGdhcDogMThweDsgfVxuLnJkLXBob3RvIHsgYm9yZGVyLXJhZGl1czogMTJweDsgb3ZlcmZsb3c6IGhpZGRlbjsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7IGJhY2tncm91bmQ6ICNmZmY7IG1hcmdpbjogMDsgfVxuLnJkLXBob3RvIGltZyB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDE5MHB4OyBvYmplY3QtZml0OiBjb3ZlcjsgZGlzcGxheTogYmxvY2s7IHRyYW5zaXRpb246IHZhcigtLWFwcGxlLXRyYW5zaXRpb24pOyB9XG4ucmQtcGhvdG86aG92ZXIgaW1nIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KTsgfVxuLnJkLXBob3RvIGZpZ2NhcHRpb24geyBmb250LXNpemU6IDEyLjVweDsgY29sb3I6IHZhcigtLWdyYXkpOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHBhZGRpbmc6IDEwcHggOHB4OyB9XG5cbi8qIOWuo+S8oOaKpemBkyAqL1xuLnJkLW5ld3MgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDEycHg7IH1cbi5yZC1uZXdzLWl0ZW0geyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDE2cHg7IGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBib3JkZXItcmFkaXVzOiAxMnB4OyBwYWRkaW5nOiAxNnB4IDIwcHg7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7IHRyYW5zaXRpb246IHZhcigtLWFwcGxlLXRyYW5zaXRpb24pOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbi5yZC1uZXdzLWl0ZW06aG92ZXIgeyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbGcpOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7IGJvcmRlci1jb2xvcjogdmFyKC0tc2t5LTIpOyB9XG4ucmQtbmV3cy1pY29uIHsgZm9udC1zaXplOiAyNHB4OyBmbGV4LXNocmluazogMDsgfVxuLnJkLW5ld3MtYm9keSB7IGZsZXg6IDE7IG1pbi13aWR0aDogMDsgfVxuLnJkLW5ld3MtdGl0bGUgeyBmb250LXNpemU6IDE1cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiB2YXIoLS1pbmspOyBsaW5lLWhlaWdodDogMS42OyB9XG4ucmQtbmV3cy1pdGVtOmhvdmVyIC5yZC1uZXdzLXRpdGxlIHsgY29sb3I6IHZhcigtLXNreSk7IH1cbi5yZC1uZXdzLXNyYyB7IGZvbnQtc2l6ZTogMTIuNXB4OyBjb2xvcjogdmFyKC0tZ3JheS1saWdodCk7IG1hcmdpbi10b3A6IDRweDsgfVxuLnJkLW5ld3MtZ28geyBmb250LXNpemU6IDE4cHg7IGNvbG9yOiB2YXIoLS1za3kpOyBmbGV4LXNocmluazogMDsgZm9udC13ZWlnaHQ6IDcwMDsgfVxuLnJkLW5ld3Mtbm90ZSB7IG1hcmdpbi10b3A6IDE0cHg7IGZvbnQtc2l6ZTogMTJweDsgY29sb3I6IHZhcigtLWdyYXktbGlnaHQpOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLyog5LiK5LiA5bGKIC8g5LiL5LiA5bGK5a+86IiqICovXG4ucmQtbmF2IHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBnYXA6IDE2cHg7IH1cbi5yZC1uYXYtYnRuIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMnB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBib3JkZXItcmFkaXVzOiAxMnB4OyBwYWRkaW5nOiAxMnB4IDE4cHg7IGJhY2tncm91bmQ6ICNmZmY7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7IHRyYW5zaXRpb246IHZhcigtLWFwcGxlLXRyYW5zaXRpb24pOyB9XG4ucmQtbmF2LWJ0bjpob3ZlciB7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sZyk7IGJvcmRlci1jb2xvcjogdmFyKC0tc2t5LTIpOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7IH1cbi5yZC1uYXYtYXJyb3cgeyBmb250LXNpemU6IDIwcHg7IGNvbG9yOiB2YXIoLS1za3kpOyBmb250LXdlaWdodDogNzAwOyB9XG4ucmQtbmF2LXR4dCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbi5yZC1uYXYtdHh0IHNtYWxsIHsgZm9udC1zaXplOiAxMnB4OyBjb2xvcjogdmFyKC0tZ3JheS1saWdodCk7IH1cbi5yZC1uYXYtdHh0IHN0cm9uZyB7IGZvbnQtc2l6ZTogMTVweDsgY29sb3I6IHZhcigtLW5hdnkpOyBmb250LXdlaWdodDogODAwOyB9XG4ucmQtbmF2LW5leHQgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG5AbWVkaWEgKC0tYnAtc20pIHtcbiAgLnJkLWludHJvIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAyNHB4OyB9XG4gIC5yZC1sb2dvLWltZyB7IHdpZHRoOiAxNDBweDsgaGVpZ2h0OiAxNDBweDsgfVxuICAucmQtcGhvdG9zIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfVxuICAucmQtcGhvdG8gaW1nIHsgaGVpZ2h0OiAxNTBweDsgfVxuICAucmQtbmF2IHsgZmxleC13cmFwOiB3cmFwOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAucmQtbmF2LWJ0biB7IGZsZXg6IDE7IG1pbi13aWR0aDogMjAwcHg7IH1cbn1cblxuLyogLS0tLS0tLS0tLSDlv6vpgJ/lr7zoiKogU1ZHIOWbvuaghyAtLS0tLS0tLS0tICovXG4ucXVpY2stbmF2IC5pdGVtIC5xbi1zdmcgeyB3aWR0aDogMjhweDsgaGVpZ2h0OiAyOHB4OyBjb2xvcjogdmFyKC0tYXBwbGUtYmx1ZSk7IG1hcmdpbi1ib3R0b206IDZweDsgdHJhbnNpdGlvbjogdmFyKC0tYXBwbGUtdHJhbnNpdGlvbik7IH1cbi5xdWljay1uYXYgLml0ZW06aG92ZXIgLnFuLXN2ZyB7IGNvbG9yOiB2YXIoLS1hcHBsZS1ibHVlLWhvdmVyKTsgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG5cbi8qIC0tLS0tLS0tLS0g6K6u56iL6aG1IC0tLS0tLS0tLS0gKi9cbi5kYXktYmxvY2sgeyBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4uZGF5LXRpdGxlIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxNHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4uZGF5LXRpdGxlIC5iYWRnZSB7IGJhY2tncm91bmQ6IHZhcigtLW5hdnkpOyBjb2xvcjogI2ZmZjsgcGFkZGluZzogNnB4IDE4cHg7IGJvcmRlci1yYWRpdXM6IDhweDsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiAxNXB4OyB9XG4uZGF5LXRpdGxlIGgyIHsgZm9udC1zaXplOiAyMnB4OyBjb2xvcjogdmFyKC0tbmF2eSk7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLyog6K6u56iL6K+m5oOFICovXG4uc2Vzc2lvbi10YWJsZSB7IHdpZHRoOiAxMDAlOyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyBmb250LXNpemU6IDE0LjVweDsgfVxuLyog5a696KGo5YaF5bWM5rua5Yqo77ya6YG/5YWN56qE5bGP5pW06aG15qiq5ZCR5rua5YqoIC8g5YaF5a656KKr6KOB5YmqICovXG4udGFibGUtc2Nyb2xsIHsgb3ZlcmZsb3cteDogYXV0bzsgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5AbWVkaWEgKC0tYnAtc20pIHsgLnNlc3Npb24tdGFibGUgeyBtaW4td2lkdGg6IDY0MHB4OyB9IH1cbi5zZXNzaW9uLXRhYmxlIHRoIHsgYmFja2dyb3VuZDogdmFyKC0tbmF2eSk7IGNvbG9yOiAjZmZmOyBwYWRkaW5nOiAxMnB4IDE2cHg7IHRleHQtYWxpZ246IGxlZnQ7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbi5zZXNzaW9uLXRhYmxlIHRkIHsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7IHBhZGRpbmc6IDEycHggMTZweDsgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuLnNlc3Npb24tdGFibGUgdHI6bnRoLWNoaWxkKGV2ZW4pIHRkIHsgYmFja2dyb3VuZDogdmFyKC0tYmcpOyB9XG4uc2Vzc2lvbi10YWJsZSAudGltZSB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiB2YXIoLS1uYXZ5KTsgfVxuLnNlc3Npb24tdGFibGUgLnNwZWFrZXIgeyBjb2xvcjogdmFyKC0tZ3JheSk7IGZvbnQtc2l6ZTogMTMuNXB4OyB9XG4udmVudWUtYmFubmVyIHsgYmFja2dyb3VuZDogdmFyKC0tc2t5LWJnKTsgYm9yZGVyOiAxcHggc29saWQgI0NCRTRGQTsgYm9yZGVyLXJhZGl1czogMTBweDsgcGFkZGluZzogMTZweCAyMnB4OyBkaXNwbGF5OiBmbGV4OyBnYXA6IDMwcHg7IGZsZXgtd3JhcDogd3JhcDsgbWFyZ2luLWJvdHRvbTogMjhweDsgfVxuLnZlbnVlLWJhbm5lciAuaXRlbSB7IGZvbnQtc2l6ZTogMTRweDsgfVxuLnZlbnVlLWJhbm5lciAuaXRlbSBiIHsgY29sb3I6IHZhcigtLW5hdnkpOyBkaXNwbGF5OiBibG9jazsgZm9udC1zaXplOiAxNXB4OyB9XG4udmVudWUtYmFubmVyIC5pdGVtIHNwYW4geyBjb2xvcjogdmFyKC0tZ3JheSk7IGZvbnQtc2l6ZTogMTIuNXB4OyB9XG5cbi8qIC0tLS0tLS0tLS0g5ZiJ5a6+6aG1IC0tLS0tLS0tLS0gKi9cbi8qIOe7n+S4gOWTjeW6lOW8j+agheagvO+8muahjOmdouWIl+aVsOWcqOS4i+aWuembhuS4reWumuS5ie+8jOWqkuS9k+afpeivouWPquaUueWIl+aVsO+8iOabv+S7o+inhuWbvuWGheiBlCBncmlk77yM5L+u5aSN56e75Yqo56uv5qiq5rua77yJICovXG4uc3BlYWtlci1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTsgZ2FwOiAyMHB4OyB9XG4ubmV3cy1ncmlkICAgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyBnYXA6IDIwcHg7IH1cbi5yZXZpZXctZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7IGdhcDogMjBweDsgfVxuLmV4aGliaXRvci1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTsgZ2FwOiAyMHB4OyB9XG4uY29udGFjdC1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBnYXA6IDI4cHg7IH1cbi5hYm91dC1ncmlkICB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS40ZnIgMWZyOyBnYXA6IDI4cHg7IH1cbi5ob3RlbC1ncmlkICB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IGdhcDogMjBweDsgfVxuLnBvc3Rlci1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgZ2FwOiAyMHB4OyB9XG4ubWVkaWEtZ3JpZCAgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyBnYXA6IDIwcHg7IH1cbi5zcGVha2VyLWZ1bGwgeyBiYWNrZ3JvdW5kOiAjZmZmOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgcGFkZGluZzogMjRweDsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTsgdHJhbnNpdGlvbjogYWxsIC4yNXM7IH1cbi5zcGVha2VyLWZ1bGw6aG92ZXIgeyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbGcpOyBib3JkZXItY29sb3I6IHZhcigtLXNreSk7IH1cbi5zcGVha2VyLWZ1bGwgLmhlYWQgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDE4cHg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbi5zcGVha2VyLWZ1bGwgLmF2IHsgd2lkdGg6IDc2cHg7IGhlaWdodDogNzZweDsgYm9yZGVyLXJhZGl1czogNTAlOyBmbGV4LXNocmluazogMDsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tbmF2eSksIHZhcigtLXNreSkpOyBjb2xvcjogI2ZmZjsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGZvbnQtc2l6ZTogMjhweDsgZm9udC13ZWlnaHQ6IDcwMDsgfVxuLnNwZWFrZXItZnVsbCBoMyB7IGZvbnQtc2l6ZTogMThweDsgY29sb3I6IHZhcigtLW5hdnkpOyB9XG4uc3BlYWtlci1mdWxsIC5wb3MgeyBjb2xvcjogdmFyKC0tZ3JheSk7IGZvbnQtc2l6ZTogMTNweDsgbWFyZ2luLXRvcDogMnB4OyB9XG4uc3BlYWtlci1mdWxsIC5hZmYgeyBjb2xvcjogdmFyKC0tZ3JheSk7IGZvbnQtc2l6ZTogMTNweDsgfVxuLnNwZWFrZXItZnVsbCAuYmlvIHsgZm9udC1zaXplOiAxMy41cHg7IGNvbG9yOiB2YXIoLS1ncmF5KTsgbWFyZ2luLXRvcDogMTRweDsgbGluZS1oZWlnaHQ6IDEuODsgfVxuLnNwZWFrZXItZnVsbCAudG9waWMgeyBtYXJnaW4tdG9wOiAxMnB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1za3ktYmcpOyBib3JkZXItcmFkaXVzOiA4cHg7IHBhZGRpbmc6IDEwcHggMTRweDsgZm9udC1zaXplOiAxMy41cHg7IGNvbG9yOiB2YXIoLS1uYXZ5KTsgfVxuLnNwZWFrZXItZnVsbCAuZXhwYW5kIHsgbWFyZ2luLXRvcDogMTJweDsgY29sb3I6IHZhcigtLXNreSk7IGZvbnQtd2VpZ2h0OiA2MDA7IGZvbnQtc2l6ZTogMTMuNXB4OyBjdXJzb3I6IHBvaW50ZXI7IGJhY2tncm91bmQ6IG5vbmU7IGJvcmRlcjogbm9uZTsgfVxuLnNwZWFrZXItZnVsbCAuZXhwYW5kOmhvdmVyIHsgY29sb3I6IHZhcigtLW5hdnkpOyB9XG5cbi8qIC0tLS0tLS0tLS0g5rW35oql6aG1IC0tLS0tLS0tLS0gKi9cbi5wb3N0ZXItY2FyZCB7IGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyBwYWRkaW5nOiAyNHB4OyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpOyB0cmFuc2l0aW9uOiBhbGwgLjI1czsgZGlzcGxheTogYmxvY2s7IGNvbG9yOiB2YXIoLS1pbmspOyBoZWlnaHQ6IDEwMCU7IH1cbi5wb3N0ZXItY2FyZDpob3ZlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWxnKTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1za3kpOyB9XG4ucG9zdGVyLWNhcmQgLmNhdCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgYmFja2dyb3VuZDogdmFyKC0tc2t5LWJnKTsgY29sb3I6IHZhcigtLXNreSk7IGZvbnQtc2l6ZTogMTJweDsgcGFkZGluZzogM3B4IDEycHg7IGJvcmRlci1yYWRpdXM6IDIwcHg7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbi5wb3N0ZXItY2FyZCBoMyB7IGZvbnQtc2l6ZTogMTYuNXB4OyBjb2xvcjogdmFyKC0tbmF2eSk7IG1hcmdpbjogMTBweCAwIDZweDsgbGluZS1oZWlnaHQ6IDEuNTsgfVxuLnBvc3Rlci1jYXJkIC5hdXRob3IgeyBmb250LXNpemU6IDEzLjVweDsgY29sb3I6IHZhcigtLWdyYXkpOyB9XG4ucG9zdGVyLWNhcmQgLmF1dGhvciBiIHsgY29sb3I6IHZhcigtLWluayk7IH1cbi5wb3N0ZXItY2FyZCAuZ28geyBjb2xvcjogdmFyKC0tc2t5KTsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAxMy41cHg7IG1hcmdpbi10b3A6IDEwcHg7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKiDmtbfmiqXlvoHpm4bmqKrluYUgKi9cbi5jYWxsLWJhbm5lciB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMjBkZWcsIHZhcigtLW5hdnkpLCB2YXIoLS1hY2NlbnQpKTsgY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7IHBhZGRpbmc6IDM2cHg7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAyNHB4OyBmbGV4LXdyYXA6IHdyYXA7IH1cbi5jYWxsLWJhbm5lciBoMyB7IGZvbnQtc2l6ZTogMjJweDsgZm9udC13ZWlnaHQ6IDgwMDsgfVxuLmNhbGwtYmFubmVyIHAgeyBjb2xvcjogdmFyKC0tbmF2eS10ZXh0KTsgZm9udC1zaXplOiAxNHB4OyBtYXJnaW4tdG9wOiA4cHg7IG1heC13aWR0aDogNzIwcHg7IH1cblxuLyogLS0tLS0tLS0tLSDlsZXop4jpobUgLS0tLS0tLS0tLSAqL1xuLmV4cG8taGVybyB7IGJhY2tncm91bmQ6IHZhcigtLXNreS1iZyk7IGJvcmRlcjogMXB4IHNvbGlkICNDQkU0RkE7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7IHBhZGRpbmc6IDMwcHg7IG1hcmdpbi1ib3R0b206IDM2cHg7IH1cbi5leHBvLWhlcm8gaDIgeyBmb250LXNpemU6IDI0cHg7IGNvbG9yOiB2YXIoLS1uYXZ5KTsgZm9udC13ZWlnaHQ6IDgwMDsgfVxuLmV4cG8taGVybyBwIHsgY29sb3I6IHZhcigtLWdyYXkpOyBtYXJnaW4tdG9wOiA4cHg7IGZvbnQtc2l6ZTogMTQuNXB4OyB9XG4uZXhwby1oZXJvIC5tZXRhIHsgZGlzcGxheTogZmxleDsgZ2FwOiAzMHB4OyBmbGV4LXdyYXA6IHdyYXA7IG1hcmdpbi10b3A6IDE2cHg7IGZvbnQtc2l6ZTogMTRweDsgfVxuLmV4cG8taGVybyAubWV0YSBiIHsgY29sb3I6IHZhcigtLW5hdnkpOyB9XG4uZXhoaWJpdG9yLWNhcmQgeyBiYWNrZ3JvdW5kOiAjZmZmOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgcGFkZGluZzogMjRweDsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTsgdHJhbnNpdGlvbjogYWxsIC4yNXM7IGhlaWdodDogMTAwJTsgfVxuLmV4aGliaXRvci1jYXJkOmhvdmVyIHsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWxnKTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1za3kpOyB9XG4uZXhoaWJpdG9yLWNhcmQgLmJvb3RoIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBiYWNrZ3JvdW5kOiB2YXIoLS1uYXZ5KTsgY29sb3I6ICNmZmY7IGZvbnQtc2l6ZTogMTIuNXB4OyBwYWRkaW5nOiAzcHggMTJweDsgYm9yZGVyLXJhZGl1czogNnB4OyBmb250LXdlaWdodDogNzAwOyB9XG4uZXhoaWJpdG9yLWNhcmQgaDMgeyBmb250LXNpemU6IDE3cHg7IGNvbG9yOiB2YXIoLS1uYXZ5KTsgbWFyZ2luOiAxMHB4IDAgNnB4OyB9XG4uZXhoaWJpdG9yLWNhcmQgcCB7IGZvbnQtc2l6ZTogMTMuNXB4OyBjb2xvcjogdmFyKC0tZ3JheSk7IH1cbi5leGhpYml0b3ItY2FyZCAuZXhoaWJpdG9yLWxvZ28geyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgbWluLWhlaWdodDogNjRweDsgbWFyZ2luOiAxMnB4IDAgNnB4OyB9XG4uZXhoaWJpdG9yLWNhcmQgLmV4aGliaXRvci1sb2dvLWltZyB7IG1heC13aWR0aDogMTAwJTsgbWF4LWhlaWdodDogNTZweDsgd2lkdGg6IGF1dG87IGhlaWdodDogYXV0bzsgb2JqZWN0LWZpdDogY29udGFpbjsgfVxuXG4vKiAtLS0tLS0tLS0tIOWqkuS9k+mhtSAtLS0tLS0tLS0tICovXG4uZ2FsbGVyeS1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTsgZ2FwOiAxNnB4OyB9XG4uZ2FsbGVyeS1pdGVtIHsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgb3ZlcmZsb3c6IGhpZGRlbjsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7IHBvc2l0aW9uOiByZWxhdGl2ZTsgYXNwZWN0LXJhdGlvOiA0LzM7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLW5hdnkpLCB2YXIoLS1za3kpKTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGNvbG9yOiAjZmZmOyB9XG4uZ2FsbGVyeS1pdGVtIC5waCB7IGZvbnQtc2l6ZTogNDBweDsgfVxuLmdhbGxlcnktaXRlbSAuY2FwIHsgcG9zaXRpb246IGFic29sdXRlOyBib3R0b206IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBiYWNrZ3JvdW5kOiByZ2JhKDEwLDQyLDk0LC43NSk7IHBhZGRpbmc6IDhweCAxMnB4OyBmb250LXNpemU6IDEzcHg7IH1cblxuLyogLS0tLS0tLS0tLSDkvJrliqHpobUgLS0tLS0tLS0tLSAqL1xuLnNlcnZpY2UtZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7IGdhcDogMjBweDsgfVxuLnNlcnZpY2UtY2FyZCB7IGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyBwYWRkaW5nOiAyNnB4IDIycHg7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuLnNlcnZpY2UtY2FyZCAuaWNvIHsgZm9udC1zaXplOiAzNHB4OyB9XG4uc2VydmljZS1jYXJkIGg0IHsgZm9udC1zaXplOiAxNi41cHg7IGNvbG9yOiB2YXIoLS1uYXZ5KTsgbWFyZ2luOiAxMnB4IDAgOHB4OyB9XG4uc2VydmljZS1jYXJkIHAgeyBmb250LXNpemU6IDEzcHg7IGNvbG9yOiB2YXIoLS1ncmF5KTsgfVxuLmhvdGVsLWNhcmQgeyBiYWNrZ3JvdW5kOiAjZmZmOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgcGFkZGluZzogMjJweDsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTsgfVxuLmhvdGVsLWNhcmQgLnRvcCB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuLmhvdGVsLWNhcmQgaDQgeyBmb250LXNpemU6IDE2LjVweDsgY29sb3I6IHZhcigtLW5hdnkpOyB9XG4uaG90ZWwtY2FyZCAubGV2ZWwgeyBiYWNrZ3JvdW5kOiB2YXIoLS1za3ktYmcpOyBjb2xvcjogdmFyKC0tc2t5KTsgZm9udC1zaXplOiAxMnB4OyBwYWRkaW5nOiAycHggMTBweDsgYm9yZGVyLXJhZGl1czogMjBweDsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuLmhvdGVsLWNhcmQgLmluZm8geyBmb250LXNpemU6IDEzcHg7IGNvbG9yOiB2YXIoLS1ncmF5KTsgbWFyZ2luLXRvcDogMTBweDsgbGluZS1oZWlnaHQ6IDI7IH1cbi5ob3RlbC1jYXJkIC5pbmZvIGIgeyBjb2xvcjogdmFyKC0tbmF2eSk7IH1cbi5mYXEtaXRlbSB7IGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBib3JkZXItcmFkaXVzOiAxMHB4OyBtYXJnaW4tYm90dG9tOiAxMnB4OyBvdmVyZmxvdzogaGlkZGVuOyB9XG4uZmFxLWl0ZW0gLnEgeyBwYWRkaW5nOiAxNnB4IDIycHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiB2YXIoLS1uYXZ5KTsgY3Vyc29yOiBwb2ludGVyOyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGZvbnQtc2l6ZTogMTVweDsgfVxuLmZhcS1pdGVtIGJ1dHRvbi5xIHsgZm9udC1mYW1pbHk6IGluaGVyaXQ7IGZvbnQtc2l6ZTogaW5oZXJpdDsgdGV4dC1hbGlnbjogbGVmdDsgYmFja2dyb3VuZDogbm9uZTsgYm9yZGVyOiBub25lOyB3aWR0aDogMTAwJTsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLW5hdnkpOyBjdXJzb3I6IHBvaW50ZXI7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuLmZhcS1pdGVtIC5xIC5hcnJvdyB7IHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3M7IGNvbG9yOiB2YXIoLS1za3kpOyB9XG4uZmFxLWl0ZW0ub3BlbiAucSAuYXJyb3cgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4uZmFxLWl0ZW0gLmEgeyBkaXNwbGF5OiBub25lOyBwYWRkaW5nOiAwIDIycHggMTZweDsgY29sb3I6IHZhcigtLWdyYXkpOyBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAxLjk7IH1cbi5mYXEtaXRlbS5vcGVuIC5hIHsgZGlzcGxheTogYmxvY2s7IH1cbi5ndWlkZS1saXN0IHsgY291bnRlci1yZXNldDogZ3VpZGU7IH1cbi5ndWlkZS1pdGVtIHsgZGlzcGxheTogZmxleDsgZ2FwOiAxNnB4OyBwYWRkaW5nOiAxNHB4IDA7IGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgdmFyKC0tbGluZSk7IH1cbi5ndWlkZS1pdGVtOmxhc3QtY2hpbGQgeyBib3JkZXI6IG5vbmU7IH1cbi5ndWlkZS1pdGVtIC5uIHsgY291bnRlci1pbmNyZW1lbnQ6IGd1aWRlOyB3aWR0aDogMzRweDsgaGVpZ2h0OiAzNHB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHZhcigtLXNreS1iZyk7IGNvbG9yOiB2YXIoLS1za3kpOyBmb250LXdlaWdodDogODAwOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZmxleC1zaHJpbms6IDA7IH1cbi5ndWlkZS1pdGVtIC5uOjpiZWZvcmUgeyBjb250ZW50OiBjb3VudGVyKGd1aWRlKTsgfVxuLmd1aWRlLWl0ZW0gaDUgeyBmb250LXNpemU6IDE1LjVweDsgY29sb3I6IHZhcigtLW5hdnkpOyB9XG4uZ3VpZGUtaXRlbSBwIHsgZm9udC1zaXplOiAxMy41cHg7IGNvbG9yOiB2YXIoLS1ncmF5KTsgbWFyZ2luLXRvcDogNHB4OyB9XG5cbi8qIC0tLS0tLS0tLS0g5rOo5YaM6aG1IC0tLS0tLS0tLS0gKi9cbi5yZWdpc3Rlci13cmFwIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjJmciAxZnI7IGdhcDogNDBweDsgYWxpZ24taXRlbXM6IHN0YXJ0OyB9XG4uZm9ybS1jYXJkIHsgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7IGJvcmRlci1yYWRpdXM6IHZhcigtLWFwcGxlLXJhZGl1cy14bCk7IHBhZGRpbmc6IDMycHg7IGJveC1zaGFkb3c6IHZhcigtLWFwcGxlLXNoYWRvdyk7IH1cbi5mb3JtLWdyb3VwIHsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuLmZvcm0tZ3JvdXAgbGFiZWwgeyBkaXNwbGF5OiBibG9jazsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0tbmF2eSk7IG1hcmdpbi1ib3R0b206IDhweDsgfVxuLmZvcm0tZ3JvdXAgbGFiZWwgLnJlcSB7IGNvbG9yOiB2YXIoLS1hcHBsZS1yZWQpOyB9XG4uZm9ybS1jb250cm9sIHsgd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDEycHggMTZweDsgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1saW5lKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tYXBwbGUtcmFkaXVzKTsgZm9udC1zaXplOiAxNXB4OyBjb2xvcjogdmFyKC0taW5rKTsgYmFja2dyb3VuZDogdmFyKC0tYXBwbGUtZ3JheS1iZyk7IHRyYW5zaXRpb246IHZhcigtLWFwcGxlLXRyYW5zaXRpb24pOyBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuLmZvcm0tY29udHJvbDpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IGJvcmRlci1jb2xvcjogdmFyKC0tYXBwbGUtYmx1ZSk7IGJhY2tncm91bmQ6ICNmZmY7IGJveC1zaGFkb3c6IHZhcigtLWZvY3VzLXJpbmcpOyB9XG50ZXh0YXJlYS5mb3JtLWNvbnRyb2wgeyByZXNpemU6IHZlcnRpY2FsOyBtaW4taGVpZ2h0OiA5MHB4OyB9XG4uZm9ybS1zZWxlY3QgeyBhcHBlYXJhbmNlOiBub25lOyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzgnJTNFJTNDcGF0aCBkPSdNMSAxbDUgNSA1LTUnIHN0cm9rZT0nJTIzNUE2Qjg1JyBzdHJva2Utd2lkdGg9JzInIGZpbGw9J25vbmUnLyUzRSUzQy9zdmclM0VcIik7IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDE0cHggY2VudGVyOyBwYWRkaW5nLXJpZ2h0OiAzNnB4OyB9XG4uZm9ybS1ub3RlIHsgZm9udC1zaXplOiAxMi41cHg7IGNvbG9yOiB2YXIoLS1ncmF5KTsgYmFja2dyb3VuZDogdmFyKC0tc2t5LWJnKTsgYm9yZGVyLXJhZGl1czogOHB4OyBwYWRkaW5nOiAxMHB4IDE0cHg7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbi5mb3JtLWVycm9yIHsgZGlzcGxheTogbm9uZTsgYmFja2dyb3VuZDogdmFyKC0tZXJyb3ItYmcpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1lcnJvci1ib3JkZXIpOyBjb2xvcjogdmFyKC0tZXJyb3ItdGV4dCk7IGJvcmRlci1yYWRpdXM6IDhweDsgcGFkZGluZzogMTBweCAxNHB4OyBmb250LXNpemU6IDEzLjVweDsgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuLmZvcm0tZXJyb3Iuc2hvdyB7IGRpc3BsYXk6IGJsb2NrOyB9XG4uZm9ybS1zdWNjZXNzIHsgZGlzcGxheTogbm9uZTsgYmFja2dyb3VuZDogdmFyKC0tc3VjY2Vzcy1iZyk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXN1Y2Nlc3MtYm9yZGVyKTsgY29sb3I6IHZhcigtLXN1Y2Nlc3MtdGV4dCk7IGJvcmRlci1yYWRpdXM6IDhweDsgcGFkZGluZzogMTJweCAxNnB4OyBmb250LXNpemU6IDE0cHg7IG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbi5mb3JtLXN1Y2Nlc3Muc2hvdyB7IGRpc3BsYXk6IGJsb2NrOyB9XG4uc2lkZS1pbmZvIHsgYmFja2dyb3VuZDogdmFyKC0tc2t5LWJnKTsgYm9yZGVyOiAxcHggc29saWQgI0NCRTRGQTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgcGFkZGluZzogMjZweDsgfVxuLnNpZGUtaW5mbyBoNCB7IGNvbG9yOiB2YXIoLS1uYXZ5KTsgZm9udC1zaXplOiAxN3B4OyBtYXJnaW4tYm90dG9tOiAxNHB4OyB9XG4uc2lkZS1pbmZvIC5yb3cgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDEycHg7IHBhZGRpbmc6IDhweCAwOyBmb250LXNpemU6IDE0cHg7IH1cbi5zaWRlLWluZm8gLnJvdyBiIHsgY29sb3I6IHZhcigtLW5hdnkpOyBtaW4td2lkdGg6IDgwcHg7IH1cbi5zaWRlLWluZm8gLnJvdyBzcGFuIHsgY29sb3I6IHZhcigtLWdyYXkpOyB9XG5cbi8qIC0tLS0tLS0tLS0g5pCc57Si6aG1IC0tLS0tLS0tLS0gKi9cbi5zZWFyY2gtYmFyIHsgZGlzcGxheTogZmxleDsgZ2FwOiAxMHB4OyBtYXJnaW4tYm90dG9tOiAyOHB4OyB9XG4uc2VhcmNoLWJhciBpbnB1dCB7IGZsZXg6IDE7IHBhZGRpbmc6IDEzcHggMThweDsgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1saW5lKTsgYm9yZGVyLXJhZGl1czogOHB4OyBmb250LXNpemU6IDE1cHg7IH1cbi5zZWFyY2gtYmFyIGlucHV0OmZvY3VzIHsgb3V0bGluZTogbm9uZTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1za3kpOyB9XG4uc2VhcmNoLXJlc3VsdCB7IGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBib3JkZXItcmFkaXVzOiAxMHB4OyBwYWRkaW5nOiAxOHB4IDIycHg7IG1hcmdpbi1ib3R0b206IDEycHg7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7IGRpc3BsYXk6IGJsb2NrOyBjb2xvcjogdmFyKC0taW5rKTsgdHJhbnNpdGlvbjogYWxsIC4yczsgfVxuLnNlYXJjaC1yZXN1bHQ6aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLXNreSk7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sZyk7IH1cbi5zZWFyY2gtcmVzdWx0IC50YWcgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJhY2tncm91bmQ6IHZhcigtLXNreS1iZyk7IGNvbG9yOiB2YXIoLS1za3kpOyBmb250LXNpemU6IDEycHg7IHBhZGRpbmc6IDJweCAxMHB4OyBib3JkZXItcmFkaXVzOiAyMHB4OyBtYXJnaW4tcmlnaHQ6IDhweDsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuLnNlYXJjaC1yZXN1bHQgaDQgeyBmb250LXNpemU6IDE2cHg7IGNvbG9yOiB2YXIoLS1uYXZ5KTsgbWFyZ2luLXRvcDogNnB4OyB9XG4uc2VhcmNoLXJlc3VsdCBwIHsgZm9udC1zaXplOiAxMy41cHg7IGNvbG9yOiB2YXIoLS1ncmF5KTsgbWFyZ2luLXRvcDogNHB4OyB9XG4uc2VhcmNoLWVtcHR5IHsgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiA2MHB4IDA7IGNvbG9yOiB2YXIoLS1ncmF5KTsgfVxuLnNlYXJjaC1lbXB0eSAuaWNvIHsgZm9udC1zaXplOiA0OHB4OyBtYXJnaW4tYm90dG9tOiAxMnB4OyB9XG5cbi8qIC0tLS0tLS0tLS0g5LiL6L296aG1IC0tLS0tLS0tLS0gKi9cbi5kb3dubG9hZC1jYXJkIHsgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7IHBhZGRpbmc6IDI2cHg7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAyMHB4OyBmbGV4LXdyYXA6IHdyYXA7IG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbi5kb3dubG9hZC1jYXJkIC5pbmZvIGg0IHsgZm9udC1zaXplOiAxN3B4OyBjb2xvcjogdmFyKC0tbmF2eSk7IH1cbi5kb3dubG9hZC1jYXJkIC5pbmZvIHAgeyBmb250LXNpemU6IDEzcHg7IGNvbG9yOiB2YXIoLS1ncmF5KTsgbWFyZ2luLXRvcDogNHB4OyB9XG4uZG93bmxvYWQtY2FyZCAuYnRucyB7IGRpc3BsYXk6IGZsZXg7IGdhcDogMTBweDsgfVxuXG4vKiDph43ngrnotYTmlpnkuIvovb3vvIjlpKfkvJrku4vnu40gLyDlsZXop4jku4vnu40gUERG77yJICovXG4uZG93bmxvYWQtZmVhdHVyZSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBwYWRkaW5nOiAyOHB4IDMycHg7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7IG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMjRweDsgZmxleC13cmFwOiB3cmFwO1xuICB0cmFuc2l0aW9uOiB2YXIoLS1hcHBsZS10cmFuc2l0aW9uKTsgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmRvd25sb2FkLWZlYXR1cmU6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMDsgdG9wOiAwOyBib3R0b206IDA7IHdpZHRoOiA1cHg7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLXNreSksIHZhcigtLW5hdnkpKTsgfVxuLmRvd25sb2FkLWZlYXR1cmU6aG92ZXIgeyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbGcpOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7IH1cbi5kZi1pY29uIHsgZm9udC1zaXplOiA0NHB4OyBsaW5lLWhlaWdodDogMTsgfVxuLmRmLWluZm8geyBmbGV4OiAxOyBtaW4td2lkdGg6IDI0MHB4OyB9XG4uZGYtdGFnIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBiYWNrZ3JvdW5kOiB2YXIoLS1za3ktYmcpOyBjb2xvcjogdmFyKC0tbmF2eSk7IGZvbnQtc2l6ZTogMTJweDsgZm9udC13ZWlnaHQ6IDcwMDsgcGFkZGluZzogM3B4IDEycHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OyBtYXJnaW4tYm90dG9tOiA4cHg7IH1cbi5kZi10YWctZ3JlZW4geyBiYWNrZ3JvdW5kOiAjRTdGN0VDOyBjb2xvcjogIzFCOEE0QTsgfVxuLmRmLWluZm8gaDMgeyBmb250LXNpemU6IDIxcHg7IGNvbG9yOiB2YXIoLS1uYXZ5KTsgZm9udC13ZWlnaHQ6IDgwMDsgbWFyZ2luLWJvdHRvbTogNnB4OyB9XG4uZGYtaW5mbyBwIHsgZm9udC1zaXplOiAxMy41cHg7IGNvbG9yOiB2YXIoLS1ncmF5KTsgbGluZS1oZWlnaHQ6IDEuNzsgfVxuLmRmLWZpbGUgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1hcmdpbi10b3A6IDhweDsgZm9udC1zaXplOiAxMnB4OyBjb2xvcjogdmFyKC0tc2t5KTsgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyOiAxcHggZGFzaGVkIHZhcigtLXNreSk7IHBhZGRpbmc6IDNweCAxMHB4OyBib3JkZXItcmFkaXVzOiA2cHg7IH1cbi5kZi1idG5zIHsgZGlzcGxheTogZmxleDsgZ2FwOiAxMHB4OyB9XG4uZGYtY29taW5nIHsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogdmFyKC0tZ3JheSk7IGJvcmRlcjogMXB4IGRhc2hlZCB2YXIoLS1saW5lKTsgcGFkZGluZzogMTBweCAyMHB4OyBib3JkZXItcmFkaXVzOiA5OTlweDsgfVxuXG4vKiDnlLvlhozpobUgUERGIOS4i+i9veadoe+8iOWkp+S8muS7i+e7jSAvIOWxleiniOS7i+e7je+8iSAqL1xuLnBkZi1kb3dubG9hZC1iYXIge1xuICBtYXJnaW4tdG9wOiAzMnB4OyBiYWNrZ3JvdW5kOiAjZmZmOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbiAgcGFkZGluZzogMjJweCAyOHB4OyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDIwcHg7IGZsZXgtd3JhcDogd3JhcDtcbiAgdHJhbnNpdGlvbjogdmFyKC0tYXBwbGUtdHJhbnNpdGlvbik7IHBvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5wZGYtZG93bmxvYWQtYmFyOjpiZWZvcmUgeyBjb250ZW50OiBcIlwiOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IHRvcDogMDsgYm90dG9tOiAwOyB3aWR0aDogNXB4OyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB2YXIoLS1za3kpLCB2YXIoLS1uYXZ5KSk7IH1cbi5wZGYtZG93bmxvYWQtYmFyOmhvdmVyIHsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWxnKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOyB9XG4ucGRiLWluZm8geyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDE0cHg7IGZsZXg6IDE7IG1pbi13aWR0aDogMjQwcHg7IH1cbi5wZGItaWNvbiB7IGZvbnQtc2l6ZTogMzZweDsgbGluZS1oZWlnaHQ6IDE7IH1cbi5wZGItaW5mbyBzdHJvbmcgeyBkaXNwbGF5OiBibG9jazsgZm9udC1zaXplOiAxN3B4OyBjb2xvcjogdmFyKC0tbmF2eSk7IGZvbnQtd2VpZ2h0OiA4MDA7IH1cbi5wZGItZmlsZSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgbWFyZ2luLXRvcDogNXB4OyBmb250LXNpemU6IDEycHg7IGNvbG9yOiB2YXIoLS1za3kpOyBiYWNrZ3JvdW5kOiAjZmZmOyBib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tc2t5KTsgcGFkZGluZzogMnB4IDEwcHg7IGJvcmRlci1yYWRpdXM6IDZweDsgfVxuLnBkYi1idG5zIHsgZGlzcGxheTogZmxleDsgZ2FwOiAxMHB4OyB9XG5AbWVkaWEgKC0tYnAteHMpIHtcbiAgLnBkZi1kb3dubG9hZC1iYXIgeyBwYWRkaW5nOiAxOHB4IDIwcHg7IH1cbiAgLnBkYi1idG5zIHsgd2lkdGg6IDEwMCU7IH1cbiAgLnBkYi1idG5zIC5idG4geyBmbGV4OiAxOyB9XG59XG5cbi8qIC0tLS0tLS0tLS0g566h55CG5ZCO5Y+w5qC35byP5bey6L+B56e76IezIHB1YmxpYy9jc3MvYWRtaW4uY3NzIC0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLSA0MDQgLS0tLS0tLS0tLSAqL1xuLm5vdGZvdW5kIHsgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiAxMDBweCAwOyB9XG4ubm90Zm91bmQgLmNvZGUgeyBmb250LXNpemU6IDkwcHg7IGZvbnQtd2VpZ2h0OiA4MDA7IGNvbG9yOiB2YXIoLS1za3kpOyBsaW5lLWhlaWdodDogMTsgfVxuLm5vdGZvdW5kIHAgeyBjb2xvcjogdmFyKC0tZ3JheSk7IG1hcmdpbjogMTZweCAwIDI0cHg7IH1cblxuLyogLS0tLS0tLS0tLSDpppbpobUgSElHSExJR0hUUyDnsr7pgInmnb/lnZcgLS0tLS0tLS0tLSAqL1xuLmZlYXR1cmUtaGlnaGxpZ2h0cyB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLW5hdnkpIDAlLCB2YXIoLS1uYXZ5LTIpIDEwMCUpOyBjb2xvcjogI2ZmZjsgcGFkZGluZzogNTZweCAwOyB9XG4uZmVhdHVyZS1oaWdobGlnaHRzIC5zZWMtaGVhZCBoMiB7IGNvbG9yOiAjZmZmOyB9XG4uZmVhdHVyZS1oaWdobGlnaHRzIC5zZWMtaGVhZCAuZW4geyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNSk7IH1cbi5mZWF0dXJlLWhpZ2hsaWdodHMgLnNlYy1oZWFkLmNlbnRlciAuYmFyIHsgZGlzcGxheTogbm9uZTsgfVxuLmZoLWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpOyBnYXA6IDE2cHg7IH1cbi5maC1jYXJkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMDgpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xNSk7IGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIHBhZGRpbmc6IDI0cHggMjBweDsgdHJhbnNpdGlvbjogYWxsIC4yNXM7IGRpc3BsYXk6IGJsb2NrOyBjb2xvcjogI2ZmZjsgY3Vyc29yOiBwb2ludGVyO1xufVxuLmZoLWNhcmQ6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4xNSk7IGJvcmRlci1jb2xvcjogdmFyKC0tc2t5LTIpOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7IH1cbi5maC1jYXJkIC5maC1pY28geyBmb250LXNpemU6IDI4cHg7IG1hcmdpbi1ib3R0b206IDEycHg7IH1cbi5maC1jYXJkIC5maC1pY28gc3ZnIHsgd2lkdGg6IDMycHg7IGhlaWdodDogMzJweDsgY29sb3I6IHZhcigtLXNreS0yKTsgfVxuLmZoLWNhcmQgaDQgeyBmb250LXNpemU6IDE1cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGxpbmUtaGVpZ2h0OiAxLjU7IH1cbi5maC1jYXJkIC5maC1hcnJvdyB7IGNvbG9yOiB2YXIoLS1za3ktMik7IGZvbnQtc2l6ZTogMTNweDsgbWFyZ2luLXRvcDogMTBweDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXdlaWdodDogNjAwOyB9XG5cbi8qIC0tLS0tLS0tLS0g6aaW6aG1IE1FTlUg5Y2h54mH5a+86Iiq5p2/5Z2XIC0tLS0tLS0tLS0gKi9cbi5tZW51LXNlY3Rpb24geyBwYWRkaW5nOiA1NnB4IDA7IH1cbi5tZW51LWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyBnYXA6IDI0cHg7IH1cbi5tZW51LWNhcmQge1xuICBiYWNrZ3JvdW5kOiAjZmZmOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tYXBwbGUtcmFkaXVzLXhsKTsgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogdmFyKC0tYXBwbGUtc2hhZG93KTsgdHJhbnNpdGlvbjogdmFyKC0tYXBwbGUtdHJhbnNpdGlvbik7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4ubWVudS1jYXJkOmhvdmVyIHsgYm94LXNoYWRvdzogdmFyKC0tYXBwbGUtc2hhZG93LWhvdmVyKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpOyBib3JkZXItY29sb3I6IHZhcigtLWFwcGxlLWJsdWUpOyB9XG4ubWVudS1jYXJkIC5tYy1iYW5uZXIge1xuICBoZWlnaHQ6IDE0MHB4OyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1uYXZ5KSwgdmFyKC0tc2t5KSk7XG4gIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBoaWRkZW47XG59XG4ubWVudS1jYXJkIC5tYy1iYW5uZXI6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogLTMwcHg7IHRvcDogLTMwcHg7IHdpZHRoOiAxMjBweDsgaGVpZ2h0OiAxMjBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4xKTtcbn1cbi5tZW51LWNhcmQgLm1jLWJhbm5lciAubWMtaWNvIHsgZm9udC1zaXplOiA1MnB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDI7IH1cbi5tZW51LWNhcmQgLm1jLWJhbm5lciAubWMtaWNvLXN2ZyB7IHdpZHRoOiA0OHB4OyBoZWlnaHQ6IDQ4cHg7IGNvbG9yOiAjZmZmOyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDI7IH1cbi5tZW51LWNhcmQgLm1jLWJvZHkgeyBwYWRkaW5nOiAyNHB4IDI2cHg7IGZsZXg6IDE7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbi5tZW51LWNhcmQgLm1jLWJvZHkgaDMgeyBmb250LXNpemU6IDE5cHg7IGNvbG9yOiB2YXIoLS1uYXZ5KTsgZm9udC13ZWlnaHQ6IDgwMDsgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG4ubWVudS1jYXJkIC5tYy1ib2R5IHAgeyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1ncmF5KTsgbGluZS1oZWlnaHQ6IDEuODsgZmxleDogMTsgfVxuLm1lbnUtY2FyZCAubWMtYm9keSAubWMtbGluayB7IGNvbG9yOiB2YXIoLS1hcHBsZS1ibHVlKTsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAxNHB4OyBtYXJnaW4tdG9wOiAxNnB4OyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7IHRyYW5zaXRpb246IHZhcigtLWFwcGxlLXRyYW5zaXRpb24pOyB9XG4ubWVudS1jYXJkOmhvdmVyIC5tYy1ib2R5IC5tYy1saW5rIHsgZ2FwOiAxMHB4OyB9XG4ubWVudS1jYXJkIC5tYy1ib2R5IC5tYy1saW5rOjphZnRlciB7IGNvbnRlbnQ6IFwi4oaSXCI7IHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnM7IH1cbi5tZW51LWNhcmQ6aG92ZXIgLm1jLWJvZHkgLm1jLWxpbms6OmFmdGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7IH1cblxuLyogLS0tLS0tLS0tLSDpppbpobUgUGxhbiB5b3VyIHZpc2l0IOadv+WdlyAtLS0tLS0tLS0tICovXG4udmlzaXQtYmFubmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2t5LWJnKTsgYm9yZGVyLXJhZGl1czogMTZweDsgcGFkZGluZzogNDBweDtcbiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBnYXA6IDMwcHg7IGZsZXgtd3JhcDogd3JhcDtcbn1cbi52aXNpdC1iYW5uZXIgLnZiLWluZm8geyBmbGV4OiAxOyBtaW4td2lkdGg6IDMwMHB4OyB9XG4udmlzaXQtYmFubmVyIGgzIHsgZm9udC1zaXplOiAyNHB4OyBjb2xvcjogdmFyKC0tbmF2eSk7IGZvbnQtd2VpZ2h0OiA4MDA7IH1cbi52aXNpdC1iYW5uZXIgcCB7IGNvbG9yOiB2YXIoLS1ncmF5KTsgZm9udC1zaXplOiAxNXB4OyBtYXJnaW4tdG9wOiAxMHB4OyBsaW5lLWhlaWdodDogMS44OyB9XG4udmlzaXQtYmFubmVyIC52Yi1zdGF0cyB7IGRpc3BsYXk6IGZsZXg7IGdhcDogMjhweDsgbWFyZ2luLXRvcDogMThweDsgfVxuLnZpc2l0LWJhbm5lciAudmItc3RhdHMgLnN0IGIgeyBmb250LXNpemU6IDI2cHg7IGNvbG9yOiB2YXIoLS1za3kpOyBmb250LXdlaWdodDogODAwOyBkaXNwbGF5OiBibG9jazsgfVxuLnZpc2l0LWJhbm5lciAudmItc3RhdHMgLnN0IHNwYW4geyBmb250LXNpemU6IDEzcHg7IGNvbG9yOiB2YXIoLS1ncmF5KTsgfVxuXG4vKiAtLS0tLS0tLS0tIOiurueoi+mhtSDml6XmnJ8gVGFiIOWIh+aNoiAoQXBwbGUgU2VnbWVudGVkIENvbnRyb2wpIC0tLS0tLS0tLS0gKi9cbi5kYXktdGFicyB7IGRpc3BsYXk6IGZsZXg7IGdhcDogNHB4OyBtYXJnaW4tYm90dG9tOiAzMnB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1hcHBsZS1ncmF5LWJnKTsgYm9yZGVyOiBub25lOyBib3JkZXItcmFkaXVzOiB2YXIoLS1hcHBsZS1yYWRpdXMtbGcpOyBvdmVyZmxvdzogaGlkZGVuOyBwYWRkaW5nOiA0cHg7IH1cbi5kYXktdGFiIHtcbiAgZmxleDogMTsgcGFkZGluZzogMTRweCAyNHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGN1cnNvcjogcG9pbnRlcjsgdHJhbnNpdGlvbjogdmFyKC0tYXBwbGUtdHJhbnNpdGlvbik7XG4gIGJvcmRlcjogbm9uZTsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGZvbnQtZmFtaWx5OiBpbmhlcml0OyBib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuLmRheS10YWI6bGFzdC1jaGlsZCB7IGJvcmRlci1yaWdodDogbm9uZTsgfVxuLmRheS10YWIuYWN0aXZlIHsgYmFja2dyb3VuZDogI2ZmZjsgY29sb3I6IHZhcigtLWluayk7IGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsMCwwLC4xKTsgfVxuLmRheS10YWIgLmR0LWRheSB7IGZvbnQtc2l6ZTogMTNweDsgY29sb3I6IHZhcigtLWFwcGxlLWdyYXkpOyBmb250LXdlaWdodDogNjAwOyB9XG4uZGF5LXRhYi5hY3RpdmUgLmR0LWRheSB7IGNvbG9yOiB2YXIoLS1hcHBsZS1ncmF5KTsgfVxuLmRheS10YWIgLmR0LWRhdGUgeyBmb250LXNpemU6IDE4cHg7IGZvbnQtd2VpZ2h0OiA4MDA7IGNvbG9yOiB2YXIoLS1pbmspOyBtYXJnaW4tdG9wOiA0cHg7IH1cbi5kYXktdGFiLmFjdGl2ZSAuZHQtZGF0ZSB7IGNvbG9yOiB2YXIoLS1hcHBsZS1ibHVlKTsgfVxuLmRheS10YWIgLmR0LWNvdW50IHsgZm9udC1zaXplOiAxMnB4OyBjb2xvcjogdmFyKC0tYXBwbGUtZ3JheSk7IG1hcmdpbi10b3A6IDRweDsgfVxuLmRheS10YWIuYWN0aXZlIC5kdC1jb3VudCB7IGNvbG9yOiB2YXIoLS1hcHBsZS1ibHVlKTsgfVxuLmRheS1jb250ZW50IHsgZGlzcGxheTogbm9uZTsgfVxuLmRheS1jb250ZW50LmFjdGl2ZSB7IGRpc3BsYXk6IGJsb2NrOyBhbmltYXRpb246IGZhZGVJbiAuM3MgZWFzZTsgfVxuQGtleWZyYW1lcyBmYWRlSW4geyBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpOyB9IHRvIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLyog6K6u56iL5pCc57Si5p2hICovXG4uYWdlbmRhLXNlYXJjaCB7IG1hcmdpbi1ib3R0b206IDI0cHg7IH1cbi5hZ2VuZGEtc2VhcmNoIGlucHV0IHtcbiAgd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDE0cHggMThweCAxNHB4IDQ2cHg7IGJvcmRlcjogMS41cHggc29saWQgdmFyKC0tbGluZSk7IGJvcmRlci1yYWRpdXM6IHZhcigtLWFwcGxlLXJhZGl1cy1sZyk7XG4gIGZvbnQtc2l6ZTogMTVweDsgZm9udC1mYW1pbHk6IGluaGVyaXQ7IGJhY2tncm91bmQ6IHZhcigtLWFwcGxlLWdyYXktYmcpIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjM4RThFOTMnIHN0cm9rZS13aWR0aD0nMiclM0UlM0NjaXJjbGUgY3g9JzExJyBjeT0nMTEnIHI9JzgnLyUzRSUzQ3BhdGggZD0nbTIxIDIxLTQuMzUtNC4zNScvJTNFJTNDL3N2ZyUzRVwiKSBuby1yZXBlYXQgMTZweCBjZW50ZXI7XG4gIHRyYW5zaXRpb246IHZhcigtLWFwcGxlLXRyYW5zaXRpb24pO1xufVxuLmFnZW5kYS1zZWFyY2ggaW5wdXQ6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyBib3JkZXItY29sb3I6IHZhcigtLWFwcGxlLWJsdWUpOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBib3gtc2hhZG93OiB2YXIoLS1mb2N1cy1yaW5nKTsgfVxuXG4vKiDorq7nqIvml7bpl7Tnur8gKi9cbi50aW1lbGluZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZy1sZWZ0OiAyNHB4OyB9XG4udGltZWxpbmU6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogN3B4OyB0b3A6IDA7IGJvdHRvbTogMDsgd2lkdGg6IDJweDsgYmFja2dyb3VuZDogdmFyKC0tbGluZSk7IH1cbi50bC1pdGVtIHsgcG9zaXRpb246IHJlbGF0aXZlOyBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4udGwtaXRlbTo6YmVmb3JlIHsgY29udGVudDogXCJcIjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtMjFweDsgdG9wOiAyMHB4OyB3aWR0aDogMTJweDsgaGVpZ2h0OiAxMnB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHZhcigtLXNreSk7IGJvcmRlcjogMnB4IHNvbGlkICNmZmY7IGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1za3kpOyB9XG4udGwtaXRlbSAudGwtY2FyZCB7IGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1hcHBsZS1yYWRpdXMtbGcpOyBwYWRkaW5nOiAxOHB4IDIycHg7IGJveC1zaGFkb3c6IHZhcigtLWFwcGxlLXNoYWRvdyk7IHRyYW5zaXRpb246IHZhcigtLWFwcGxlLXRyYW5zaXRpb24pOyBkaXNwbGF5OiBibG9jazsgY29sb3I6IHZhcigtLWluayk7IH1cbi50bC1pdGVtIC50bC1jYXJkOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1hcHBsZS1ibHVlKTsgYm94LXNoYWRvdzogdmFyKC0tYXBwbGUtc2hhZG93LWhvdmVyKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOyB9XG4udGwtaXRlbSAudGwtdGltZSB7IGZvbnQtc2l6ZTogMTNweDsgY29sb3I6IHZhcigtLWFwcGxlLWJsdWUpOyBmb250LXdlaWdodDogNzAwOyB9XG4udGwtaXRlbSAudGwtdGl0bGUgeyBmb250LXNpemU6IDE1cHg7IGNvbG9yOiB2YXIoLS1uYXZ5KTsgZm9udC13ZWlnaHQ6IDcwMDsgbWFyZ2luLXRvcDogNHB4OyB9XG4udGwtaXRlbSAudGwtZGVzYyB7IGZvbnQtc2l6ZTogMTNweDsgY29sb3I6IHZhcigtLWdyYXkpOyBtYXJnaW4tdG9wOiA0cHg7IH1cbi50bC1pdGVtIC50bC12ZW51ZSB7IGZvbnQtc2l6ZTogMTIuNXB4OyBjb2xvcjogdmFyKC0tZ3JheSk7IG1hcmdpbi10b3A6IDZweDsgfVxuXG4vKiAtLS0tLS0tLS0tIOWYieWuvuWIhuexu+W+veeroCAtLS0tLS0tLS0tICovXG4uc3BlYWtlci1iYWRnZSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAxMXB4OyBwYWRkaW5nOiAzcHggMTBweDsgYm9yZGVyLXJhZGl1czogMjBweDsgZm9udC13ZWlnaHQ6IDcwMDsgbGV0dGVyLXNwYWNpbmc6IC41cHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbi5zcGVha2VyLWJhZGdlLmtleW5vdGUgeyBiYWNrZ3JvdW5kOiAjRkZGM0UwOyBjb2xvcjogI0U2NTEwMDsgfVxuLnNwZWFrZXItYmFkZ2UuaW52aXRlZCB7IGJhY2tncm91bmQ6ICNFOEY1RTk7IGNvbG9yOiAjMkU3RDMyOyB9XG4uc3BlYWtlci1iYWRnZS5pbm5vdmF0aW9uIHsgYmFja2dyb3VuZDogdmFyKC0tc2t5LWJnKTsgY29sb3I6IHZhcigtLXNreSk7IH1cbi5zcGVha2VyLWJhZGdlLnJvdW5kdGFibGUgeyBiYWNrZ3JvdW5kOiAjRjNFNUY1OyBjb2xvcjogIzZBMUI5QTsgfVxuLnNwZWFrZXItYmFkZ2UuY2hhaXIgeyBiYWNrZ3JvdW5kOiAjRUNFRkYxOyBjb2xvcjogIzQ1NUE2NDsgfVxuXG4vKiDlmInlrr7liIbnsbvnrZvpgIkgKi9cbi5zcGVha2VyLWZpbHRlciB7IGRpc3BsYXk6IGZsZXg7IGdhcDogOHB4OyBtYXJnaW4tYm90dG9tOiAyOHB4OyBmbGV4LXdyYXA6IHdyYXA7IH1cbi5zcGVha2VyLWZpbHRlciBidXR0b24ge1xuICBwYWRkaW5nOiA4cHggMjBweDsgYm9yZGVyOiBub25lOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcm91bmQpOyBiYWNrZ3JvdW5kOiB2YXIoLS1hcHBsZS1ncmF5LWJnKTsgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiB2YXIoLS1pbmspOyB0cmFuc2l0aW9uOiB2YXIoLS1hcHBsZS10cmFuc2l0aW9uKTsgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG59XG4uc3BlYWtlci1maWx0ZXIgYnV0dG9uLmFjdGl2ZSB7IGJhY2tncm91bmQ6IHZhcigtLWFwcGxlLWJsdWUpOyBjb2xvcjogI2ZmZjsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWJ0bik7IH1cbi5zcGVha2VyLWZpbHRlciBidXR0b246aG92ZXI6bm90KC5hY3RpdmUpIHsgYmFja2dyb3VuZDogdmFyKC0tYXBwbGUtZ3JheS1iZy0yKTsgY29sb3I6IHZhcigtLWFwcGxlLWJsdWUpOyB9XG5cbi8qIOWYieWuvuWNoeeJh+aWsOeJiCAqL1xuLnNwLWNhcmQge1xuICBiYWNrZ3JvdW5kOiAjZmZmOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tYXBwbGUtcmFkaXVzLWxnKTsgcGFkZGluZzogMjRweDtcbiAgYm94LXNoYWRvdzogdmFyKC0tYXBwbGUtc2hhZG93KTsgdHJhbnNpdGlvbjogdmFyKC0tYXBwbGUtdHJhbnNpdGlvbik7IGRpc3BsYXk6IGJsb2NrOyBjb2xvcjogdmFyKC0taW5rKTsgaGVpZ2h0OiAxMDAlO1xufVxuLnNwLWNhcmQ6aG92ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7IGJveC1zaGFkb3c6IHZhcigtLWFwcGxlLXNoYWRvdy1ob3Zlcik7IGJvcmRlci1jb2xvcjogdmFyKC0tYXBwbGUtYmx1ZSk7IH1cbi5zcC1jYXJkIC5zcC1oZWFkIHsgZGlzcGxheTogZmxleDsgZ2FwOiAxNnB4OyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuLnNwLWNhcmQgLnNwLWF2LXdyYXAgeyB3aWR0aDogNjRweDsgaGVpZ2h0OiA2NHB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGZsZXgtc2hyaW5rOiAwOyBvdmVyZmxvdzogaGlkZGVuOyBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLDAsMCwuMTIpOyB9XG4uc3AtY2FyZCAuc3AtYXYtaW1nIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgb2JqZWN0LWZpdDogY292ZXI7IGRpc3BsYXk6IGJsb2NrOyB9XG4uc3AtY2FyZCAuc3AtaW5mbyB7IGZsZXg6IDE7IG1pbi13aWR0aDogMDsgfVxuLnNwLWNhcmQgaDMsIC5zcC1jYXJkIGg0IHsgZm9udC1zaXplOiAxNnB4OyBjb2xvcjogdmFyKC0tbmF2eSk7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cbi5zcC1jYXJkIC5zcC1wb3MgeyBmb250LXNpemU6IDEycHg7IGNvbG9yOiB2YXIoLS1hcHBsZS1ibHVlKTsgbWFyZ2luLXRvcDogM3B4OyBmb250LXdlaWdodDogNjAwOyBsaW5lLWhlaWdodDogMS40OyB9XG4uc3AtY2FyZCAuc3AtYWZmIHsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogdmFyKC0tZ3JheSk7IG1hcmdpbi10b3A6IDRweDsgbGluZS1oZWlnaHQ6IDEuNTsgfVxuLnNwLWNhcmQgLnNwLWNvdW50cnkgeyBmb250LXNpemU6IDEycHg7IGNvbG9yOiB2YXIoLS1za3kpOyBtYXJnaW4tdG9wOiA0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbi5zcC1jYXJkIC5zcC1maW5kIHsgbWFyZ2luLXRvcDogMTRweDsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogdmFyKC0tc2t5KTsgZm9udC13ZWlnaHQ6IDYwMDsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNHB4OyB9XG5cbi8qIOWYieWuvuaQnOe0ouagjyAqL1xuLnNwZWFrZXItc2VhcmNoLWJhciB7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbi5zcGVha2VyLXNlYXJjaC1iYXIgLnNzYi1pbm5lciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbWF4LXdpZHRoOiA0ODBweDsgfVxuLnNwZWFrZXItc2VhcmNoLWJhciAuc3NiLWlubmVyIC5zc2ItaWNvbiB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMTRweDsgdG9wOiA1MCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgY29sb3I6IHZhcigtLWdyYXkpOyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuLnNwZWFrZXItc2VhcmNoLWJhciAuc3NiLWlubmVyIGlucHV0IHtcbiAgd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDExcHggMTZweCAxMXB4IDQycHg7IGJvcmRlcjogMS41cHggc29saWQgdmFyKC0tbGluZSk7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1yb3VuZCk7XG4gIGZvbnQtc2l6ZTogMTRweDsgZm9udC1mYW1pbHk6IGluaGVyaXQ7IGJhY2tncm91bmQ6IHZhcigtLWFwcGxlLWdyYXktYmcpOyBjb2xvcjogdmFyKC0taW5rKTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tYXBwbGUtdHJhbnNpdGlvbik7IG91dGxpbmU6IG5vbmU7XG59XG4uc3BlYWtlci1zZWFyY2gtYmFyIC5zc2ItaW5uZXIgaW5wdXQ6Zm9jdXMgeyBib3JkZXItY29sb3I6IHZhcigtLWFwcGxlLWJsdWUpOyBiYWNrZ3JvdW5kOiAjZmZmOyBib3gtc2hhZG93OiB2YXIoLS1mb2N1cy1yaW5nLXNtKTsgfVxuLnNwZWFrZXItc2VhcmNoLWJhciAuc3NiLWlubmVyIGlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiB2YXIoLS1ncmF5KTsgfVxuXG4vKiAtLS0tLS0tLS0tIOWYieWuvuivpuaDhemhtSAtLS0tLS0tLS0tICovXG4uc3BlYWtlci1kZXRhaWwtc2VjdGlvbiB7IHBhZGRpbmctdG9wOiAwOyB9XG4uc3BlYWtlci1kZXRhaWwtY2FyZCB7XG4gIG1heC13aWR0aDogMTAwMHB4OyBtYXJnaW46IDAgYXV0bzsgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyLXJhZGl1czogdmFyKC0tYXBwbGUtcmFkaXVzLWxnKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tYXBwbGUtc2hhZG93KTsgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzMjBweCAxZnI7IGdhcDogMDtcbn1cbi5zZC1sZWZ0IHtcbiAgcGFkZGluZzogNDBweCAzMnB4OyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZjhmYWZjIDAlLCAjZjFmNWY5IDEwMCUpO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnNkLWF2YXRhci13cmFwIHsgcG9zaXRpb246IHJlbGF0aXZlOyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4uc2QtYXZhdGFyIHsgd2lkdGg6IDE2MHB4OyBoZWlnaHQ6IDE2MHB4OyBib3JkZXItcmFkaXVzOiA1MCU7IG9iamVjdC1maXQ6IGNvdmVyOyBkaXNwbGF5OiBibG9jazsgYm94LXNoYWRvdzogMCA0cHggMjBweCByZ2JhKDAsMCwwLC4xNSk7IH1cbi5zZC1iYWRnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiA4cHg7IHJpZ2h0OiA4cHg7IHBhZGRpbmc6IDRweCAxMnB4OyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcm91bmQpO1xuICBmb250LXNpemU6IDExcHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGxldHRlci1zcGFjaW5nOiAuNXB4OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAzcHggc29saWQgI2ZmZjsgYm94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwwLDAsLjE1KTtcbn1cbi5zZC1iYWRnZS1rZXlub3RlIHsgYmFja2dyb3VuZDogI0U2NTEwMDsgfVxuLnNkLWJhZGdlLWludml0ZWQgeyBiYWNrZ3JvdW5kOiAjMkU3RDMyOyB9XG4uc2QtYmFkZ2UtY2hhaXIgeyBiYWNrZ3JvdW5kOiAjNDU1QTY0OyB9XG4uc2QtbmFtZSB7IGZvbnQtc2l6ZTogMjRweDsgZm9udC13ZWlnaHQ6IDgwMDsgY29sb3I6IHZhcigtLW5hdnkpOyBtYXJnaW4tYm90dG9tOiA0cHg7IH1cbi5zZC1uYW1lLWVuIHsgZm9udC1zaXplOiAxNXB4OyBjb2xvcjogdmFyKC0tZ3JheSk7IG1hcmdpbi1ib3R0b206IDIwcHg7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuLnNkLW1ldGEtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBnYXA6IDhweDsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tZ3JheSk7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7IHRleHQtYWxpZ246IGxlZnQ7IHdpZHRoOiAxMDAlOyBsaW5lLWhlaWdodDogMS41O1xufVxuLnNkLW1ldGEtaXRlbSBzdmcgeyBmbGV4LXNocmluazogMDsgbWFyZ2luLXRvcDogMnB4OyBjb2xvcjogdmFyKC0tYXBwbGUtYmx1ZSk7IH1cbi5zZC1iYWNrLWJ0biB7IG1hcmdpbi10b3A6IDI0cHg7IHdpZHRoOiAxMDAlOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uc2QtcmlnaHQgeyBwYWRkaW5nOiA0MHB4OyB9XG4uc2QtdG9waWMtYm94IHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tc2t5LWJnKSwgI2UzZjJmZCk7IGJvcmRlci1yYWRpdXM6IDEycHg7IHBhZGRpbmc6IDIwcHggMjRweDtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDsgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1za3kpO1xufVxuLnNkLXRvcGljLWxhYmVsIHsgZm9udC1zaXplOiAxMnB4OyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogdmFyKC0tc2t5KTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IDFweDsgbWFyZ2luLWJvdHRvbTogNnB4OyB9XG4uc2QtdG9waWMtdGV4dCB7IGZvbnQtc2l6ZTogMThweDsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLW5hdnkpOyBsaW5lLWhlaWdodDogMS42OyB9XG4uc2QtYmlvLXNlY3Rpb24geyBtYXJnaW4tYm90dG9tOiAyNHB4OyB9XG4uc2QtYmlvLXRpdGxlIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMHB4OyBmb250LXNpemU6IDE4cHg7IGZvbnQtd2VpZ2h0OiA4MDA7IGNvbG9yOiB2YXIoLS1uYXZ5KTsgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuLnNkLWJpby1iYXIgeyB3aWR0aDogNHB4OyBoZWlnaHQ6IDIwcHg7IGJhY2tncm91bmQ6IHZhcigtLXNreSk7IGJvcmRlci1yYWRpdXM6IDJweDsgZmxleC1zaHJpbms6IDA7IH1cbi5zZC1iaW8tY29udGVudCB7IGZvbnQtc2l6ZTogMTVweDsgY29sb3I6IHZhcigtLWluayk7IGxpbmUtaGVpZ2h0OiAyOyB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG4uc2QtZW4tdG9waWMgeyBtYXJnaW4tdG9wOiAyMHB4OyBwYWRkaW5nOiAxMnB4IDE2cHg7IGJhY2tncm91bmQ6IHZhcigtLWFwcGxlLWdyYXktYmcpOyBib3JkZXItcmFkaXVzOiA4cHg7IGZvbnQtc2l6ZTogMTNweDsgY29sb3I6IHZhcigtLWdyYXkpOyB9XG4uc2QtZW4tdG9waWMgc3Ryb25nIHsgY29sb3I6IHZhcigtLW5hdnkpOyB9XG5cbi8qIC0tLS0tLS0tLS0g6K6u56iL5LiO5ZiJ5a6+5ZCI5LiA6aG16Z2iIC0tLS0tLS0tLS0gKi9cbi5wcm9nLXNlY3Rpb24geyBtYXJnaW4tYm90dG9tOiA1NnB4OyB9XG4ucHJvZy1zZWN0aW9uIC5wcy1oZWFkIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMnB4OyBtYXJnaW4tYm90dG9tOiAyNHB4OyB9XG4ucHJvZy1zZWN0aW9uIC5wcy1oZWFkIC5wcy1iYXIgeyB3aWR0aDogNnB4OyBoZWlnaHQ6IDI4cHg7IGJhY2tncm91bmQ6IHZhcigtLXNreSk7IGJvcmRlci1yYWRpdXM6IDNweDsgZmxleC1zaHJpbms6IDA7IH1cbi5wcm9nLXNlY3Rpb24gLnBzLWhlYWQgaDIgeyBmb250LXNpemU6IDI0cHg7IGZvbnQtd2VpZ2h0OiA4MDA7IGNvbG9yOiB2YXIoLS1uYXZ5KTsgfVxuLnByb2ctc2VjdGlvbiAucHMtaGVhZCAucHMtZW4geyBmb250LXNpemU6IDEzcHg7IGNvbG9yOiB2YXIoLS1ncmF5KTsgbGV0dGVyLXNwYWNpbmc6IDFweDsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi10b3A6IDRweDsgfVxuXG4vKiDml7bpl7Tnur9cIuafpeeci+ivpuaDhVwi6ZO+5o6lICovXG4udGwtaXRlbSAudGwtZ28geyBjb2xvcjogdmFyKC0tc2t5KTsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiAxM3B4OyBtYXJnaW4tdG9wOiA4cHg7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKiDlmInlrr7liIbnu4TmoIfpopggKi9cbi5zcGVha2VyLWdyb3VwIC5zZy10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjBweDsgZm9udC13ZWlnaHQ6IDgwMDsgY29sb3I6IHZhcigtLW5hdnkpOyBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTJweDsgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWxpbmUpO1xufVxuXG4vKiDlmInlrr7ljaHniYfnvZHmoLwgKi9cbi5zcC1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgZ2FwOiAyMHB4OyB9XG5cbi8qIOWYieWuvuWNoeeJh+S4u+mimOaYvuekuiAqL1xuLnNwLWNhcmQgLnNwLXRvcGljIHtcbiAgbWFyZ2luLXRvcDogMTRweDsgcGFkZGluZzogMTBweCAxNHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1za3ktYmcpOyBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGZvbnQtc2l6ZTogMTNweDsgY29sb3I6IHZhcigtLW5hdnkpOyBmb250LXdlaWdodDogNjAwOyBsaW5lLWhlaWdodDogMS42O1xufVxuXG4vKiAtLS0tLS0tLS0tIOWTjeW6lOW8jyAtLS0tLS0tLS0tICovXG5AbWVkaWEgKC0tYnAtbGcpIHtcbiAgLmhpZ2hsaWdodC1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfVxuICAuc3BlYWtlci1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfVxuICAuc3AtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH1cbiAgLnNlcnZpY2UtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH1cbiAgLnF1aWNrLW5hdiAuZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7IH1cbiAgLmdhbGxlcnktZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH1cbiAgLnJlZ2lzdGVyLXdyYXAgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxuICAuZm9vdGVyIC5ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfVxuICAuZmgtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH1cbiAgLm1lbnUtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG4gIC5yZXZpZXctZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IH1cbiAgLm5ld3MtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH1cbiAgLmV4aGliaXRvci1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgfVxuICAuYWJvdXQtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG4gIC5wb3N0ZXItZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH1cbn1cbkBtZWRpYSAoLS1icC1zbSkge1xuICAubmF2IHsgZGlzcGxheTogbm9uZTsgfVxuICAubmF2LXRvZ2dsZSB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5tb2JpbGUtbmF2IHsgZGlzcGxheTogYmxvY2s7IH1cbiAgLmhlcm8geyBwYWRkaW5nOiA1MnB4IDAgMTIwcHg7IH1cbiAgLmhlcm8tbG9nbyB7IGhlaWdodDogNTZweDsgfVxuICAubG9nby1pbWcgeyBoZWlnaHQ6IDQwcHg7IH1cbiAgLmhlcm8gaDEgeyBmb250LXNpemU6IDI4cHg7IH1cbiAgLmhlcm8tc2xpZGUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7IH1cbiAgLmhlcm8tb3ZlcmxheSB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMTAsNDIsOTQsLjkpIDAlLCByZ2JhKDEwLDQyLDk0LC43KSAxMDAlKTsgfVxuICAuaGVyby1kb3RzIHsgYm90dG9tOiAyMHB4OyB9XG4gIC5oZXJvIC5zdWIgeyBmb250LXNpemU6IDE0LjVweDsgfVxuICAuaGVybyAubWV0YSB7IGdhcDogMThweDsgfVxuICAuaGVybyAuY291bnRkb3duIC5jZWxsIHsgbWluLXdpZHRoOiA2MnB4OyB9XG4gIC5oZXJvIC5jb3VudGRvd24gLmNlbGwgYiB7IGZvbnQtc2l6ZTogMjJweDsgfVxuICAucXVpY2stbmF2IC5ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgZ2FwOiAxMHB4OyB9XG4gIC5zcGVha2VyLWRldGFpbC1jYXJkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH1cbiAgLnNkLWxlZnQgeyBib3JkZXItcmlnaHQ6IG5vbmU7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgcGFkZGluZzogMzJweCAyNHB4OyB9XG4gIC5zZC1yaWdodCB7IHBhZGRpbmc6IDMycHggMjRweDsgfVxuICAuc2QtYXZhdGFyIHsgd2lkdGg6IDEyMHB4OyBoZWlnaHQ6IDEyMHB4OyB9XG4gIC5xdWljay1uYXYgeyBtYXJnaW4tdG9wOiAtNDRweDsgfVxuICAuc2VjdGlvbiB7IHBhZGRpbmc6IDQwcHggMDsgfVxuICAuc2VjLWhlYWQgaDIgeyBmb250LXNpemU6IDIxcHg7IH1cbiAgLnBhZ2UtaGVybyBoMSB7IGZvbnQtc2l6ZTogMjVweDsgfVxuICAuaGlnaGxpZ2h0LWdyaWQsIC5zcGVha2VyLWdyaWQsIC5zcC1ncmlkLCAuc2VydmljZS1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH1cbiAgLnJldmlldy1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfVxuICAubmV3cy1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfVxuICAubWVkaWEtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH1cbiAgLmV4aGliaXRvci1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfVxuICAucG9zdGVyLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9XG4gIC5jb250YWN0LWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxuICAuaG90ZWwtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG4gIC5nYWxsZXJ5LWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9XG4gIC5mb290ZXIgLmdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgZ2FwOiAyNHB4OyB9XG4gIC5zZXNzaW9uLXRhYmxlIHsgZm9udC1zaXplOiAxMy41cHg7IH1cbiAgLnNlc3Npb24tdGFibGUgdGgsIC5zZXNzaW9uLXRhYmxlIHRkIHsgcGFkZGluZzogMTBweDsgfVxuICAuYWdlbmRhLWxpc3QgLnJvdyB7IGZsZXgtd3JhcDogd3JhcDsgfVxuICAuYWdlbmRhLWxpc3QgLmdvIHsgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnRvcGJhciAucmlnaHQgLmhpZGUtbW9iaWxlIHsgZGlzcGxheTogbm9uZTsgfVxuICAuY2FsbC1iYW5uZXIgeyBwYWRkaW5nOiAyNnB4OyB9XG4gIC5maC1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH1cbiAgLmRheS10YWJzIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuZGF5LXRhYiB7IGJvcmRlci1yaWdodDogbm9uZTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyB9XG4gIC5kYXktdGFiOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9XG4gIC52aXNpdC1iYW5uZXIgeyBwYWRkaW5nOiAyNHB4OyB9XG4gIC52aXNpdC1iYW5uZXIgLnZiLXN0YXRzIHsgZ2FwOiAxOHB4OyB9XG59XG5AbWVkaWEgKC0tYnAtbWluKSB7XG4gIC5jb250YWluZXIgeyBwYWRkaW5nOiAwIHZhcigtLWNvbnRhaW5lci1wYWQtc20pOyB9XG4gIC5oZXJvIGgxIHsgZm9udC1zaXplOiAyNHB4OyB9XG4gIC5oZXJvIC5jb3VudGRvd24geyBnYXA6IDhweDsgfVxuICAuaGVybyAuY291bnRkb3duIC5jZWxsIHsgbWluLXdpZHRoOiA1NHB4OyBwYWRkaW5nOiAxMHB4IDRweDsgfVxuICAuaGVybyAuY291bnRkb3duIC5jZWxsIGIgeyBmb250LXNpemU6IDE5cHg7IH1cbiAgLmhlcm8gLmFjdGlvbnMgLmJ0biB7IHdpZHRoOiAxMDAlOyB9XG4gIC5xdWljay1uYXYgLmdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9XG4gIC5sb2dvIC5uYW1lIHsgZm9udC1zaXplOiAxNHB4OyB9XG4gIC5yZXZpZXctZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG4gIC5uZXdzLWdyaWQsIC5tZWRpYS1ncmlkLCAuZXhoaWJpdG9yLWdyaWQsIC5wb3N0ZXItZ3JpZCwgLmdhbGxlcnktZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG4gIC5sb2dvIC5oZXggeyB3aWR0aDogMzZweDsgaGVpZ2h0OiAzNnB4OyBmb250LXNpemU6IDE3cHg7IH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICDlpKfkvJrku4vnu43pobUgLyDlsZXop4jku4vnu43pobXvvIjlpI3liLsgUERGIOiuvuiuoe+8iVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY2VudGVyLXN1YiB7IHRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6IHZhcigtLWdyYXkpOyBtYXgtd2lkdGg6IDc2MHB4OyBtYXJnaW46IC0xMnB4IGF1dG8gMjhweDsgZm9udC1zaXplOiAxNXB4OyBsaW5lLWhlaWdodDogMS44OyB9XG5cbi8qIOWkp+S8muWumuS9jSArIEtQSSAqL1xuLmFib3V0LWhlcm8ge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjRUFGNEZDIDAlLCAjRjZGOUZEIDYwJSwgI2ZmZiAxMDAlKTtcbiAgcGFkZGluZzogNTZweCAwIDQ4cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbn1cbi5hYm91dC10aXRsZSB7IHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLWJvdHRvbTogMzZweDsgfVxuLmFib3V0LXRpdGxlIC50YWdsaW5lIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDEzcHg7IGNvbG9yOiB2YXIoLS1uYXZ5KTsgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7IGJvcmRlci1yYWRpdXM6IDk5OXB4OyBwYWRkaW5nOiA2cHggMThweDsgbWFyZ2luLWJvdHRvbTogMTZweDsgbGV0dGVyLXNwYWNpbmc6IC41cHg7IH1cbi5hYm91dC10aXRsZSBoMiB7IGZvbnQtc2l6ZTogMzJweDsgZm9udC13ZWlnaHQ6IDgwMDsgY29sb3I6IHZhcigtLW5hdnkpOyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4uYWJvdXQtdGl0bGUgLnBsYXRmb3JtIHsgZm9udC1zaXplOiAxN3B4OyBjb2xvcjogdmFyKC0tc2t5KTsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuLmtwaS1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTsgZ2FwOiAxNnB4OyBtYXgtd2lkdGg6IDk2MHB4OyBtYXJnaW46IDAgYXV0byAzMnB4OyB9XG4ua3BpIHtcbiAgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgcGFkZGluZzogMjRweCAxNnB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7IGJvcmRlci10b3A6IDNweCBzb2xpZCB2YXIoLS1nb2xkKTsgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmtwaTo6YmVmb3JlIHtcbiAgY29udGVudDogXCLinaZcIjsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IC0xMnB4OyBsZWZ0OiA1MCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgY29sb3I6IHZhcigtLWdvbGQpOyBmb250LXNpemU6IDIwcHg7IGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDUwJTsgcGFkZGluZzogMCA2cHg7XG59XG4ua3BpLW51bSB7IGZvbnQtc2l6ZTogMzRweDsgZm9udC13ZWlnaHQ6IDgwMDsgY29sb3I6IHZhcigtLW5hdnkpOyBsaW5lLWhlaWdodDogMS4xOyB9XG4ua3BpLW51bSAudW5pdCB7IGZvbnQtc2l6ZTogMjBweDsgY29sb3I6IHZhcigtLWdvbGQpOyBmb250LXdlaWdodDogNzAwOyBtYXJnaW4tbGVmdDogMnB4OyB9XG4ua3BpLWxhYmVsIHsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogdmFyKC0tZ3JheSk7IG1hcmdpbi10b3A6IDZweDsgfVxuLmFib3V0LWludHJvIHsgbWF4LXdpZHRoOiA5NjBweDsgbWFyZ2luOiAwIGF1dG87IH1cbi5hYm91dC1pbnRybyBwIHsgZm9udC1zaXplOiAxNXB4OyBjb2xvcjogdmFyKC0tZ3JheSk7IGxpbmUtaGVpZ2h0OiAyOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLyog5aSn5Lya5oSP5LmJICovXG4ucHVycG9zZS1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTsgZ2FwOiAyMHB4OyB9XG4ucHVycG9zZS1jYXJkIHtcbiAgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgcGFkZGluZzogMjhweCAyMnB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7IHRyYW5zaXRpb246IHZhcigtLWFwcGxlLXRyYW5zaXRpb24pOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbn1cbi5wdXJwb3NlLWNhcmQ6aG92ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sZyk7IH1cbi5wdXJwb3NlLWljbyB7IGZvbnQtc2l6ZTogMzZweDsgbWFyZ2luLWJvdHRvbTogMTJweDsgfVxuLnB1cnBvc2UtY2FyZCBoNCB7IGZvbnQtc2l6ZTogMThweDsgY29sb3I6IHZhcigtLW5hdnkpOyBtYXJnaW4tYm90dG9tOiA0cHg7IH1cbi5wdXJwb3NlLWNhcmQgLmVuIHsgZGlzcGxheTogYmxvY2s7IGZvbnQtc2l6ZTogMTFweDsgY29sb3I6IHZhcigtLXNreSk7IGxldHRlci1zcGFjaW5nOiAxLjVweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuLnB1cnBvc2UtY2FyZCBwIHsgZm9udC1zaXplOiAxMy41cHg7IGNvbG9yOiB2YXIoLS1ncmF5KTsgbGluZS1oZWlnaHQ6IDEuODsgfVxuXG4vKiDnu4Tnu4fmnrbmnoQgKi9cbi5vcmctZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDEuNGZyIDEuNmZyOyBnYXA6IDIwcHg7IH1cbi5vcmctY29sIHsgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgb3ZlcmZsb3c6IGhpZGRlbjsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7IH1cbi5vcmctaGVhZCB7IHBhZGRpbmc6IDE0cHggMjBweDsgY29sb3I6ICNmZmY7IGZvbnQtc2l6ZTogMTZweDsgZm9udC13ZWlnaHQ6IDcwMDsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4ub3JnLWhlYWQuaG9zdCB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMjBkZWcsIHZhcigtLW5hdnkpLCB2YXIoLS1uYXZ5LTIpKTsgfVxuLm9yZy1oZWFkLm9yZ2FuaXplciB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMjBkZWcsIHZhcigtLWFjY2VudCksIHZhcigtLXNreSkpOyB9XG4ub3JnLWhlYWQuc3VwcG9ydCB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMjBkZWcsICMzRDdCRDksICM1QkI1RjUpOyB9XG4ub3JnLWJvZHkgeyBwYWRkaW5nOiAxNnB4IDIwcHg7IH1cbi5vcmctaXRlbSB7IGZvbnQtc2l6ZTogMTMuNXB4OyBjb2xvcjogdmFyKC0taW5rKTsgcGFkZGluZzogN3B4IDA7IGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgdmFyKC0tbGluZSk7IH1cbi5vcmctaXRlbTpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4vKiDlj5HlsZXljobnqIsgKi9cbi5oaXN0b3J5LXRpbWVsaW5lIHsgcG9zaXRpb246IHJlbGF0aXZlOyBtYXgtd2lkdGg6IDEwMDBweDsgbWFyZ2luOiAwIGF1dG87IHBhZGRpbmc6IDIwcHggMDsgfVxuLmhpc3RvcnktdGltZWxpbmU6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogNTAlOyB0b3A6IDA7IGJvdHRvbTogMDsgd2lkdGg6IDNweDsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdmFyKC0tc2t5KSwgdmFyKC0tbmF2eSkpOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IGJvcmRlci1yYWRpdXM6IDJweDsgfVxuLmh0LWl0ZW0geyBwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiA1MCU7IHBhZGRpbmc6IDEycHggNDBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuLmh0LWl0ZW0udG9wIHsgbGVmdDogMDsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbi5odC1pdGVtLmJvdHRvbSB7IGxlZnQ6IDUwJTsgdGV4dC1hbGlnbjogbGVmdDsgfVxuLmh0LWRvdCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAyNnB4OyB3aWR0aDogMTRweDsgaGVpZ2h0OiAxNHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1za3kpOyBib3JkZXI6IDNweCBzb2xpZCAjZmZmOyBib3JkZXItcmFkaXVzOiA1MCU7IGJveC1zaGFkb3c6IDAgMCAwIDNweCB2YXIoLS1za3kpOyB9XG4uaHQtaXRlbS50b3AgLmh0LWRvdCB7IHJpZ2h0OiAtN3B4OyB9XG4uaHQtaXRlbS5ib3R0b20gLmh0LWRvdCB7IGxlZnQ6IC03cHg7IH1cbi5odC1jYXJkIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBiYWNrZ3JvdW5kOiAjZmZmOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpOyBwYWRkaW5nOiAxNHB4IDE4cHg7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBtYXgtd2lkdGg6IDMyMHB4OyB9XG4uaHQteWVhciB7IGZvbnQtc2l6ZTogMjRweDsgZm9udC13ZWlnaHQ6IDgwMDsgY29sb3I6IHZhcigtLW5hdnkpOyB9XG4uaHQtbnVtIHsgZm9udC1zaXplOiAxMnB4OyBjb2xvcjogdmFyKC0tZ29sZCk7IGZvbnQtd2VpZ2h0OiA3MDA7IG1hcmdpbjogMnB4IDA7IH1cbi5odC1jaXR5IHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tc2t5KTsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuLmh0LXRoZW1lIHsgZm9udC1zaXplOiAxMi41cHg7IGNvbG9yOiB2YXIoLS1ncmF5KTsgbWFyZ2luLXRvcDogNHB4OyBsaW5lLWhlaWdodDogMS42OyB9XG5cbi8qIOS4u+mimOiuuuWdmyAqL1xuLmZvcnVtLWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpOyBnYXA6IDE2cHg7IH1cbi5mb3J1bS1jYXJkIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tbmF2eSkgMCUsIHZhcigtLW5hdnktMikgMTAwJSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7IHBhZGRpbmc6IDIycHggMjBweDsgY29sb3I6ICNmZmY7IHBvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogdmFyKC0tYXBwbGUtdHJhbnNpdGlvbik7XG59XG4uZm9ydW0tY2FyZDpob3ZlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWxnKTsgfVxuLmZvcnVtLXRhZyB7IGZvbnQtc2l6ZTogMTBweDsgbGV0dGVyLXNwYWNpbmc6IDJweDsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjYpOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4uZm9ydW0tY2FyZCBoNCB7IGZvbnQtc2l6ZTogMTdweDsgZm9udC13ZWlnaHQ6IDcwMDsgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG4uZm9ydW0tY2FyZCBwIHsgZm9udC1zaXplOiAxMi41cHg7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC44KTsgbGluZS1oZWlnaHQ6IDEuNzsgfVxuXG4vKiBQREYg55S75YaM5bGV56S6ICovXG4ucGRmLWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyBnYXA6IDIwcHg7IH1cbi5wZGYtY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgb3ZlcmZsb3c6IGhpZGRlbjsgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0cmFuc2l0aW9uOiB2YXIoLS1hcHBsZS10cmFuc2l0aW9uKTtcbn1cbi5wZGYtY2FyZDpob3ZlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWxnKTsgfVxuLnBkZi1jYXJkIGltZyB7IHdpZHRoOiAxMDAlOyBhc3BlY3QtcmF0aW86IDE2Lzk7IG9iamVjdC1maXQ6IGNvdmVyOyB9XG4ucGRmLXZpZXcgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAxMHB4OyBib3R0b206IDEwcHg7IGJhY2tncm91bmQ6IHJnYmEoMTAsNDIsOTQsLjg1KTsgY29sb3I6ICNmZmY7IGZvbnQtc2l6ZTogMTJweDsgcGFkZGluZzogNHB4IDEycHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OyB9XG5cbi8qIOWxleiniOeugOS7iyAqL1xuLmV4cG8taW50cm8tZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS41ZnIgMWZyOyBnYXA6IDMycHg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbi5leHBvLWludHJvLXRleHQgaDMgeyBmb250LXNpemU6IDI0cHg7IGNvbG9yOiB2YXIoLS1uYXZ5KTsgZm9udC13ZWlnaHQ6IDgwMDsgbWFyZ2luLWJvdHRvbTogMThweDsgfVxuLmV4cG8tcG9pbnRzIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxMHB4OyBtYXJnaW4tYm90dG9tOiAxOHB4OyB9XG4uZXhwby1wb2ludCB7IGJhY2tncm91bmQ6IHZhcigtLXNreS1iZyk7IGJvcmRlci1yYWRpdXM6IDEwcHg7IHBhZGRpbmc6IDEwcHggMTZweDsgZm9udC1zaXplOiAxNC41cHg7IGNvbG9yOiB2YXIoLS1uYXZ5KTsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuLmV4cG8tcG9pbnQgLnEgeyBjb2xvcjogdmFyKC0tc2t5KTsgZm9udC13ZWlnaHQ6IDgwMDsgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cbi5leHBvLWRlc2MgeyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiB2YXIoLS1ncmF5KTsgbGluZS1oZWlnaHQ6IDI7IH1cbi5leHBvLWNoYWluIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxNnB4OyB9XG4uY2hhaW4tY2VudGVyIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tbmF2eSksIHZhcigtLW5hdnktMikpOyBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7IHBhZGRpbmc6IDE0cHggMzJweDsgZm9udC1zaXplOiAxOHB4OyBmb250LXdlaWdodDogNzAwOyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbGcpO1xufVxuLmNoYWluLWhleCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGdhcDogMTRweDsgbWF4LXdpZHRoOiA0MjBweDsgfVxuLmhleCB7XG4gIHdpZHRoOiAxMjBweDsgaGVpZ2h0OiAxMjBweDsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tc2t5KSwgdmFyKC0tc2t5LTIpKTtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDUwJSAwLCAxMDAlIDI1JSwgMTAwJSA3NSUsIDUwJSAxMDAlLCAwIDc1JSwgMCAyNSUpO1xuICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IHZhcigtLWFwcGxlLXRyYW5zaXRpb24pO1xufVxuLmhleDpob3ZlciB7IHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbi5oZXgtdCB7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDcwMDsgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiAwIDE0cHg7IGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxuLyog5bGV5Lya5Lqu54K5ICovXG4uZXhwby1obC1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgZ2FwOiAyMHB4OyB9XG4uZXhwby1obCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7IHBhZGRpbmc6IDI2cHggMjJweDsgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiB2YXIoLS1hcHBsZS10cmFuc2l0aW9uKTtcbn1cbi5leHBvLWhsOmhvdmVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpOyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbGcpOyB9XG4uZXhwby1obC1pY28geyB3aWR0aDogNDRweDsgaGVpZ2h0OiA0NHB4OyBtYXJnaW46IDAgYXV0byAxNHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1za3ktYmcpOyBjb2xvcjogdmFyKC0tc2t5KTsgYm9yZGVyLXJhZGl1czogMTJweDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGZvbnQtc2l6ZTogMjBweDsgfVxuLmV4cG8taGwgaDQgeyBmb250LXNpemU6IDE2cHg7IGNvbG9yOiB2YXIoLS1uYXZ5KTsgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG4uZXhwby1obCBwIHsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogdmFyKC0tZ3JheSk7IGxpbmUtaGVpZ2h0OiAxLjc7IH1cblxuLyog54m56Imy5rS75YqoICovXG4uYWN0aXZpdHktZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IGdhcDogMTZweDsgbWF4LXdpZHRoOiA5MDBweDsgbWFyZ2luOiAwIGF1dG87IH1cbi5hY3Rpdml0eS1ub2RlIHtcbiAgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTsgcGFkZGluZzogMjBweCAxOHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDtcbiAgdHJhbnNpdGlvbjogdmFyKC0tYXBwbGUtdHJhbnNpdGlvbik7XG59XG4uYWN0aXZpdHktbm9kZTpob3ZlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWxnKTsgfVxuLmFjdC1udW0geyB3aWR0aDogMzRweDsgaGVpZ2h0OiAzNHB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHZhcigtLXNreS1iZyk7IGNvbG9yOiB2YXIoLS1za3kpOyBmb250LXdlaWdodDogNzAwOyBmb250LXNpemU6IDE0cHg7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4uYWN0aXZpdHktbm9kZSBoNCB7IGZvbnQtc2l6ZTogMTQuNXB4OyBjb2xvcjogdmFyKC0tbmF2eSk7IH1cblxuLyog5ZWG5Yqh5Lya5a6i5a6kICovXG4ubWVldGluZy1iYW5uZXIge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTIwZGVnLCB2YXIoLS1uYXZ5KSAwJSwgdmFyKC0tbmF2eS0yKSA2MCUsIHZhcigtLWFjY2VudCkgMTAwJSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7IHBhZGRpbmc6IDQwcHg7IGNvbG9yOiAjZmZmOyBwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBoaWRkZW47XG59XG4ubWVldGluZy1iYW5uZXI6OmFmdGVyIHsgY29udGVudDogXCJcIjsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogLTYwcHg7IHRvcDogLTYwcHg7IHdpZHRoOiAyNjBweDsgaGVpZ2h0OiAyNjBweDsgYm9yZGVyOiA0MHB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjA2KTsgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4ubWItaGVhZCB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgbWFyZ2luLWJvdHRvbTogMjRweDsgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxOyB9XG4ubWItaGVhZCBoMyB7IGZvbnQtc2l6ZTogMjZweDsgZm9udC13ZWlnaHQ6IDgwMDsgfVxuLm1iLWJhZGdlIHsgYmFja2dyb3VuZDogI2ZmZjsgY29sb3I6IHZhcigtLW5hdnkpOyBmb250LXNpemU6IDEzcHg7IGZvbnQtd2VpZ2h0OiA3MDA7IHBhZGRpbmc6IDhweCAyMHB4OyBib3JkZXItcmFkaXVzOiA5OTlweDsgfVxuLm1iLXN0YXRzIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTsgZ2FwOiAxNnB4OyBtYXJnaW4tYm90dG9tOiAyNHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7IH1cbi5tYi1zdGF0IHsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMSk7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7IHBhZGRpbmc6IDIwcHggMTZweDsgdGV4dC1hbGlnbjogY2VudGVyOyBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTsgfVxuLm1iLXN0YXQgYiB7IGRpc3BsYXk6IGJsb2NrOyBmb250LXNpemU6IDMwcHg7IGZvbnQtd2VpZ2h0OiA4MDA7IGNvbG9yOiAjZmZmOyB9XG4ubWItc3RhdCBiIC51bml0IHsgY29sb3I6IHZhcigtLWdvbGQpOyB9XG4ubWItc3RhdCBzcGFuIHsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuOCk7IH1cbi5tYi1kZXNjIHsgZm9udC1zaXplOiAxNHB4OyBsaW5lLWhlaWdodDogMjsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjkpOyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7IH1cblxuLyog5LiT5Lia6KeC5bGV5ZuiICovXG4udmlzaXRvci1ncmlkIHsgZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiAxNHB4OyBtYXgtd2lkdGg6IDEwMDBweDsgbWFyZ2luOiAwIGF1dG87IH1cbi52aXNpdG9yLXRhZyB7XG4gIGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBib3JkZXItcmFkaXVzOiAxMHB4OyBwYWRkaW5nOiAxMHB4IDIycHg7XG4gIGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHZhcigtLW5hdnkpOyBmb250LXdlaWdodDogNjAwOyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS1hcHBsZS10cmFuc2l0aW9uKTtcbn1cbi52aXNpdG9yLXRhZzpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0tc2t5KTsgY29sb3I6IHZhcigtLXNreSk7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsgfVxuXG4vKiDkuJPkuJrop4LlsZXlm6Igwrcg5LyB5LiaIExvZ28g5aKZICovXG4udmlzaXRvci1sb2dvLWdyaWQge1xuICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpOyBnYXA6IDE4cHg7XG4gIG1heC13aWR0aDogMTA0MHB4OyBtYXJnaW46IDAgYXV0bztcbn1cbi52aXNpdG9yLWxvZ28tY2FyZCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDE0cHg7IHBhZGRpbmc6IDEwcHg7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS1hcHBsZS10cmFuc2l0aW9uKTsgY3Vyc29yOiBkZWZhdWx0O1xuICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogOTZweDtcbn1cbi52aXNpdG9yLWxvZ28tY2FyZCBzdmcgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyBkaXNwbGF5OiBibG9jazsgfVxuLnZpc2l0b3ItbG9nby1jYXJkIC52aXNpdG9yLWxvZ28taW1nIHsgbWF4LXdpZHRoOiAxMDAlOyBtYXgtaGVpZ2h0OiA3NHB4OyB3aWR0aDogYXV0bzsgaGVpZ2h0OiBhdXRvOyBvYmplY3QtZml0OiBjb250YWluOyBkaXNwbGF5OiBibG9jazsgfVxuLnZpc2l0b3ItbG9nby1jYXJkOmhvdmVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpOyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbGcpOyBib3JkZXItY29sb3I6IHZhcigtLXNreSk7IH1cblxuLyog5ZON5bqU5byPICovXG5AbWVkaWEgKC0tYnAtbWQpIHtcbiAgLmtwaS1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgfVxuICAucHVycG9zZS1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfVxuICAub3JnLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxuICAuZm9ydW0tZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH1cbiAgLmV4cG8taW50cm8tZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG4gIC5leHBvLWhsLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9XG4gIC5hY3Rpdml0eS1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfVxuICAubWItc3RhdHMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9XG4gIC5wZGYtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH1cbiAgLnZpc2l0b3ItbG9nby1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgfVxufVxuQG1lZGlhICgtLWJwLXNtKSB7XG4gIC5oaXN0b3J5LXRpbWVsaW5lOjpiZWZvcmUgeyBsZWZ0OiAxMnB4OyB9XG4gIC5odC1pdGVtIHsgd2lkdGg6IDEwMCU7IGxlZnQ6IDAgIWltcG9ydGFudDsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyBwYWRkaW5nOiA4cHggMCA4cHggMzZweDsgfVxuICAuaHQtaXRlbSAuaHQtZG90IHsgbGVmdDogNnB4ICFpbXBvcnRhbnQ7IHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLmh0LWNhcmQgeyBtYXgtd2lkdGg6IDEwMCU7IH1cbn1cbkBtZWRpYSAoLS1icC1taW4pIHtcbiAgLmtwaS1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfVxuICAucHVycG9zZS1ncmlkLCAuZm9ydW0tZ3JpZCwgLmV4cG8taGwtZ3JpZCwgLmFjdGl2aXR5LWdyaWQsIC5wZGYtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG4gIC52aXNpdG9yLWxvZ28tZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH1cbiAgLmFib3V0LXRpdGxlIGgyIHsgZm9udC1zaXplOiAyNHB4OyB9XG4gIC5tYi1oZWFkIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxMnB4OyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIOWOhuWxiuWkp+S8miBSZXZpZXdzICsg55S15a2Q5Lmm57+76aG16aKE6KeI5ZmoXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5yZXZpZXdzLWVtcHR5IHsgdGV4dC1hbGlnbjogY2VudGVyOyBjb2xvcjogdmFyKC0tZ3JheSk7IHBhZGRpbmc6IDYwcHggMDsgfVxuLnJldmlld3MtbGlzdCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMThweDsgfVxuLnJldmlldy1jYXJkIHsgYmFja2dyb3VuZDogdmFyKC0td2hpdGUpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgYm9yZGVyLXJhZGl1czogMTZweDsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTsgb3ZlcmZsb3c6IGhpZGRlbjsgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAuM3MsIHRyYW5zZm9ybSAuM3M7IH1cbi5yZXZpZXctY2FyZDpob3ZlciB7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sZyk7IH1cbi5yZXZpZXctY2FyZC1oZWFkIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAyMHB4OyBwYWRkaW5nOiAyMnB4IDI0cHg7IGZsZXgtd3JhcDogd3JhcDsgfVxuLnJldmlldy1jYXJkLXllYXIgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgbWluLXdpZHRoOiA4NnB4OyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB2YXIoLS1uYXZ5KSwgdmFyKC0tbmF2eS0yKSk7IGNvbG9yOiAjZmZmOyBib3JkZXItcmFkaXVzOiAxNHB4OyBwYWRkaW5nOiAxMnB4IDE0cHg7IGJveC1zaGFkb3c6IDAgNnB4IDE2cHggcmdiYSgxMCw0Miw5NCwuMjIpOyB9XG4ucmV2aWV3LXllYXItbnVtIHsgZm9udC1zaXplOiAyN3B4OyBmb250LXdlaWdodDogODAwOyBsaW5lLWhlaWdodDogMS4xOyBsZXR0ZXItc3BhY2luZzogLjVweDsgfVxuLnJldmlldy15ZWFyLXRhZyB7IGZvbnQtc2l6ZTogMTJweDsgY29sb3I6IHZhcigtLW5hdnktdGV4dC1kaW0pOyBtYXJnaW4tdG9wOiA0cHg7IH1cbi5yZXZpZXctY2FyZC1pbmZvIHsgZmxleDogMTsgbWluLXdpZHRoOiAyMjBweDsgfVxuLnJldmlldy1jYXJkLXRpdGxlIHsgZm9udC1zaXplOiAxOXB4OyBmb250LXdlaWdodDogODAwOyBjb2xvcjogdmFyKC0tbmF2eSk7IG1hcmdpbi1ib3R0b206IDhweDsgfVxuLnJldmlldy1jYXJkLW1ldGEgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGdhcDogNnB4IDE4cHg7IH1cbi5yZXZpZXctbWV0YS1pdGVtIHsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogdmFyKC0tZ3JheSk7IH1cbi5yZXZpZXctbWV0YS1pdGVtIHN0cm9uZyB7IGNvbG9yOiB2YXIoLS1pbmspOyB9XG4ucmV2aWV3LW1ldGEtaWNvIHsgZm9udC1zdHlsZTogbm9ybWFsOyBtYXJnaW4tcmlnaHQ6IDRweDsgfVxuLnJldmlldy1jYXJkLWFjdGlvbnMgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDEwcHg7IH1cbi5yZXZpZXctdG9nZ2xlLWFycm93IHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW4tbGVmdDogNnB4OyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzOyB9XG4ucmV2aWV3LXRvZ2dsZS5vcGVuIC5yZXZpZXctdG9nZ2xlLWFycm93IHsgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuLnJldmlldy1jYXJkLWJvZHkgeyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbGluZSk7IGJhY2tncm91bmQ6IHZhcigtLWJnKTsgcGFkZGluZzogMjZweCAyOHB4OyB9XG4ucmV2aWV3LXJpY2ggeyBtYXgtd2lkdGg6IDg4MHB4OyB9XG4ucmV2aWV3LXJpY2ggaDMgeyBmb250LXNpemU6IDE3cHg7IGNvbG9yOiB2YXIoLS1uYXZ5KTsgbWFyZ2luOiAxOHB4IDAgOHB4OyB9XG4ucmV2aWV3LXJpY2ggaDM6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwOyB9XG4ucmV2aWV3LXJpY2ggcCB7IGZvbnQtc2l6ZTogMTQuNXB4OyBjb2xvcjogdmFyKC0tZ3JheSk7IG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbi5yZXZpZXctcmljaCB1bCwgLnJldmlldy1yaWNoIG9sIHsgbWFyZ2luOiAwIDAgMTBweCAyMnB4OyB9XG4ucmV2aWV3LXJpY2ggbGkgeyBmb250LXNpemU6IDE0LjVweDsgY29sb3I6IHZhcigtLWdyYXkpOyBtYXJnaW4tYm90dG9tOiA2cHg7IH1cbi5yZXZpZXctcmljaCBhIHsgY29sb3I6IHZhcigtLXNreSk7IH1cbi5yZXZpZXctcmljaCBpbWcgeyBib3JkZXItcmFkaXVzOiA4cHg7IG1hcmdpbjogOHB4IDA7IH1cblxuLyogLS0tLS0tLS0tLSDnlLXlrZDkuabnv7vpobXpooTop4jlvLnnqpfvvIjku7/nnJ/kuablvaLlvI/vvIkgLS0tLS0tLS0tLSAqL1xuLmVib29rLW1vZGFsIHsgcG9zaXRpb246IGZpeGVkOyBpbnNldDogMDsgei1pbmRleDogMTAwMDsgYmFja2dyb3VuZDogcmdiYSg2LDE0LDI4LC43NCk7IGJhY2tkcm9wLWZpbHRlcjogYmx1cig2cHgpOyAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cig2cHgpOyBkaXNwbGF5OiBub25lOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgcGFkZGluZzogMjRweDsgfVxuLmVib29rLW1vZGFsLm9wZW4geyBkaXNwbGF5OiBmbGV4OyB9XG4uZWJvb2stc2hlbGwgeyB3aWR0aDogbWluKDExODBweCwgOTZ2dyk7IGhlaWdodDogbWluKDg4dmgsIDg2MHB4KTsgYmFja2dyb3VuZDogIzBkMWIzMzsgYm9yZGVyLXJhZGl1czogMTZweDsgb3ZlcmZsb3c6IGhpZGRlbjsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYm94LXNoYWRvdzogMCAyNHB4IDgwcHggcmdiYSgwLDAsMCwuNSk7IH1cbi5lYm9vay10b3BiYXIgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGdhcDogMTJweDsgcGFkZGluZzogMTBweCAxNnB4OyBiYWNrZ3JvdW5kOiAjMTIyMTNkOyBjb2xvcjogI2ZmZjsgfVxuLmVib29rLXRpdGxlIHsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNzAwOyBvdmVyZmxvdzogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuLmVib29rLWFjdGlvbnMgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDZweDsgZmxleC1zaHJpbms6IDA7IH1cbi5lYm9vay1idG4geyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wOCk7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjE0KTsgY29sb3I6ICNmZmY7IHdpZHRoOiAzNHB4OyBoZWlnaHQ6IDM0cHg7IGJvcmRlci1yYWRpdXM6IDhweDsgY3Vyc29yOiBwb2ludGVyOyBmb250LXNpemU6IDE1cHg7IGxpbmUtaGVpZ2h0OiAxOyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IHRyYW5zaXRpb246IC4yczsgfVxuLmVib29rLWJ0bjpob3Zlcjpub3QoOmRpc2FibGVkKSB7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjE4KTsgfVxuLmVib29rLWJ0bjpkaXNhYmxlZCB7IG9wYWNpdHk6IC4zNTsgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuLmVib29rLWNsb3NlIHsgYmFja2dyb3VuZDogcmdiYSgyNTUsNTksNDgsLjE2KTsgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSw1OSw0OCwuNCk7IH1cbi5lYm9vay1jbG9zZTpob3Zlcjpub3QoOmRpc2FibGVkKSB7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDU5LDQ4LC4zMik7IH1cbi5lYm9vay16b29tdmFsIHsgY29sb3I6IHZhcigtLW5hdnktdGV4dC1kaW0pOyBmb250LXNpemU6IDEycHg7IG1pbi13aWR0aDogNDRweDsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5lYm9vay1zdGFnZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZmxleDogMTsgb3ZlcmZsb3c6IGhpZGRlbjsgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KDEyMCUgMTIwJSBhdCA1MCUgMCUsICMxNDI2NGEgMCUsICMwZDFiMzMgNjAlKTsgfVxuLmVib29rLWJvb2sgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAxOHB4IDY0cHg7IHBlcnNwZWN0aXZlOiAyNDAwcHg7IHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7IHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMjVzIGVhc2U7IH1cbi5lYm9vay1ib29rLmZsaXBwaW5nLXJpZ2h0IHsgYW5pbWF0aW9uOiBlYm9va0Jvb2tUaWx0UiAuNjJzIGVhc2U7IH1cbi5lYm9vay1ib29rLmZsaXBwaW5nLWxlZnQgeyBhbmltYXRpb246IGVib29rQm9va1RpbHRMIC42MnMgZWFzZTsgfVxuLmVib29rLWJvb2suY292ZXItY2xvc2VkIC5lYm9vay1zcGluZSB7IG9wYWNpdHk6IDA7IH1cbkBrZXlmcmFtZXMgZWJvb2tCb29rVGlsdFIgeyAwJSB7IHRyYW5zZm9ybTogcm90YXRlWSgwKSBzY2FsZSgxKTsgfSA0MCUgeyB0cmFuc2Zvcm06IHJvdGF0ZVkoLTRkZWcpIHNjYWxlKDEuMDE1KTsgfSAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGVZKDApIHNjYWxlKDEpOyB9IH1cbkBrZXlmcmFtZXMgZWJvb2tCb29rVGlsdEwgeyAwJSB7IHRyYW5zZm9ybTogcm90YXRlWSgwKSBzY2FsZSgxKTsgfSA0MCUgeyB0cmFuc2Zvcm06IHJvdGF0ZVkoNGRlZykgc2NhbGUoMS4wMTUpOyB9IDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZVkoMCkgc2NhbGUoMSk7IH0gfVxuXG4vKiDkuabmnKzlupXpg6jmipXlvbEgKi9cbi5lYm9vay1zaGFkb3cgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDIlOyByaWdodDogMiU7IGJvdHRvbTogLTE2cHg7IGhlaWdodDogMzRweDsgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KDUwJSAxMDAlIGF0IDUwJSA1MCUsIHJnYmEoMCwwLDAsLjQ1KSwgdHJhbnNwYXJlbnQgNzIlKTsgZmlsdGVyOiBibHVyKDdweCk7IHotaW5kZXg6IDA7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi8qIOWPs+S+p+mhteWghu+8iOaooeaLn+S5pumhteWOmuW6pu+8iSAqL1xuLmVib29rLXN0YWNrIHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDNweDsgYm90dG9tOiAzcHg7IHJpZ2h0OiAtOHB4OyB3aWR0aDogMTZweDsgei1pbmRleDogMzsgcG9pbnRlci1ldmVudHM6IG5vbmU7IG9wYWNpdHk6IDA7IHRyYW5zaXRpb246IG9wYWNpdHkgLjNzOyB9XG4uZWJvb2stc3RhY2suc3RhY2stb3BlbiB7IG9wYWNpdHk6IDE7IH1cbi5lYm9vay1zdGFjay1sYXllciB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBib3R0b206IDA7IHdpZHRoOiAxMHB4OyBib3JkZXItcmFkaXVzOiAwIDNweCAzcHggMDsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjYzdkM2U2LCAjZWVmM2ZhIDcwJSwgI2ZmZmZmZik7IGJveC1zaGFkb3c6IDAgMCAycHggcmdiYSgxNSw0MCw4MCwuMTgpOyB9XG5cbi8qIOWwgemdoiAqL1xuLmVib29rLWNvdmVyIHsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsgei1pbmRleDogNjsgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7IHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IGRpc3BsYXk6IG5vbmU7IH1cbi5lYm9vay1jb3Zlci5jb3Zlci1zaG93IHsgZGlzcGxheTogYmxvY2s7IH1cbi5lYm9vay1jb3Zlci5jb3Zlci1mbGlwIHsgYW5pbWF0aW9uOiBlYm9va0NvdmVyT3BlbiAuN3MgY3ViaWMtYmV6aWVyKC40NSwuMDUsLjIsMSkgZm9yd2FyZHM7IH1cbi5lYm9vay1jb3Zlci5jb3Zlci1mbGlwLWJhY2sgeyBhbmltYXRpb246IGVib29rQ292ZXJDbG9zZSAuN3MgY3ViaWMtYmV6aWVyKC40NSwuMDUsLjIsMSkgZm9yd2FyZHM7IH1cbkBrZXlmcmFtZXMgZWJvb2tDb3Zlck9wZW4geyAwJSB7IHRyYW5zZm9ybTogcm90YXRlWSgwKTsgfSA0MCUgeyBib3gtc2hhZG93OiAwIDAgNjBweCByZ2JhKDAsMCwwLC41NSk7IH0gMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlWSgtMTgwZGVnKTsgfSB9XG5Aa2V5ZnJhbWVzIGVib29rQ292ZXJDbG9zZSB7IDAlIHsgdHJhbnNmb3JtOiByb3RhdGVZKC0xODBkZWcpOyB9IDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZVkoMCk7IH0gfVxuLmVib29rLWNvdmVyLWZhY2UgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOyBib3JkZXItcmFkaXVzOiA1cHggM3B4IDNweCA1cHg7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwODFGNDUgMCUsICMwQTJBNUUgNDAlLCB2YXIoLS1hY2NlbnQpIDc4JSwgIzJFOUJGMCAxMDAlKTsgYm94LXNoYWRvdzogMCAxMnB4IDM0cHggcmdiYSgwLDAsMCwuNDUpOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiAxNHB4OyBjb2xvcjogI2ZmZjsgcGFkZGluZzogMzBweDsgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuLmVib29rLWNvdmVyLWZhY2U6OmFmdGVyIHsgY29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMTVkZWcsIHJnYmEoMjU1LDI1NSwyNTUsLjE0KSAwJSwgdHJhbnNwYXJlbnQgMzIlLCB0cmFuc3BhcmVudCA3MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjA2KSAxMDAlKTsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbi5lYm9vay1jb3Zlci1zcGluZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMDsgdG9wOiAwOyBib3R0b206IDA7IHdpZHRoOiAxNnB4OyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMCwwLDAsLjQyKSwgcmdiYSgwLDAsMCwuMTIpIDU1JSwgdHJhbnNwYXJlbnQpOyB6LWluZGV4OiAyOyBib3JkZXItcmFkaXVzOiA1cHggMCAwIDVweDsgfVxuLmVib29rLWNvdmVyLWRlY28geyBmb250LXNpemU6IDM0cHg7IG9wYWNpdHk6IC41NTsgbGV0dGVyLXNwYWNpbmc6IDZweDsgfVxuLmVib29rLWNvdmVyLXRpdGxlIHsgZm9udC1zaXplOiAyNHB4OyBmb250LXdlaWdodDogODAwOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGxpbmUtaGVpZ2h0OiAxLjQ1OyBsZXR0ZXItc3BhY2luZzogMnB4OyB0ZXh0LXNoYWRvdzogMCAycHggMTJweCByZ2JhKDAsMCwwLC4zNSk7IH1cbi5lYm9vay1jb3Zlci1zdWIgeyBmb250LXNpemU6IDEycHg7IG9wYWNpdHk6IC44NTsgdGV4dC1hbGlnbjogY2VudGVyOyBsZXR0ZXItc3BhY2luZzogMi41cHg7IGxpbmUtaGVpZ2h0OiAxLjg7IH1cblxuLmVib29rLWxheWVyIHsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsgfVxuLmVib29rLXVuZGVyIHsgei1pbmRleDogMTsgfVxuLmVib29rLW92ZXIgeyB6LWluZGV4OiAyOyB9XG4uZWJvb2stc2xvdCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBib3R0b206IDA7IHdpZHRoOiA1MCU7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBwYWRkaW5nOiAxMHB4OyBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4uZWJvb2stc2xvdC1sZWZ0IHsgbGVmdDogMDsgfVxuLmVib29rLXNsb3QtcmlnaHQgeyByaWdodDogMDsgfVxuLmVib29rLW92ZXIgLmVib29rLXNsb3QtbGVmdCB7IHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjsgfVxuLmVib29rLW92ZXIgLmVib29rLXNsb3QtcmlnaHQgeyB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjsgfVxuLmVib29rLW92ZXIgLmVib29rLXNsb3QuZmxpcC1sZWZ0IHsgYW5pbWF0aW9uOiBlYm9va0ZsaXBMZWZ0IC42MnMgY3ViaWMtYmV6aWVyKC40LC4xLC4yLDEpIGZvcndhcmRzOyB9XG4uZWJvb2stb3ZlciAuZWJvb2stc2xvdC5mbGlwLXJpZ2h0IHsgYW5pbWF0aW9uOiBlYm9va0ZsaXBSaWdodCAuNjJzIGN1YmljLWJlemllciguNCwuMSwuMiwxKSBmb3J3YXJkczsgfVxuQGtleWZyYW1lcyBlYm9va0ZsaXBMZWZ0IHsgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZVkoMCk7IH0gMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpOyB9IH1cbkBrZXlmcmFtZXMgZWJvb2tGbGlwUmlnaHQgeyAwJSB7IHRyYW5zZm9ybTogcm90YXRlWSgwKTsgfSAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGVZKC0xODBkZWcpOyB9IH1cbi8qIOe/u+mhteaXtumhtemdouS4iueahOaYjuaal+a4kOWPmO+8iOaooeaLn+e6uOW8oOWNt+absuWPl+WFie+8iSAqL1xuLmVib29rLW92ZXIgLmVib29rLXNsb3QuZmxpcC1sZWZ0OjphZnRlcixcbi5lYm9vay1vdmVyIC5lYm9vay1zbG90LmZsaXAtcmlnaHQ6OmFmdGVyIHsgY29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4uZWJvb2stb3ZlciAuZWJvb2stc2xvdC5mbGlwLWxlZnQ6OmFmdGVyIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDAsMCwwLC4zMiksIHJnYmEoMCwwLDAsLjA2KSAzOCUsIHJnYmEoMjU1LDI1NSwyNTUsLjI4KSA3MCUsIHRyYW5zcGFyZW50KTsgYW5pbWF0aW9uOiBlYm9va1NoYWRlTCAuNjJzIGVhc2UgZm9yd2FyZHM7IH1cbi5lYm9vay1vdmVyIC5lYm9vay1zbG90LmZsaXAtcmlnaHQ6OmFmdGVyIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgcmdiYSgwLDAsMCwuMzIpLCByZ2JhKDAsMCwwLC4wNikgMzglLCByZ2JhKDI1NSwyNTUsMjU1LC4yOCkgNzAlLCB0cmFuc3BhcmVudCk7IGFuaW1hdGlvbjogZWJvb2tTaGFkZVIgLjYycyBlYXNlIGZvcndhcmRzOyB9XG5Aa2V5ZnJhbWVzIGVib29rU2hhZGVMIHsgMCUgeyBvcGFjaXR5OiAwOyB9IDMwJSB7IG9wYWNpdHk6IDE7IH0gMTAwJSB7IG9wYWNpdHk6IC4zNTsgfSB9XG5Aa2V5ZnJhbWVzIGVib29rU2hhZGVSIHsgMCUgeyBvcGFjaXR5OiAwOyB9IDMwJSB7IG9wYWNpdHk6IDE7IH0gMTAwJSB7IG9wYWNpdHk6IC4zNTsgfSB9XG4uZWJvb2stc2xvdDpub3QoLmhhcy1wYWdlKSB7IGRpc3BsYXk6IG5vbmU7IH1cbi5lYm9vay1zbG90LnNpbmdsZSB7IHdpZHRoOiAxMDAlOyB9XG4uZWJvb2stcGFnZS1jYW52YXMgeyBtYXgtd2lkdGg6IDEwMCU7IG1heC1oZWlnaHQ6IDEwMCU7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4uZWJvb2stcGFnZS1jYW52YXMgY2FudmFzIHsgbWF4LXdpZHRoOiAxMDAlOyBtYXgtaGVpZ2h0OiAxMDAlOyB3aWR0aDogYXV0bzsgaGVpZ2h0OiBhdXRvOyBib3gtc2hhZG93OiAwIDZweCAyMnB4IHJnYmEoMCwwLDAsLjM1KTsgYm9yZGVyLXJhZGl1czogMnB4OyBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4uZWJvb2stc3BpbmUgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDUwJTsgdG9wOiAwOyBib3R0b206IDA7IHdpZHRoOiAycHg7IG1hcmdpbi1sZWZ0OiAtMXB4OyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsMCwwLC4zOCksIHJnYmEoMCwwLDAsLjEyKSAxNSUsIHJnYmEoMCwwLDAsLjEyKSA4NSUsIHJnYmEoMCwwLDAsLjM4KSk7IHotaW5kZXg6IDU7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi8qIOWNt+mhtemYtOW9se+8iOe/u+mhteaXtuayv+S5puiEiuaJq+i/h++8iSAqL1xuLmVib29rLWN1cmwgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgYm90dG9tOiAwOyB3aWR0aDogMTEwcHg7IHotaW5kZXg6IDQ7IHBvaW50ZXItZXZlbnRzOiBub25lOyBvcGFjaXR5OiAwOyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMCwwLDAsLjM0KSwgcmdiYSgwLDAsMCwuMSkgNDUlLCB0cmFuc3BhcmVudCA4MCUpOyBmaWx0ZXI6IGJsdXIoNHB4KTsgfVxuLmVib29rLWN1cmwuY3VybC1yaWdodCB7IGFuaW1hdGlvbjogZWJvb2tDdXJsUmlnaHQgLjYycyBlYXNlIGZvcndhcmRzOyB9XG4uZWJvb2stY3VybC5jdXJsLWxlZnQgeyBhbmltYXRpb246IGVib29rQ3VybExlZnQgLjYycyBlYXNlIGZvcndhcmRzOyB9XG5Aa2V5ZnJhbWVzIGVib29rQ3VybFJpZ2h0IHsgMCUgeyBsZWZ0OiA1MCU7IG9wYWNpdHk6IDA7IH0gMjAlIHsgb3BhY2l0eTogMTsgfSA4NSUgeyBvcGFjaXR5OiAuOTsgfSAxMDAlIHsgbGVmdDogMTAwJTsgb3BhY2l0eTogMDsgfSB9XG5Aa2V5ZnJhbWVzIGVib29rQ3VybExlZnQgeyAwJSB7IHJpZ2h0OiA1MCU7IG9wYWNpdHk6IDA7IH0gMjAlIHsgb3BhY2l0eTogMTsgfSA4NSUgeyBvcGFjaXR5OiAuOTsgfSAxMDAlIHsgcmlnaHQ6IDEwMCU7IG9wYWNpdHk6IDA7IH0gfVxuXG4uZWJvb2stbG9hZGluZyB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IGRpc3BsYXk6IG5vbmU7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDE0cHg7IGNvbG9yOiB2YXIoLS1uYXZ5LXRleHQtZGltKTsgei1pbmRleDogMjA7IGJhY2tncm91bmQ6IHJnYmEoMTMsMjcsNTEsLjYyKTsgfVxuLmVib29rLWxvYWRpbmcgcCB7IGZvbnQtc2l6ZTogMTNweDsgfVxuLmVib29rLXNwaW5uZXIgeyB3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyBib3JkZXI6IDNweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xNSk7IGJvcmRlci10b3AtY29sb3I6IHZhcigtLXNreSk7IGJvcmRlci1yYWRpdXM6IDUwJTsgYW5pbWF0aW9uOiBlYm9va1NwaW4gMXMgbGluZWFyIGluZmluaXRlOyB9XG5Aa2V5ZnJhbWVzIGVib29rU3BpbiB7IHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbi5lYm9vay1uYXYgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IHdpZHRoOiA0NnB4OyBoZWlnaHQ6IDQ2cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMSk7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjIpOyBjb2xvcjogI2ZmZjsgZm9udC1zaXplOiAyNnB4OyBjdXJzb3I6IHBvaW50ZXI7IHotaW5kZXg6IDEwOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgdHJhbnNpdGlvbjogLjJzOyB9XG4uZWJvb2stbmF2OmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMjIpOyB9XG4uZWJvb2stbmF2OmRpc2FibGVkIHsgb3BhY2l0eTogLjM7IGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbi5lYm9vay1uYXYtcHJldiB7IGxlZnQ6IDE4cHg7IH1cbi5lYm9vay1uYXYtbmV4dCB7IHJpZ2h0OiAxOHB4OyB9XG5cbi5lYm9vay1ib3R0b21iYXIgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiAxMHB4OyBwYWRkaW5nOiAxMHB4IDE2cHg7IGJhY2tncm91bmQ6ICMxMjIxM2Q7IGNvbG9yOiB2YXIoLS1uYXZ5LXRleHQtZGltKTsgZm9udC1zaXplOiAxM3B4OyB9XG4uZWJvb2stcGFnZW5vIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4OyB9XG4uZWJvb2stcGFnZW5vIGlucHV0IHsgd2lkdGg6IDU2cHg7IHRleHQtYWxpZ246IGNlbnRlcjsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMDgpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xNik7IGNvbG9yOiAjZmZmOyBib3JkZXItcmFkaXVzOiA2cHg7IHBhZGRpbmc6IDRweCA2cHg7IGZvbnQtc2l6ZTogMTNweDsgfVxuLmVib29rLXBhZ2VubyBpbnB1dDpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IGJvcmRlci1jb2xvcjogdmFyKC0tc2t5KTsgfVxuXG5AbWVkaWEgKC0tYnAtc20pIHtcbiAgLnJldmlldy1jYXJkLWhlYWQgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgZ2FwOiAxNHB4OyB9XG4gIC5yZXZpZXctY2FyZC1hY3Rpb25zIHsgd2lkdGg6IDEwMCU7IH1cbiAgLnJldmlldy1jYXJkLWFjdGlvbnMgLmJ0biB7IGZsZXg6IDE7IH1cbiAgLmVib29rLW1vZGFsIHsgcGFkZGluZzogMDsgfVxuICAuZWJvb2stc2hlbGwgeyB3aWR0aDogMTAwdnc7IGhlaWdodDogMTAwdmg7IGhlaWdodDogMTAwZHZoOyBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5lYm9vay1ib29rIHsgaW5zZXQ6IDEycHggMTJweDsgfVxuICAuZWJvb2stbmF2IHsgd2lkdGg6IDM4cHg7IGhlaWdodDogMzhweDsgZm9udC1zaXplOiAyMnB4OyB9XG4gIC5lYm9vay1uYXYtcHJldiB7IGxlZnQ6IDRweDsgfVxuICAuZWJvb2stbmF2LW5leHQgeyByaWdodDogNHB4OyB9XG59XG5cbi8qIC0tLS0tLS0tLS0g5oql5ZCNL+azqOWGjOihqOWNle+8iHJlZ2lzdGVyLmVqc++8ieWTjeW6lOW8j++8mumqjOivgeeggeaMiemSruS4juihjOW4g+WxgCAtLS0tLS0tLS0tICovXG5AbWVkaWEgKC0tYnAtc20pIHtcbiAgLmNvZGUtYnRuIHsgbWluLXdpZHRoOiAxMTJweDsgZm9udC1zaXplOiAxM3B4OyBwYWRkaW5nOiA4cHggMTBweDsgfVxufVxuQG1lZGlhICgtLWJwLWNvbXBhY3QpIHtcbiAgLmNvZGUtcm93IHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuY29kZS1idG4geyB3aWR0aDogMTAwJTsgfVxufVxuXG4vKiAtLS0tLS0tLS0tIOaJk+WNsCAtLS0tLS0tLS0tICovXG5AbWVkaWEgcHJpbnQge1xuICAudG9wYmFyLCAuaGVhZGVyLCAubW9iaWxlLW5hdiwgLm1vYmlsZS1vdmVybGF5LCAubmF2LXRvZ2dsZSwgLmZvb3RlciwgLmNhbGwtYmFubmVyLCAuaGVyby1kb3RzLFxuICAucXVpY2stbmF2LCAuY291bnRkb3duLCAuYnJlYWRjcnVtYiwgLmJ0biB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBib2R5IHsgYmFja2dyb3VuZDogI2ZmZjsgY29sb3I6ICMwMDA7IC13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgfVxuICAuaGVybywgLnNlY3Rpb24geyBwYWRkaW5nOiAyMHB4IDA7IH1cbiAgYSB7IGNvbG9yOiAjMDAwOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBpbWcgeyBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmNvbnRhaW5lciB7IG1heC13aWR0aDogMTAwJTsgcGFkZGluZzogMCAxMnB4OyB9XG59XG4iXX0= */