{"id":4113,"date":"2022-11-23T14:49:50","date_gmt":"2022-11-23T13:49:50","guid":{"rendered":"https:\/\/www.vaia.eu\/project\/vaia-x-aziende\/"},"modified":"2026-06-25T15:49:31","modified_gmt":"2026-06-25T13:49:31","slug":"vaia-4-companies","status":"publish","type":"project","link":"https:\/\/www.vaia.eu\/en\/project\/vaia-4-companies\/","title":{"rendered":"VAIA 4 companies"},"content":{"rendered":"\n<div class=\"wp-block-columns alignfull is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<!-- =====================================================================\n     VAIA \u00d7 COMPANIES \u2014 B2B Landing (lead generation)\n     Single block to paste into a \"Custom HTML\" block in WordPress.\n     All styles scoped under #vaia-b2b.\n     Footer NOT included (use the theme's footer).\n     ===================================================================== -->\n\n<!-- Brand Font -->\n<link rel=\"preconnect\" href=\"https:\/\/api.fontshare.com\" crossorigin=\"\">\n<link href=\"https:\/\/api.fontshare.com\/v2\/css?f[]=clash-display@400,500,600,700&amp;display=swap\" rel=\"stylesheet\">\n\n<div id=\"vaia-b2b\">\n\n<!-- ============ STYLE ============ -->\n<style>\n#vaia-b2b{\n  \/* ---- Institutional Palette ---- *\/\n  --c-forest:#0E3B26;   \/* deep green  *\/\n  --c-green:#007A4E;    \/* action green    *\/\n  --c-mint:#C9ECD9;     \/* light mint    *\/\n  --c-gold:#DDC000;     \/* gold\/ochre        *\/\n  --c-paper:#F3F0E4;    \/* cream           *\/\n  --c-wine:#610F38;     \/* bordeaux        *\/\n  --c-ink:#10231A;      \/* text on light *\/\n  --c-white:#ffffff;\n\n  --maxw:1180px;\n  --r:18px;             \/* card radius     *\/\n  --ease:cubic-bezier(.2,.7,.2,1);\n\n  --f:'Clash Display','Helvetica Neue',Arial,sans-serif;\n\n  font-family:var(--f);\n  color:var(--c-ink);\n  -webkit-font-smoothing:antialiased;\n  line-height:1.5;\n  font-size:18px;\n}\n\/* local reset *\/\n#vaia-b2b *,#vaia-b2b *::before,#vaia-b2b *::after{box-sizing:border-box;}\n#vaia-b2b h1,#vaia-b2b h2,#vaia-b2b h3,#vaia-b2b h4,#vaia-b2b p,#vaia-b2b ul,#vaia-b2b figure{margin:0;padding:0;}\n#vaia-b2b ul{list-style:none;}\n#vaia-b2b img{max-width:100%;display:block;}\n#vaia-b2b a{color:inherit;text-decoration:none;}\n\n\/* ---- typography ---- *\/\n#vaia-b2b .vb-eyebrow{\n  font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;\n  display:inline-flex;align-items:center;gap:.55rem;color:var(--c-green);\n}\n#vaia-b2b .vb-eyebrow::before{content:\"\";width:26px;height:2px;background:var(--c-gold);display:inline-block;}\n#vaia-b2b .vb-eyebrow--light{color:var(--c-mint);}\n#vaia-b2b .vb-eyebrow--light::before{background:var(--c-gold);}\n\n#vaia-b2b h2.vb-h{font-size:clamp(1.9rem,4.4vw,3.1rem);font-weight:600;line-height:1.05;letter-spacing:-.02em;}\n#vaia-b2b h3.vb-h{font-size:clamp(1.4rem,2.6vw,2rem);font-weight:600;line-height:1.08;letter-spacing:-.01em;}\n#vaia-b2b .vb-lead{font-size:clamp(1.02rem,1.5vw,1.18rem);font-weight:400;color:#2c3f35;}\n\n\/* ---- layout ---- *\/\n#vaia-b2b .vb-wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px;}\n#vaia-b2b .vb-section{padding:clamp(56px,8vw,104px) 0;}\n\n\/* \"wood grain\" divider *\/\n#vaia-b2b .vb-split{height:2px;width:100%;border:0;\n  background:repeating-linear-gradient(90deg,var(--c-gold) 0 14px,transparent 14px 26px);\n  opacity:.5;margin:0;}\n\n\/* ---- buttons ---- *\/\n#vaia-b2b .vb-btn{\n  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;\n  font-family:var(--f);font-weight:600;font-size:1rem;line-height:1;\n  padding:16px 26px;border-radius:999px;cursor:pointer;border:2px solid transparent;\n  transition:transform .18s var(--ease),background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease);\n}\n#vaia-b2b .vb-btn:hover{transform:translateY(-2px);}\n#vaia-b2b .vb-btn--primary{background:var(--c-green);color:#fff;}\n#vaia-b2b .vb-btn--primary:hover{background:#066a44;}\n#vaia-b2b .vb-btn--gold{background:var(--c-gold);color:var(--c-forest);}\n#vaia-b2b .vb-btn--gold:hover{background:#c9ad00;}\n#vaia-b2b .vb-btn--ghost{background:transparent;border-color:currentColor;color:var(--c-forest);}\n#vaia-b2b .vb-btn--ghost:hover{background:var(--c-forest);color:#fff;border-color:var(--c-forest);}\n#vaia-b2b .vb-btn--ghostlight{background:transparent;border-color:rgba(255,255,255,.55);color:#fff;}\n#vaia-b2b .vb-btn--ghostlight:hover{background:#fff;color:var(--c-forest);border-color:#fff;}\n#vaia-b2b .vb-btn .vb-arrow{transition:transform .18s var(--ease);}\n#vaia-b2b .vb-btn:hover .vb-arrow{transform:translateX(3px);}\n#vaia-b2b .vb-cta-row{display:flex;flex-wrap:wrap;gap:14px;}\n\n\/* =================== HERO =================== *\/\n#vaia-b2b .vb-hero{position:relative;overflow:hidden;background:var(--c-forest);color:#fff;}\n#vaia-b2b .vb-hero__bg{position:absolute;inset:0;z-index:0;}\n#vaia-b2b .vb-hero__bg img{width:100%;height:100%;object-fit:cover;}\n#vaia-b2b .vb-hero__bg::after{content:\"\";position:absolute;inset:0;\n  background:linear-gradient(180deg,rgba(14,59,38,.62) 0%,rgba(14,59,38,.78) 60%,rgba(14,59,38,.96) 100%);}\n#vaia-b2b .vb-hero__inner{position:relative;z-index:1;padding-top:clamp(110px,15vw,168px);padding-bottom:clamp(40px,6vw,64px);min-height:540px;display:flex;flex-direction:column;justify-content:center;}\n#vaia-b2b .vb-hero h1{\n  font-size:clamp(2.4rem,6.4vw,4.6rem);font-weight:600;line-height:.99;letter-spacing:-.025em;\n  max-width:16ch;margin:.5rem 0 0;}\n#vaia-b2b .vb-hero h1 em{font-style:normal;color:var(--c-gold);}\n#vaia-b2b .vb-hero__sub{margin-top:1.3rem;max-width:54ch;font-size:clamp(1.05rem,1.7vw,1.28rem);font-weight:400;color:#e7f3ec;}\n#vaia-b2b .vb-hero .vb-cta-row{margin-top:2rem;}\n#vaia-b2b .vb-hero__micro{margin-top:.9rem;font-size:.88rem;font-weight:400;color:#cfe5d8;}\n\n\/* trust badges *\/\n#vaia-b2b .vb-trust{position:relative;z-index:1;margin-top:clamp(30px,5vw,46px);}\n#vaia-b2b .vb-badges{display:flex;flex-wrap:wrap;gap:10px;}\n#vaia-b2b .vb-badge{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:500;\n  padding:8px 14px;border:1px solid rgba(201,236,217,.4);border-radius:999px;color:#eafff4;}\n#vaia-b2b .vb-badge svg{width:14px;height:14px;}\n#vaia-b2b .vb-badge--logo{background:rgba(255,255,255,.08);}\n#vaia-b2b .vb-badge--logo svg{width:16px;height:21px;}\n\n\/* =================== LOGOS =================== *\/\n#vaia-b2b .vb-logos{background:var(--c-paper);}\n#vaia-b2b .vb-logos__head{text-align:center;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;\n  color:#6f7d72;font-weight:600;margin-bottom:30px;}\n#vaia-b2b .vb-logos__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;align-items:stretch;}\n#vaia-b2b .vb-logos__grid figure{background:#fff;border:1px solid #e6e1cf;border-radius:14px;\n  display:flex;align-items:center;justify-content:center;padding:16px 14px;min-height:92px;\n  transition:transform .2s var(--ease),box-shadow .2s var(--ease);}\n#vaia-b2b .vb-logos__grid figure:hover{transform:translateY(-3px);box-shadow:0 14px 30px -20px rgba(0,0,0,.35);}\n#vaia-b2b .vb-logos__grid img{max-height:54px;width:auto;object-fit:contain;}\n\n\/* =================== TERRITORY \/ INTRO =================== *\/\n#vaia-b2b .vb-intro{background:var(--c-paper);}\n#vaia-b2b .vb-intro__head{max-width:800px;margin:0 auto;text-align:center;}\n#vaia-b2b .vb-intro__head .vb-eyebrow{justify-content:center;display:inline-flex;}\n#vaia-b2b .vb-intro__head h2{margin-top:1rem;}\n#vaia-b2b .vb-intro__head p{margin-top:1rem;}\n#vaia-b2b .vb-svc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:46px;}\n#vaia-b2b .vb-svc-card{background:#fff;border:1px solid #e6e1cf;border-radius:var(--r);overflow:hidden;\n  display:flex;flex-direction:column;transition:transform .2s var(--ease),box-shadow .2s var(--ease);}\n#vaia-b2b .vb-svc-card:hover{transform:translateY(-5px);box-shadow:0 26px 50px -28px rgba(0,0,0,.42);}\n#vaia-b2b .vb-svc-card__img{aspect-ratio:16\/10;overflow:hidden;background:var(--c-mint);}\n#vaia-b2b .vb-svc-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease);}\n#vaia-b2b .vb-svc-card:hover .vb-svc-card__img img{transform:scale(1.05);}\n#vaia-b2b .vb-svc-card__b{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1;}\n#vaia-b2b .vb-svc-card__b h3{margin-top:.5rem;font-size:1.35rem;}\n#vaia-b2b .vb-svc-card__b p{margin-top:.6rem;font-size:.96rem;font-weight:400;color:#52615a;flex:1;}\n#vaia-b2b .vb-svc-card__link{margin-top:16px;font-weight:600;color:var(--c-green);display:inline-flex;align-items:center;gap:.4rem;}\n#vaia-b2b .vb-svc-card:hover .vb-svc-card__link span{transform:translateX(3px);}\n#vaia-b2b .vb-svc-card__link span{transition:transform .18s var(--ease);}\n\n\/* =================== BENEFITS =================== *\/\n#vaia-b2b .vb-ben{background:#fff;}\n#vaia-b2b .vb-ben__head{max-width:720px;}\n#vaia-b2b .vb-ben__head h2{margin-top:1rem;}\n#vaia-b2b .vb-ben__head p{margin-top:1rem;}\n#vaia-b2b .vb-ben__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:46px;}\n#vaia-b2b .vb-ben__card{border-radius:var(--r);padding:28px 26px;border:1px solid #e6e1cf;background:var(--c-paper);}\n#vaia-b2b .vb-ben__card .vb-eyebrow{margin-bottom:.6rem;}\n#vaia-b2b .vb-ben__card p{font-size:.96rem;font-weight:400;color:#52615a;}\n#vaia-b2b .vb-ben__chips{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px;}\n#vaia-b2b .vb-ben__chips li{font-size:.82rem;font-weight:500;color:var(--c-forest);\n  background:#fff;border:1px solid #ddd6c2;border-radius:999px;padding:7px 13px;}\n\n\/* =================== SERVICES =================== *\/\n#vaia-b2b .vb-srv{position:relative;}\n#vaia-b2b .vb-srv--forest{background:var(--c-forest);color:#fff;}\n#vaia-b2b .vb-srv--mint{background:var(--c-mint);}\n#vaia-b2b .vb-srv--wine{background:var(--c-wine);color:#fff;}\n#vaia-b2b .vb-srv__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,60px);align-items:center;}\n#vaia-b2b .vb-srv__grid.rev .vb-srv__media{order:2;}\n#vaia-b2b .vb-srv p{margin-top:1.1rem;}\n#vaia-b2b .vb-srv .vb-cta-row{margin-top:1.8rem;}\n#vaia-b2b .vb-srv--forest .vb-lead,#vaia-b2b .vb-srv--wine .vb-lead{color:#e3efe8;}\n#vaia-b2b .vb-srv--wine .vb-lead{color:#f3dbe7;}\n\n\/* check list *\/\n#vaia-b2b .vb-checks{margin-top:1.5rem;display:grid;gap:11px;}\n#vaia-b2b .vb-checks li{position:relative;padding-left:30px;font-size:1rem;font-weight:400;}\n#vaia-b2b .vb-checks li::before{content:\"\";position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:50%;\n  background:var(--c-gold);}\n#vaia-b2b .vb-checks li::after{content:\"\";position:absolute;left:6px;top:7px;width:5px;height:8px;\n  border:solid var(--c-forest);border-width:0 2px 2px 0;transform:rotate(42deg);}\n#vaia-b2b .vb-srv--mint .vb-checks li{color:#16382a;}\n\n\/* video *\/\n#vaia-b2b .vb-video{\n  position:relative;\n  width:100%;\n  padding-top:56.25%;\n  border-radius:var(--r);\n  overflow:hidden;\n  background:#0b2419;\n  box-shadow:0 24px 60px -28px rgba(0,0,0,.55);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n#vaia-b2b .vb-video iframe{\n  position:absolute;\n  inset:0;\n  width:100%;\n  height:100%;\n  border:0;\n  top: -10px;\n  left: -1px;\n  width: calc(100% + 2px);\n  height: calc(100% + 2px);\n}\n\n\/* products grid *\/\n#vaia-b2b .vb-prods{margin-top:38px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}\n#vaia-b2b .vb-prod{background:#fff;border-radius:14px;overflow:hidden;border:1px solid rgba(0,0,0,.06);\n  transition:transform .2s var(--ease),box-shadow .2s var(--ease);}\n#vaia-b2b .vb-prod:hover{transform:translateY(-4px);box-shadow:0 20px 40px -24px rgba(0,0,0,.4);}\n#vaia-b2b .vb-prod__img{aspect-ratio:1\/1;overflow:hidden;background:var(--c-mint);}\n#vaia-b2b .vb-prod__img img{width:100%;height:100%;object-fit:cover;}\n#vaia-b2b .vb-prod__b{padding:13px 14px 16px;}\n#vaia-b2b .vb-prod__b b{font-weight:600;font-size:1rem;color:var(--c-forest);display:block;}\n#vaia-b2b .vb-prod__b span{font-size:.84rem;color:#5e6f63;font-weight:400;}\n\n\/* case study card *\/\n#vaia-b2b .vb-case{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:var(--r);\n  padding:26px;margin-top:26px;}\n#vaia-b2b .vb-srv--mint .vb-case{background:#fff;border-color:rgba(0,0,0,.06);}\n#vaia-b2b .vb-case__top{display:flex;align-items:center;gap:14px;}\n#vaia-b2b .vb-case__logo{height:34px;width:auto;background:#fff;border-radius:8px;padding:5px 8px;}\n#vaia-b2b .vb-case__name{font-weight:600;font-size:1.05rem;}\n#vaia-b2b .vb-case__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px;}\n#vaia-b2b .vb-case__n{font-size:clamp(1.3rem,2.4vw,1.7rem);font-weight:600;color:var(--c-gold);line-height:1;}\n#vaia-b2b .vb-srv--mint .vb-case__n{color:var(--c-green);}\n#vaia-b2b .vb-case__sl{font-size:.78rem;margin-top:.35rem;opacity:.82;font-weight:400;}\n#vaia-b2b .vb-case__link{display:inline-flex;align-items:center;gap:.4rem;margin-top:20px;font-weight:600;\n  font-size:.95rem;color:var(--c-gold);}\n#vaia-b2b .vb-srv--mint .vb-case__link{color:var(--c-green);}\n#vaia-b2b .vb-case__link span{transition:transform .18s var(--ease);}\n#vaia-b2b .vb-case__link:hover span{transform:translateX(3px);}\n\n\/* strip stats *\/\n#vaia-b2b .vb-strip__head{margin-top:42px;text-align:center;font-size:.78rem;letter-spacing:.18em;\n  text-transform:uppercase;color:#4d6356;font-weight:600;}\n#vaia-b2b .vb-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:18px;}\n#vaia-b2b .vb-strip__i{text-align:center;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:14px;padding:18px 12px;}\n#vaia-b2b .vb-strip__i b{display:block;font-size:clamp(1.5rem,3vw,2rem);font-weight:600;color:var(--c-green);line-height:1;}\n#vaia-b2b .vb-strip__i span{display:block;font-size:.8rem;color:#5e6f63;font-weight:400;margin-top:.4rem;}\n\n\/* =================== TESTIMONIALS =================== *\/\n#vaia-b2b .vb-tst{background:var(--c-paper);}\n#vaia-b2b .vb-tst__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px;}\n#vaia-b2b .vb-tst__card{background:#fff;border:1px solid #e6e1cf;border-radius:var(--r);padding:26px;display:flex;flex-direction:column;}\n#vaia-b2b .vb-tst__q{font-size:1.02rem;font-weight:400;color:#26362d;flex:1;}\n#vaia-b2b .vb-tst__q::before{content:\"\u201c\";font-size:2.4rem;color:var(--c-gold);line-height:0;display:block;margin-bottom:.5rem;}\n#vaia-b2b .vb-tst__who{display:flex;align-items:center;gap:12px;margin-top:20px;}\n#vaia-b2b .vb-tst__av{width:42px;height:42px;border-radius:50%;object-fit:cover;background:var(--c-mint);}\n#vaia-b2b .vb-tst__who b{font-weight:600;font-size:.95rem;color:var(--c-forest);display:block;}\n#vaia-b2b .vb-tst__who span{font-size:.82rem;color:#6f7d72;font-weight:400;}\n\n\/* =================== FINAL CTA =================== *\/\n#vaia-b2b .vb-final{background:var(--c-green);color:#fff;text-align:center;}\n#vaia-b2b .vb-final h2{max-width:18ch;margin:0 auto;}\n#vaia-b2b .vb-final p{max-width:52ch;margin:1.1rem auto 0;color:#e6f5ee;}\n#vaia-b2b .vb-final .vb-cta-row{justify-content:center;margin-top:2rem;}\n\n\/* CTA note *\/\n#vaia-b2b .vb-final__note{\n  margin-top:1.4rem;\n  font-size:.86rem;\n  color:#cdeede;\n  display:flex;\n  flex-wrap:wrap;\n  justify-content:center;\n  gap:20px 28px;\n  row-gap:12px;\n}\n#vaia-b2b .vb-final__note span{\n  display:inline-flex;\n  align-items:center;\n  gap:.45rem;\n  white-space:nowrap;\n}\n\n\/* inline form *\/\n#vaia-b2b .vb-final__form{max-width:560px;margin:34px auto 0;background:var(--c-paper);\n  border-radius:22px;padding:30px 28px;text-align:left;\n  box-shadow:0 30px 70px -34px rgba(0,0,0,.5);}\n#vaia-b2b .vb-final__form #hs-form-final{margin-top:0;}\n#vaia-b2b #hs-form-final-fallback{font-weight:400;font-size:.95rem;color:#4f5e54;}\n\n\/* =================== FAQ =================== *\/\n#vaia-b2b .vb-faq{background:var(--c-paper);}\n#vaia-b2b .vb-faq__list{max-width:820px;margin:38px auto 0;}\n#vaia-b2b .vb-faq__item{border-bottom:1px solid #ddd6c2;}\n#vaia-b2b .vb-faq__q{width:100%;text-align:left;background:none;border:0;cursor:pointer;font-family:var(--f);\n  font-size:clamp(1.05rem,1.8vw,1.2rem);font-weight:500;color:var(--c-forest);\n  padding:22px 44px 22px 0;position:relative;}\n#vaia-b2b .vb-faq__q::after{content:\"\";position:absolute;right:6px;top:50%;width:13px;height:13px;\n  border:solid var(--c-green);border-width:0 2px 2px 0;transform:translateY(-65%) rotate(45deg);transition:transform .25s var(--ease);}\n#vaia-b2b .vb-faq__item.open .vb-faq__q::after{transform:translateY(-25%) rotate(-135deg);}\n#vaia-b2b .vb-faq__a{max-height:0;overflow:hidden;transition:max-height .3s var(--ease);}\n#vaia-b2b .vb-faq__a p{padding:0 0 22px;color:#4f5e54;font-weight:400;font-size:1rem;}\n\n\/* =================== STICKY CTA =================== *\/\n#vaia-b2b .vb-sticky{position:fixed;z-index:60;right:24px;bottom:24px;opacity:0;visibility:hidden;\n  transform:translateY(14px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s;}\n#vaia-b2b .vb-sticky.show{opacity:1;visibility:visible;transform:none;}\n#vaia-b2b .vb-sticky .vb-btn{box-shadow:0 14px 34px -10px rgba(0,0,0,.5);}\n\n\/* =================== MODAL =================== *\/\n#vaia-b2b .vb-modal{position:fixed;inset:0;z-index:1000;display:none;}\n#vaia-b2b .vb-modal.open{display:block;}\n#vaia-b2b .vb-modal__bd{position:absolute;inset:0;background:rgba(8,30,20,.62);backdrop-filter:blur(3px);}\n#vaia-b2b .vb-modal__dialog{position:relative;max-width:560px;width:calc(100% - 32px);margin:5vh auto;\n  max-height:90vh;overflow:auto;background:var(--c-paper);border-radius:22px;padding:34px 32px 32px;\n  box-shadow:0 40px 90px -30px rgba(0,0,0,.6);animation:vbpop .28s var(--ease);}\n@keyframes vbpop{from{opacity:0;transform:translateY(18px) scale(.98);}to{opacity:1;transform:none;}}\n#vaia-b2b .vb-modal__close{position:absolute;top:16px;right:16px;width:38px;height:38px;border-radius:50%;\n  border:0;background:#e7e1cf;cursor:pointer;font-size:1.3rem;line-height:1;color:var(--c-forest);}\n#vaia-b2b .vb-modal__close:hover{background:#d9d2bc;}\n#vaia-b2b .vb-modal h3{margin-top:.6rem;}\n#vaia-b2b .vb-modal__intro{margin-top:.6rem;color:#4f5e54;font-weight:400;font-size:1rem;}\n#vaia-b2b #hs-form-target{margin-top:22px;}\n#vaia-b2b #hs-form-fallback{margin-top:18px;font-weight:400;font-size:.95rem;color:#4f5e54;}\n\n\/* HubSpot styling *\/\n#vaia-b2b .hs-form fieldset{max-width:100%!important;}\n#vaia-b2b .hs-form .hs-input{width:100%;border:1px solid #cfc9b6;border-radius:10px;padding:11px 13px;\n  font-family:var(--f);font-size:1rem;background:#fff;}\n#vaia-b2b .hs-form .hs-input:focus{outline:2px solid var(--c-green);border-color:var(--c-green);}\n#vaia-b2b .hs-form select.hs-input{height:auto;}\n#vaia-b2b .hs-form label{font-weight:500;font-size:.9rem;color:var(--c-forest);margin-bottom:5px;display:inline-block;}\n#vaia-b2b .hs-form .hs-button{background:var(--c-green)!important;border:0!important;color:#fff!important;\n  font-family:var(--f)!important;font-weight:600!important;border-radius:999px!important;padding:15px 28px!important;\n  cursor:pointer;font-size:1rem!important;width:100%;margin-top:8px;}\n#vaia-b2b .hs-form .hs-button:hover{background:#066a44!important;}\n#vaia-b2b .hs-form .hs-error-msg,#vaia-b2b .hs-form .hs-error-msgs label{color:var(--c-wine)!important;font-size:.82rem;}\n#vaia-b2b .hs-form .hs-form-field{margin-bottom:14px;}\n\n\/* =================== RESPONSIVE =================== *\/\n@media(max-width:980px){\n  #vaia-b2b .vb-srv__grid{grid-template-columns:1fr;}\n  #vaia-b2b .vb-srv__grid.rev .vb-srv__media{order:0;}\n  #vaia-b2b .vb-svc-cards{grid-template-columns:1fr;}\n  #vaia-b2b .vb-ben__grid{grid-template-columns:1fr;}\n  #vaia-b2b .vb-logos__grid{grid-template-columns:repeat(3,1fr);}\n  #vaia-b2b .vb-tst__grid{grid-template-columns:1fr 1fr;}\n  #vaia-b2b .vb-strip{grid-template-columns:repeat(2,1fr);}\n}\n@media(max-width:620px){\n  #vaia-b2b{font-size:17px;}\n  #vaia-b2b .vb-wrap{padding:0 18px;}\n  #vaia-b2b .vb-hero__inner{min-height:88vh;min-height:88svh;padding-top:128px;padding-bottom:48px;justify-content:flex-start;}\n  #vaia-b2b .vb-hero h1{margin-top:1.4rem;}\n  #vaia-b2b .vb-hero .vb-cta-row{margin-top:2.4rem;}\n  #vaia-b2b .vb-trust{margin-top:auto;padding-top:34px;}\n  #vaia-b2b .vb-prods{grid-template-columns:repeat(2,1fr);}\n  #vaia-b2b .vb-case__stats{grid-template-columns:1fr 1fr;}\n  #vaia-b2b .vb-logos__grid{grid-template-columns:repeat(2,1fr);}\n  #vaia-b2b .vb-tst__grid{grid-template-columns:1fr;}\n  #vaia-b2b .vb-sticky{right:14px;left:14px;bottom:14px;}\n  #vaia-b2b .vb-sticky .vb-btn{width:100%;}\n  #vaia-b2b .vb-cta-row{gap:12px;}\n  #vaia-b2b .vb-cta-row .vb-btn{width:100%;}\n}\n@media(prefers-reduced-motion:reduce){\n  #vaia-b2b *{animation:none!important;transition:none!important;}\n}\n<\/style>\n\n<!-- ============ HERO ============ -->\n<header class=\"vb-hero\">\n  <div class=\"vb-hero__bg\">\n    <img decoding=\"async\" src=\"https:\/\/project.vaia.eu\/hs-fs\/hubfs\/Evento%20Aziendale%20Gruppo%20Cassa%20Centrale%20(1).jpg?width=1600&amp;name=Evento%20Aziendale%20Gruppo%20Cassa%20Centrale%20(1).jpg\" alt=\"Corporate team planting trees in the Dolomites with VAIA\">\n  <\/div>\n  <div class=\"vb-wrap vb-hero__inner\">\n    <span class=\"vb-eyebrow vb-eyebrow--light\">VAIA \u00d7 Companies<\/span>\n    <h1>Your company\u2019s sustainability deserves to be seen, felt, and remembered.<\/h1>\n    <p class=\"vb-hero__sub\">With VAIA, you turn your commitment into real regeneration projects \u2014 from sustainable corporate gifts to team-building experiences in the Dolomites, to tailor-made ESG partnerships.<\/p>\n    <div class=\"vb-cta-row\">\n      <button class=\"vb-btn vb-btn--gold\" data-vb-open=\"contatto\">Get in touch <span class=\"vb-arrow\">\u2192<\/span><\/button>\n      \n    <\/div>\n    <p class=\"vb-hero__micro\">No obligation \u00b7 Fast response<\/p>\n\n    <div class=\"vb-trust\">\n      <div class=\"vb-badges\">\n        <span class=\"vb-badge vb-badge--logo\" title=\"Certified B Corporation\">\n          <svg viewBox=\"0 0 24 32\" width=\"16\" height=\"21\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"11\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\"><\/circle><path d=\"M9 7h4.4c1.9 0 3 1 3 2.5 0 1.2-.7 1.9-1.6 2.2 1.1.3 2 1 2 2.5C16.8 18 15.5 19 13.4 19H9V7zm2.1 4.6h2c.9 0 1.4-.4 1.4-1.2 0-.7-.5-1.1-1.4-1.1h-2v2.3zm0 5.5h2.1c1 0 1.5-.5 1.5-1.3 0-.8-.6-1.3-1.6-1.3h-2v2.6z\" fill=\"currentColor\"><\/path><path d=\"M12 23v6\" stroke=\"currentColor\" stroke-width=\"1.6\"><\/path><\/svg>\n          Certified B&nbsp;Corp\n        <\/span>\n        <span class=\"vb-badge\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M20 6 9 17l-5-5\"><\/path><\/svg> PEFC Certified Supply Chain<\/span>\n        <span class=\"vb-badge\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M20 6 9 17l-5-5\"><\/path><\/svg> Benefit Corporation<\/span>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/header>\n\n<!-- ============ LOGOS ============ -->\n<section class=\"vb-logos vb-section\" aria-label=\"Companies that chose VAIA\">\n  <div class=\"vb-wrap\">\n    <p class=\"vb-logos__head\">They already chose VAIA<\/p>\n    <div class=\"vb-logos__grid\">\n      <figure><img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/06\/VAIA-Companies-Transp-Logo-3.png\" alt=\"VAIA partner company\" loading=\"lazy\"><\/figure>\n      <figure><img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/06\/VAIA-Companies-Transp-Logo-5.png\" alt=\"VAIA partner company\" loading=\"lazy\"><\/figure>\n      <figure><img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/06\/VAIA-Companies-Transp-Logo-4.png\" alt=\"VAIA partner company\" loading=\"lazy\"><\/figure>\n      <figure><img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/06\/VAIA-Companies-Transp-Logo-1.png\" alt=\"VAIA partner company\" loading=\"lazy\"><\/figure>\n      <figure><img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/06\/Sony_Music_Logo.png\" alt=\"Sony Music\" loading=\"lazy\"><\/figure>\n      <figure><img decoding=\"async\" src=\"https:\/\/www.salonesri.it\/2021\/wp-content\/uploads\/sites\/15\/2021\/07\/positivo-compatto@3x.png\" alt=\"Gruppo Cassa Centrale\" loading=\"lazy\"><\/figure>\n    <\/div>\n  <\/div>\n<\/section>\n<hr class=\"vb-split\">\n\n<!-- ============ TERRITORY SECTION ============ -->\n<section class=\"vb-intro vb-section\" style=\"background:#fff;\">\n  <div class=\"vb-wrap\">\n    <div class=\"vb-intro__head\" style=\"max-width:860px;\">\n      <h2 class=\"vb-h\">Every territory has a story. We turn it into value.<\/h2>\n      <p class=\"vb-lead\" style=\"margin-top:1.2rem;\">The Dolomites, the olive groves of Puglia, places rich in history and craftsmanship: VAIA starts from the potential of each territory to build concrete and measurable corporate sustainability projects. We recover materials, entrust them to local artisans, involve companies like yours, and give value back to communities with something precious to offer.<\/p>\n      <p class=\"vb-lead\" style=\"margin-top:1rem;\">When you work with VAIA, your commitment doesn\u2019t add to a generic effort. It connects to real people, to a precise place on the map, to an impact that exists and can be told.<\/p>\n    <\/div>\n\n    <div style=\"display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:18px;margin-top:46px;\">\n      <div class=\"vb-ben__card\" style=\"background:var(--c-paper);\">\n        <span class=\"vb-eyebrow\">We Recover<\/span>\n        <p style=\"margin-top:.6rem;\">Materials from territories with a story to tell<\/p>\n      <\/div>\n      <div class=\"vb-ben__card\" style=\"background:var(--c-paper);\">\n        <span class=\"vb-eyebrow\">We Transform<\/span>\n        <p style=\"margin-top:.6rem;\">Through local artisan supply chains<\/p>\n      <\/div>\n      <div class=\"vb-ben__card\" style=\"background:var(--c-paper);\">\n        <span class=\"vb-eyebrow\">We Engage<\/span>\n        <p style=\"margin-top:.6rem;\">Companies, people and communities<\/p>\n      <\/div>\n      <div class=\"vb-ben__card\" style=\"background:var(--c-paper);\">\n        <span class=\"vb-eyebrow\">We Regenerate<\/span>\n        <p style=\"margin-top:.6rem;\">Ecosystems, territories and local communities<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n<hr class=\"vb-split\">\n\n<!-- ============ SERVICES OVERVIEW ============ -->\n<section class=\"vb-intro vb-section\">\n  <div class=\"vb-wrap\">\n    <div class=\"vb-intro__head\">\n      <span class=\"vb-eyebrow\">Services for Companies<\/span>\n      <h2 class=\"vb-h\">Three concrete ways to turn your commitment into real impact.<\/h2>\n      <p class=\"vb-lead\">From corporate gifts to special projects, we support your company in creating initiatives that generate value for people, the territory, and the environment. Concrete, measurable projects that integrate into your sustainability journey and create value for clients, employees, and stakeholders.<\/p>\n    <\/div>\n    <div class=\"vb-svc-cards\">\n      <a class=\"vb-svc-card\" href=\"#corporate-gifts\">\n        <div class=\"vb-svc-card__img\"><img decoding=\"async\" src=\"https:\/\/143416615.fs1.hubspotusercontent-eu1.net\/hubfs\/143416615\/667126d139561d3137b47d5890f37c42.png\" alt=\"VAIA Corporate Gifts\" loading=\"lazy\"><\/div>\n        <div class=\"vb-svc-card__b\">\n          <span class=\"vb-eyebrow\">Corporate Gifts<\/span>\n          <h3 class=\"vb-h\">Gifts &amp; Welcome Kits<\/h3>\n          <p>Customisable sustainable corporate gifts. Every project contributes to the regeneration of ecosystems and local communities.<\/p>\n          <span class=\"vb-svc-card__link\">Discover the gifts <span>\u2192<\/span><\/span>\n        <\/div>\n      <\/a>\n      <a class=\"vb-svc-card\" href=\"#team-building\">\n        <div class=\"vb-svc-card__img\"><img decoding=\"async\" src=\"https:\/\/project.vaia.eu\/hs-fs\/hubfs\/Evento%20Aziendale%20Gruppo%20Cassa%20Centrale%20(10).jpg?width=700&amp;name=Evento%20Aziendale%20Gruppo%20Cassa%20Centrale%20(10).jpg\" alt=\"VAIA Team Building Experience in the Dolomites\" loading=\"lazy\"><\/div>\n        <div class=\"vb-svc-card__b\">\n          <span class=\"vb-eyebrow\">Team Building &amp; Training<\/span>\n          <h3 class=\"vb-h\">VAIA Experience<\/h3>\n          <p>A day in the Dolomites to build team spirit, discover the territory, and contribute to its regeneration.<\/p>\n          <span class=\"vb-svc-card__link\">Discover the experience <span>\u2192<\/span><\/span>\n        <\/div>\n      <\/a>\n      <a class=\"vb-svc-card\" href=\"#special-projects\">\n        <div class=\"vb-svc-card__img\"><img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/06\/Untitled-design-1.jpg\" alt=\"VAIA Special Projects &amp; Partnerships\" loading=\"lazy\"><\/div>\n        <div class=\"vb-svc-card__b\">\n          <span class=\"vb-eyebrow\">Tailor-made Partnerships<\/span>\n          <h3 class=\"vb-h\">Special Projects<\/h3>\n          <p>Co-created editions, dedicated forests, territorial projects and communication initiatives built together for lasting impact.<\/p>\n          <span class=\"vb-svc-card__link\">Discover the partnerships <span>\u2192<\/span><\/span>\n        <\/div>\n      <\/a>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============ SERVICE 1 \u00b7 CORPORATE GIFTS ============ -->\n<section class=\"vb-srv vb-srv--mint vb-section\" id=\"corporate-gifts\">\n  <div class=\"vb-wrap vb-srv__grid\">\n    <div class=\"vb-srv__media\">\n      <div class=\"vb-video\">\n        <iframe src=\"https:\/\/fast.wistia.net\/embed\/iframe\/cs252ihu4h?seo=false&amp;videoFoam=true\" title=\"VAIA Corporate Gifts\" allow=\"autoplay; fullscreen\" allowfullscreen=\"\" loading=\"lazy\"><\/iframe>\n      <\/div>\n    <\/div>\n    <div>\n      <span class=\"vb-eyebrow\">Corporate Gifts<\/span>\n      <h2 class=\"vb-h\">A sustainable corporate gift that shows who you really are.<\/h2>\n      <p class=\"vb-lead\">Every corporate gift is an opportunity to say something precise about your company. VAIA sustainable corporate gifts let you do it with authenticity: they are made from recovered wood from the Dolomites and olive trees from Puglia, crafted by local artisans, and carry a verifiable story.<\/p>\n      <p class=\"vb-lead\">Those who receive a VAIA gift don\u2019t just get an object. They receive concrete proof that your company does what it says.<\/p>\n      <ul class=\"vb-checks\">\n        <li>Customised gift or welcome kit with your branding<\/li>\n        <li>An authentic story to tell clients, partners and employees<\/li>\n        <li>A measurable contribution to an environmental regeneration project<\/li>\n        <li>Documentation integrable into your ESG reporting<\/li>\n        <li>Ideal for corporate Christmas, anniversaries, onboarding, awards, client gifts and events<\/li>\n      <\/ul>\n      <div class=\"vb-cta-row\">\n        <button class=\"vb-btn vb-btn--primary\" data-vb-open=\"contatto\">Request a quote <span class=\"vb-arrow\">\u2192<\/span><\/button>\n       \n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"vb-wrap\">\n    <div class=\"vb-prods\">\n      <div class=\"vb-prod\"><div class=\"vb-prod__img\"><img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2022\/09\/PRINCIPALE_1000x1000_PRODOTTI-cube_2-1-600x600.jpg\" alt=\"VAIA Cube\" loading=\"lazy\"><\/div><div class=\"vb-prod__b\"><b>VAIA Cube<\/b><span>The iconic amplifier made from recovered wood.<\/span><\/div><\/div>\n      <div class=\"vb-prod\"><div class=\"vb-prod__img\"><img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2022\/11\/665x755_JOY-2-1.jpg\" alt=\"Cube JOY\" loading=\"lazy\"><\/div><div class=\"vb-prod__b\"><b>Cube JOY<\/b><span>The Cube in its six colourful souls.<\/span><\/div><\/div>\n      <div class=\"vb-prod\"><div class=\"vb-prod__img\"><img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2022\/12\/PRINCIPALE-1000x1000_scheda-prodotto-FOCUS.jpg\" alt=\"VAIA Focus\" loading=\"lazy\"><\/div><div class=\"vb-prod__b\"><b>VAIA Focus<\/b><span>Defending glaciers, the thermometers of the planet.<\/span><\/div><\/div>\n      <div class=\"vb-prod\"><div class=\"vb-prod__img\"><img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2024\/11\/IMG_2296-scaled.jpg\" alt=\"VAIA People\" loading=\"lazy\"><\/div><div class=\"vb-prod__b\"><b>VAIA People<\/b><span>From beetle-killed wood, a symbol of connection.<\/span><\/div><\/div>\n      <div class=\"vb-prod\"><div class=\"vb-prod__img\"><img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/05\/Modelli-1-1-scaled.jpg\" alt=\"VAIA Cover\" loading=\"lazy\"><\/div><div class=\"vb-prod__b\"><b>VAIA Cover<\/b><span>Olive Matter\u2122 cover that regenerates the Mediterranean scrub.<\/span><\/div><\/div>\n      <div class=\"vb-prod\"><div class=\"vb-prod__img\"><img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2023\/10\/1000x1000_PRODOTTI-imperfetto-300x300.jpg\" alt=\"Imperfect Cube\" loading=\"lazy\"><\/div><div class=\"vb-prod__b\"><b>Imperfect Cube<\/b><span>Naturally unique, for the Forest of Violins.<\/span><\/div><\/div>\n    <\/div>\n\n    <p class=\"vb-strip__head\">Already gifted by<\/p>\n    <div class=\"vb-strip\">\n      <div class=\"vb-strip__i\"><b>300<\/b><span>VAIA Cube \u2014 Brother<\/span><\/div>\n      <div class=\"vb-strip__i\"><b>200<\/b><span>VAIA Cube \u2014 Sony Music<\/span><\/div>\n      <div class=\"vb-strip__i\"><b>400<\/b><span>VAIA Cube \u2014 SDA Bocconi<\/span><\/div>\n      <div class=\"vb-strip__i\"><b>1.150<\/b><span>VAIA Cube \u2014 New Holland<\/span><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============ SERVICE 2 \u00b7 TEAM BUILDING ============ -->\n<section class=\"vb-srv vb-srv--forest vb-section\" id=\"team-building\">\n  <div class=\"vb-wrap vb-srv__grid rev\">\n    <div class=\"vb-srv__media\">\n      <div class=\"vb-video\">\n        <iframe src=\"https:\/\/fast.wistia.net\/embed\/iframe\/24gt783r6t?seo=false&amp;videoFoam=true\" title=\"VAIA Team Building Experience\" allow=\"autoplay; fullscreen\" allowfullscreen=\"\" loading=\"lazy\"><\/iframe>\n      <\/div>\n    <\/div>\n    <div>\n      <span class=\"vb-eyebrow vb-eyebrow--light\">Team Building<\/span>\n      <h2 class=\"vb-h\">Want an experience that brings your team together?<\/h2>\n      <p class=\"vb-lead\">Sustainability is not explained in a presentation. It is lived. VAIA Experience takes your team to the heart of the Dolomites for an unforgettable sustainable team-building experience in nature: planting trees, walking, working together, and contributing concretely to territorial regeneration.<\/p>\n      <p class=\"vb-lead\">Your people return with a stronger sense of belonging, the awareness of having done something real, and a story to tell inside and outside the company.<\/p>\n      <ul class=\"vb-checks\">\n        <li>Guided tree planting with local foresters<\/li>\n        <li>Visit to VAIA\u2019s artisan workshops<\/li>\n        <li>Trekking with certified mountain guides<\/li>\n        <li>Workshops on environmental sustainability and ESG impact<\/li>\n        <li>Customised training paths for your company<\/li>\n      <\/ul>\n      <div class=\"vb-cta-row\">\n        <button class=\"vb-btn vb-btn--gold\" data-vb-open=\"contatto\">Organise your Experience <span class=\"vb-arrow\">\u2192<\/span><\/button>\n      <\/div>\n\n      <div class=\"vb-case\">\n        <div class=\"vb-case__top\">\n          <img decoding=\"async\" class=\"vb-case__logo\" src=\"https:\/\/www.salonesri.it\/2021\/wp-content\/uploads\/sites\/15\/2021\/07\/positivo-compatto@3x.png\" alt=\"Gruppo Cassa Centrale\">\n          <span class=\"vb-case__name\">Gruppo Cassa Centrale \u2014 \u201cOne tree, one person\u201d<\/span>\n        <\/div>\n        <div class=\"vb-case__stats\">\n          <div><div class=\"vb-case__n\">1.500<\/div><div class=\"vb-case__sl\">trees at Passo del Redebus<\/div><\/div>\n          <div><div class=\"vb-case__n\">14,8&nbsp;t<\/div><div class=\"vb-case__sl\">of CO\u2082 absorbed<\/div><\/div>\n          <div><div class=\"vb-case__n\">10&nbsp;ha<\/div><div class=\"vb-case__sl\">of land restored<\/div><\/div>\n          <div><div class=\"vb-case__n\">4<\/div><div class=\"vb-case__sl\">species planted<\/div><\/div>\n        <\/div>\n        <a class=\"vb-case__link\" href=\"https:\/\/project.vaia.eu\/vaia-x-cassacentrale\" target=\"_blank\" rel=\"noopener\">Read the full case study <span>\u2192<\/span><\/a>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============ SERVICE 3 \u00b7 SPECIAL PROJECTS ============ -->\n<section class=\"vb-srv vb-srv--wine vb-section\" id=\"special-projects\">\n  <div class=\"vb-wrap vb-srv__grid\">\n    <div class=\"vb-srv__media\">\n      <figure style=\"position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4\/3;box-shadow:0 24px 60px -28px rgba(0,0,0,.55);\">\n        <img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/06\/Untitled-design-1.jpg\" alt=\"Special Projects and Partnerships\" style=\"width:100%;height:100%;object-fit:cover;\" loading=\"lazy\">\n      <\/figure>\n    <\/div>\n    <div>\n      <span class=\"vb-eyebrow vb-eyebrow--light\">Special Projects<\/span>\n      <h2 class=\"vb-h\">Together we build a project that carries your name and has lasting impact.<\/h2>\n      <p class=\"vb-lead\">Some companies are not looking for a supplier. They are looking for a partner to build something that will still exist in ten years. With VAIA we co-design tailor-made ESG partnerships that combine real environmental regeneration, people engagement and authentic storytelling for your stakeholders.<\/p>\n      <p class=\"vb-lead\">Every project is linked to a specific territory \u2014 the Dolomites or Puglia \u2014 with traceable data that can be integrated into your sustainability reporting and annual ESG reports.<\/p>\n      <ul class=\"vb-checks\">\n        <li>A dedicated forest with your brand, geolocated in the Dolomites or Puglia<\/li>\n        <li>Co-created products and editions that communicate your ESG values<\/li>\n        <li>Engagement campaigns for clients, employees and stakeholders<\/li>\n        <li>Ad-hoc initiatives built around your specific reporting needs<\/li>\n      <\/ul>\n      <div class=\"vb-cta-row\">\n        <button class=\"vb-btn vb-btn--gold\" data-vb-open=\"contatto\">Let\u2019s talk about your project <span class=\"vb-arrow\">\u2192<\/span><\/button>\n      <\/div>\n\n      <div class=\"vb-case\">\n        <div class=\"vb-case__top\">\n          <span class=\"vb-case__name\">Levissima for the Forests \u00d7 VAIA<\/span>\n        <\/div>\n        <p style=\"margin-top:14px;font-weight:400;font-size:.98rem;color:#f3dbe7;\">Restoration of over 140 hectares of Alpine forests destroyed by the storm, with the birth of the \u201cLevissima Forest\u201d in Val di Fiemme and a special edition of VAIA Cube made from recovered scrap wood.<\/p>\n        <div class=\"vb-case__stats\" style=\"grid-template-columns:repeat(3,1fr);\">\n          <div><div class=\"vb-case__n\">140+&nbsp;ha<\/div><div class=\"vb-case__sl\">of forests restored<\/div><\/div>\n          <div><div class=\"vb-case__n\">Val di Fiemme<\/div><div class=\"vb-case__sl\">Levissima Forest<\/div><\/div>\n          <div><div class=\"vb-case__n\">Design<\/div><div class=\"vb-case__sl\">circular and limited editions<\/div><\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============ BENEFITS ============ -->\n<section class=\"vb-ben vb-section\">\n  <div class=\"vb-wrap\">\n    <div class=\"vb-ben__head\">\n      <span class=\"vb-eyebrow\">Why companies choose VAIA<\/span>\n      <h2 class=\"vb-h\">Because they want their sustainability to be real. Not just declared.<\/h2>\n    <\/div>\n    <div class=\"vb-ben__grid\">\n      <div class=\"vb-ben__card\">\n        <span class=\"vb-eyebrow\">They communicate with credibility<\/span>\n        <p>Every VAIA project produces documentable impacts \u2014 trees planted, materials recovered, communities involved \u2014 that feed ESG storytelling with real data and verifiable stories. For clients, investors and partners who can distinguish genuine commitment from greenwashing.<\/p>\n      <\/div>\n      <div class=\"vb-ben__card\">\n        <span class=\"vb-eyebrow\">They strengthen company culture<\/span>\n        <p>Sustainable corporate gifts and nature-based team-building experiences create something no internal policy can generate: real belonging, shared motivation, and a sense of purpose that people truly feel.<\/p>\n      <\/div>\n      <div class=\"vb-ben__card\">\n        <span class=\"vb-eyebrow\">They integrate sustainability into the brand<\/span>\n        <p>Products, experiences and ESG partnerships become a recognisable part of your company\u2019s story. A strategic asset that speaks to talent, stakeholders, and anyone who chooses partners based on the values they communicate.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============ TESTIMONIALS ============ -->\n<section class=\"vb-tst vb-section\">\n  <div class=\"vb-wrap\">\n    <span class=\"vb-eyebrow\">Their words<\/span>\n    <h2 class=\"vb-h\" style=\"max-width:18ch;\">Those who worked with us tell it best.<\/h2>\n    <div class=\"vb-tst__grid\">\n      <div class=\"vb-tst__card\">\n        <p class=\"vb-tst__q\">Our clients were thrilled with the Christmas gift. I received many thank-you calls.<\/p>\n        <div class=\"vb-tst__who\"><img decoding=\"async\" class=\"vb-tst__av\" src=\"https:\/\/project.vaia.eu\/hubfs\/SDA-Bocconi-School-of-Managment-logo.png\" alt=\"\" loading=\"lazy\"><div><b>Marco<\/b><span>SDA Bocconi<\/span><\/div><\/div>\n      <\/div>\n      <div class=\"vb-tst__card\">\n        <p class=\"vb-tst__q\">The atmosphere was motivating and pleasant. I received positive feedback even from colleagues who are less sensitive to environmental issues.<\/p>\n        <div class=\"vb-tst__who\"><img decoding=\"async\" class=\"vb-tst__av\" src=\"https:\/\/project.vaia.eu\/hubfs\/2-4.jpg\" alt=\"\" loading=\"lazy\"><div><b>Ioana<\/b><span>Abbrevia<\/span><\/div><\/div>\n      <\/div>\n      <div class=\"vb-tst__card\">\n        <p class=\"vb-tst__q\">It was a real satisfaction to contribute in person, together with my colleagues, to the rebirth of an area hit by the Vaia storm.<\/p>\n        <div class=\"vb-tst__who\"><img decoding=\"async\" class=\"vb-tst__av\" src=\"https:\/\/project.vaia.eu\/hubfs\/unnamed.jpg\" alt=\"\" loading=\"lazy\"><div><b>Beatrice<\/b><span>Gruppo Cassa Centrale<\/span><\/div><\/div>\n      <\/div>\n      <div class=\"vb-tst__card\">\n        <p class=\"vb-tst__q\">We chose to gift the VAIA Cube to all our collaborators: it reflects our commitment to sustainability. The perfect object.<\/p>\n        <div class=\"vb-tst__who\"><img decoding=\"async\" class=\"vb-tst__av\" src=\"https:\/\/project.vaia.eu\/hubfs\/download.png\" alt=\"\" loading=\"lazy\"><div><b>Stefania<\/b><span>EOS Solutions<\/span><\/div><\/div>\n      <\/div>\n      <div class=\"vb-tst__card\">\n        <p class=\"vb-tst__q\">We gifted the VAIA Cube to all our main clients worldwide. The initiative was very well received.<\/p>\n        <div class=\"vb-tst__who\"><img decoding=\"async\" class=\"vb-tst__av\" src=\"https:\/\/project.vaia.eu\/hubfs\/3-3.jpg\" alt=\"\" loading=\"lazy\"><div><b>Stefano<\/b><span>ES-KO Group<\/span><\/div><\/div>\n      <\/div>\n      <div class=\"vb-tst__card\">\n        <p class=\"vb-tst__q\">We are still riding the long wave of the experience. A special moment, lived with great participation by everyone.<\/p>\n        <div class=\"vb-tst__who\"><img decoding=\"async\" class=\"vb-tst__av\" src=\"https:\/\/project.vaia.eu\/hubfs\/1-4.jpg\" alt=\"\" loading=\"lazy\"><div><b>Giulia<\/b><span>Systra<\/span><\/div><\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n<hr class=\"vb-split\">\n\n<!-- ============ FINAL CTA ============ -->\n<section class=\"vb-final vb-section\">\n  <div class=\"vb-wrap\">\n    <span class=\"vb-eyebrow vb-eyebrow--light\" style=\"justify-content:center;display:flex;\">Let\u2019s start a partnership<\/span>\n    <h2 class=\"vb-h\">LET\u2019S START BUILDING SOMETHING TOGETHER<\/h2>\n    <p>Whether you are looking for sustainable corporate gifts, a nature-based team-building experience, or a tailor-made ESG partnership, we will support you in creating a concrete, measurable project consistent with your company\u2019s identity.<\/p>\n    \n    <div class=\"vb-final__form\">\n      <div id=\"hs-form-final\"><\/div>\n      <p id=\"hs-form-final-fallback\" style=\"display:none;\">If the form doesn\u2019t load, write to us at <a href=\"mailto:info@vaia.eu\" style=\"color:var(--c-green);font-weight:600;\">info@vaia.eu<\/a> or call us at <a href=\"tel:+393501395944\" style=\"color:var(--c-green);font-weight:600;\">+39 350 1395944<\/a>.<\/p>\n    <\/div>\n    \n    <div class=\"vb-final__note\">\n      <span><svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"9\"><\/circle><path d=\"M12 7v5l3 2\"><\/path><\/svg> Fast response<\/span>\n      <span><svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M20 6 9 17l-5-5\"><\/path><\/svg> No obligation<\/span>\n      <span><svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M20 6 9 17l-5-5\"><\/path><\/svg> Free personalised consultation<\/span>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============ FAQ ============ -->\n<section class=\"vb-faq vb-section\">\n  <div class=\"vb-wrap\">\n    <span class=\"vb-eyebrow\" style=\"justify-content:center;display:flex;\">FAQ<\/span>\n    <h2 class=\"vb-h\" style=\"text-align:center;max-width:20ch;margin:0 auto;\">Frequently Asked Questions<\/h2>\n    <div class=\"vb-faq__list\">\n      <div class=\"vb-faq__item\"><button class=\"vb-faq__q\">Can I customise VAIA products?<\/button><div class=\"vb-faq__a\"><p>Yes. VAIA Cubes and other objects can be personalised with your logo or dedicated graphics. We can also take care of the packaging and card to best tell your project.<\/p><\/div><\/div>\n      <div class=\"vb-faq__item\"><button class=\"vb-faq__q\">Where are the trees planted?<\/button><div class=\"vb-faq__a\"><p>Across the entire Dolomites arc: from Trentino-Alto Adige to Friuli Venezia Giulia, from Lombardy to Veneto. We intervene in forest areas that need new trees to accelerate regrowth and protect local communities.<\/p><\/div><\/div>\n      <div class=\"vb-faq__item\"><button class=\"vb-faq__q\">Can I make my event carbon neutral?<\/button><div class=\"vb-faq__a\"><p>Yes. We calculate the carbon footprint of your event and offset the estimated CO\u2082 by planting new trees in the Dolomites.<\/p><\/div><\/div>\n      <div class=\"vb-faq__item\"><button class=\"vb-faq__q\">Are VAIA projects ESG reportable?<\/button><div class=\"vb-faq__a\"><p>Yes. Projects developed with VAIA produce concrete and measurable benefits that can be included in your sustainability report. We provide support in drafting impact reports according to European regulations.<\/p><\/div><\/div>\n      <div class=\"vb-faq__item\"><button class=\"vb-faq__q\">Do you have certifications?<\/button><div class=\"vb-faq__a\"><p>Wood recovery and tree planting are carried out by PEFC-certified local partners. Vaia S.r.l. is also a Benefit Corporation.<\/p><\/div><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============ STICKY CTA ============ -->\n<div class=\"vb-sticky\" id=\"vbSticky\">\n  <button class=\"vb-btn vb-btn--gold\" data-vb-open=\"contatto\">Get in touch <span class=\"vb-arrow\">\u2192<\/span><\/button>\n<\/div>\n\n<!-- ============ MODAL FORM ============ -->\n<div class=\"vb-modal\" id=\"vbModal\" aria-hidden=\"true\">\n  <div class=\"vb-modal__bd\" data-vb-close=\"\"><\/div>\n  <div class=\"vb-modal__dialog\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"vbModalTitle\">\n    <button class=\"vb-modal__close\" data-vb-close=\"\" aria-label=\"Close\">\u00d7<\/button>\n    <span class=\"vb-eyebrow\" id=\"vbModalEyebrow\">Get in touch<\/span>\n    <h3 class=\"vb-h\" id=\"vbModalTitle\">Let\u2019s talk about your project<\/h3>\n    <p class=\"vb-modal__intro\" id=\"vbModalIntro\">Fill in the form: we\u2019ll reply quickly, with no obligation.<\/p>\n    <div id=\"hs-form-target\"><\/div>\n    <p id=\"hs-form-fallback\" style=\"display:none;\">If the form doesn\u2019t load, write to us at <a href=\"mailto:info@vaia.eu\" style=\"color:var(--c-green);font-weight:600;\">info@vaia.eu<\/a> or call us at <a href=\"tel:+393501395944\" style=\"color:var(--c-green);font-weight:600;\">+39 350 1395944<\/a>.<\/p>\n  <\/div>\n<\/div>\n\n<\/div><!-- \/#vaia-b2b -->\n\n<!-- ============ SCHEMA.ORG FAQ ============ -->\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[\n{\"@type\":\"Question\",\"name\":\"Can I customise VAIA products?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. VAIA Cubes and other objects can be personalised with your logo or dedicated graphics. We can also handle packaging and greeting cards.\"}},\n{\"@type\":\"Question\",\"name\":\"Where are VAIA trees planted?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Across the entire Dolomites arc, from Trentino-Alto Adige to Friuli Venezia Giulia, from Lombardy to Veneto, in forest areas that need new trees.\"}},\n{\"@type\":\"Question\",\"name\":\"Can I make my event carbon neutral with VAIA?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. We calculate the carbon footprint of the event and offset the estimated CO\u2082 by planting new trees in the Dolomites.\"}},\n{\"@type\":\"Question\",\"name\":\"Are VAIA projects ESG reportable?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. The projects produce measurable benefits that can be included in your sustainability report, with support for drafting impact statements.\"}},\n{\"@type\":\"Question\",\"name\":\"Does VAIA have certifications?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Wood recovery and tree planting are carried out by PEFC-certified partners. Vaia S.r.l. is a Benefit Corporation.\"}}\n]}\n<\/script>\n\n<!-- ============ SCRIPT ============ -->\n<script>\n(function(){\n  var root = document.getElementById('vaia-b2b');\n  if(!root) return;\n\n  \/* ---------- FAQ accordion ---------- *\/\n  root.querySelectorAll('.vb-faq__item').forEach(function(item){\n    var q = item.querySelector('.vb-faq__q');\n    var a = item.querySelector('.vb-faq__a');\n    q.addEventListener('click', function(){\n      var open = item.classList.contains('open');\n      root.querySelectorAll('.vb-faq__item.open').forEach(function(o){\n        o.classList.remove('open'); o.querySelector('.vb-faq__a').style.maxHeight = null;\n      });\n      if(!open){ item.classList.add('open'); a.style.maxHeight = a.scrollHeight + 'px'; }\n    });\n  });\n\n  \/* ---------- Sticky CTA ---------- *\/\n  var sticky = document.getElementById('vbSticky');\n  window.addEventListener('scroll', function(){\n    if(window.scrollY > 680){ sticky.classList.add('show'); } else { sticky.classList.remove('show'); }\n  }, {passive:true});\n\n  \/* ---------- HubSpot Loader ---------- *\/\n  var hsLoading = false, hsCbs = [];\n  function loadHubSpot(cb){\n    if(window.hbspt && window.hbspt.forms){ cb(true); return; }\n    hsCbs.push(cb);\n    if(hsLoading) return;\n    hsLoading = true;\n    var s = document.createElement('script');\n    s.src = \"https:\/\/js-eu1.hsforms.net\/forms\/embed\/v2.js\";\n    s.charset = \"utf-8\";\n    s.onload = function(){ var ok = !!(window.hbspt && window.hbspt.forms); hsCbs.forEach(function(c){c(ok);}); hsCbs = []; };\n    s.onerror = function(){ hsCbs.forEach(function(c){c(false);}); hsCbs = []; };\n    document.head.appendChild(s);\n    setTimeout(function(){ if(!(window.hbspt && window.hbspt.forms)){ hsCbs.forEach(function(c){c(false);}); hsCbs = []; hsLoading = false; } }, 8000);\n  }\n\n  var FORM = { portalId:\"143416615\", formId:\"bf0d9b10-835c-4b49-988b-0d02ad1acb88\", region:\"eu1\" };\n\n  \/* ---------- Inline Form (Final CTA) ---------- *\/\n  var inlineCreated = false;\n  function createInlineForm(){\n    if(inlineCreated) return;\n    var t = document.getElementById('hs-form-final');\n    if(!t) return;\n    inlineCreated = true;\n    var ifb = document.getElementById('hs-form-final-fallback');\n    loadHubSpot(function(ok){\n      if(!ok){ if(ifb) ifb.style.display='block'; return; }\n      window.hbspt.forms.create({ portalId:FORM.portalId, formId:FORM.formId, region:FORM.region, target:\"#hs-form-final\" });\n    });\n  }\n\n  var finalSection = document.querySelector('.vb-final');\n  if('IntersectionObserver' in window && finalSection){\n    var io = new IntersectionObserver(function(entries){\n      entries.forEach(function(e){ if(e.isIntersecting){ createInlineForm(); io.disconnect(); } });\n    }, {rootMargin:'600px 0px'});\n    io.observe(finalSection);\n  } else {\n    createInlineForm();\n  }\n\n  \/* ---------- Modal Form ---------- *\/\n  var modal    = document.getElementById('vbModal');\n  var eyebrow  = document.getElementById('vbModalEyebrow');\n  var title    = document.getElementById('vbModalTitle');\n  var intro    = document.getElementById('vbModalIntro');\n  var fallback = document.getElementById('hs-form-fallback');\n  var lastFocus = null;\n  var modalCreated = false;\n\n  var COPY = {\n    contatto:{ eyebrow:'Get in touch', title:'Let\u2019s talk about your project',\n      intro:'Fill in the form: we\u2019ll reply quickly, with no obligation.' },\n    catalogo:{ eyebrow:'Gift Catalogue', title:'Receive the corporate gift catalogue',\n      intro:'Leave your details: we\u2019ll send you the catalogue link by email immediately. No sales calls unless you want one.' }\n  };\n\n  function setContext(ctx){\n    var c = COPY[ctx] || COPY.contatto;\n    eyebrow.textContent = c.eyebrow;\n    title.textContent   = c.title;\n    intro.textContent   = c.intro;\n  }\n\n  function createModalForm(){\n    if(modalCreated) return;\n    modalCreated = true;\n    loadHubSpot(function(ok){\n      if(!ok){ fallback.style.display='block'; modalCreated = false; return; }\n      window.hbspt.forms.create({ portalId:FORM.portalId, formId:FORM.formId, region:FORM.region, target:\"#hs-form-target\" });\n    });\n  }\n\n  function openModal(ctx){\n    lastFocus = document.activeElement;\n    createModalForm();\n    setContext(ctx);\n    setTimeout(function(){ setContext(ctx); }, 1200);\n    modal.classList.add('open');\n    modal.setAttribute('aria-hidden','false');\n    document.body.style.overflow = 'hidden';\n    var close = modal.querySelector('.vb-modal__close');\n    if(close) close.focus();\n  }\n  function closeModal(){\n    modal.classList.remove('open');\n    modal.setAttribute('aria-hidden','true');\n    document.body.style.overflow = '';\n    if(lastFocus) lastFocus.focus();\n  }\n\n  root.querySelectorAll('[data-vb-open]').forEach(function(btn){\n    btn.addEventListener('click', function(){ openModal(btn.getAttribute('data-vb-open')); });\n  });\n  modal.querySelectorAll('[data-vb-close]').forEach(function(el){\n    el.addEventListener('click', closeModal);\n  });\n  document.addEventListener('keydown', function(e){\n    if(e.key === 'Escape' && modal.classList.contains('open')) closeModal();\n  });\n})();\n<\/script>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Partner for active and concrete sustainability.<\/p>\n","protected":false},"author":1,"featured_media":2412,"template":"","meta":{"_acf_changed":false,"_crdt_document":"{\"document\":\"AAAHy53kygfjBKMECCKqNAKGBgK2hwECEI4MAqYEBAKOBgQCuAQCggQCkA4CvAcEArYMAwCyAwK+BAK0BQK+AgKyBAQDAKwUBAMAsgUDAKYEBBSGDAKkEwKCCwKIBAKKEQKqHwK4FgKAAgKAFAKcKgKECwKQPAKCDAKOCAKOCAKOCAKKCQKSJQK+dwKSLAKABAKmAwK2kAGmAQEACAIBAgoBAUoAFgECCkoAEAECCgEBSgAWAQIKAQFKABYBAgoBBkoAIAECCgEBSgAWAQIKAQpKJgIBAgoBA0oAGgECCgEDSgAaAQIKAQNKABoBAgoBA0oAGgECCgEDStACqgIBAgoBAUoAFgECCgEBSgAWAQIKAQFKABYBAgpKABABAgpKABABAgoBAUrSBhBIDgQDAAECCAYEAgRIDgQDAAEEBkYOBAMAAQAQUBgEAwABCgqSBgECCgEDSgAaAQIKAQNKABoBAgoBA0oAGgECCgEDSgAaAQIKAQNK9gcEAwABAqICBgQCBEgOBgQCBEgOBAMADgQDAAgEAwABAroERgTeBQCCBgLEBgqGBgECygaUBgQBAgjWDNCYB4gGuIcBEJAMqgQCkgYCugSEBJIOgAgCuAwCtAOABbYFgAO2BAMAsBQDALQFAqoEFKSvCpoD9qYKphOEC4oEjBGsH5bkC4oD5tALggKCFJ4qhguSPIQMkQgBjAmUJYB4lCyCBKgDup4B6gUCqP4MAsT5DLKSBaaUAmYsrDSIBriHARCQDKoEApIGAroEhASSDoAIArgMArQDgAW2BYADtgQDALAUAwC0BQKqBBQBAIgMphOEC4oEjBGsHwEAuhaCAoIUniqGC5I8hAyRCAGMCZQlgHiULIIEqAOqsQamlALBBCgDJwAEACcAAQCEAIEAhACBAIQBgQCEAIEAhAGBAIQBgQCEAIEAhACBAIQAgQCEAYEAhAGBAIQAgQCEAIEAhACBAIQAgQCEAoEAhAKBAIQBgQCEAYEAhACBAIQAgQCEAIEAhACBAIQAgQCEAIEAhACBAIQAgQCEAIEAhACBAIQAgQCEAIEAhACBAIQAgQCEAIEAhACBAIQAgQCEAIEAhACBAIQAgQCEAIEAhACBACcABAAoAicAKAInAAcAKAMnACgDJwCHACgDJwAoACcAhwAoAycAKAMnAIcAKAMnACgDJwCHACgDJwAoAScAKAUnAIcAKAMnACgDJwCHACgDJwAoBCcAKAYnAAcAKAMnACgBJwAoAicAhwAoAycAKAEnACgCJwCHACgDJwAoAScAKAInAIcAKAMnACgBJwAoAicAhwAoAycAKAEnACgCJwCHACgDJwAoAycAhwAoAycAKAMnAIcAKAMnACgDJwCHACgDJwAoACcAhwAoAycAKAAnAIcAKAMnACgDJwAhAagBKACoAigEqAQoAKgCKAEnACgDqAAoAKgCKAKoACgAqAIoBCcAKAYHACgDJwAoAScAKAInAIcAKAMnACgBJwAoAicAhwAoAycAKAEnACgCJwCHACgDJwAoAScAKAInAIcAKAMnACgBJwAoAicAqAIoBKgEKACoBCgAqAIoAKgCKACoAigEqAInACgAqAEoAAcAKAInAagABwAoAicBKAChAEQAxB3BAMQGwQDEEKgAoQGoAsSYtwO+swNzdGF0ZXZlcnNpb25kb2N1bWVudGRhdGVkb2N1bWVudHNsdWdkb2N1bWVudHN0YXR1c2RvY3VtZW50dGl0bGVWQUlBIDQgY29tcGFuaWVzZG9jdW1lbnRjb250ZW50CgoKPHN0eWxlPgoKfQoKfQoKCgoKfQoKCgoKCgoKfQoKCn0KCgoKCn0KPC9zdHlsZT4KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgpkb2N1bWVudGV4Y2VycHRQYXJ0bmVyIGZvciBhY3RpdmUgYW5kIGNvbmNyZXRlIHN1c3RhaW5hYmlsaXR5LmRvY3VtZW50YXV0aG9yZG9jdW1lbnRmZWF0dXJlZF9tZWRpYWRvY3VtZW50dGVtcGxhdGVkb2N1bWVudG1ldGFfYWNmX2NoYW5nZWRjb250ZW50LXR5cGVmb290bm90ZXNkb2N1bWVudGJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzbmFtZWRhdGFhbGlnbm1vZGVpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNuYW1lZGF0YWFsaWdubW9kZWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNuYW1lZGF0YWFsaWdubW9kZWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXN1cmxhbHRjYXB0aW9udGl0bGVpZHNpemVTbHVnbGlua0Rlc3RpbmF0aW9uYWxpZ25jbGFzc05hbWVpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzbmFtZWRhdGFhbGlnbm1vZGVpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzaW1hZ2VzaWRzbmF2aWdhdGlvbkJ1dHRvblR5cGVzaG9ydENvZGVUcmFuc2Zvcm1zY29sdW1uc2NhcHRpb25pbWFnZUNyb3ByYW5kb21PcmRlcmZpeGVkSGVpZ2h0bGlua1Rvc2l6ZVNsdWdhbGxvd1Jlc2l6ZWFzcGVjdFJhdGlvaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc3VybGFsdGNhcHRpb25pZHNpemVTbHVnbGlua0Rlc3RpbmF0aW9uaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc3VybGFsdGNhcHRpb25pZHNpemVTbHVnbGlua0Rlc3RpbmF0aW9uaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc3VybGFsdGNhcHRpb25pZHNpemVTbHVnbGlua0Rlc3RpbmF0aW9uaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc3VybGFsdGNhcHRpb25pZHNpemVTbHVnbGlua0Rlc3RpbmF0aW9uaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc3VybGFsdGNhcHRpb25pZHNpemVTbHVnbGlua0Rlc3RpbmF0aW9uaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc25hbWVkYXRhYWxpZ25tb2RlaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc25hbWVkYXRhYWxpZ25tb2RlaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc25hbWVkYXRhYWxpZ25tb2RlaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc3RleHRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzaGVpZ2h0aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc25hbWVkYXRhYWxpZ25tb2RlaW5uZXJCbG9ja3NzdGF0ZXNhdmVkQXRzdGF0ZXNhdmVkQnlfYWNmX2NvbnRleHRuYW1lZGF0YW1vZGVhbGlnbl9hY2ZfY29udGV4dF9hY2ZfY29udGV4dHVybGFsdGNhcHRpb250aXRsZWlkc2l6ZVNsdWdsaW5rRGVzdGluYXRpb25jbGFzc05hbWVuYW1lZGF0YW1vZGVfYWNmX2NvbnRleHRpbWFnZXNpZHNuYXZpZ2F0aW9uQnV0dG9uVHlwZXNob3J0Q29kZVRyYW5zZm9ybXNjb2x1bW5zY2FwdGlvbmltYWdlQ3JvcHJhbmRvbU9yZGVyZml4ZWRIZWlnaHRsaW5rVG9zaXplU2x1Z2FsbG93UmVzaXplYXNwZWN0UmF0aW9jbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc3VybGFsdGNhcHRpb25pZHNpemVTbHVnbGlua0Rlc3RpbmF0aW9uaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc3VybGFsdGNhcHRpb25pZHNpemVTbHVnbGlua0Rlc3RpbmF0aW9uaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc3VybGFsdGNhcHRpb25pZHNpemVTbHVnbGlua0Rlc3RpbmF0aW9uaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc3VybGFsdGNhcHRpb25pZHNpemVTbHVnbGlua0Rlc3RpbmF0aW9uaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc3VybGFsdGNhcHRpb25pZHNpemVTbHVnbGlua0Rlc3RpbmF0aW9uaW5uZXJCbG9ja3NuYW1lZGF0YW1vZGVhbGlnbl9hY2ZfY29udGV4dF9hY2ZfY29udGV4dF9hY2ZfY29udGV4dHRleHRoZWlnaHRuYW1lZGF0YW1vZGVhbGlnbl9hY2ZfY29udGV4dGNvbnRlbnRkcm9wQ2FwaXNTdGFja2VkT25Nb2JpbGVjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNpbm5lckJsb2Nrc2NvbnRlbnQ8IS0tIHdwOmNvbHVtbnMgeyJhbGlnbiI6ImZ1bGwifSAtLT4KPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1ucyBhbGlnbmZ1bGwiPjwhLS0gd3A6Y29sdW1uIC0tPgo8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW4iPjwhLS0gd3A6aHRtbCAtLT4KPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICBWQUlBIMOXIENPTVBBTklFUyDigJQgQjJCIExhbmRpbmcgKGxlYWQgZ2VuZXJhdGlvbikKICAgICBTaW5nbGUgYmxvY2sgdG8gcGFzdGUgaW50byBhICJDdXN0b20gSFRNTCIgYmxvY2sgaW4gV29yZFByZXNzLgogICAgIEFsbCBzdHlsZXMgc2NvcGVkIHVuZGVyICN2YWlhLWIyYi4KICAgICBGb290ZXIgTk9UIGluY2x1ZGVkICh1c2UgdGhlIHRoZW1lJ3MgZm9vdGVyKS4KICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CjwhLS0gQnJhbmQgRm9udCAtLT4KPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2FwaS5mb250c2hhcmUuY29tIiBjcm9zc29yaWdpbj0iIj4KPGxpbmsgaHJlZj0iaHR0cHM6Ly9hcGkuZm9udHNoYXJlLmNvbS92Mi9jc3M\/ZltdPWNsYXNoLWRpc3BsYXlANDAwLDUwMCw2MDAsNzAwJmFtcDtkaXNwbGF5PXN3YXAiIHJlbD0ic3R5bGVzaGVldCI+CjxkaXYgaWQ9InZhaWEtYjJiIj4KPCEtLSA9PT09PT09PT09PT0gU1RZTEUgPT09PT09PT09PT09IC0tPgojdmFpYS1iMmJ7CiAgLyogLS0tLSBJbnN0aXR1dGlvbmFsIFBhbGV0dGUgLS0tLSAqLwogIC0tYy1mb3Jlc3Q6IzBFM0IyNjsgICAvKiBkZWVwIGdyZWVuICAqLwogIC0tYy1ncmVlbjojMDA3QTRFOyAgICAvKiBhY3Rpb24gZ3JlZW4gICAgKi8KICAtLWMtbWludDojQzlFQ0Q5OyAgICAgLyogbGlnaHQgbWludCAgICAqLwogIC0tYy1nb2xkOiNEREMwMDA7ICAgICAvKiBnb2xkL29jaHJlICAgICAgICAqLwogIC0tYy1wYXBlcjojRjNGMEU0OyAgICAvKiBjcmVhbSAgICAgICAgICAgKi8KICAtLWMtd2luZTojNjEwRjM4OyAgICAgLyogYm9yZGVhdXggICAgICAgICovCiAgLS1jLWluazojMTAyMzFBOyAgICAgIC8qIHRleHQgb24gbGlnaHQgKi8KICAtLWMtd2hpdGU6I2ZmZmZmZjsKICAtLW1heHc6MTE4MHB4OwogIC0tcjoxOHB4OyAgICAgICAgICAgICAvKiBjYXJkIHJhZGl1cyAgICAgKi8KICAtLWVhc2U6Y3ViaWMtYmV6aWVyKC4yLC43LC4yLDEpOwoKICAtLWY6J0NsYXNoIERpc3BsYXknLCdIZWx2ZXRpY2EgTmV1ZScsQXJpYWwsc2Fucy1zZXJpZjsKCiAgZm9udC1mYW1pbHk6dmFyKC0tZik7CiAgY29sb3I6dmFyKC0tYy1pbmspOwogIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7CiAgbGluZS1oZWlnaHQ6MS41OwogIGZvbnQtc2l6ZToxOHB4OwovKiBsb2NhbCByZXNldCAqLwojdmFpYS1iMmIgKiwjdmFpYS1iMmIgKjo6YmVmb3JlLCN2YWlhLWIyYiAqOjphZnRlcntib3gtc2l6aW5nOmJvcmRlci1ib3g7fQojdmFpYS1iMmIgaDEsI3ZhaWEtYjJiIGgyLCN2YWlhLWIyYiBoMywjdmFpYS1iMmIgaDQsI3ZhaWEtYjJiIHAsI3ZhaWEtYjJiIHVsLCN2YWlhLWIyYiBmaWd1cmV7bWFyZ2luOjA7cGFkZGluZzowO30KI3ZhaWEtYjJiIHVse2xpc3Qtc3R5bGU6bm9uZTt9CiN2YWlhLWIyYiBpbWd7bWF4LXdpZHRoOjEwMCU7ZGlzcGxheTpibG9jazt9CiN2YWlhLWIyYiBhe2NvbG9yOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7fQovKiAtLS0tIHR5cG9ncmFwaHkgLS0tLSAqLwojdmFpYS1iMmIgLnZiLWV5ZWJyb3d7CiAgZm9udC1zaXplOi43OHJlbTtmb250LXdlaWdodDo2MDA7bGV0dGVyLXNwYWNpbmc6LjE4ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOwogIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDouNTVyZW07Y29sb3I6dmFyKC0tYy1ncmVlbik7CiN2YWlhLWIyYiAudmItZXllYnJvdzo6YmVmb3Jle2NvbnRlbnQ6IiI7d2lkdGg6MjZweDtoZWlnaHQ6MnB4O2JhY2tncm91bmQ6dmFyKC0tYy1nb2xkKTtkaXNwbGF5OmlubGluZS1ibG9jazt9CiN2YWlhLWIyYiAudmItZXllYnJvdy0tbGlnaHR7Y29sb3I6dmFyKC0tYy1taW50KTt9CiN2YWlhLWIyYiAudmItZXllYnJvdy0tbGlnaHQ6OmJlZm9yZXtiYWNrZ3JvdW5kOnZhcigtLWMtZ29sZCk7fQojdmFpYS1iMmIgaDIudmItaHtmb250LXNpemU6Y2xhbXAoMS45cmVtLDQuNHZ3LDMuMXJlbSk7Zm9udC13ZWlnaHQ6NjAwO2xpbmUtaGVpZ2h0OjEuMDU7bGV0dGVyLXNwYWNpbmc6LS4wMmVtO30KI3ZhaWEtYjJiIGgzLnZiLWh7Zm9udC1zaXplOmNsYW1wKDEuNHJlbSwyLjZ2dywycmVtKTtmb250LXdlaWdodDo2MDA7bGluZS1oZWlnaHQ6MS4wODtsZXR0ZXItc3BhY2luZzotLjAxZW07fQojdmFpYS1iMmIgLnZiLWxlYWR7Zm9udC1zaXplOmNsYW1wKDEuMDJyZW0sMS41dncsMS4xOHJlbSk7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiMyYzNmMzU7fQovKiAtLS0tIGxheW91dCAtLS0tICovCiN2YWlhLWIyYiAudmItd3JhcHttYXgtd2lkdGg6dmFyKC0tbWF4dyk7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjAgMjJweDt9CiN2YWlhLWIyYiAudmItc2VjdGlvbntwYWRkaW5nOmNsYW1wKDU2cHgsOHZ3LDEwNHB4KSAwO30KLyogIndvb2QgZ3JhaW4iIGRpdmlkZXIgKi8KI3ZhaWEtYjJiIC52Yi1zcGxpdHtoZWlnaHQ6MnB4O3dpZHRoOjEwMCU7Ym9yZGVyOjA7CiAgYmFja2dyb3VuZDpyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDkwZGVnLHZhcigtLWMtZ29sZCkgMCAxNHB4LHRyYW5zcGFyZW50IDE0cHggMjZweCk7CiAgb3BhY2l0eTouNTttYXJnaW46MDt9Ci8qIC0tLS0gYnV0dG9ucyAtLS0tICovCiN2YWlhLWIyYiAudmItYnRuewogIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOi41cmVtOwogIGZvbnQtZmFtaWx5OnZhcigtLWYpO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxOwogIHBhZGRpbmc6MTZweCAyNnB4O2JvcmRlci1yYWRpdXM6OTk5cHg7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyOjJweCBzb2xpZCB0cmFuc3BhcmVudDsKICB0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMThzIHZhcigtLWVhc2UpLGJhY2tncm91bmQgLjE4cyB2YXIoLS1lYXNlKSxjb2xvciAuMThzIHZhcigtLWVhc2UpLGJvcmRlci1jb2xvciAuMThzIHZhcigtLWVhc2UpOwojdmFpYS1iMmIgLnZiLWJ0bjpob3Zlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KTt9CiN2YWlhLWIyYiAudmItYnRuLS1wcmltYXJ5e2JhY2tncm91bmQ6dmFyKC0tYy1ncmVlbik7Y29sb3I6I2ZmZjt9CiN2YWlhLWIyYiAudmItYnRuLS1wcmltYXJ5OmhvdmVye2JhY2tncm91bmQ6IzA2NmE0NDt9CiN2YWlhLWIyYiAudmItYnRuLS1nb2xke2JhY2tncm91bmQ6dmFyKC0tYy1nb2xkKTtjb2xvcjp2YXIoLS1jLWZvcmVzdCk7fQojdmFpYS1iMmIgLnZiLWJ0bi0tZ29sZDpob3ZlcntiYWNrZ3JvdW5kOiNjOWFkMDA7fQojdmFpYS1iMmIgLnZiLWJ0bi0tZ2hvc3R7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6Y3VycmVudENvbG9yO2NvbG9yOnZhcigtLWMtZm9yZXN0KTt9CiN2YWlhLWIyYiAudmItYnRuLS1naG9zdDpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWMtZm9yZXN0KTtjb2xvcjojZmZmO2JvcmRlci1jb2xvcjp2YXIoLS1jLWZvcmVzdCk7fQojdmFpYS1iMmIgLnZiLWJ0bi0tZ2hvc3RsaWdodHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41NSk7Y29sb3I6I2ZmZjt9CiN2YWlhLWIyYiAudmItYnRuLS1naG9zdGxpZ2h0OmhvdmVye2JhY2tncm91bmQ6I2ZmZjtjb2xvcjp2YXIoLS1jLWZvcmVzdCk7Ym9yZGVyLWNvbG9yOiNmZmY7fQojdmFpYS1iMmIgLnZiLWJ0biAudmItYXJyb3d7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE4cyB2YXIoLS1lYXNlKTt9CiN2YWlhLWIyYiAudmItYnRuOmhvdmVyIC52Yi1hcnJvd3t0cmFuc2Zvcm06dHJhbnNsYXRlWCgzcHgpO30KI3ZhaWEtYjJiIC52Yi1jdGEtcm93e2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtnYXA6MTRweDt9Ci8qID09PT09PT09PT09PT09PT09PT0gSEVSTyA9PT09PT09PT09PT09PT09PT09ICovCiN2YWlhLWIyYiAudmItaGVyb3twb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDp2YXIoLS1jLWZvcmVzdCk7Y29sb3I6I2ZmZjt9CiN2YWlhLWIyYiAudmItaGVyb19fYmd7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4OjA7fQojdmFpYS1iMmIgLnZiLWhlcm9fX2JnIGltZ3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6Y292ZXI7fQojdmFpYS1iMmIgLnZiLWhlcm9fX2JnOjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7CiAgYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMTQsNTksMzgsLjYyKSAwJSxyZ2JhKDE0LDU5LDM4LC43OCkgNjAlLHJnYmEoMTQsNTksMzgsLjk2KSAxMDAlKTt9CiN2YWlhLWIyYiAudmItaGVyb19faW5uZXJ7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO3BhZGRpbmctdG9wOmNsYW1wKDExMHB4LDE1dncsMTY4cHgpO3BhZGRpbmctYm90dG9tOmNsYW1wKDQwcHgsNnZ3LDY0cHgpO21pbi1oZWlnaHQ6NTQwcHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO30KI3ZhaWEtYjJiIC52Yi1oZXJvIGgxewogIGZvbnQtc2l6ZTpjbGFtcCgyLjRyZW0sNi40dncsNC42cmVtKTtmb250LXdlaWdodDo2MDA7bGluZS1oZWlnaHQ6Ljk5O2xldHRlci1zcGFjaW5nOi0uMDI1ZW07CiAgbWF4LXdpZHRoOjE2Y2g7bWFyZ2luOi41cmVtIDAgMDt9CiN2YWlhLWIyYiAudmItaGVybyBoMSBlbXtmb250LXN0eWxlOm5vcm1hbDtjb2xvcjp2YXIoLS1jLWdvbGQpO30KI3ZhaWEtYjJiIC52Yi1oZXJvX19zdWJ7bWFyZ2luLXRvcDoxLjNyZW07bWF4LXdpZHRoOjU0Y2g7Zm9udC1zaXplOmNsYW1wKDEuMDVyZW0sMS43dncsMS4yOHJlbSk7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiNlN2YzZWM7fQojdmFpYS1iMmIgLnZiLWhlcm8gLnZiLWN0YS1yb3d7bWFyZ2luLXRvcDoycmVtO30KI3ZhaWEtYjJiIC52Yi1oZXJvX19taWNyb3ttYXJnaW4tdG9wOi45cmVtO2ZvbnQtc2l6ZTouODhyZW07Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiNjZmU1ZDg7fQovKiB0cnVzdCBiYWRnZXMgKi8KI3ZhaWEtYjJiIC52Yi10cnVzdHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7bWFyZ2luLXRvcDpjbGFtcCgzMHB4LDV2dyw0NnB4KTt9CiN2YWlhLWIyYiAudmItYmFkZ2Vze2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtnYXA6MTBweDt9CiN2YWlhLWIyYiAudmItYmFkZ2V7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOi40NXJlbTtmb250LXNpemU6LjgycmVtO2ZvbnQtd2VpZ2h0OjUwMDsKICBwYWRkaW5nOjhweCAxNHB4O2JvcmRlcjoxcHggc29saWQgcmdiYSgyMDEsMjM2LDIxNywuNCk7Ym9yZGVyLXJhZGl1czo5OTlweDtjb2xvcjojZWFmZmY0O30KI3ZhaWEtYjJiIC52Yi1iYWRnZSBzdmd7d2lkdGg6MTRweDtoZWlnaHQ6MTRweDt9CiN2YWlhLWIyYiAudmItYmFkZ2UtLWxvZ297YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4wOCk7fQojdmFpYS1iMmIgLnZiLWJhZGdlLS1sb2dvIHN2Z3t3aWR0aDoxNnB4O2hlaWdodDoyMXB4O30KLyogPT09PT09PT09PT09PT09PT09PSBMT0dPUyA9PT09PT09PT09PT09PT09PT09ICovCiN2YWlhLWIyYiAudmItbG9nb3N7YmFja2dyb3VuZDp2YXIoLS1jLXBhcGVyKTt9CiN2YWlhLWIyYiAudmItbG9nb3NfX2hlYWR7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOi44cmVtO2xldHRlci1zcGFjaW5nOi4xOGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsKICBjb2xvcjojNmY3ZDcyO2ZvbnQtd2VpZ2h0OjYwMDttYXJnaW4tYm90dG9tOjMwcHg7fQojdmFpYS1iMmIgLnZiLWxvZ29zX19ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDYsMWZyKTtnYXA6MTZweDthbGlnbi1pdGVtczpzdHJldGNoO30KI3ZhaWEtYjJiIC52Yi1sb2dvc19fZ3JpZCBmaWd1cmV7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI2U2ZTFjZjtib3JkZXItcmFkaXVzOjE0cHg7CiAgZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MTZweCAxNHB4O21pbi1oZWlnaHQ6OTJweDsKICB0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgdmFyKC0tZWFzZSksYm94LXNoYWRvdyAuMnMgdmFyKC0tZWFzZSk7fQojdmFpYS1iMmIgLnZiLWxvZ29zX19ncmlkIGZpZ3VyZTpob3Zlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtM3B4KTtib3gtc2hhZG93OjAgMTRweCAzMHB4IC0yMHB4IHJnYmEoMCwwLDAsLjM1KTt9CiN2YWlhLWIyYiAudmItbG9nb3NfX2dyaWQgaW1ne21heC1oZWlnaHQ6NTRweDt3aWR0aDphdXRvO29iamVjdC1maXQ6Y29udGFpbjt9Ci8qID09PT09PT09PT09PT09PT09PT0gVEVSUklUT1JZIC8gSU5UUk8gPT09PT09PT09PT09PT09PT09PSAqLwojdmFpYS1iMmIgLnZiLWludHJve2JhY2tncm91bmQ6dmFyKC0tYy1wYXBlcik7fQojdmFpYS1iMmIgLnZiLWludHJvX19oZWFke21heC13aWR0aDo4MDBweDttYXJnaW46MCBhdXRvO3RleHQtYWxpZ246Y2VudGVyO30KI3ZhaWEtYjJiIC52Yi1pbnRyb19faGVhZCAudmItZXllYnJvd3tqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7fQojdmFpYS1iMmIgLnZiLWludHJvX19oZWFkIGgye21hcmdpbi10b3A6MXJlbTt9CiN2YWlhLWIyYiAudmItaW50cm9fX2hlYWQgcHttYXJnaW4tdG9wOjFyZW07fQojdmFpYS1iMmIgLnZiLXN2Yy1jYXJkc3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7Z2FwOjE4cHg7bWFyZ2luLXRvcDo0NnB4O30KI3ZhaWEtYjJiIC52Yi1zdmMtY2FyZHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZTZlMWNmO2JvcmRlci1yYWRpdXM6dmFyKC0tcik7b3ZlcmZsb3c6aGlkZGVuOwogIGRpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIHZhcigtLWVhc2UpLGJveC1zaGFkb3cgLjJzIHZhcigtLWVhc2UpO30KI3ZhaWEtYjJiIC52Yi1zdmMtY2FyZDpob3Zlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNXB4KTtib3gtc2hhZG93OjAgMjZweCA1MHB4IC0yOHB4IHJnYmEoMCwwLDAsLjQyKTt9CiN2YWlhLWIyYiAudmItc3ZjLWNhcmRfX2ltZ3thc3BlY3QtcmF0aW86MTYvMTA7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6dmFyKC0tYy1taW50KTt9CiN2YWlhLWIyYiAudmItc3ZjLWNhcmRfX2ltZyBpbWd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyO3RyYW5zaXRpb246dHJhbnNmb3JtIC40cyB2YXIoLS1lYXNlKTt9CiN2YWlhLWIyYiAudmItc3ZjLWNhcmQ6aG92ZXIgLnZiLXN2Yy1jYXJkX19pbWcgaW1ne3RyYW5zZm9ybTpzY2FsZSgxLjA1KTt9CiN2YWlhLWIyYiAudmItc3ZjLWNhcmRfX2J7cGFkZGluZzoyMnB4IDIycHggMjRweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXg6MTt9CiN2YWlhLWIyYiAudmItc3ZjLWNhcmRfX2IgaDN7bWFyZ2luLXRvcDouNXJlbTtmb250LXNpemU6MS4zNXJlbTt9CiN2YWlhLWIyYiAudmItc3ZjLWNhcmRfX2IgcHttYXJnaW4tdG9wOi42cmVtO2ZvbnQtc2l6ZTouOTZyZW07Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiM1MjYxNWE7ZmxleDoxO30KI3ZhaWEtYjJiIC52Yi1zdmMtY2FyZF9fbGlua3ttYXJnaW4tdG9wOjE2cHg7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLWMtZ3JlZW4pO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDouNHJlbTt9CiN2YWlhLWIyYiAudmItc3ZjLWNhcmQ6aG92ZXIgLnZiLXN2Yy1jYXJkX19saW5rIHNwYW57dHJhbnNmb3JtOnRyYW5zbGF0ZVgoM3B4KTt9CiN2YWlhLWIyYiAudmItc3ZjLWNhcmRfX2xpbmsgc3Bhbnt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMThzIHZhcigtLWVhc2UpO30KLyogPT09PT09PT09PT09PT09PT09PSBCRU5FRklUUyA9PT09PT09PT09PT09PT09PT09ICovCiN2YWlhLWIyYiAudmItYmVue2JhY2tncm91bmQ6I2ZmZjt9CiN2YWlhLWIyYiAudmItYmVuX19oZWFke21heC13aWR0aDo3MjBweDt9CiN2YWlhLWIyYiAudmItYmVuX19oZWFkIGgye21hcmdpbi10b3A6MXJlbTt9CiN2YWlhLWIyYiAudmItYmVuX19oZWFkIHB7bWFyZ2luLXRvcDoxcmVtO30KI3ZhaWEtYjJiIC52Yi1iZW5fX2dyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDoxOHB4O21hcmdpbi10b3A6NDZweDt9CiN2YWlhLWIyYiAudmItYmVuX19jYXJke2JvcmRlci1yYWRpdXM6dmFyKC0tcik7cGFkZGluZzoyOHB4IDI2cHg7Ym9yZGVyOjFweCBzb2xpZCAjZTZlMWNmO2JhY2tncm91bmQ6dmFyKC0tYy1wYXBlcik7fQojdmFpYS1iMmIgLnZiLWJlbl9fY2FyZCAudmItZXllYnJvd3ttYXJnaW4tYm90dG9tOi42cmVtO30KI3ZhaWEtYjJiIC52Yi1iZW5fX2NhcmQgcHtmb250LXNpemU6Ljk2cmVtO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojNTI2MTVhO30KI3ZhaWEtYjJiIC52Yi1iZW5fX2NoaXBze21hcmdpbi10b3A6MThweDtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7Z2FwOjhweDt9CiN2YWlhLWIyYiAudmItYmVuX19jaGlwcyBsaXtmb250LXNpemU6LjgycmVtO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS1jLWZvcmVzdCk7CiAgYmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI2RkZDZjMjtib3JkZXItcmFkaXVzOjk5OXB4O3BhZGRpbmc6N3B4IDEzcHg7fQovKiA9PT09PT09PT09PT09PT09PT09IFNFUlZJQ0VTID09PT09PT09PT09PT09PT09PT0gKi8KI3ZhaWEtYjJiIC52Yi1zcnZ7cG9zaXRpb246cmVsYXRpdmU7fQojdmFpYS1iMmIgLnZiLXNydi0tZm9yZXN0e2JhY2tncm91bmQ6dmFyKC0tYy1mb3Jlc3QpO2NvbG9yOiNmZmY7fQojdmFpYS1iMmIgLnZiLXNydi0tbWludHtiYWNrZ3JvdW5kOnZhcigtLWMtbWludCk7fQojdmFpYS1iMmIgLnZiLXNydi0td2luZXtiYWNrZ3JvdW5kOnZhcigtLWMtd2luZSk7Y29sb3I6I2ZmZjt9CiN2YWlhLWIyYiAudmItc3J2X19ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtnYXA6Y2xhbXAoMzBweCw1dncsNjBweCk7YWxpZ24taXRlbXM6Y2VudGVyO30KI3ZhaWEtYjJiIC52Yi1zcnZfX2dyaWQucmV2IC52Yi1zcnZfX21lZGlhe29yZGVyOjI7fQojdmFpYS1iMmIgLnZiLXNydiBwe21hcmdpbi10b3A6MS4xcmVtO30KI3ZhaWEtYjJiIC52Yi1zcnYgLnZiLWN0YS1yb3d7bWFyZ2luLXRvcDoxLjhyZW07fQojdmFpYS1iMmIgLnZiLXNydi0tZm9yZXN0IC52Yi1sZWFkLCN2YWlhLWIyYiAudmItc3J2LS13aW5lIC52Yi1sZWFke2NvbG9yOiNlM2VmZTg7fQojdmFpYS1iMmIgLnZiLXNydi0td2luZSAudmItbGVhZHtjb2xvcjojZjNkYmU3O30KLyogY2hlY2sgbGlzdCAqLwojdmFpYS1iMmIgLnZiLWNoZWNrc3ttYXJnaW4tdG9wOjEuNXJlbTtkaXNwbGF5OmdyaWQ7Z2FwOjExcHg7fQojdmFpYS1iMmIgLnZiLWNoZWNrcyBsaXtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLWxlZnQ6MzBweDtmb250LXNpemU6MXJlbTtmb250LXdlaWdodDo0MDA7fQojdmFpYS1iMmIgLnZiLWNoZWNrcyBsaTo6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDoycHg7d2lkdGg6MThweDtoZWlnaHQ6MThweDtib3JkZXItcmFkaXVzOjUwJTsKICBiYWNrZ3JvdW5kOnZhcigtLWMtZ29sZCk7fQojdmFpYS1iMmIgLnZiLWNoZWNrcyBsaTo6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjZweDt0b3A6N3B4O3dpZHRoOjVweDtoZWlnaHQ6OHB4OwogIGJvcmRlcjpzb2xpZCB2YXIoLS1jLWZvcmVzdCk7Ym9yZGVyLXdpZHRoOjAgMnB4IDJweCAwO3RyYW5zZm9ybTpyb3RhdGUoNDJkZWcpO30KI3ZhaWEtYjJiIC52Yi1zcnYtLW1pbnQgLnZiLWNoZWNrcyBsaXtjb2xvcjojMTYzODJhO30KCi8qIHZpZGVvICovCiN2YWlhLWIyYiAudmItdmlkZW97CiAgcG9zaXRpb246cmVsYXRpdmU7CiAgd2lkdGg6MTAwJTsKICBwYWRkaW5nLXRvcDo1Ni4yNSU7CiAgYm9yZGVyLXJhZGl1czp2YXIoLS1yKTsKICBvdmVyZmxvdzpoaWRkZW47CiAgYmFja2dyb3VuZDojMGIyNDE5OwogIGJveC1zaGFkb3c6MCAyNHB4IDYwcHggLTI4cHggcmdiYSgwLDAsMCwuNTUpOwogIGRpc3BsYXk6IGZsZXg7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKI3ZhaWEtYjJiIC52Yi12aWRlbyBpZnJhbWV7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgaW5zZXQ6MDsKICB3aWR0aDoxMDAlOwogIGhlaWdodDoxMDAlOwogIGJvcmRlcjowOwogIHRvcDogLTEwcHg7CiAgbGVmdDogLTFweDsKICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTsKICBoZWlnaHQ6IGNhbGMoMTAwJSArIDJweCk7Cn0KLyogcHJvZHVjdHMgZ3JpZCAqLwojdmFpYS1iMmIgLnZiLXByb2Rze21hcmdpbi10b3A6MzhweDtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7Z2FwOjE2cHg7fQojdmFpYS1iMmIgLnZiLXByb2R7YmFja2dyb3VuZDojZmZmO2JvcmRlci1yYWRpdXM6MTRweDtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4wNik7CiAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIHZhcigtLWVhc2UpLGJveC1zaGFkb3cgLjJzIHZhcigtLWVhc2UpO30KI3ZhaWEtYjJiIC52Yi1wcm9kOmhvdmVye3RyYW5zZm9ybTp0cmFuc2xhdGVZKC00cHgpO2JveC1zaGFkb3c6MCAyMHB4IDQwcHggLTI0cHggcmdiYSgwLDAsMCwuNCk7fQojdmFpYS1iMmIgLnZiLXByb2RfX2ltZ3thc3BlY3QtcmF0aW86MS8xO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOnZhcigtLWMtbWludCk7fQojdmFpYS1iMmIgLnZiLXByb2RfX2ltZyBpbWd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyO30KI3ZhaWEtYjJiIC52Yi1wcm9kX19ie3BhZGRpbmc6MTNweCAxNHB4IDE2cHg7fQojdmFpYS1iMmIgLnZiLXByb2RfX2IgYntmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjFyZW07Y29sb3I6dmFyKC0tYy1mb3Jlc3QpO2Rpc3BsYXk6YmxvY2s7fQojdmFpYS1iMmIgLnZiLXByb2RfX2Igc3Bhbntmb250LXNpemU6Ljg0cmVtO2NvbG9yOiM1ZTZmNjM7Zm9udC13ZWlnaHQ6NDAwO30KLyogY2FzZSBzdHVkeSBjYXJkICovCiN2YWlhLWIyYiAudmItY2FzZXtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjA3KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjE2KTtib3JkZXItcmFkaXVzOnZhcigtLXIpOwogIHBhZGRpbmc6MjZweDttYXJnaW4tdG9wOjI2cHg7fQojdmFpYS1iMmIgLnZiLXNydi0tbWludCAudmItY2FzZXtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjA2KTt9CiN2YWlhLWIyYiAudmItY2FzZV9fdG9we2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjE0cHg7fQojdmFpYS1iMmIgLnZiLWNhc2VfX2xvZ297aGVpZ2h0OjM0cHg7d2lkdGg6YXV0bztiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czo4cHg7cGFkZGluZzo1cHggOHB4O30KI3ZhaWEtYjJiIC52Yi1jYXNlX19uYW1le2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MS4wNXJlbTt9CiN2YWlhLWIyYiAudmItY2FzZV9fc3RhdHN7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCwxZnIpO2dhcDoxNHB4O21hcmdpbi10b3A6MjBweDt9CiN2YWlhLWIyYiAudmItY2FzZV9fbntmb250LXNpemU6Y2xhbXAoMS4zcmVtLDIuNHZ3LDEuN3JlbSk7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLWMtZ29sZCk7bGluZS1oZWlnaHQ6MTt9CiN2YWlhLWIyYiAudmItc3J2LS1taW50IC52Yi1jYXNlX19ue2NvbG9yOnZhcigtLWMtZ3JlZW4pO30KI3ZhaWEtYjJiIC52Yi1jYXNlX19zbHtmb250LXNpemU6Ljc4cmVtO21hcmdpbi10b3A6LjM1cmVtO29wYWNpdHk6LjgyO2ZvbnQtd2VpZ2h0OjQwMDt9CiN2YWlhLWIyYiAudmItY2FzZV9fbGlua3tkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6LjRyZW07bWFyZ2luLXRvcDoyMHB4O2ZvbnQtd2VpZ2h0OjYwMDsKICBmb250LXNpemU6Ljk1cmVtO2NvbG9yOnZhcigtLWMtZ29sZCk7fQojdmFpYS1iMmIgLnZiLXNydi0tbWludCAudmItY2FzZV9fbGlua3tjb2xvcjp2YXIoLS1jLWdyZWVuKTt9CiN2YWlhLWIyYiAudmItY2FzZV9fbGluayBzcGFue3RyYW5zaXRpb246dHJhbnNmb3JtIC4xOHMgdmFyKC0tZWFzZSk7fQojdmFpYS1iMmIgLnZiLWNhc2VfX2xpbms6aG92ZXIgc3Bhbnt0cmFuc2Zvcm06dHJhbnNsYXRlWCgzcHgpO30KCi8qIHN0cmlwIHN0YXRzICovCiN2YWlhLWIyYiAudmItc3RyaXBfX2hlYWR7bWFyZ2luLXRvcDo0MnB4O3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZTouNzhyZW07bGV0dGVyLXNwYWNpbmc6LjE4ZW07CiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOiM0ZDYzNTY7Zm9udC13ZWlnaHQ6NjAwO30KI3ZhaWEtYjJiIC52Yi1zdHJpcHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LDFmcik7Z2FwOjE2cHg7bWFyZ2luLXRvcDoxOHB4O30KI3ZhaWEtYjJiIC52Yi1zdHJpcF9faXt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4wNik7Ym9yZGVyLXJhZGl1czoxNHB4O3BhZGRpbmc6MThweCAxMnB4O30KI3ZhaWEtYjJiIC52Yi1zdHJpcF9faSBie2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOmNsYW1wKDEuNXJlbSwzdncsMnJlbSk7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLWMtZ3JlZW4pO2xpbmUtaGVpZ2h0OjE7fQojdmFpYS1iMmIgLnZiLXN0cmlwX19pIHNwYW57ZGlzcGxheTpibG9jaztmb250LXNpemU6LjhyZW07Y29sb3I6IzVlNmY2Mztmb250LXdlaWdodDo0MDA7bWFyZ2luLXRvcDouNHJlbTt9CgovKiA9PT09PT09PT09PT09PT09PT09IFRFU1RJTU9OSUFMUyA9PT09PT09PT09PT09PT09PT09ICovCiN2YWlhLWIyYiAudmItdHN0e2JhY2tncm91bmQ6dmFyKC0tYy1wYXBlcik7fQojdmFpYS1iMmIgLnZiLXRzdF9fZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7Z2FwOjE4cHg7bWFyZ2luLXRvcDozOHB4O30KI3ZhaWEtYjJiIC52Yi10c3RfX2NhcmR7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI2U2ZTFjZjtib3JkZXItcmFkaXVzOnZhcigtLXIpO3BhZGRpbmc6MjZweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO30KI3ZhaWEtYjJiIC52Yi10c3RfX3F7Zm9udC1zaXplOjEuMDJyZW07Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiMyNjM2MmQ7ZmxleDoxO30KI3ZhaWEtYjJiIC52Yi10c3RfX3E6OmJlZm9yZXtjb250ZW50OiLigJwiO2ZvbnQtc2l6ZToyLjRyZW07Y29sb3I6dmFyKC0tYy1nb2xkKTtsaW5lLWhlaWdodDowO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbTouNXJlbTt9CiN2YWlhLWIyYiAudmItdHN0X193aG97ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTJweDttYXJnaW4tdG9wOjIwcHg7fQojdmFpYS1iMmIgLnZiLXRzdF9fYXZ7d2lkdGg6NDJweDtoZWlnaHQ6NDJweDtib3JkZXItcmFkaXVzOjUwJTtvYmplY3QtZml0OmNvdmVyO2JhY2tncm91bmQ6dmFyKC0tYy1taW50KTt9CiN2YWlhLWIyYiAudmItdHN0X193aG8gYntmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOi45NXJlbTtjb2xvcjp2YXIoLS1jLWZvcmVzdCk7ZGlzcGxheTpibG9jazt9CiN2YWlhLWIyYiAudmItdHN0X193aG8gc3Bhbntmb250LXNpemU6LjgycmVtO2NvbG9yOiM2ZjdkNzI7Zm9udC13ZWlnaHQ6NDAwO30KCi8qID09PT09PT09PT09PT09PT09PT0gRklOQUwgQ1RBID09PT09PT09PT09PT09PT09PT0gKi8KI3ZhaWEtYjJiIC52Yi1maW5hbHtiYWNrZ3JvdW5kOnZhcigtLWMtZ3JlZW4pO2NvbG9yOiNmZmY7dGV4dC1hbGlnbjpjZW50ZXI7fQojdmFpYS1iMmIgLnZiLWZpbmFsIGgye21heC13aWR0aDoxOGNoO21hcmdpbjowIGF1dG87fQojdmFpYS1iMmIgLnZiLWZpbmFsIHB7bWF4LXdpZHRoOjUyY2g7bWFyZ2luOjEuMXJlbSBhdXRvIDA7Y29sb3I6I2U2ZjVlZTt9CiN2YWlhLWIyYiAudmItZmluYWwgLnZiLWN0YS1yb3d7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4tdG9wOjJyZW07fQoKLyogQ1RBIG5vdGUgKi8KI3ZhaWEtYjJiIC52Yi1maW5hbF9fbm90ZXsKICBtYXJnaW4tdG9wOjEuNHJlbTsKICBmb250LXNpemU6Ljg2cmVtOwogIGNvbG9yOiNjZGVlZGU7CiAgZGlzcGxheTpmbGV4OwogIGZsZXgtd3JhcDp3cmFwOwogIGp1c3RpZnktY29udGVudDpjZW50ZXI7CiAgZ2FwOjIwcHggMjhweDsKICByb3ctZ2FwOjEycHg7CiN2YWlhLWIyYiAudmItZmluYWxfX25vdGUgc3BhbnsKICBkaXNwbGF5OmlubGluZS1mbGV4OwogIGFsaWduLWl0ZW1zOmNlbnRlcjsKICBnYXA6LjQ1cmVtOwogIHdoaXRlLXNwYWNlOm5vd3JhcDsKfQovKiBpbmxpbmUgZm9ybSAqLwojdmFpYS1iMmIgLnZiLWZpbmFsX19mb3Jte21heC13aWR0aDo1NjBweDttYXJnaW46MzRweCBhdXRvIDA7YmFja2dyb3VuZDp2YXIoLS1jLXBhcGVyKTsKICBib3JkZXItcmFkaXVzOjIycHg7cGFkZGluZzozMHB4IDI4cHg7dGV4dC1hbGlnbjpsZWZ0OwogIGJveC1zaGFkb3c6MCAzMHB4IDcwcHggLTM0cHggcmdiYSgwLDAsMCwuNSk7fQojdmFpYS1iMmIgLnZiLWZpbmFsX19mb3JtICNocy1mb3JtLWZpbmFse21hcmdpbi10b3A6MDt9CiN2YWlhLWIyYiAjaHMtZm9ybS1maW5hbC1mYWxsYmFja3tmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOi45NXJlbTtjb2xvcjojNGY1ZTU0O30KLyogPT09PT09PT09PT09PT09PT09PSBGQVEgPT09PT09PT09PT09PT09PT09PSAqLwojdmFpYS1iMmIgLnZiLWZhcXtiYWNrZ3JvdW5kOnZhcigtLWMtcGFwZXIpO30KI3ZhaWEtYjJiIC52Yi1mYXFfX2xpc3R7bWF4LXdpZHRoOjgyMHB4O21hcmdpbjozOHB4IGF1dG8gMDt9CiN2YWlhLWIyYiAudmItZmFxX19pdGVte2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZGQ2YzI7fQojdmFpYS1iMmIgLnZiLWZhcV9fcXt3aWR0aDoxMDAlO3RleHQtYWxpZ246bGVmdDtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOjA7Y3Vyc29yOnBvaW50ZXI7Zm9udC1mYW1pbHk6dmFyKC0tZik7CiAgZm9udC1zaXplOmNsYW1wKDEuMDVyZW0sMS44dncsMS4ycmVtKTtmb250LXdlaWdodDo1MDA7Y29sb3I6dmFyKC0tYy1mb3Jlc3QpOwogIHBhZGRpbmc6MjJweCA0NHB4IDIycHggMDtwb3NpdGlvbjpyZWxhdGl2ZTt9CiN2YWlhLWIyYiAudmItZmFxX19xOjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjZweDt0b3A6NTAlO3dpZHRoOjEzcHg7aGVpZ2h0OjEzcHg7CiAgYm9yZGVyOnNvbGlkIHZhcigtLWMtZ3JlZW4pO2JvcmRlci13aWR0aDowIDJweCAycHggMDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNjUlKSByb3RhdGUoNDVkZWcpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4yNXMgdmFyKC0tZWFzZSk7fQojdmFpYS1iMmIgLnZiLWZhcV9faXRlbS5vcGVuIC52Yi1mYXFfX3E6OmFmdGVye3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0yNSUpIHJvdGF0ZSgtMTM1ZGVnKTt9CiN2YWlhLWIyYiAudmItZmFxX19he21heC1oZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjptYXgtaGVpZ2h0IC4zcyB2YXIoLS1lYXNlKTt9CiN2YWlhLWIyYiAudmItZmFxX19hIHB7cGFkZGluZzowIDAgMjJweDtjb2xvcjojNGY1ZTU0O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MXJlbTt9Ci8qID09PT09PT09PT09PT09PT09PT0gU1RJQ0tZIENUQSA9PT09PT09PT09PT09PT09PT09ICovCiN2YWlhLWIyYiAudmItc3RpY2t5e3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6NjA7cmlnaHQ6MjRweDtib3R0b206MjRweDtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47CiAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTRweCk7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyB2YXIoLS1lYXNlKSx0cmFuc2Zvcm0gLjNzIHZhcigtLWVhc2UpLHZpc2liaWxpdHkgLjNzO30KI3ZhaWEtYjJiIC52Yi1zdGlja3kuc2hvd3tvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlO3RyYW5zZm9ybTpub25lO30KI3ZhaWEtYjJiIC52Yi1zdGlja3kgLnZiLWJ0bntib3gtc2hhZG93OjAgMTRweCAzNHB4IC0xMHB4IHJnYmEoMCwwLDAsLjUpO30KLyogPT09PT09PT09PT09PT09PT09PSBNT0RBTCA9PT09PT09PT09PT09PT09PT09ICovCiN2YWlhLWIyYiAudmItbW9kYWx7cG9zaXRpb246Zml4ZWQ7aW5zZXQ6MDt6LWluZGV4OjEwMDA7ZGlzcGxheTpub25lO30KI3ZhaWEtYjJiIC52Yi1tb2RhbC5vcGVue2Rpc3BsYXk6YmxvY2s7fQojdmFpYS1iMmIgLnZiLW1vZGFsX19iZHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2JhY2tncm91bmQ6cmdiYSg4LDMwLDIwLC42Mik7YmFja2Ryb3AtZmlsdGVyOmJsdXIoM3B4KTt9CiN2YWlhLWIyYiAudmItbW9kYWxfX2RpYWxvZ3twb3NpdGlvbjpyZWxhdGl2ZTttYXgtd2lkdGg6NTYwcHg7d2lkdGg6Y2FsYygxMDAlIC0gMzJweCk7bWFyZ2luOjV2aCBhdXRvOwogIG1heC1oZWlnaHQ6OTB2aDtvdmVyZmxvdzphdXRvO2JhY2tncm91bmQ6dmFyKC0tYy1wYXBlcik7Ym9yZGVyLXJhZGl1czoyMnB4O3BhZGRpbmc6MzRweCAzMnB4IDMycHg7CiAgYm94LXNoYWRvdzowIDQwcHggOTBweCAtMzBweCByZ2JhKDAsMCwwLC42KTthbmltYXRpb246dmJwb3AgLjI4cyB2YXIoLS1lYXNlKTt9CkBrZXlmcmFtZXMgdmJwb3B7ZnJvbXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMThweCkgc2NhbGUoLjk4KTt9dG97b3BhY2l0eToxO3RyYW5zZm9ybTpub25lO319CiN2YWlhLWIyYiAudmItbW9kYWxfX2Nsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxNnB4O3JpZ2h0OjE2cHg7d2lkdGg6MzhweDtoZWlnaHQ6MzhweDtib3JkZXItcmFkaXVzOjUwJTsKICBib3JkZXI6MDtiYWNrZ3JvdW5kOiNlN2UxY2Y7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjEuM3JlbTtsaW5lLWhlaWdodDoxO2NvbG9yOnZhcigtLWMtZm9yZXN0KTt9CiN2YWlhLWIyYiAudmItbW9kYWxfX2Nsb3NlOmhvdmVye2JhY2tncm91bmQ6I2Q5ZDJiYzt9CiN2YWlhLWIyYiAudmItbW9kYWwgaDN7bWFyZ2luLXRvcDouNnJlbTt9CiN2YWlhLWIyYiAudmItbW9kYWxfX2ludHJve21hcmdpbi10b3A6LjZyZW07Y29sb3I6IzRmNWU1NDtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjFyZW07fQojdmFpYS1iMmIgI2hzLWZvcm0tdGFyZ2V0e21hcmdpbi10b3A6MjJweDt9CiN2YWlhLWIyYiAjaHMtZm9ybS1mYWxsYmFja3ttYXJnaW4tdG9wOjE4cHg7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZTouOTVyZW07Y29sb3I6IzRmNWU1NDt9CgovKiBIdWJTcG90IHN0eWxpbmcgKi8KI3ZhaWEtYjJiIC5ocy1mb3JtIGZpZWxkc2V0e21heC13aWR0aDoxMDAlIWltcG9ydGFudDt9CiN2YWlhLWIyYiAuaHMtZm9ybSAuaHMtaW5wdXR7d2lkdGg6MTAwJTtib3JkZXI6MXB4IHNvbGlkICNjZmM5YjY7Ym9yZGVyLXJhZGl1czoxMHB4O3BhZGRpbmc6MTFweCAxM3B4OwogIGZvbnQtZmFtaWx5OnZhcigtLWYpO2ZvbnQtc2l6ZToxcmVtO2JhY2tncm91bmQ6I2ZmZjt9CiN2YWlhLWIyYiAuaHMtZm9ybSAuaHMtaW5wdXQ6Zm9jdXN7b3V0bGluZToycHggc29saWQgdmFyKC0tYy1ncmVlbik7Ym9yZGVyLWNvbG9yOnZhcigtLWMtZ3JlZW4pO30KI3ZhaWEtYjJiIC5ocy1mb3JtIHNlbGVjdC5ocy1pbnB1dHtoZWlnaHQ6YXV0bzt9CiN2YWlhLWIyYiAuaHMtZm9ybSBsYWJlbHtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOi45cmVtO2NvbG9yOnZhcigtLWMtZm9yZXN0KTttYXJnaW4tYm90dG9tOjVweDtkaXNwbGF5OmlubGluZS1ibG9jazt9CiN2YWlhLWIyYiAuaHMtZm9ybSAuaHMtYnV0dG9ue2JhY2tncm91bmQ6dmFyKC0tYy1ncmVlbikhaW1wb3J0YW50O2JvcmRlcjowIWltcG9ydGFudDtjb2xvcjojZmZmIWltcG9ydGFudDsKICBmb250LWZhbWlseTp2YXIoLS1mKSFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6NjAwIWltcG9ydGFudDtib3JkZXItcmFkaXVzOjk5OXB4IWltcG9ydGFudDtwYWRkaW5nOjE1cHggMjhweCFpbXBvcnRhbnQ7CiAgY3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjFyZW0haW1wb3J0YW50O3dpZHRoOjEwMCU7bWFyZ2luLXRvcDo4cHg7fQojdmFpYS1iMmIgLmhzLWZvcm0gLmhzLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kOiMwNjZhNDQhaW1wb3J0YW50O30KI3ZhaWEtYjJiIC5ocy1mb3JtIC5ocy1lcnJvci1tc2csI3ZhaWEtYjJiIC5ocy1mb3JtIC5ocy1lcnJvci1tc2dzIGxhYmVse2NvbG9yOnZhcigtLWMtd2luZSkhaW1wb3J0YW50O2ZvbnQtc2l6ZTouODJyZW07fQojdmFpYS1iMmIgLmhzLWZvcm0gLmhzLWZvcm0tZmllbGR7bWFyZ2luLWJvdHRvbToxNHB4O30KCi8qID09PT09PT09PT09PT09PT09PT0gUkVTUE9OU0lWRSA9PT09PT09PT09PT09PT09PT09ICovCkBtZWRpYShtYXgtd2lkdGg6OTgwcHgpewogICN2YWlhLWIyYiAudmItc3J2X19ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7fQogICN2YWlhLWIyYiAudmItc3J2X19ncmlkLnJldiAudmItc3J2X19tZWRpYXtvcmRlcjowO30KICAjdmFpYS1iMmIgLnZiLXN2Yy1jYXJkc3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO30KICAjdmFpYS1iMmIgLnZiLWJlbl9fZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO30KICAjdmFpYS1iMmIgLnZiLWxvZ29zX19ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO30KICAjdmFpYS1iMmIgLnZiLXRzdF9fZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjt9CiAgI3ZhaWEtYjJiIC52Yi1zdHJpcHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsMWZyKTt9CkBtZWRpYShtYXgtd2lkdGg6NjIwcHgpewogICN2YWlhLWIyYntmb250LXNpemU6MTdweDt9CiAgI3ZhaWEtYjJiIC52Yi13cmFwe3BhZGRpbmc6MCAxOHB4O30KICAjdmFpYS1iMmIgLnZiLWhlcm9fX2lubmVye21pbi1oZWlnaHQ6ODh2aDttaW4taGVpZ2h0Ojg4c3ZoO3BhZGRpbmctdG9wOjEyOHB4O3BhZGRpbmctYm90dG9tOjQ4cHg7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7fQogICN2YWlhLWIyYiAudmItaGVybyBoMXttYXJnaW4tdG9wOjEuNHJlbTt9CiAgI3ZhaWEtYjJiIC52Yi1oZXJvIC52Yi1jdGEtcm93e21hcmdpbi10b3A6Mi40cmVtO30KICAjdmFpYS1iMmIgLnZiLXRydXN0e21hcmdpbi10b3A6YXV0bztwYWRkaW5nLXRvcDozNHB4O30KICAjdmFpYS1iMmIgLnZiLXByb2Rze2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMiwxZnIpO30KICAjdmFpYS1iMmIgLnZiLWNhc2VfX3N0YXRze2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO30KICAjdmFpYS1iMmIgLnZiLWxvZ29zX19ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMiwxZnIpO30KICAjdmFpYS1iMmIgLnZiLXRzdF9fZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO30KICAjdmFpYS1iMmIgLnZiLXN0aWNreXtyaWdodDoxNHB4O2xlZnQ6MTRweDtib3R0b206MTRweDt9CiAgI3ZhaWEtYjJiIC52Yi1zdGlja3kgLnZiLWJ0bnt3aWR0aDoxMDAlO30KICAjdmFpYS1iMmIgLnZiLWN0YS1yb3d7Z2FwOjEycHg7fQogICN2YWlhLWIyYiAudmItY3RhLXJvdyAudmItYnRue3dpZHRoOjEwMCU7fQp9CkBtZWRpYShwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7CiAgI3ZhaWEtYjJiICp7YW5pbWF0aW9uOm5vbmUhaW1wb3J0YW50O3RyYW5zaXRpb246bm9uZSFpbXBvcnRhbnQ7fQp9CjwhLS0gPT09PT09PT09PT09IEhFUk8gPT09PT09PT09PT09IC0tPgo8aGVhZGVyIGNsYXNzPSJ2Yi1oZXJvIj4KICA8ZGl2IGNsYXNzPSJ2Yi1oZXJvX19iZyI+CiAgICA8aW1nIHNyYz0iaHR0cHM6Ly9wcm9qZWN0LnZhaWEuZXUvaHMtZnMvaHViZnMvRXZlbnRvJTIwQXppZW5kYWxlJTIwR3J1cHBvJTIwQ2Fzc2ElMjBDZW50cmFsZSUyMCgxKS5qcGc\/d2lkdGg9MTYwMCZhbXA7bmFtZT1FdmVudG8lMjBBemllbmRhbGUlMjBHcnVwcG8lMjBDYXNzYSUyMENlbnRyYWxlJTIwKDEpLmpwZyIgYWx0PSJDb3Jwb3JhdGUgdGVhbSBwbGFudGluZyB0cmVlcyBpbiB0aGUgRG9sb21pdGVzIHdpdGggVkFJQSI+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0idmItd3JhcCB2Yi1oZXJvX19pbm5lciI+CiAgICA8c3BhbiBjbGFzcz0idmItZXllYnJvdyB2Yi1leWVicm93LS1saWdodCI+VkFJQSDDlyBDb21wYW5pZXM8L3NwYW4+CiAgICA8aDE+WW91ciBjb21wYW554oCZcyBzdXN0YWluYWJpbGl0eSBkZXNlcnZlcyB0byBiZSBzZWVuLCBmZWx0LCBhbmQgcmVtZW1iZXJlZC48L2gxPgogICAgPHAgY2xhc3M9InZiLWhlcm9fX3N1YiI+V2l0aCBWQUlBLCB5b3UgdHVybiB5b3VyIGNvbW1pdG1lbnQgaW50byByZWFsIHJlZ2VuZXJhdGlvbiBwcm9qZWN0cyDigJQgZnJvbSBzdXN0YWluYWJsZSBjb3Jwb3JhdGUgZ2lmdHMgdG8gdGVhbS1idWlsZGluZyBleHBlcmllbmNlcyBpbiB0aGUgRG9sb21pdGVzLCB0byB0YWlsb3ItbWFkZSBFU0cgcGFydG5lcnNoaXBzLjwvcD4KICAgIDxkaXYgY2xhc3M9InZiLWN0YS1yb3ciPgogICAgICA8YnV0dG9uIGNsYXNzPSJ2Yi1idG4gdmItYnRuLS1nb2xkIiBkYXRhLXZiLW9wZW49ImNvbnRhdHRvIj5HZXQgaW4gdG91Y2ggPHNwYW4gY2xhc3M9InZiLWFycm93Ij7ihpI8L3NwYW4+PC9idXR0b24+CiAgICA8L2Rpdj4KICAgIDxwIGNsYXNzPSJ2Yi1oZXJvX19taWNybyI+Tm8gb2JsaWdhdGlvbiDCtyBGYXN0IHJlc3BvbnNlPC9wPgogICAgPGRpdiBjbGFzcz0idmItdHJ1c3QiPgogICAgICA8ZGl2IGNsYXNzPSJ2Yi1iYWRnZXMiPgogICAgICAgIDxzcGFuIGNsYXNzPSJ2Yi1iYWRnZSB2Yi1iYWRnZS0tbG9nbyIgdGl0bGU9IkNlcnRpZmllZCBCIENvcnBvcmF0aW9uIj4KICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDMyIiB3aWR0aD0iMTYiIGhlaWdodD0iMjEiIGFyaWEtaGlkZGVuPSJ0cnVlIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS42Ij48L2NpcmNsZT48cGF0aCBkPSJNOSA3aDQuNGMxLjkgMCAzIDEgMyAyLjUgMCAxLjItLjcgMS45LTEuNiAyLjIgMS4xLjMgMiAxIDIgMi41QzE2LjggMTggMTUuNSAxOSAxMy40IDE5SDlWN3ptMi4xIDQuNmgyYy45IDAgMS40LS40IDEuNC0xLjIgMC0uNy0uNS0xLjEtMS40LTEuMWgtMnYyLjN6bTAgNS41aDIuMWMxIDAgMS41LS41IDEuNS0xLjMgMC0uOC0uNi0xLjMtMS42LTEuM2gtMnYyLjZ6IiBmaWxsPSJjdXJyZW50Q29sb3IiPjwvcGF0aD48cGF0aCBkPSJNMTIgMjN2NiIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS42Ij48L3BhdGg+PC9zdmc+CiAgICAgICAgICBDZXJ0aWZpZWQgQiZuYnNwO0NvcnAKICAgICAgICA8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9InZiLWJhZGdlIj48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHBhdGggZD0iTTIwIDYgOSAxN2wtNS01Ij48L3BhdGg+PC9zdmc+IFBFRkMgQ2VydGlmaWVkIFN1cHBseSBDaGFpbjwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0idmItYmFkZ2UiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48cGF0aCBkPSJNMjAgNiA5IDE3bC01LTUiPjwvcGF0aD48L3N2Zz4gQmVuZWZpdCBDb3Jwb3JhdGlvbjwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9oZWFkZXI+CjwhLS0gPT09PT09PT09PT09IExPR09TID09PT09PT09PT09PSAtLT4KPHNlY3Rpb24gY2xhc3M9InZiLWxvZ29zIHZiLXNlY3Rpb24iIGFyaWEtbGFiZWw9IkNvbXBhbmllcyB0aGF0IGNob3NlIFZBSUEiPgogIDxkaXYgY2xhc3M9InZiLXdyYXAiPgogICAgPHAgY2xhc3M9InZiLWxvZ29zX19oZWFkIj5UaGV5IGFscmVhZHkgY2hvc2UgVkFJQTwvcD4KICAgIDxkaXYgY2xhc3M9InZiLWxvZ29zX19ncmlkIj4KICAgICAgPGZpZ3VyZT48aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9WQUlBLUNvbXBhbmllcy1UcmFuc3AtTG9nby0zLnBuZyIgYWx0PSJWQUlBIHBhcnRuZXIgY29tcGFueSIgbG9hZGluZz0ibGF6eSI+PC9maWd1cmU+CiAgICAgIDxmaWd1cmU+PGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDYvVkFJQS1Db21wYW5pZXMtVHJhbnNwLUxvZ28tNS5wbmciIGFsdD0iVkFJQSBwYXJ0bmVyIGNvbXBhbnkiIGxvYWRpbmc9ImxhenkiPjwvZmlndXJlPgogICAgICA8ZmlndXJlPjxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA2L1ZBSUEtQ29tcGFuaWVzLVRyYW5zcC1Mb2dvLTQucG5nIiBhbHQ9IlZBSUEgcGFydG5lciBjb21wYW55IiBsb2FkaW5nPSJsYXp5Ij48L2ZpZ3VyZT4KICAgICAgPGZpZ3VyZT48aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9WQUlBLUNvbXBhbmllcy1UcmFuc3AtTG9nby0xLnBuZyIgYWx0PSJWQUlBIHBhcnRuZXIgY29tcGFueSIgbG9hZGluZz0ibGF6eSI+PC9maWd1cmU+CiAgICAgIDxmaWd1cmU+PGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDYvU29ueV9NdXNpY19Mb2dvLnBuZyIgYWx0PSJTb255IE11c2ljIiBsb2FkaW5nPSJsYXp5Ij48L2ZpZ3VyZT4KICAgICAgPGZpZ3VyZT48aW1nIHNyYz0iaHR0cHM6Ly93d3cuc2Fsb25lc3JpLml0LzIwMjEvd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzE1LzIwMjEvMDcvcG9zaXRpdm8tY29tcGF0dG9AM3gucG5nIiBhbHQ9IkdydXBwbyBDYXNzYSBDZW50cmFsZSIgbG9hZGluZz0ibGF6eSI+PC9maWd1cmU+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgo8aHIgY2xhc3M9InZiLXNwbGl0Ij4KPCEtLSA9PT09PT09PT09PT0gVEVSUklUT1JZIFNFQ1RJT04gPT09PT09PT09PT09IC0tPgo8c2VjdGlvbiBjbGFzcz0idmItaW50cm8gdmItc2VjdGlvbiIgc3R5bGU9ImJhY2tncm91bmQ6I2ZmZjsiPgogIDxkaXYgY2xhc3M9InZiLXdyYXAiPgogICAgPGRpdiBjbGFzcz0idmItaW50cm9fX2hlYWQiIHN0eWxlPSJtYXgtd2lkdGg6ODYwcHg7Ij4KICAgICAgPGgyIGNsYXNzPSJ2Yi1oIj5FdmVyeSB0ZXJyaXRvcnkgaGFzIGEgc3RvcnkuIFdlIHR1cm4gaXQgaW50byB2YWx1ZS48L2gyPgogICAgICA8cCBjbGFzcz0idmItbGVhZCIgc3R5bGU9Im1hcmdpbi10b3A6MS4ycmVtOyI+VGhlIERvbG9taXRlcywgdGhlIG9saXZlIGdyb3ZlcyBvZiBQdWdsaWEsIHBsYWNlcyByaWNoIGluIGhpc3RvcnkgYW5kIGNyYWZ0c21hbnNoaXA6IFZBSUEgc3RhcnRzIGZyb20gdGhlIHBvdGVudGlhbCBvZiBlYWNoIHRlcnJpdG9yeSB0byBidWlsZCBjb25jcmV0ZSBhbmQgbWVhc3VyYWJsZSBjb3Jwb3JhdGUgc3VzdGFpbmFiaWxpdHkgcHJvamVjdHMuIFdlIHJlY292ZXIgbWF0ZXJpYWxzLCBlbnRydXN0IHRoZW0gdG8gbG9jYWwgYXJ0aXNhbnMsIGludm9sdmUgY29tcGFuaWVzIGxpa2UgeW91cnMsIGFuZCBnaXZlIHZhbHVlIGJhY2sgdG8gY29tbXVuaXRpZXMgd2l0aCBzb21ldGhpbmcgcHJlY2lvdXMgdG8gb2ZmZXIuPC9wPgogICAgICA8cCBjbGFzcz0idmItbGVhZCIgc3R5bGU9Im1hcmdpbi10b3A6MXJlbTsiPldoZW4geW91IHdvcmsgd2l0aCBWQUlBLCB5b3VyIGNvbW1pdG1lbnQgZG9lc27igJl0IGFkZCB0byBhIGdlbmVyaWMgZWZmb3J0LiBJdCBjb25uZWN0cyB0byByZWFsIHBlb3BsZSwgdG8gYSBwcmVjaXNlIHBsYWNlIG9uIHRoZSBtYXAsIHRvIGFuIGltcGFjdCB0aGF0IGV4aXN0cyBhbmQgY2FuIGJlIHRvbGQuPC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIyMHB4LCAxZnIpKTtnYXA6MThweDttYXJnaW4tdG9wOjQ2cHg7Ij4KICAgICAgPGRpdiBjbGFzcz0idmItYmVuX19jYXJkIiBzdHlsZT0iYmFja2dyb3VuZDp2YXIoLS1jLXBhcGVyKTsiPgogICAgICAgIDxzcGFuIGNsYXNzPSJ2Yi1leWVicm93Ij5XZSBSZWNvdmVyPC9zcGFuPgogICAgICAgIDxwIHN0eWxlPSJtYXJnaW4tdG9wOi42cmVtOyI+TWF0ZXJpYWxzIGZyb20gdGVycml0b3JpZXMgd2l0aCBhIHN0b3J5IHRvIHRlbGw8L3A+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2Yi1iZW5fX2NhcmQiIHN0eWxlPSJiYWNrZ3JvdW5kOnZhcigtLWMtcGFwZXIpOyI+CiAgICAgICAgPHNwYW4gY2xhc3M9InZiLWV5ZWJyb3ciPldlIFRyYW5zZm9ybTwvc3Bhbj4KICAgICAgICA8cCBzdHlsZT0ibWFyZ2luLXRvcDouNnJlbTsiPlRocm91Z2ggbG9jYWwgYXJ0aXNhbiBzdXBwbHkgY2hhaW5zPC9wPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmItYmVuX19jYXJkIiBzdHlsZT0iYmFja2dyb3VuZDp2YXIoLS1jLXBhcGVyKTsiPgogICAgICAgIDxzcGFuIGNsYXNzPSJ2Yi1leWVicm93Ij5XZSBFbmdhZ2U8L3NwYW4+CiAgICAgICAgPHAgc3R5bGU9Im1hcmdpbi10b3A6LjZyZW07Ij5Db21wYW5pZXMsIHBlb3BsZSBhbmQgY29tbXVuaXRpZXM8L3A+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2Yi1iZW5fX2NhcmQiIHN0eWxlPSJiYWNrZ3JvdW5kOnZhcigtLWMtcGFwZXIpOyI+CiAgICAgICAgPHNwYW4gY2xhc3M9InZiLWV5ZWJyb3ciPldlIFJlZ2VuZXJhdGU8L3NwYW4+CiAgICAgICAgPHAgc3R5bGU9Im1hcmdpbi10b3A6LjZyZW07Ij5FY29zeXN0ZW1zLCB0ZXJyaXRvcmllcyBhbmQgbG9jYWwgY29tbXVuaXRpZXM8L3A+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KPGhyIGNsYXNzPSJ2Yi1zcGxpdCI+CjwhLS0gPT09PT09PT09PT09IFNFUlZJQ0VTIE9WRVJWSUVXID09PT09PT09PT09PSAtLT4KPHNlY3Rpb24gY2xhc3M9InZiLWludHJvIHZiLXNlY3Rpb24iPgogIDxkaXYgY2xhc3M9InZiLXdyYXAiPgogICAgPGRpdiBjbGFzcz0idmItaW50cm9fX2hlYWQiPgogICAgICA8c3BhbiBjbGFzcz0idmItZXllYnJvdyI+U2VydmljZXMgZm9yIENvbXBhbmllczwvc3Bhbj4KICAgICAgPGgyIGNsYXNzPSJ2Yi1oIj5UaHJlZSBjb25jcmV0ZSB3YXlzIHRvIHR1cm4geW91ciBjb21taXRtZW50IGludG8gcmVhbCBpbXBhY3QuPC9oMj4KICAgICAgPHAgY2xhc3M9InZiLWxlYWQiPkZyb20gY29ycG9yYXRlIGdpZnRzIHRvIHNwZWNpYWwgcHJvamVjdHMsIHdlIHN1cHBvcnQgeW91ciBjb21wYW55IGluIGNyZWF0aW5nIGluaXRpYXRpdmVzIHRoYXQgZ2VuZXJhdGUgdmFsdWUgZm9yIHBlb3BsZSwgdGhlIHRlcnJpdG9yeSwgYW5kIHRoZSBlbnZpcm9ubWVudC4gQ29uY3JldGUsIG1lYXN1cmFibGUgcHJvamVjdHMgdGhhdCBpbnRlZ3JhdGUgaW50byB5b3VyIHN1c3RhaW5hYmlsaXR5IGpvdXJuZXkgYW5kIGNyZWF0ZSB2YWx1ZSBmb3IgY2xpZW50cywgZW1wbG95ZWVzLCBhbmQgc3Rha2Vob2xkZXJzLjwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0idmItc3ZjLWNhcmRzIj4KICAgICAgPGEgY2xhc3M9InZiLXN2Yy1jYXJkIiBocmVmPSIjY29ycG9yYXRlLWdpZnRzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2Yi1zdmMtY2FyZF9faW1nIj48aW1nIHNyYz0iaHR0cHM6Ly8xNDM0MTY2MTUuZnMxLmh1YnNwb3R1c2VyY29udGVudC1ldTEubmV0L2h1YmZzLzE0MzQxNjYxNS82NjcxMjZkMTM5NTYxZDMxMzdiNDdkNTg5MGYzN2M0Mi5wbmciIGFsdD0iVkFJQSBDb3Jwb3JhdGUgR2lmdHMiIGxvYWRpbmc9ImxhenkiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InZiLXN2Yy1jYXJkX19iIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJ2Yi1leWVicm93Ij5Db3Jwb3JhdGUgR2lmdHM8L3NwYW4+CiAgICAgICAgICA8aDMgY2xhc3M9InZiLWgiPkdpZnRzICZhbXA7IFdlbGNvbWUgS2l0czwvaDM+CiAgICAgICAgICA8cD5DdXN0b21pc2FibGUgc3VzdGFpbmFibGUgY29ycG9yYXRlIGdpZnRzLiBFdmVyeSBwcm9qZWN0IGNvbnRyaWJ1dGVzIHRvIHRoZSByZWdlbmVyYXRpb24gb2YgZWNvc3lzdGVtcyBhbmQgbG9jYWwgY29tbXVuaXRpZXMuPC9wPgogICAgICAgICAgPHNwYW4gY2xhc3M9InZiLXN2Yy1jYXJkX19saW5rIj5EaXNjb3ZlciB0aGUgZ2lmdHMgPHNwYW4+4oaSPC9zcGFuPjwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9hPgogICAgICA8YSBjbGFzcz0idmItc3ZjLWNhcmQiIGhyZWY9IiN0ZWFtLWJ1aWxkaW5nIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2Yi1zdmMtY2FyZF9faW1nIj48aW1nIHNyYz0iaHR0cHM6Ly9wcm9qZWN0LnZhaWEuZXUvaHMtZnMvaHViZnMvRXZlbnRvJTIwQXppZW5kYWxlJTIwR3J1cHBvJTIwQ2Fzc2ElMjBDZW50cmFsZSUyMCgxMCkuanBnP3dpZHRoPTcwMCZhbXA7bmFtZT1FdmVudG8lMjBBemllbmRhbGUlMjBHcnVwcG8lMjBDYXNzYSUyMENlbnRyYWxlJTIwKDEwKS5qcGciIGFsdD0iVkFJQSBUZWFtIEJ1aWxkaW5nIEV4cGVyaWVuY2UgaW4gdGhlIERvbG9taXRlcyIgbG9hZGluZz0ibGF6eSI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idmItc3ZjLWNhcmRfX2IiPgogICAgICAgICAgPHNwYW4gY2xhc3M9InZiLWV5ZWJyb3ciPlRlYW0gQnVpbGRpbmcgJmFtcDsgVHJhaW5pbmc8L3NwYW4+CiAgICAgICAgICA8aDMgY2xhc3M9InZiLWgiPlZBSUEgRXhwZXJpZW5jZTwvaDM+CiAgICAgICAgICA8cD5BIGRheSBpbiB0aGUgRG9sb21pdGVzIHRvIGJ1aWxkIHRlYW0gc3Bpcml0LCBkaXNjb3ZlciB0aGUgdGVycml0b3J5LCBhbmQgY29udHJpYnV0ZSB0byBpdHMgcmVnZW5lcmF0aW9uLjwvcD4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJ2Yi1zdmMtY2FyZF9fbGluayI+RGlzY292ZXIgdGhlIGV4cGVyaWVuY2UgPHNwYW4+4oaSPC9zcGFuPjwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9hPgogICAgICA8YSBjbGFzcz0idmItc3ZjLWNhcmQiIGhyZWY9IiNzcGVjaWFsLXByb2plY3RzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2Yi1zdmMtY2FyZF9faW1nIj48aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9VbnRpdGxlZC1kZXNpZ24tMS5qcGciIGFsdD0iVkFJQSBTcGVjaWFsIFByb2plY3RzICZhbXA7IFBhcnRuZXJzaGlwcyIgbG9hZGluZz0ibGF6eSI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idmItc3ZjLWNhcmRfX2IiPgogICAgICAgICAgPHNwYW4gY2xhc3M9InZiLWV5ZWJyb3ciPlRhaWxvci1tYWRlIFBhcnRuZXJzaGlwczwvc3Bhbj4KICAgICAgICAgIDxoMyBjbGFzcz0idmItaCI+U3BlY2lhbCBQcm9qZWN0czwvaDM+CiAgICAgICAgICA8cD5Dby1jcmVhdGVkIGVkaXRpb25zLCBkZWRpY2F0ZWQgZm9yZXN0cywgdGVycml0b3JpYWwgcHJvamVjdHMgYW5kIGNvbW11bmljYXRpb24gaW5pdGlhdGl2ZXMgYnVpbHQgdG9nZXRoZXIgZm9yIGxhc3RpbmcgaW1wYWN0LjwvcD4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJ2Yi1zdmMtY2FyZF9fbGluayI+RGlzY292ZXIgdGhlIHBhcnRuZXJzaGlwcyA8c3Bhbj7ihpI8L3NwYW4+PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICA8L2E+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgo8IS0tID09PT09PT09PT09PSBTRVJWSUNFIDEgwrcgQ09SUE9SQVRFIEdJRlRTID09PT09PT09PT09PSAtLT4KPHNlY3Rpb24gY2xhc3M9InZiLXNydiB2Yi1zcnYtLW1pbnQgdmItc2VjdGlvbiIgaWQ9ImNvcnBvcmF0ZS1naWZ0cyI+CiAgPGRpdiBjbGFzcz0idmItd3JhcCB2Yi1zcnZfX2dyaWQiPgogICAgPGRpdiBjbGFzcz0idmItc3J2X19tZWRpYSI+CiAgICAgIDxkaXYgY2xhc3M9InZiLXZpZGVvIj4KICAgICAgICA8aWZyYW1lIHNyYz0iaHR0cHM6Ly9mYXN0Lndpc3RpYS5uZXQvZW1iZWQvaWZyYW1lL2NzMjUyaWh1NGg\/c2VvPWZhbHNlJmFtcDt2aWRlb0ZvYW09dHJ1ZSIgdGl0bGU9IlZBSUEgQ29ycG9yYXRlIEdpZnRzIiBhbGxvdz0iYXV0b3BsYXk7IGZ1bGxzY3JlZW4iIGFsbG93ZnVsbHNjcmVlbj0iIiBsb2FkaW5nPSJsYXp5Ij48L2lmcmFtZT4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXY+CiAgICAgIDxzcGFuIGNsYXNzPSJ2Yi1leWVicm93Ij5Db3Jwb3JhdGUgR2lmdHM8L3NwYW4+CiAgICAgIDxoMiBjbGFzcz0idmItaCI+QSBzdXN0YWluYWJsZSBjb3Jwb3JhdGUgZ2lmdCB0aGF0IHNob3dzIHdobyB5b3UgcmVhbGx5IGFyZS48L2gyPgogICAgICA8cCBjbGFzcz0idmItbGVhZCI+RXZlcnkgY29ycG9yYXRlIGdpZnQgaXMgYW4gb3Bwb3J0dW5pdHkgdG8gc2F5IHNvbWV0aGluZyBwcmVjaXNlIGFib3V0IHlvdXIgY29tcGFueS4gVkFJQSBzdXN0YWluYWJsZSBjb3Jwb3JhdGUgZ2lmdHMgbGV0IHlvdSBkbyBpdCB3aXRoIGF1dGhlbnRpY2l0eTogdGhleSBhcmUgbWFkZSBmcm9tIHJlY292ZXJlZCB3b29kIGZyb20gdGhlIERvbG9taXRlcyBhbmQgb2xpdmUgdHJlZXMgZnJvbSBQdWdsaWEsIGNyYWZ0ZWQgYnkgbG9jYWwgYXJ0aXNhbnMsIGFuZCBjYXJyeSBhIHZlcmlmaWFibGUgc3RvcnkuPC9wPgogICAgICA8cCBjbGFzcz0idmItbGVhZCI+VGhvc2Ugd2hvIHJlY2VpdmUgYSBWQUlBIGdpZnQgZG9u4oCZdCBqdXN0IGdldCBhbiBvYmplY3QuIFRoZXkgcmVjZWl2ZSBjb25jcmV0ZSBwcm9vZiB0aGF0IHlvdXIgY29tcGFueSBkb2VzIHdoYXQgaXQgc2F5cy48L3A+CiAgICAgIDx1bCBjbGFzcz0idmItY2hlY2tzIj4KICAgICAgICA8bGk+Q3VzdG9taXNlZCBnaWZ0IG9yIHdlbGNvbWUga2l0IHdpdGggeW91ciBicmFuZGluZzwvbGk+CiAgICAgICAgPGxpPkFuIGF1dGhlbnRpYyBzdG9yeSB0byB0ZWxsIGNsaWVudHMsIHBhcnRuZXJzIGFuZCBlbXBsb3llZXM8L2xpPgogICAgICAgIDxsaT5BIG1lYXN1cmFibGUgY29udHJpYnV0aW9uIHRvIGFuIGVudmlyb25tZW50YWwgcmVnZW5lcmF0aW9uIHByb2plY3Q8L2xpPgogICAgICAgIDxsaT5Eb2N1bWVudGF0aW9uIGludGVncmFibGUgaW50byB5b3VyIEVTRyByZXBvcnRpbmc8L2xpPgogICAgICAgIDxsaT5JZGVhbCBmb3IgY29ycG9yYXRlIENocmlzdG1hcywgYW5uaXZlcnNhcmllcywgb25ib2FyZGluZywgYXdhcmRzLCBjbGllbnQgZ2lmdHMgYW5kIGV2ZW50czwvbGk+CiAgICAgIDwvdWw+CiAgICAgIDxkaXYgY2xhc3M9InZiLWN0YS1yb3ciPgogICAgICAgIDxidXR0b24gY2xhc3M9InZiLWJ0biB2Yi1idG4tLXByaW1hcnkiIGRhdGEtdmItb3Blbj0iY29udGF0dG8iPlJlcXVlc3QgYSBxdW90ZSA8c3BhbiBjbGFzcz0idmItYXJyb3ciPuKGkjwvc3Bhbj48L2J1dHRvbj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJ2Yi13cmFwIj4KICAgIDxkaXYgY2xhc3M9InZiLXByb2RzIj4KICAgICAgPGRpdiBjbGFzcz0idmItcHJvZCI+PGRpdiBjbGFzcz0idmItcHJvZF9faW1nIj48aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8wOS9QUklOQ0lQQUxFXzEwMDB4MTAwMF9QUk9ET1RUSS1jdWJlXzItMS02MDB4NjAwLmpwZyIgYWx0PSJWQUlBIEN1YmUiIGxvYWRpbmc9ImxhenkiPjwvZGl2PjxkaXYgY2xhc3M9InZiLXByb2RfX2IiPjxiPlZBSUEgQ3ViZTwvYj48c3Bhbj5UaGUgaWNvbmljIGFtcGxpZmllciBtYWRlIGZyb20gcmVjb3ZlcmVkIHdvb2QuPC9zcGFuPjwvZGl2PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2Yi1wcm9kIj48ZGl2IGNsYXNzPSJ2Yi1wcm9kX19pbWciPjxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIyLzExLzY2NXg3NTVfSk9ZLTItMS5qcGciIGFsdD0iQ3ViZSBKT1kiIGxvYWRpbmc9ImxhenkiPjwvZGl2PjxkaXYgY2xhc3M9InZiLXByb2RfX2IiPjxiPkN1YmUgSk9ZPC9iPjxzcGFuPlRoZSBDdWJlIGluIGl0cyBzaXggY29sb3VyZnVsIHNvdWxzLjwvc3Bhbj48L2Rpdj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmItcHJvZCI+PGRpdiBjbGFzcz0idmItcHJvZF9faW1nIj48aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8xMi9QUklOQ0lQQUxFLTEwMDB4MTAwMF9zY2hlZGEtcHJvZG90dG8tRk9DVVMuanBnIiBhbHQ9IlZBSUEgRm9jdXMiIGxvYWRpbmc9ImxhenkiPjwvZGl2PjxkaXYgY2xhc3M9InZiLXByb2RfX2IiPjxiPlZBSUEgRm9jdXM8L2I+PHNwYW4+RGVmZW5kaW5nIGdsYWNpZXJzLCB0aGUgdGhlcm1vbWV0ZXJzIG9mIHRoZSBwbGFuZXQuPC9zcGFuPjwvZGl2PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2Yi1wcm9kIj48ZGl2IGNsYXNzPSJ2Yi1wcm9kX19pbWciPjxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzExL0lNR18yMjk2LXNjYWxlZC5qcGciIGFsdD0iVkFJQSBQZW9wbGUiIGxvYWRpbmc9ImxhenkiPjwvZGl2PjxkaXYgY2xhc3M9InZiLXByb2RfX2IiPjxiPlZBSUEgUGVvcGxlPC9iPjxzcGFuPkZyb20gYmVldGxlLWtpbGxlZCB3b29kLCBhIHN5bWJvbCBvZiBjb25uZWN0aW9uLjwvc3Bhbj48L2Rpdj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmItcHJvZCI+PGRpdiBjbGFzcz0idmItcHJvZF9faW1nIj48aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNS9Nb2RlbGxpLTEtMS1zY2FsZWQuanBnIiBhbHQ9IlZBSUEgQ292ZXIiIGxvYWRpbmc9ImxhenkiPjwvZGl2PjxkaXYgY2xhc3M9InZiLXByb2RfX2IiPjxiPlZBSUEgQ292ZXI8L2I+PHNwYW4+T2xpdmUgTWF0dGVy4oSiIGNvdmVyIHRoYXQgcmVnZW5lcmF0ZXMgdGhlIE1lZGl0ZXJyYW5lYW4gc2NydWIuPC9zcGFuPjwvZGl2PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2Yi1wcm9kIj48ZGl2IGNsYXNzPSJ2Yi1wcm9kX19pbWciPjxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIzLzEwLzEwMDB4MTAwMF9QUk9ET1RUSS1pbXBlcmZldHRvLTMwMHgzMDAuanBnIiBhbHQ9IkltcGVyZmVjdCBDdWJlIiBsb2FkaW5nPSJsYXp5Ij48L2Rpdj48ZGl2IGNsYXNzPSJ2Yi1wcm9kX19iIj48Yj5JbXBlcmZlY3QgQ3ViZTwvYj48c3Bhbj5OYXR1cmFsbHkgdW5pcXVlLCBmb3IgdGhlIEZvcmVzdCBvZiBWaW9saW5zLjwvc3Bhbj48L2Rpdj48L2Rpdj4KICAgIDwvZGl2PgogICAgPHAgY2xhc3M9InZiLXN0cmlwX19oZWFkIj5BbHJlYWR5IGdpZnRlZCBieTwvcD4KICAgIDxkaXYgY2xhc3M9InZiLXN0cmlwIj4KICAgICAgPGRpdiBjbGFzcz0idmItc3RyaXBfX2kiPjxiPjMwMDwvYj48c3Bhbj5WQUlBIEN1YmUg4oCUIEJyb3RoZXI8L3NwYW4+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InZiLXN0cmlwX19pIj48Yj4yMDA8L2I+PHNwYW4+VkFJQSBDdWJlIOKAlCBTb255IE11c2ljPC9zcGFuPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2Yi1zdHJpcF9faSI+PGI+NDAwPC9iPjxzcGFuPlZBSUEgQ3ViZSDigJQgU0RBIEJvY2Nvbmk8L3NwYW4+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InZiLXN0cmlwX19pIj48Yj4xLjE1MDwvYj48c3Bhbj5WQUlBIEN1YmUg4oCUIE5ldyBIb2xsYW5kPC9zcGFuPjwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KPCEtLSA9PT09PT09PT09PT0gU0VSVklDRSAyIMK3IFRFQU0gQlVJTERJTkcgPT09PT09PT09PT09IC0tPgo8c2VjdGlvbiBjbGFzcz0idmItc3J2IHZiLXNydi0tZm9yZXN0IHZiLXNlY3Rpb24iIGlkPSJ0ZWFtLWJ1aWxkaW5nIj4KICA8ZGl2IGNsYXNzPSJ2Yi13cmFwIHZiLXNydl9fZ3JpZCByZXYiPgogICAgPGRpdiBjbGFzcz0idmItc3J2X19tZWRpYSI+CiAgICAgIDxkaXYgY2xhc3M9InZiLXZpZGVvIj4KICAgICAgICA8aWZyYW1lIHNyYz0iaHR0cHM6Ly9mYXN0Lndpc3RpYS5uZXQvZW1iZWQvaWZyYW1lLzI0Z3Q3ODNyNnQ\/c2VvPWZhbHNlJmFtcDt2aWRlb0ZvYW09dHJ1ZSIgdGl0bGU9IlZBSUEgVGVhbSBCdWlsZGluZyBFeHBlcmllbmNlIiBhbGxvdz0iYXV0b3BsYXk7IGZ1bGxzY3JlZW4iIGFsbG93ZnVsbHNjcmVlbj0iIiBsb2FkaW5nPSJsYXp5Ij48L2lmcmFtZT4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXY+CiAgICAgIDxzcGFuIGNsYXNzPSJ2Yi1leWVicm93IHZiLWV5ZWJyb3ctLWxpZ2h0Ij5UZWFtIEJ1aWxkaW5nPC9zcGFuPgogICAgICA8aDIgY2xhc3M9InZiLWgiPldhbnQgYW4gZXhwZXJpZW5jZSB0aGF0IGJyaW5ncyB5b3VyIHRlYW0gdG9nZXRoZXI\/PC9oMj4KICAgICAgPHAgY2xhc3M9InZiLWxlYWQiPlN1c3RhaW5hYmlsaXR5IGlzIG5vdCBleHBsYWluZWQgaW4gYSBwcmVzZW50YXRpb24uIEl0IGlzIGxpdmVkLiBWQUlBIEV4cGVyaWVuY2UgdGFrZXMgeW91ciB0ZWFtIHRvIHRoZSBoZWFydCBvZiB0aGUgRG9sb21pdGVzIGZvciBhbiB1bmZvcmdldHRhYmxlIHN1c3RhaW5hYmxlIHRlYW0tYnVpbGRpbmcgZXhwZXJpZW5jZSBpbiBuYXR1cmU6IHBsYW50aW5nIHRyZWVzLCB3YWxraW5nLCB3b3JraW5nIHRvZ2V0aGVyLCBhbmQgY29udHJpYnV0aW5nIGNvbmNyZXRlbHkgdG8gdGVycml0b3JpYWwgcmVnZW5lcmF0aW9uLjwvcD4KICAgICAgPHAgY2xhc3M9InZiLWxlYWQiPllvdXIgcGVvcGxlIHJldHVybiB3aXRoIGEgc3Ryb25nZXIgc2Vuc2Ugb2YgYmVsb25naW5nLCB0aGUgYXdhcmVuZXNzIG9mIGhhdmluZyBkb25lIHNvbWV0aGluZyByZWFsLCBhbmQgYSBzdG9yeSB0byB0ZWxsIGluc2lkZSBhbmQgb3V0c2lkZSB0aGUgY29tcGFueS48L3A+CiAgICAgIDx1bCBjbGFzcz0idmItY2hlY2tzIj4KICAgICAgICA8bGk+R3VpZGVkIHRyZWUgcGxhbnRpbmcgd2l0aCBsb2NhbCBmb3Jlc3RlcnM8L2xpPgogICAgICAgIDxsaT5WaXNpdCB0byBWQUlB4oCZcyBhcnRpc2FuIHdvcmtzaG9wczwvbGk+CiAgICAgICAgPGxpPlRyZWtraW5nIHdpdGggY2VydGlmaWVkIG1vdW50YWluIGd1aWRlczwvbGk+CiAgICAgICAgPGxpPldvcmtzaG9wcyBvbiBlbnZpcm9ubWVudGFsIHN1c3RhaW5hYmlsaXR5IGFuZCBFU0cgaW1wYWN0PC9saT4KICAgICAgICA8bGk+Q3VzdG9taXNlZCB0cmFpbmluZyBwYXRocyBmb3IgeW91ciBjb21wYW55PC9saT4KICAgICAgPC91bD4KICAgICAgPGRpdiBjbGFzcz0idmItY3RhLXJvdyI+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0idmItYnRuIHZiLWJ0bi0tZ29sZCIgZGF0YS12Yi1vcGVuPSJjb250YXR0byI+T3JnYW5pc2UgeW91ciBFeHBlcmllbmNlIDxzcGFuIGNsYXNzPSJ2Yi1hcnJvdyI+4oaSPC9zcGFuPjwvYnV0dG9uPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmItY2FzZSI+CiAgICAgICAgPGRpdiBjbGFzcz0idmItY2FzZV9fdG9wIj4KICAgICAgICAgIDxpbWcgY2xhc3M9InZiLWNhc2VfX2xvZ28iIHNyYz0iaHR0cHM6Ly93d3cuc2Fsb25lc3JpLml0LzIwMjEvd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzE1LzIwMjEvMDcvcG9zaXRpdm8tY29tcGF0dG9AM3gucG5nIiBhbHQ9IkdydXBwbyBDYXNzYSBDZW50cmFsZSI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0idmItY2FzZV9fbmFtZSI+R3J1cHBvIENhc3NhIENlbnRyYWxlIOKAlCDigJxPbmUgdHJlZSwgb25lIHBlcnNvbuKAnTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2Yi1jYXNlX19zdGF0cyI+CiAgICAgICAgICA8ZGl2PjxkaXYgY2xhc3M9InZiLWNhc2VfX24iPjEuNTAwPC9kaXY+PGRpdiBjbGFzcz0idmItY2FzZV9fc2wiPnRyZWVzIGF0IFBhc3NvIGRlbCBSZWRlYnVzPC9kaXY+PC9kaXY+CiAgICAgICAgICA8ZGl2PjxkaXYgY2xhc3M9InZiLWNhc2VfX24iPjE0LDgmbmJzcDt0PC9kaXY+PGRpdiBjbGFzcz0idmItY2FzZV9fc2wiPm9mIENP4oKCIGFic29yYmVkPC9kaXY+PC9kaXY+CiAgICAgICAgICA8ZGl2PjxkaXYgY2xhc3M9InZiLWNhc2VfX24iPjEwJm5ic3A7aGE8L2Rpdj48ZGl2IGNsYXNzPSJ2Yi1jYXNlX19zbCI+b2YgbGFuZCByZXN0b3JlZDwvZGl2PjwvZGl2PgogICAgICAgICAgPGRpdj48ZGl2IGNsYXNzPSJ2Yi1jYXNlX19uIj40PC9kaXY+PGRpdiBjbGFzcz0idmItY2FzZV9fc2wiPnNwZWNpZXMgcGxhbnRlZDwvZGl2PjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxhIGNsYXNzPSJ2Yi1jYXNlX19saW5rIiBocmVmPSJodHRwczovL3Byb2plY3QudmFpYS5ldS92YWlhLXgtY2Fzc2FjZW50cmFsZSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPlJlYWQgdGhlIGZ1bGwgY2FzZSBzdHVkeSA8c3Bhbj7ihpI8L3NwYW4+PC9hPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+CjwhLS0gPT09PT09PT09PT09IFNFUlZJQ0UgMyDCtyBTUEVDSUFMIFBST0pFQ1RTID09PT09PT09PT09PSAtLT4KPHNlY3Rpb24gY2xhc3M9InZiLXNydiB2Yi1zcnYtLXdpbmUgdmItc2VjdGlvbiIgaWQ9InNwZWNpYWwtcHJvamVjdHMiPgogIDxkaXYgY2xhc3M9InZiLXdyYXAgdmItc3J2X19ncmlkIj4KICAgIDxkaXYgY2xhc3M9InZiLXNydl9fbWVkaWEiPgogICAgICA8ZmlndXJlIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXItcmFkaXVzOnZhcigtLXIpO292ZXJmbG93OmhpZGRlbjthc3BlY3QtcmF0aW86NC8zO2JveC1zaGFkb3c6MCAyNHB4IDYwcHggLTI4cHggcmdiYSgwLDAsMCwuNTUpOyI+CiAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDYvVW50aXRsZWQtZGVzaWduLTEuanBnIiBhbHQ9IlNwZWNpYWwgUHJvamVjdHMgYW5kIFBhcnRuZXJzaGlwcyIgc3R5bGU9IndpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3ZlcjsiIGxvYWRpbmc9ImxhenkiPgogICAgICA8L2ZpZ3VyZT4KICAgIDwvZGl2PgogICAgPGRpdj4KICAgICAgPHNwYW4gY2xhc3M9InZiLWV5ZWJyb3cgdmItZXllYnJvdy0tbGlnaHQiPlNwZWNpYWwgUHJvamVjdHM8L3NwYW4+CiAgICAgIDxoMiBjbGFzcz0idmItaCI+VG9nZXRoZXIgd2UgYnVpbGQgYSBwcm9qZWN0IHRoYXQgY2FycmllcyB5b3VyIG5hbWUgYW5kIGhhcyBsYXN0aW5nIGltcGFjdC48L2gyPgogICAgICA8cCBjbGFzcz0idmItbGVhZCI+U29tZSBjb21wYW5pZXMgYXJlIG5vdCBsb29raW5nIGZvciBhIHN1cHBsaWVyLiBUaGV5IGFyZSBsb29raW5nIGZvciBhIHBhcnRuZXIgdG8gYnVpbGQgc29tZXRoaW5nIHRoYXQgd2lsbCBzdGlsbCBleGlzdCBpbiB0ZW4geWVhcnMuIFdpdGggVkFJQSB3ZSBjby1kZXNpZ24gdGFpbG9yLW1hZGUgRVNHIHBhcnRuZXJzaGlwcyB0aGF0IGNvbWJpbmUgcmVhbCBlbnZpcm9ubWVudGFsIHJlZ2VuZXJhdGlvbiwgcGVvcGxlIGVuZ2FnZW1lbnQgYW5kIGF1dGhlbnRpYyBzdG9yeXRlbGxpbmcgZm9yIHlvdXIgc3Rha2Vob2xkZXJzLjwvcD4KICAgICAgPHAgY2xhc3M9InZiLWxlYWQiPkV2ZXJ5IHByb2plY3QgaXMgbGlua2VkIHRvIGEgc3BlY2lmaWMgdGVycml0b3J5IOKAlCB0aGUgRG9sb21pdGVzIG9yIFB1Z2xpYSDigJQgd2l0aCB0cmFjZWFibGUgZGF0YSB0aGF0IGNhbiBiZSBpbnRlZ3JhdGVkIGludG8geW91ciBzdXN0YWluYWJpbGl0eSByZXBvcnRpbmcgYW5kIGFubnVhbCBFU0cgcmVwb3J0cy48L3A+CiAgICAgIDx1bCBjbGFzcz0idmItY2hlY2tzIj4KICAgICAgICA8bGk+QSBkZWRpY2F0ZWQgZm9yZXN0IHdpdGggeW91ciBicmFuZCwgZ2VvbG9jYXRlZCBpbiB0aGUgRG9sb21pdGVzIG9yIFB1Z2xpYTwvbGk+CiAgICAgICAgPGxpPkNvLWNyZWF0ZWQgcHJvZHVjdHMgYW5kIGVkaXRpb25zIHRoYXQgY29tbXVuaWNhdGUgeW91ciBFU0cgdmFsdWVzPC9saT4KICAgICAgICA8bGk+RW5nYWdlbWVudCBjYW1wYWlnbnMgZm9yIGNsaWVudHMsIGVtcGxveWVlcyBhbmQgc3Rha2Vob2xkZXJzPC9saT4KICAgICAgICA8bGk+QWQtaG9jIGluaXRpYXRpdmVzIGJ1aWx0IGFyb3VuZCB5b3VyIHNwZWNpZmljIHJlcG9ydGluZyBuZWVkczwvbGk+CiAgICAgIDwvdWw+CiAgICAgIDxkaXYgY2xhc3M9InZiLWN0YS1yb3ciPgogICAgICAgIDxidXR0b24gY2xhc3M9InZiLWJ0biB2Yi1idG4tLWdvbGQiIGRhdGEtdmItb3Blbj0iY29udGF0dG8iPkxldOKAmXMgdGFsayBhYm91dCB5b3VyIHByb2plY3QgPHNwYW4gY2xhc3M9InZiLWFycm93Ij7ihpI8L3NwYW4+PC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2Yi1jYXNlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2Yi1jYXNlX190b3AiPgogICAgICAgICAgPHNwYW4gY2xhc3M9InZiLWNhc2VfX25hbWUiPkxldmlzc2ltYSBmb3IgdGhlIEZvcmVzdHMgw5cgVkFJQTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8cCBzdHlsZT0ibWFyZ2luLXRvcDoxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6Ljk4cmVtO2NvbG9yOiNmM2RiZTc7Ij5SZXN0b3JhdGlvbiBvZiBvdmVyIDE0MCBoZWN0YXJlcyBvZiBBbHBpbmUgZm9yZXN0cyBkZXN0cm95ZWQgYnkgdGhlIHN0b3JtLCB3aXRoIHRoZSBiaXJ0aCBvZiB0aGUg4oCcTGV2aXNzaW1hIEZvcmVzdOKAnSBpbiBWYWwgZGkgRmllbW1lIGFuZCBhIHNwZWNpYWwgZWRpdGlvbiBvZiBWQUlBIEN1YmUgbWFkZSBmcm9tIHJlY292ZXJlZCBzY3JhcCB3b29kLjwvcD4KICAgICAgICA8ZGl2IGNsYXNzPSJ2Yi1jYXNlX19zdGF0cyIgc3R5bGU9ImdyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpOyI+CiAgICAgICAgICA8ZGl2PjxkaXYgY2xhc3M9InZiLWNhc2VfX24iPjE0MCsmbmJzcDtoYTwvZGl2PjxkaXYgY2xhc3M9InZiLWNhc2VfX3NsIj5vZiBmb3Jlc3RzIHJlc3RvcmVkPC9kaXY+PC9kaXY+CiAgICAgICAgICA8ZGl2PjxkaXYgY2xhc3M9InZiLWNhc2VfX24iPlZhbCBkaSBGaWVtbWU8L2Rpdj48ZGl2IGNsYXNzPSJ2Yi1jYXNlX19zbCI+TGV2aXNzaW1hIEZvcmVzdDwvZGl2PjwvZGl2PgogICAgICAgICAgPGRpdj48ZGl2IGNsYXNzPSJ2Yi1jYXNlX19uIj5EZXNpZ248L2Rpdj48ZGl2IGNsYXNzPSJ2Yi1jYXNlX19zbCI+Y2lyY3VsYXIgYW5kIGxpbWl0ZWQgZWRpdGlvbnM8L2Rpdj48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgo8IS0tID09PT09PT09PT09PSBCRU5FRklUUyA9PT09PT09PT09PT0gLS0+CjxzZWN0aW9uIGNsYXNzPSJ2Yi1iZW4gdmItc2VjdGlvbiI+CiAgPGRpdiBjbGFzcz0idmItd3JhcCI+CiAgICA8ZGl2IGNsYXNzPSJ2Yi1iZW5fX2hlYWQiPgogICAgICA8c3BhbiBjbGFzcz0idmItZXllYnJvdyI+V2h5IGNvbXBhbmllcyBjaG9vc2UgVkFJQTwvc3Bhbj4KICAgICAgPGgyIGNsYXNzPSJ2Yi1oIj5CZWNhdXNlIHRoZXkgd2FudCB0aGVpciBzdXN0YWluYWJpbGl0eSB0byBiZSByZWFsLiBOb3QganVzdCBkZWNsYXJlZC48L2gyPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJ2Yi1iZW5fX2dyaWQiPgogICAgICA8ZGl2IGNsYXNzPSJ2Yi1iZW5fX2NhcmQiPgogICAgICAgIDxzcGFuIGNsYXNzPSJ2Yi1leWVicm93Ij5UaGV5IGNvbW11bmljYXRlIHdpdGggY3JlZGliaWxpdHk8L3NwYW4+CiAgICAgICAgPHA+RXZlcnkgVkFJQSBwcm9qZWN0IHByb2R1Y2VzIGRvY3VtZW50YWJsZSBpbXBhY3RzIOKAlCB0cmVlcyBwbGFudGVkLCBtYXRlcmlhbHMgcmVjb3ZlcmVkLCBjb21tdW5pdGllcyBpbnZvbHZlZCDigJQgdGhhdCBmZWVkIEVTRyBzdG9yeXRlbGxpbmcgd2l0aCByZWFsIGRhdGEgYW5kIHZlcmlmaWFibGUgc3Rvcmllcy4gRm9yIGNsaWVudHMsIGludmVzdG9ycyBhbmQgcGFydG5lcnMgd2hvIGNhbiBkaXN0aW5ndWlzaCBnZW51aW5lIGNvbW1pdG1lbnQgZnJvbSBncmVlbndhc2hpbmcuPC9wPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmItYmVuX19jYXJkIj4KICAgICAgICA8c3BhbiBjbGFzcz0idmItZXllYnJvdyI+VGhleSBzdHJlbmd0aGVuIGNvbXBhbnkgY3VsdHVyZTwvc3Bhbj4KICAgICAgICA8cD5TdXN0YWluYWJsZSBjb3Jwb3JhdGUgZ2lmdHMgYW5kIG5hdHVyZS1iYXNlZCB0ZWFtLWJ1aWxkaW5nIGV4cGVyaWVuY2VzIGNyZWF0ZSBzb21ldGhpbmcgbm8gaW50ZXJuYWwgcG9saWN5IGNhbiBnZW5lcmF0ZTogcmVhbCBiZWxvbmdpbmcsIHNoYXJlZCBtb3RpdmF0aW9uLCBhbmQgYSBzZW5zZSBvZiBwdXJwb3NlIHRoYXQgcGVvcGxlIHRydWx5IGZlZWwuPC9wPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmItYmVuX19jYXJkIj4KICAgICAgICA8c3BhbiBjbGFzcz0idmItZXllYnJvdyI+VGhleSBpbnRlZ3JhdGUgc3VzdGFpbmFiaWxpdHkgaW50byB0aGUgYnJhbmQ8L3NwYW4+CiAgICAgICAgPHA+UHJvZHVjdHMsIGV4cGVyaWVuY2VzIGFuZCBFU0cgcGFydG5lcnNoaXBzIGJlY29tZSBhIHJlY29nbmlzYWJsZSBwYXJ0IG9mIHlvdXIgY29tcGFueeKAmXMgc3RvcnkuIEEgc3RyYXRlZ2ljIGFzc2V0IHRoYXQgc3BlYWtzIHRvIHRhbGVudCwgc3Rha2Vob2xkZXJzLCBhbmQgYW55b25lIHdobyBjaG9vc2VzIHBhcnRuZXJzIGJhc2VkIG9uIHRoZSB2YWx1ZXMgdGhleSBjb21tdW5pY2F0ZS48L3A+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KPCEtLSA9PT09PT09PT09PT0gVEVTVElNT05JQUxTID09PT09PT09PT09PSAtLT4KPHNlY3Rpb24gY2xhc3M9InZiLXRzdCB2Yi1zZWN0aW9uIj4KICA8ZGl2IGNsYXNzPSJ2Yi13cmFwIj4KICAgIDxzcGFuIGNsYXNzPSJ2Yi1leWVicm93Ij5UaGVpciB3b3Jkczwvc3Bhbj4KICAgIDxoMiBjbGFzcz0idmItaCIgc3R5bGU9Im1heC13aWR0aDoxOGNoOyI+VGhvc2Ugd2hvIHdvcmtlZCB3aXRoIHVzIHRlbGwgaXQgYmVzdC48L2gyPgogICAgPGRpdiBjbGFzcz0idmItdHN0X19ncmlkIj4KICAgICAgPGRpdiBjbGFzcz0idmItdHN0X19jYXJkIj4KICAgICAgICA8cCBjbGFzcz0idmItdHN0X19xIj5PdXIgY2xpZW50cyB3ZXJlIHRocmlsbGVkIHdpdGggdGhlIENocmlzdG1hcyBnaWZ0LiBJIHJlY2VpdmVkIG1hbnkgdGhhbmsteW91IGNhbGxzLjwvcD4KICAgICAgICA8ZGl2IGNsYXNzPSJ2Yi10c3RfX3dobyI+PGltZyBjbGFzcz0idmItdHN0X19hdiIgc3JjPSJodHRwczovL3Byb2plY3QudmFpYS5ldS9odWJmcy9TREEtQm9jY29uaS1TY2hvb2wtb2YtTWFuYWdtZW50LWxvZ28ucG5nIiBhbHQ9IiIgbG9hZGluZz0ibGF6eSI+PGRpdj48Yj5NYXJjbzwvYj48c3Bhbj5TREEgQm9jY29uaTwvc3Bhbj48L2Rpdj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InZiLXRzdF9fY2FyZCI+CiAgICAgICAgPHAgY2xhc3M9InZiLXRzdF9fcSI+VGhlIGF0bW9zcGhlcmUgd2FzIG1vdGl2YXRpbmcgYW5kIHBsZWFzYW50LiBJIHJlY2VpdmVkIHBvc2l0aXZlIGZlZWRiYWNrIGV2ZW4gZnJvbSBjb2xsZWFndWVzIHdobyBhcmUgbGVzcyBzZW5zaXRpdmUgdG8gZW52aXJvbm1lbnRhbCBpc3N1ZXMuPC9wPgogICAgICAgIDxkaXYgY2xhc3M9InZiLXRzdF9fd2hvIj48aW1nIGNsYXNzPSJ2Yi10c3RfX2F2IiBzcmM9Imh0dHBzOi8vcHJvamVjdC52YWlhLmV1L2h1YmZzLzItNC5qcGciIGFsdD0iIiBsb2FkaW5nPSJsYXp5Ij48ZGl2PjxiPklvYW5hPC9iPjxzcGFuPkFiYnJldmlhPC9zcGFuPjwvZGl2PjwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmItdHN0X19jYXJkIj4KICAgICAgICA8cCBjbGFzcz0idmItdHN0X19xIj5JdCB3YXMgYSByZWFsIHNhdGlzZmFjdGlvbiB0byBjb250cmlidXRlIGluIHBlcnNvbiwgdG9nZXRoZXIgd2l0aCBteSBjb2xsZWFndWVzLCB0byB0aGUgcmViaXJ0aCBvZiBhbiBhcmVhIGhpdCBieSB0aGUgVmFpYSBzdG9ybS48L3A+CiAgICAgICAgPGRpdiBjbGFzcz0idmItdHN0X193aG8iPjxpbWcgY2xhc3M9InZiLXRzdF9fYXYiIHNyYz0iaHR0cHM6Ly9wcm9qZWN0LnZhaWEuZXUvaHViZnMvdW5uYW1lZC5qcGciIGFsdD0iIiBsb2FkaW5nPSJsYXp5Ij48ZGl2PjxiPkJlYXRyaWNlPC9iPjxzcGFuPkdydXBwbyBDYXNzYSBDZW50cmFsZTwvc3Bhbj48L2Rpdj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InZiLXRzdF9fY2FyZCI+CiAgICAgICAgPHAgY2xhc3M9InZiLXRzdF9fcSI+V2UgY2hvc2UgdG8gZ2lmdCB0aGUgVkFJQSBDdWJlIHRvIGFsbCBvdXIgY29sbGFib3JhdG9yczogaXQgcmVmbGVjdHMgb3VyIGNvbW1pdG1lbnQgdG8gc3VzdGFpbmFiaWxpdHkuIFRoZSBwZXJmZWN0IG9iamVjdC48L3A+CiAgICAgICAgPGRpdiBjbGFzcz0idmItdHN0X193aG8iPjxpbWcgY2xhc3M9InZiLXRzdF9fYXYiIHNyYz0iaHR0cHM6Ly9wcm9qZWN0LnZhaWEuZXUvaHViZnMvZG93bmxvYWQucG5nIiBhbHQ9IiIgbG9hZGluZz0ibGF6eSI+PGRpdj48Yj5TdGVmYW5pYTwvYj48c3Bhbj5FT1MgU29sdXRpb25zPC9zcGFuPjwvZGl2PjwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmItdHN0X19jYXJkIj4KICAgICAgICA8cCBjbGFzcz0idmItdHN0X19xIj5XZSBnaWZ0ZWQgdGhlIFZBSUEgQ3ViZSB0byBhbGwgb3VyIG1haW4gY2xpZW50cyB3b3JsZHdpZGUuIFRoZSBpbml0aWF0aXZlIHdhcyB2ZXJ5IHdlbGwgcmVjZWl2ZWQuPC9wPgogICAgICAgIDxkaXYgY2xhc3M9InZiLXRzdF9fd2hvIj48aW1nIGNsYXNzPSJ2Yi10c3RfX2F2IiBzcmM9Imh0dHBzOi8vcHJvamVjdC52YWlhLmV1L2h1YmZzLzMtMy5qcGciIGFsdD0iIiBsb2FkaW5nPSJsYXp5Ij48ZGl2PjxiPlN0ZWZhbm88L2I+PHNwYW4+RVMtS08gR3JvdXA8L3NwYW4+PC9kaXY+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2Yi10c3RfX2NhcmQiPgogICAgICAgIDxwIGNsYXNzPSJ2Yi10c3RfX3EiPldlIGFyZSBzdGlsbCByaWRpbmcgdGhlIGxvbmcgd2F2ZSBvZiB0aGUgZXhwZXJpZW5jZS4gQSBzcGVjaWFsIG1vbWVudCwgbGl2ZWQgd2l0aCBncmVhdCBwYXJ0aWNpcGF0aW9uIGJ5IGV2ZXJ5b25lLjwvcD4KICAgICAgICA8ZGl2IGNsYXNzPSJ2Yi10c3RfX3dobyI+PGltZyBjbGFzcz0idmItdHN0X19hdiIgc3JjPSJodHRwczovL3Byb2plY3QudmFpYS5ldS9odWJmcy8xLTQuanBnIiBhbHQ9IiIgbG9hZGluZz0ibGF6eSI+PGRpdj48Yj5HaXVsaWE8L2I+PHNwYW4+U3lzdHJhPC9zcGFuPjwvZGl2PjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+CjxociBjbGFzcz0idmItc3BsaXQiPgo8IS0tID09PT09PT09PT09PSBGSU5BTCBDVEEgPT09PT09PT09PT09IC0tPgo8c2VjdGlvbiBjbGFzcz0idmItZmluYWwgdmItc2VjdGlvbiI+CiAgPGRpdiBjbGFzcz0idmItd3JhcCI+CiAgICA8c3BhbiBjbGFzcz0idmItZXllYnJvdyB2Yi1leWVicm93LS1saWdodCIgc3R5bGU9Imp1c3RpZnktY29udGVudDpjZW50ZXI7ZGlzcGxheTpmbGV4OyI+TGV04oCZcyBzdGFydCBhIHBhcnRuZXJzaGlwPC9zcGFuPgogICAgPGgyIGNsYXNzPSJ2Yi1oIj5MRVTigJlTIFNUQVJUIEJVSUxESU5HIFNPTUVUSElORyBUT0dFVEhFUjwvaDI+CiAgICA8cD5XaGV0aGVyIHlvdSBhcmUgbG9va2luZyBmb3Igc3VzdGFpbmFibGUgY29ycG9yYXRlIGdpZnRzLCBhIG5hdHVyZS1iYXNlZCB0ZWFtLWJ1aWxkaW5nIGV4cGVyaWVuY2UsIG9yIGEgdGFpbG9yLW1hZGUgRVNHIHBhcnRuZXJzaGlwLCB3ZSB3aWxsIHN1cHBvcnQgeW91IGluIGNyZWF0aW5nIGEgY29uY3JldGUsIG1lYXN1cmFibGUgcHJvamVjdCBjb25zaXN0ZW50IHdpdGggeW91ciBjb21wYW554oCZcyBpZGVudGl0eS48L3A+CiAgICAKICAgIDxkaXYgY2xhc3M9InZiLWZpbmFsX19mb3JtIj4KICAgICAgPGRpdiBpZD0iaHMtZm9ybS1maW5hbCI+PC9kaXY+CiAgICAgIDxwIGlkPSJocy1mb3JtLWZpbmFsLWZhbGxiYWNrIiBzdHlsZT0iZGlzcGxheTpub25lOyI+SWYgdGhlIGZvcm0gZG9lc27igJl0IGxvYWQsIHdyaXRlIHRvIHVzIGF0IDxhIGhyZWY9Im1haWx0bzppbmZvQHZhaWEuZXUiIHN0eWxlPSJjb2xvcjp2YXIoLS1jLWdyZWVuKTtmb250LXdlaWdodDo2MDA7Ij5pbmZvQHZhaWEuZXU8L2E+IG9yIGNhbGwgdXMgYXQgPGEgaHJlZj0idGVsOiszOTM1MDEzOTU5NDQiIHN0eWxlPSJjb2xvcjp2YXIoLS1jLWdyZWVuKTtmb250LXdlaWdodDo2MDA7Ij4rMzkgMzUwIDEzOTU5NDQ8L2E+LjwvcD4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJ2Yi1maW5hbF9fbm90ZSI+CiAgICAgIDxzcGFuPjxzdmcgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPjxwYXRoIGQ9Ik0xMiA3djVsMyAyIj48L3BhdGg+PC9zdmc+IEZhc3QgcmVzcG9uc2U8L3NwYW4+CiAgICAgIDxzcGFuPjxzdmcgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIGQ9Ik0yMCA2IDkgMTdsLTUtNSI+PC9wYXRoPjwvc3ZnPiBObyBvYmxpZ2F0aW9uPC9zcGFuPgogICAgICA8c3Bhbj48c3ZnIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48cGF0aCBkPSJNMjAgNiA5IDE3bC01LTUiPjwvcGF0aD48L3N2Zz4gRnJlZSBwZXJzb25hbGlzZWQgY29uc3VsdGF0aW9uPC9zcGFuPgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KPCEtLSA9PT09PT09PT09PT0gRkFRID09PT09PT09PT09PSAtLT4KPHNlY3Rpb24gY2xhc3M9InZiLWZhcSB2Yi1zZWN0aW9uIj4KICA8ZGl2IGNsYXNzPSJ2Yi13cmFwIj4KICAgIDxzcGFuIGNsYXNzPSJ2Yi1leWVicm93IiBzdHlsZT0ianVzdGlmeS1jb250ZW50OmNlbnRlcjtkaXNwbGF5OmZsZXg7Ij5GQVE8L3NwYW4+CiAgICA8aDIgY2xhc3M9InZiLWgiIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjttYXgtd2lkdGg6MjBjaDttYXJnaW46MCBhdXRvOyI+RnJlcXVlbnRseSBBc2tlZCBRdWVzdGlvbnM8L2gyPgogICAgPGRpdiBjbGFzcz0idmItZmFxX19saXN0Ij4KICAgICAgPGRpdiBjbGFzcz0idmItZmFxX19pdGVtIj48YnV0dG9uIGNsYXNzPSJ2Yi1mYXFfX3EiPkNhbiBJIGN1c3RvbWlzZSBWQUlBIHByb2R1Y3RzPzwvYnV0dG9uPjxkaXYgY2xhc3M9InZiLWZhcV9fYSI+PHA+WWVzLiBWQUlBIEN1YmVzIGFuZCBvdGhlciBvYmplY3RzIGNhbiBiZSBwZXJzb25hbGlzZWQgd2l0aCB5b3VyIGxvZ28gb3IgZGVkaWNhdGVkIGdyYXBoaWNzLiBXZSBjYW4gYWxzbyB0YWtlIGNhcmUgb2YgdGhlIHBhY2thZ2luZyBhbmQgY2FyZCB0byBiZXN0IHRlbGwgeW91ciBwcm9qZWN0LjwvcD48L2Rpdj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmItZmFxX19pdGVtIj48YnV0dG9uIGNsYXNzPSJ2Yi1mYXFfX3EiPldoZXJlIGFyZSB0aGUgdHJlZXMgcGxhbnRlZD88L2J1dHRvbj48ZGl2IGNsYXNzPSJ2Yi1mYXFfX2EiPjxwPkFjcm9zcyB0aGUgZW50aXJlIERvbG9taXRlcyBhcmM6IGZyb20gVHJlbnRpbm8tQWx0byBBZGlnZSB0byBGcml1bGkgVmVuZXppYSBHaXVsaWEsIGZyb20gTG9tYmFyZHkgdG8gVmVuZXRvLiBXZSBpbnRlcnZlbmUgaW4gZm9yZXN0IGFyZWFzIHRoYXQgbmVlZCBuZXcgdHJlZXMgdG8gYWNjZWxlcmF0ZSByZWdyb3d0aCBhbmQgcHJvdGVjdCBsb2NhbCBjb21tdW5pdGllcy48L3A+PC9kaXY+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InZiLWZhcV9faXRlbSI+PGJ1dHRvbiBjbGFzcz0idmItZmFxX19xIj5DYW4gSSBtYWtlIG15IGV2ZW50IGNhcmJvbiBuZXV0cmFsPzwvYnV0dG9uPjxkaXYgY2xhc3M9InZiLWZhcV9fYSI+PHA+WWVzLiBXZSBjYWxjdWxhdGUgdGhlIGNhcmJvbiBmb290cHJpbnQgb2YgeW91ciBldmVudCBhbmQgb2Zmc2V0IHRoZSBlc3RpbWF0ZWQgQ0\/igoIgYnkgcGxhbnRpbmcgbmV3IHRyZWVzIGluIHRoZSBEb2xvbWl0ZXMuPC9wPjwvZGl2PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2Yi1mYXFfX2l0ZW0iPjxidXR0b24gY2xhc3M9InZiLWZhcV9fcSI+QXJlIFZBSUEgcHJvamVjdHMgRVNHIHJlcG9ydGFibGU\/PC9idXR0b24+PGRpdiBjbGFzcz0idmItZmFxX19hIj48cD5ZZXMuIFByb2plY3RzIGRldmVsb3BlZCB3aXRoIFZBSUEgcHJvZHVjZSBjb25jcmV0ZSBhbmQgbWVhc3VyYWJsZSBiZW5lZml0cyB0aGF0IGNhbiBiZSBpbmNsdWRlZCBpbiB5b3VyIHN1c3RhaW5hYmlsaXR5IHJlcG9ydC4gV2UgcHJvdmlkZSBzdXBwb3J0IGluIGRyYWZ0aW5nIGltcGFjdCByZXBvcnRzIGFjY29yZGluZyB0byBFdXJvcGVhbiByZWd1bGF0aW9ucy48L3A+PC9kaXY+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InZiLWZhcV9faXRlbSI+PGJ1dHRvbiBjbGFzcz0idmItZmFxX19xIj5EbyB5b3UgaGF2ZSBjZXJ0aWZpY2F0aW9ucz88L2J1dHRvbj48ZGl2IGNsYXNzPSJ2Yi1mYXFfX2EiPjxwPldvb2QgcmVjb3ZlcnkgYW5kIHRyZWUgcGxhbnRpbmcgYXJlIGNhcnJpZWQgb3V0IGJ5IFBFRkMtY2VydGlmaWVkIGxvY2FsIHBhcnRuZXJzLiBWYWlhIFMuci5sLiBpcyBhbHNvIGEgQmVuZWZpdCBDb3Jwb3JhdGlvbi48L3A+PC9kaXY+PC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgo8IS0tID09PT09PT09PT09PSBTVElDS1kgQ1RBID09PT09PT09PT09PSAtLT4KPGRpdiBjbGFzcz0idmItc3RpY2t5IiBpZD0idmJTdGlja3kiPgogIDxidXR0b24gY2xhc3M9InZiLWJ0biB2Yi1idG4tLWdvbGQiIGRhdGEtdmItb3Blbj0iY29udGF0dG8iPkdldCBpbiB0b3VjaCA8c3BhbiBjbGFzcz0idmItYXJyb3ciPuKGkjwvc3Bhbj48L2J1dHRvbj4KPC9kaXY+CjwhLS0gPT09PT09PT09PT09IE1PREFMIEZPUk0gPT09PT09PT09PT09IC0tPgo8ZGl2IGNsYXNzPSJ2Yi1tb2RhbCIgaWQ9InZiTW9kYWwiIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICA8ZGl2IGNsYXNzPSJ2Yi1tb2RhbF9fYmQiIGRhdGEtdmItY2xvc2U9IiI+PC9kaXY+CiAgPGRpdiBjbGFzcz0idmItbW9kYWxfX2RpYWxvZyIgcm9sZT0iZGlhbG9nIiBhcmlhLW1vZGFsPSJ0cnVlIiBhcmlhLWxhYmVsbGVkYnk9InZiTW9kYWxUaXRsZSI+CiAgICA8YnV0dG9uIGNsYXNzPSJ2Yi1tb2RhbF9fY2xvc2UiIGRhdGEtdmItY2xvc2U9IiIgYXJpYS1sYWJlbD0iQ2xvc2UiPsOXPC9idXR0b24+CiAgICA8c3BhbiBjbGFzcz0idmItZXllYnJvdyIgaWQ9InZiTW9kYWxFeWVicm93Ij5HZXQgaW4gdG91Y2g8L3NwYW4+CiAgICA8aDMgY2xhc3M9InZiLWgiIGlkPSJ2Yk1vZGFsVGl0bGUiPkxldOKAmXMgdGFsayBhYm91dCB5b3VyIHByb2plY3Q8L2gzPgogICAgPHAgY2xhc3M9InZiLW1vZGFsX19pbnRybyIgaWQ9InZiTW9kYWxJbnRybyI+RmlsbCBpbiB0aGUgZm9ybTogd2XigJlsbCByZXBseSBxdWlja2x5LCB3aXRoIG5vIG9ibGlnYXRpb24uPC9wPgogICAgPGRpdiBpZD0iaHMtZm9ybS10YXJnZXQiPjwvZGl2PgogICAgPHAgaWQ9ImhzLWZvcm0tZmFsbGJhY2siIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij5JZiB0aGUgZm9ybSBkb2VzbuKAmXQgbG9hZCwgd3JpdGUgdG8gdXMgYXQgPGEgaHJlZj0ibWFpbHRvOmluZm9AdmFpYS5ldSIgc3R5bGU9ImNvbG9yOnZhcigtLWMtZ3JlZW4pO2ZvbnQtd2VpZ2h0OjYwMDsiPmluZm9AdmFpYS5ldTwvYT4gb3IgY2FsbCB1cyBhdCA8YSBocmVmPSJ0ZWw6KzM5MzUwMTM5NTk0NCIgc3R5bGU9ImNvbG9yOnZhcigtLWMtZ3JlZW4pO2ZvbnQtd2VpZ2h0OjYwMDsiPiszOSAzNTAgMTM5NTk0NDwvYT4uPC9wPgogIDwvZGl2Pgo8L2Rpdj4KPC9kaXY+PCEtLSAvI3ZhaWEtYjJiIC0tPgo8IS0tID09PT09PT09PT09PSBTQ0hFTUEuT1JHIEZBUSA9PT09PT09PT09PT0gLS0+CjxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+CnsiQGNvbnRleHQiOiJodHRwczovL3NjaGVtYS5vcmciLCJAdHlwZSI6IkZBUVBhZ2UiLCJtYWluRW50aXR5IjpbCnsiQHR5cGUiOiJRdWVzdGlvbiIsIm5hbWUiOiJDYW4gSSBjdXN0b21pc2UgVkFJQSBwcm9kdWN0cz8iLCJhY2NlcHRlZEFuc3dlciI6eyJAdHlwZSI6IkFuc3dlciIsInRleHQiOiJZZXMuIFZBSUEgQ3ViZXMgYW5kIG90aGVyIG9iamVjdHMgY2FuIGJlIHBlcnNvbmFsaXNlZCB3aXRoIHlvdXIgbG9nbyBvciBkZWRpY2F0ZWQgZ3JhcGhpY3MuIFdlIGNhbiBhbHNvIGhhbmRsZSBwYWNrYWdpbmcgYW5kIGdyZWV0aW5nIGNhcmRzLiJ9fSwKeyJAdHlwZSI6IlF1ZXN0aW9uIiwibmFtZSI6IldoZXJlIGFyZSBWQUlBIHRyZWVzIHBsYW50ZWQ\/IiwiYWNjZXB0ZWRBbnN3ZXIiOnsiQHR5cGUiOiJBbnN3ZXIiLCJ0ZXh0IjoiQWNyb3NzIHRoZSBlbnRpcmUgRG9sb21pdGVzIGFyYywgZnJvbSBUcmVudGluby1BbHRvIEFkaWdlIHRvIEZyaXVsaSBWZW5lemlhIEdpdWxpYSwgZnJvbSBMb21iYXJkeSB0byBWZW5ldG8sIGluIGZvcmVzdCBhcmVhcyB0aGF0IG5lZWQgbmV3IHRyZWVzLiJ9fSwKeyJAdHlwZSI6IlF1ZXN0aW9uIiwibmFtZSI6IkNhbiBJIG1ha2UgbXkgZXZlbnQgY2FyYm9uIG5ldXRyYWwgd2l0aCBWQUlBPyIsImFjY2VwdGVkQW5zd2VyIjp7IkB0eXBlIjoiQW5zd2VyIiwidGV4dCI6Illlcy4gV2UgY2FsY3VsYXRlIHRoZSBjYXJib24gZm9vdHByaW50IG9mIHRoZSBldmVudCBhbmQgb2Zmc2V0IHRoZSBlc3RpbWF0ZWQgQ0\/igoIgYnkgcGxhbnRpbmcgbmV3IHRyZWVzIGluIHRoZSBEb2xvbWl0ZXMuIn19LAp7IkB0eXBlIjoiUXVlc3Rpb24iLCJuYW1lIjoiQXJlIFZBSUEgcHJvamVjdHMgRVNHIHJlcG9ydGFibGU\/IiwiYWNjZXB0ZWRBbnN3ZXIiOnsiQHR5cGUiOiJBbnN3ZXIiLCJ0ZXh0IjoiWWVzLiBUaGUgcHJvamVjdHMgcHJvZHVjZSBtZWFzdXJhYmxlIGJlbmVmaXRzIHRoYXQgY2FuIGJlIGluY2x1ZGVkIGluIHlvdXIgc3VzdGFpbmFiaWxpdHkgcmVwb3J0LCB3aXRoIHN1cHBvcnQgZm9yIGRyYWZ0aW5nIGltcGFjdCBzdGF0ZW1lbnRzLiJ9fSwKeyJAdHlwZSI6IlF1ZXN0aW9uIiwibmFtZSI6IkRvZXMgVkFJQSBoYXZlIGNlcnRpZmljYXRpb25zPyIsImFjY2VwdGVkQW5zd2VyIjp7IkB0eXBlIjoiQW5zd2VyIiwidGV4dCI6Ildvb2QgcmVjb3ZlcnkgYW5kIHRyZWUgcGxhbnRpbmcgYXJlIGNhcnJpZWQgb3V0IGJ5IFBFRkMtY2VydGlmaWVkIHBhcnRuZXJzLiBWYWlhIFMuci5sLiBpcyBhIEJlbmVmaXQgQ29ycG9yYXRpb24uIn19Cl19Cjwvc2NyaXB0Pgo8IS0tID09PT09PT09PT09PSBTQ1JJUFQgPT09PT09PT09PT09IC0tPgo8c2NyaXB0PgooZnVuY3Rpb24oKXsKICB2YXIgcm9vdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2YWlhLWIyYicpOwogIGlmKCFyb290KSByZXR1cm47CiAgLyogLS0tLS0tLS0tLSBGQVEgYWNjb3JkaW9uIC0tLS0tLS0tLS0gKi8KICByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy52Yi1mYXFfX2l0ZW0nKS5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0pewogICAgdmFyIHEgPSBpdGVtLnF1ZXJ5U2VsZWN0b3IoJy52Yi1mYXFfX3EnKTsKICAgIHZhciBhID0gaXRlbS5xdWVyeVNlbGVjdG9yKCcudmItZmFxX19hJyk7CiAgICBxLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKXsKICAgICAgdmFyIG9wZW4gPSBpdGVtLmNsYXNzTGlzdC5jb250YWlucygnb3BlbicpOwogICAgICByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy52Yi1mYXFfX2l0ZW0ub3BlbicpLmZvckVhY2goZnVuY3Rpb24obyl7CiAgICAgICAgby5jbGFzc0xpc3QucmVtb3ZlKCdvcGVuJyk7IG8ucXVlcnlTZWxlY3RvcignLnZiLWZhcV9fYScpLnN0eWxlLm1heEhlaWdodCA9IG51bGw7CiAgICAgIH0pOwogICAgICBpZighb3Blbil7IGl0ZW0uY2xhc3NMaXN0LmFkZCgnb3BlbicpOyBhLnN0eWxlLm1heEhlaWdodCA9IGEuc2Nyb2xsSGVpZ2h0ICsgJ3B4JzsgfQogICAgfSk7CiAgfSk7CgogIC8qIC0tLS0tLS0tLS0gU3RpY2t5IENUQSAtLS0tLS0tLS0tICovCiAgdmFyIHN0aWNreSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2YlN0aWNreScpOwogIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBmdW5jdGlvbigpewogICAgaWYod2luZG93LnNjcm9sbFkgPiA2ODApeyBzdGlja3kuY2xhc3NMaXN0LmFkZCgnc2hvdycpOyB9IGVsc2UgeyBzdGlja3kuY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpOyB9CiAgfSwge3Bhc3NpdmU6dHJ1ZX0pOwoKICAvKiAtLS0tLS0tLS0tIEh1YlNwb3QgTG9hZGVyIC0tLS0tLS0tLS0gKi8KICB2YXIgaHNMb2FkaW5nID0gZmFsc2UsIGhzQ2JzID0gW107CiAgZnVuY3Rpb24gbG9hZEh1YlNwb3QoY2IpewogICAgaWYod2luZG93Lmhic3B0ICYmIHdpbmRvdy5oYnNwdC5mb3Jtcyl7IGNiKHRydWUpOyByZXR1cm47IH0KICAgIGhzQ2JzLnB1c2goY2IpOwogICAgaWYoaHNMb2FkaW5nKSByZXR1cm47CiAgICBoc0xvYWRpbmcgPSB0cnVlOwogICAgdmFyIHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgIHMuc3JjID0gImh0dHBzOi8vanMtZXUxLmhzZm9ybXMubmV0L2Zvcm1zL2VtYmVkL3YyLmpzIjsKICAgIHMuY2hhcnNldCA9ICJ1dGYtOCI7CiAgICBzLm9ubG9hZCA9IGZ1bmN0aW9uKCl7IHZhciBvayA9ICEhKHdpbmRvdy5oYnNwdCAmJiB3aW5kb3cuaGJzcHQuZm9ybXMpOyBoc0Nicy5mb3JFYWNoKGZ1bmN0aW9uKGMpe2Mob2spO30pOyBoc0NicyA9IFtdOyB9OwogICAgcy5vbmVycm9yID0gZnVuY3Rpb24oKXsgaHNDYnMuZm9yRWFjaChmdW5jdGlvbihjKXtjKGZhbHNlKTt9KTsgaHNDYnMgPSBbXTsgfTsKICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQocyk7CiAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7IGlmKCEod2luZG93Lmhic3B0ICYmIHdpbmRvdy5oYnNwdC5mb3JtcykpeyBoc0Nicy5mb3JFYWNoKGZ1bmN0aW9uKGMpe2MoZmFsc2UpO30pOyBoc0NicyA9IFtdOyBoc0xvYWRpbmcgPSBmYWxzZTsgfSB9LCA4MDAwKTsKICB9CgogIHZhciBGT1JNID0geyBwb3J0YWxJZDoiMTQzNDE2NjE1IiwgZm9ybUlkOiJiZjBkOWIxMC04MzVjLTRiNDktOTg4Yi0wZDAyYWQxYWNiODgiLCByZWdpb246ImV1MSIgfTsKCiAgLyogLS0tLS0tLS0tLSBJbmxpbmUgRm9ybSAoRmluYWwgQ1RBKSAtLS0tLS0tLS0tICovCiAgdmFyIGlubGluZUNyZWF0ZWQgPSBmYWxzZTsKICBmdW5jdGlvbiBjcmVhdGVJbmxpbmVGb3JtKCl7CiAgICBpZihpbmxpbmVDcmVhdGVkKSByZXR1cm47CiAgICB2YXIgdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdocy1mb3JtLWZpbmFsJyk7CiAgICBpZighdCkgcmV0dXJuOwogICAgaW5saW5lQ3JlYXRlZCA9IHRydWU7CiAgICB2YXIgaWZiID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hzLWZvcm0tZmluYWwtZmFsbGJhY2snKTsKICAgIGxvYWRIdWJTcG90KGZ1bmN0aW9uKG9rKXsKICAgICAgaWYoIW9rKXsgaWYoaWZiKSBpZmIuc3R5bGUuZGlzcGxheT0nYmxvY2snOyByZXR1cm47IH0KICAgICAgd2luZG93Lmhic3B0LmZvcm1zLmNyZWF0ZSh7IHBvcnRhbElkOkZPUk0ucG9ydGFsSWQsIGZvcm1JZDpGT1JNLmZvcm1JZCwgcmVnaW9uOkZPUk0ucmVnaW9uLCB0YXJnZXQ6IiNocy1mb3JtLWZpbmFsIiB9KTsKICAgIH0pOwogIH0KCiAgdmFyIGZpbmFsU2VjdGlvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy52Yi1maW5hbCcpOwogIGlmKCdJbnRlcnNlY3Rpb25PYnNlcnZlcicgaW4gd2luZG93ICYmIGZpbmFsU2VjdGlvbil7CiAgICB2YXIgaW8gPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oZW50cmllcyl7CiAgICAgIGVudHJpZXMuZm9yRWFjaChmdW5jdGlvbihlKXsgaWYoZS5pc0ludGVyc2VjdGluZyl7IGNyZWF0ZUlubGluZUZvcm0oKTsgaW8uZGlzY29ubmVjdCgpOyB9IH0pOwogICAgfSwge3Jvb3RNYXJnaW46JzYwMHB4IDBweCd9KTsKICAgIGlvLm9ic2VydmUoZmluYWxTZWN0aW9uKTsKICB9IGVsc2UgewogICAgY3JlYXRlSW5saW5lRm9ybSgpOwogIH0KCiAgLyogLS0tLS0tLS0tLSBNb2RhbCBGb3JtIC0tLS0tLS0tLS0gKi8KICB2YXIgbW9kYWwgICAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmJNb2RhbCcpOwogIHZhciBleWVicm93ICA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2Yk1vZGFsRXllYnJvdycpOwogIHZhciB0aXRsZSAgICA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2Yk1vZGFsVGl0bGUnKTsKICB2YXIgaW50cm8gICAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmJNb2RhbEludHJvJyk7CiAgdmFyIGZhbGxiYWNrID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hzLWZvcm0tZmFsbGJhY2snKTsKICB2YXIgbGFzdEZvY3VzID0gbnVsbDsKICB2YXIgbW9kYWxDcmVhdGVkID0gZmFsc2U7CgogIHZhciBDT1BZID0gewogICAgY29udGF0dG86eyBleWVicm93OidHZXQgaW4gdG91Y2gnLCB0aXRsZTonTGV04oCZcyB0YWxrIGFib3V0IHlvdXIgcHJvamVjdCcsCiAgICAgIGludHJvOidGaWxsIGluIHRoZSBmb3JtOiB3ZeKAmWxsIHJlcGx5IHF1aWNrbHksIHdpdGggbm8gb2JsaWdhdGlvbi4nIH0sCiAgICBjYXRhbG9nbzp7IGV5ZWJyb3c6J0dpZnQgQ2F0YWxvZ3VlJywgdGl0bGU6J1JlY2VpdmUgdGhlIGNvcnBvcmF0ZSBnaWZ0IGNhdGFsb2d1ZScsCiAgICAgIGludHJvOidMZWF2ZSB5b3VyIGRldGFpbHM6IHdl4oCZbGwgc2VuZCB5b3UgdGhlIGNhdGFsb2d1ZSBsaW5rIGJ5IGVtYWlsIGltbWVkaWF0ZWx5LiBObyBzYWxlcyBjYWxscyB1bmxlc3MgeW91IHdhbnQgb25lLicgfQogIH07CgogIGZ1bmN0aW9uIHNldENvbnRleHQoY3R4KXsKICAgIHZhciBjID0gQ09QWVtjdHhdIHx8IENPUFkuY29udGF0dG87CiAgICBleWVicm93LnRleHRDb250ZW50ID0gYy5leWVicm93OwogICAgdGl0bGUudGV4dENvbnRlbnQgICA9IGMudGl0bGU7CiAgICBpbnRyby50ZXh0Q29udGVudCAgID0gYy5pbnRybzsKICB9CgogIGZ1bmN0aW9uIGNyZWF0ZU1vZGFsRm9ybSgpewogICAgaWYobW9kYWxDcmVhdGVkKSByZXR1cm47CiAgICBtb2RhbENyZWF0ZWQgPSB0cnVlOwogICAgbG9hZEh1YlNwb3QoZnVuY3Rpb24ob2spewogICAgICBpZighb2speyBmYWxsYmFjay5zdHlsZS5kaXNwbGF5PSdibG9jayc7IG1vZGFsQ3JlYXRlZCA9IGZhbHNlOyByZXR1cm47IH0KICAgICAgd2luZG93Lmhic3B0LmZvcm1zLmNyZWF0ZSh7IHBvcnRhbElkOkZPUk0ucG9ydGFsSWQsIGZvcm1JZDpGT1JNLmZvcm1JZCwgcmVnaW9uOkZPUk0ucmVnaW9uLCB0YXJnZXQ6IiNocy1mb3JtLXRhcmdldCIgfSk7CiAgICB9KTsKICB9CgogIGZ1bmN0aW9uIG9wZW5Nb2RhbChjdHgpewogICAgbGFzdEZvY3VzID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDsKICAgIGNyZWF0ZU1vZGFsRm9ybSgpOwogICAgc2V0Q29udGV4dChjdHgpOwogICAgc2V0VGltZW91dChmdW5jdGlvbigpeyBzZXRDb250ZXh0KGN0eCk7IH0sIDEyMDApOwogICAgbW9kYWwuY2xhc3NMaXN0LmFkZCgnb3BlbicpOwogICAgbW9kYWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsJ2ZhbHNlJyk7CiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbic7CiAgICB2YXIgY2xvc2UgPSBtb2RhbC5xdWVyeVNlbGVjdG9yKCcudmItbW9kYWxfX2Nsb3NlJyk7CiAgICBpZihjbG9zZSkgY2xvc2UuZm9jdXMoKTsKICB9CiAgZnVuY3Rpb24gY2xvc2VNb2RhbCgpewogICAgbW9kYWwuY2xhc3NMaXN0LnJlbW92ZSgnb3BlbicpOwogICAgbW9kYWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsJ3RydWUnKTsKICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSAnJzsKICAgIGlmKGxhc3RGb2N1cykgbGFzdEZvY3VzLmZvY3VzKCk7CiAgfQoKICByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLXZiLW9wZW5dJykuZm9yRWFjaChmdW5jdGlvbihidG4pewogICAgYnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKXsgb3Blbk1vZGFsKGJ0bi5nZXRBdHRyaWJ1dGUoJ2RhdGEtdmItb3BlbicpKTsgfSk7CiAgfSk7CiAgbW9kYWwucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtdmItY2xvc2VdJykuZm9yRWFjaChmdW5jdGlvbihlbCl7CiAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGNsb3NlTW9kYWwpOwogIH0pOwogIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBmdW5jdGlvbihlKXsKICAgIGlmKGUua2V5ID09PSAnRXNjYXBlJyAmJiBtb2RhbC5jbGFzc0xpc3QuY29udGFpbnMoJ29wZW4nKSkgY2xvc2VNb2RhbCgpOwogIH0pOwp9KSgpOwo8L3NjcmlwdD4KPCEtLSAvd3A6aHRtbCAtLT48L2Rpdj4KPCEtLSAvd3A6Y29sdW1uIC0tPjwvZGl2Pgo8IS0tIC93cDpjb2x1bW5zIC0tPiAgICAgIAogICAgICAgCgUHCAQIBAgGCAUQCAdBAQgBAgECQQICQQUCQQACQQICCkEUCAcvCAYIDkgBBEwACQgGCAcPBApEAAUECwgHDwQKBwsIBw8ECkQABQQLCAcPBApEAAUECwgHDwQKQwAHBQIIDwUJCwgHDwQKRAAFBAsIBw8ECgYDFBNHAAlLAAYISwEIBw8ECkMABwIIDwsIBw8ECkMABwIIDwsIBw8ECkMABwIIDwsIBw8ECkMABwIIDwsIBw8ECkMABwIIDwsIBw8ECkQABQQLCAcPBApEAAUECwgHDwQKRAAFBAsIBw8ECgQLCAcPBAoGCwgHDwQKRAAFBAsFBwUHDEQBBUwAQwAHBQIIDwlEAQwGAxQTRwAJSwAGCEsACAcPBApDAAcCCA8LCAcPBApDAAcCCA8LCAcPBApDAAcCCA8LCAcPBApDAAcCCA8LCAcPBApDAAcCCA8LRAEFTAEEBkQBBQxHABEIBwQKCwgHBAoLB70HjwMUKYQGlgSNBY4DogO4BJcCgQOKBrENtRGLCKsMvhiyDJUKvAy6ArQLuTKzAZ0Fuw6aBpwqig6PDosBrhCBE6EOhRC6KowaIbscuwazGbwPsxygDoUXtCimGJ8djwOpDhqlFYYCuk0HCBgBBAAAAQAAAAEAAAABAwACAQAAxAEBAQBeQgEBAEEAAEEAAEEAAEEAAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAABBAABBAABBAABBAABCAEEAAgBBAAIAQQACAEEAAgBBAAIAAkEAAEEAAF9BApUagwO7Q4cGkwKHA5wCgQKIB74Dmwa5AZ8CugKfAZkClgq5ApMCgwayCaEFhAKlCLUPnAuAAYAKjhWiBYgegQbHBAGlBKkSvzuJFoACswGaSEGiAgRBDa0BpQFBBAG4BAB9AXcTMjAyMi0xMS0yM1QxNDo0OTo1MHcQdmFpYS00LWNvbXBhbmllc3cHcHVibGlzaH0BfawldwB5dwB3AHckMjY2NTE3YmEtZWEwNS00ZTQzLWFhM2ItM2U5ZWVmZDBkMTI0eHcAdx5hY2YvZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGF3HmFjZi9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YXYgCmJhY2tncm91bmR3CmxpZ2h0Z3JlZW4LX2JhY2tncm91bmR3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzAxDWFsbGluZWF0aXRvbG93BWJsb2NrDl9hbGxpbmVhdGl0b2xvdyVmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8wMV8xB3RpdGxlLTF3AAhfdGl0bGUtMXcjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDIMdGl0bGUtMS1zaXpldwZtZWRpdW0NX3RpdGxlLTEtc2l6ZXcjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDMNdGl0bGUtMS1jb2xvcncGdmlvbGV0Dl90aXRsZS0xLWNvbG9ydyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8wNAd0aXRsZS0ydwAIX3RpdGxlLTJ3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzA1DHRpdGxlLTItc2l6ZXcFc21hbGwNX3RpdGxlLTItc2l6ZXcjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDYNdGl0bGUtMi1jb2xvcncKbGlnaHRncmVlbg5fdGl0bGUtMi1jb2xvcncjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDcJc2VwYXJhdG9ydwN5ZXMKX3NlcGFyYXRvcncjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDgPc2VwYXJhdG9yLWNvbG9ydwZ2aW9sZXQQX3NlcGFyYXRvci1jb2xvcncmZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDhfMDEIc3VidGl0bGV3+gJWQUlBIG9mZmVycyBwcm9kdWN0cyBhbmQgc2VydmljZXMgd2l0aCBhIHBvc2l0aXZlIGltcGFjdCwgYWltZWQgYXQgYWN0aXZlbHkgc3VwcG9ydGluZyBjb21wYW5pZXMgb24gYSBzdXN0YWluYWJpbGl0eSBwYXRoIGNvbnNpc3RlbnQgd2l0aCBFU0cgcHJpbmNpcGxlcyBhbmQgdGhlIDIwMzAgQWdlbmRhIEdvYWxzLiBDU1IgYWN0aXZpdGllcyBhbmQgcHJvamVjdHMgZGV2ZWxvcGVkIGluIHBhcnRuZXJzaGlwIHdpdGggVkFJQSBiZWNvbWUgJ2Jlc3QgcHJhY3RpY2VzJyB0aGF0IGNhbiBiZSByZXBvcnRlZCBpbiB0aGUgc3VzdGFpbmFiaWxpdHkgcmVwb3J0IGFzIHdlbGwgYXMgdXNlZCBpbiBjb21tdW5pY2F0aW9uIHN0cmF0ZWdpZXMgZm9yIHN0YWtlaG9sZGVycy4JX3N1YnRpdGxldyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8wOQ1zdWJ0aXRsZS1zaXpldwZtZWRpdW0OX3N1YnRpdGxlLXNpemV3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzEwDnN1YnRpdGxlLWNvbG9ydwZ2aW9sZXQPX3N1YnRpdGxlLWNvbG9ydyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8xMQhjdGEtdGV4dHcACV9jdGEtdGV4dHcjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMTIIY3RhLWxpbmt3AAlfY3RhLWxpbmt3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzEzCWN0YS1jb2xvcncJc2Vjb25kYXJ5Cl9jdGEtY29sb3J3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzE0dwB3BGF1dG93JGU5YjcxMzM5LWZmMGUtNGFkMi05ODk0LWZkZDhjOTY2MDJkZXh39V88bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vc3dpcGVyQDExL3N3aXBlci1idW5kbGUubWluLmNzcyIgLz4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vc3dpcGVyQDExL3N3aXBlci1idW5kbGUubWluLmpzIj48L3NjcmlwdD4KCjxkaXYgaWQ9ImF6aWVuZGUiIGNsYXNzPSJzZXppb25lLWF6aWVuZGUtY3VzdG9tIj4KICAgIDxoMiBjbGFzcz0idGl0b2xvLXNlemlvbmUtYXppZW5kZSI+QXJlIHlvdSBhIGNvbXBhbnk\/IENyZWF0ZSB2YWx1ZSB3aXRoIHVzPC9oMj4KICAgIDxkaXYgY2xhc3M9ImNhcm9zZWxsby1jb250YWluZXItYXppZW5kZSI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3dpcGVyIGNhcm9zZWxsby1hemllbmRlLW51b3ZvIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3dpcGVyLXdyYXBwZXIiPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L3Byb2plY3QvdmFpYS14LWF6aWVuZGUvIiBjbGFzcz0ic3dpcGVyLXNsaWRlIGNhcmQtMS0xIGNhcmQtYXppZW5kZS1udW92byI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1iZy1hemllbmRlIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvNjY1eDc1NV9naWZ0LTEuanBnP2F1dG89Y29tcHJlc3MmY3M9dGlueXNyZ2Imdz04MDAnKTsiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudC1hemllbmRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJub21lLWF6aWVuZGUtdmlzaWJpbGUiPkNvcnBvcmF0ZSBHaWZ0czwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlc3RvLWhvdmVyLWF6aWVuZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+VkFJQSBhbXBsaWZpZXJzIGFyZSB1bmlxdWUsIGN1c3RvbWl6YWJsZSBnaWZ0cyBwZXJmZWN0IGZvciB5b3VyIGNvcnBvcmF0ZSBldmVudHMuIEVhY2ggb2JqZWN0IGlzIGEgZG91YmxlIGdpZnQ6IHdpdGggVkFJQSBDdWJlIHlvdSBwbGFudCBhIHRyZWUgaW4gdGhlIERvbG9taXRlcywgd2l0aCBWQUlBIEZvY3VzIHlvdSBzYWZlZ3VhcmQgdGhlIGFscGluZSBnbGFjaWVycy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L3Byb2plY3QvdmFpYS14LWF6aWVuZGUvIiBjbGFzcz0ic3dpcGVyLXNsaWRlIGNhcmQtMS0xIGNhcmQtYXppZW5kZS1udW92byI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1iZy1hemllbmRlIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvNjY1eDc1NV9leHBlcmllbmNlLmpwZz9hdXRvPWNvbXByZXNzJmNzPXRpbnlzcmdiJnc9ODAwJyk7Ij48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQtYXppZW5kZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0ibm9tZS1hemllbmRlLXZpc2liaWxlIj5UZWFtIEJ1aWxkaW5nPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVzdG8taG92ZXItYXppZW5kZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5UZWFtIGJ1aWxkaW5nIGlzIGNydWNpYWwgZm9yIHlvdXIgdGVhbSdzIGdyb3d0aC4gV2UgZWxldmF0ZSB0aGVzZSBtb21lbnRzIGJ5IHRyYW5zZm9ybWluZyB0aGVtIGludG8gVkFJQSBleHBlcmllbmNlcy4gVGhlc2UgdHJlZS1wbGFudGluZyBhY3Rpdml0aWVzIG9mZmVyIGEgdW5pcXVlIG1vdW50YWluIHRlYW0tYnVpbGRpbmcgb3Bwb3J0dW5pdHkgdGhhdCBzdHJlbmd0aGVucyB0ZWFtIHNwaXJpdCBhbmQgcHJvbW90ZXMgdGhlIGdvYWxzIG9mIHRoZSAyMDMwIEFnZW5kYS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L3Byb2plY3QvdmFpYS14LWF6aWVuZGUvIiBjbGFzcz0ic3dpcGVyLXNsaWRlIGNhcmQtMS0xIGNhcmQtYXppZW5kZS1udW92byI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1iZy1hemllbmRlIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvNjY1eDc1NV9QUk9HRVRUSV9ET0xPTUlUSS5qcGc\/YXV0bz1jb21wcmVzcyZjcz10aW55c3JnYiZ3PTgwMCcpOyI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50LWF6aWVuZGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9Im5vbWUtYXppZW5kZS12aXNpYmlsZSI+V29ya3Nob3A8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0by1ob3Zlci1hemllbmRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPldlIHByb21vdGUgc3VzdGFpbmFiaWxpdHkgdHJhaW5pbmcgYXMgYSB0b29sIHRvIGdlbmVyYXRlIHJlc3BvbnNpYmxlIGJlaGF2aW9yIGFuZCBjb25zb2xpZGF0ZSBlbXBsb3llZXMnIGNvcnBvcmF0ZSBjdWx0dXJlLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvcHJvamVjdC92YWlhLXgtYXppZW5kZS8iIGNsYXNzPSJzd2lwZXItc2xpZGUgY2FyZC0xLTEgY2FyZC1hemllbmRlLW51b3ZvIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJnLWF6aWVuZGUiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8xMS82NjV4NzU1X2FjYWRlbXkuanBnP2F1dG89Y29tcHJlc3MmY3M9dGlueXNyZ2Imdz04MDAnKTsiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudC1hemllbmRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJub21lLWF6aWVuZGUtdmlzaWJpbGUiPkV2ZW50czwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlc3RvLWhvdmVyLWF6aWVuZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+V2UgbWFrZSBjb3Jwb3JhdGUgZXZlbnRzICJjYXJib24gbmV1dHJhbCIgYnkgY2FsY3VsYXRpbmcgQ08yIGFuZCBhYnNvcmJpbmcgaXQgdGhyb3VnaCBvdXIgY2VydGlmaWVkIHBsYW50aW5nIGFjdGl2aXRpZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9wcm9qZWN0L3ZhaWEteC1hemllbmRlLyJjbGFzcz0ic3dpcGVyLXNsaWRlIGNhcmQtMS0xIGNhcmQtYXppZW5kZS1udW92byI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1iZy1hemllbmRlIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvNjY1eDc1NV9ldmVudGkuanBnP2F1dG89Y29tcHJlc3MmY3M9dGlueXNyZ2Imdz04MDAnKTsiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudC1hemllbmRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJub21lLWF6aWVuZGUtdmlzaWJpbGUiPlNwZWNpYWwgUHJvamVjdHM8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0by1ob3Zlci1hemllbmRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRhaWxvci1tYWRlIGluaXRpYXRpdmVzIGFuZCBwYXJ0bmVyc2hpcHMgYmFzZWQgb24gdGhlIGNvbXBhbnkncyBuZWVkcy4KIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic3dpcGVyLXBhZ2luYXRpb24tYXppZW5kZSI+PC9kaXY+CiAgICA8L2Rpdj4KPC9kaXY+Cgo8c3R5bGU+Ci8qIFN0aWxpIHNlemlvbmUgKEludmFyaWF0aSkgKi8KLnNlemlvbmUtYXppZW5kZS1jdXN0b20geyAKICAgIGJhY2tncm91bmQtY29sb3I6I2Y0ZjBlNTsgCiAgICBwYWRkaW5nOiA2MHB4IDIwcHggMTBweCAyMHB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci50aXRvbG8tc2V6aW9uZS1hemllbmRlIHsKICAgIGNvbG9yOiMwZTNiMjY7ICAKICAgIGZvbnQtc2l6ZToyLjhyZW07ICAKICAgIG1hcmdpbi1ib3R0b206IDQwcHg7Cn0KLmNhcm9zZWxsby1jb250YWluZXItYXppZW5kZSB7IAogICAgcG9zaXRpb246cmVsYXRpdmU7IAogICAgcGFkZGluZzoyMHB4IDA7IAogICAgb3ZlcmZsb3c6aGlkZGVuOwogICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICBtYXJnaW46IDAgYXV0bzsKfQoKLyogQ2FyZCAoSW52YXJpYXRhKSAqLwouY2FyZC0xLTEgeyAKICAgIGFzcGVjdC1yYXRpbzoxLzE7IAogICAgd2lkdGg6MzUwcHg7IAogICAgYm9yZGVyLXJhZGl1czoxMnB4OyAKICAgIG92ZXJmbG93OmhpZGRlbjsgCiAgICBwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLmNhcmQtYmctYXppZW5kZSB7IAogICAgd2lkdGg6MTAwJTsgCiAgICBoZWlnaHQ6MTAwJTsgCiAgICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7IAogICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXI7IAogICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gMC40cyBlYXNlLCBmaWx0ZXIgMC40cyBlYXNlOyAvKiBUcmFuc2l6aW9uZSBhZ2dpb3JuYXRhICovCn0KCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwovKiBNT0RJRklDSEUgUklDSElFU1RFIChFZmZldHRvIEhvdmVyL1RhcCkgKi8KLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgovKiBWZWNjaGlvIGVmZmV0dG8gem9vbSByaW1vc3NvL2NvbW1lbnRhdG8gKi8KLyoKLmNhcmQtYXppZW5kZS1udW92bzpob3ZlciAuY2FyZC1iZy1hemllbmRlIHsgCiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDgpOyAKfQoqLwoKLmNhcmQtY29udGVudC1hemllbmRlIHsKICAgIHBvc2l0aW9uOmFic29sdXRlOyB0b3A6MDsgbGVmdDowOyByaWdodDowOyBib3R0b206MDsgIAogICAgZGlzcGxheTpmbGV4OyAKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IAogICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IAogICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgLyogRGVmYXVsdDogSW4gYmFzc28gKi8KICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwwLDAsMC42KSAwJSwgdHJhbnNwYXJlbnQgNTAlKTsKICAgIHRleHQtYWxpZ246bGVmdDsKICAgIHBhZGRpbmc6IDIwcHg7CiAgICAvKiBBZ2dpdW50YSB0cmFuc2l6aW9uZSBwZXIgaWwgY2FtYmlvIGRpIGxheW91dCAqLwogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjRzIGVhc2UsIGp1c3RpZnktY29udGVudCAwLjRzIGVhc2U7Cn0KCi8qIFRpdG9sbyBvcmlnaW5hbGUgKGgzKSAqLwoubm9tZS1hemllbmRlLXZpc2liaWxlIHsKICAgIGNvbG9yOiNmNGYwZTU7IAogICAgZm9udC1zaXplOjEuNnJlbTsgCiAgICBtYXJnaW46IDA7IAogICAgb3BhY2l0eTogMTsKICAgIHRleHQtc2hhZG93OiAwIDJweCA2cHggcmdiYSgwLDAsMCwwLjgpOwogICAgLyogQWdnaXVudGEgdHJhbnNpemlvbmUgcGVyIG5hc2NvbmRlcmxvICovCiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZTsKfQoKLyogTlVPVk8gQkxPQ0NPIFRFU1RPIChOYXNjb3N0byBkaSBkZWZhdWx0KSAqLwoudGVzdG8taG92ZXItYXppZW5kZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDUwJTsKICAgIGxlZnQ6IDUwJTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC00MCUpOyAvKiBDZW50cmF0bywgbGVnZ2VybWVudGUgc3UgKi8KICAgIHdpZHRoOiA4NSU7CiAgICBjb2xvcjogd2hpdGU7CiAgICBmb250LXNpemU6IDAuOTVyZW07CiAgICBsaW5lLWhlaWdodDogMS40OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgb3BhY2l0eTogMDsgLyogTmFzY29zdG8gKi8KICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2UsIHRyYW5zZm9ybSAwLjRzIGVhc2U7Cn0KCgovKiAtLS0gU1RBVE8gQVRUSVZPIChwZXIgQ0xJQ0svVEFQIHZpYSBKUykgLS0tICovCi8qIFF1ZXN0YSBjbGFzc2UgIi5pcy1hY3RpdmUiIHZlcnLDoCBhZ2dpdW50YS9yaW1vc3NhIGRhbCBKYXZhU2NyaXB0ICovCgouY2FyZC1hemllbmRlLW51b3ZvLmlzLWFjdGl2ZSAuY2FyZC1iZy1hemllbmRlIHsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IC8qIExlZ2dlcm8gem9vbSAqLwogICAgZmlsdGVyOiBibHVyKDVweCkgYnJpZ2h0bmVzcygwLjYpOyAvKiBTZm9jYXRvIGUgc2N1cm8gKi8KfQoKLmNhcmQtYXppZW5kZS1udW92by5pcy1hY3RpdmUgLmNhcmQtY29udGVudC1hemllbmRlIHsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyAvKiBSaW11b3ZlIGdyYWRpZW50ZSAqLwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8qIENlbnRyYSBjb250ZW51dG8gKi8KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KCi5jYXJkLWF6aWVuZGUtbnVvdm8uaXMtYWN0aXZlIC5ub21lLWF6aWVuZGUtdmlzaWJpbGUgewogICAgb3BhY2l0eTogMDsgLyogTmFzY29uZGUgdGl0b2xvICovCn0KCi5jYXJkLWF6aWVuZGUtbnVvdm8uaXMtYWN0aXZlIC50ZXN0by1ob3Zlci1hemllbmRlIHsKICAgIG9wYWNpdHk6IDE7IC8qIE1vc3RyYSB0ZXN0byAqLwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IC8qIENlbnRyYSBwZXJmZXR0YW1lbnRlICovCn0KCgovKiAtLS0gU1RBVE8gSE9WRVIgKFNPTE8gUEVSIERFU0tUT1ApIC0tLSAqLwovKiBBcHBsaWNhIGwnaG92ZXIgU09MTyBzdSBkaXNwb3NpdGl2aSBjaGUgcG9zc29ubyBob3ZlcmFyZSAobW91c2UpICovCkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHsKICAgIC5jYXJkLWF6aWVuZGUtbnVvdm86aG92ZXIgLmNhcmQtYmctYXppZW5kZSB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsKICAgICAgICBmaWx0ZXI6IGJsdXIoNXB4KSBicmlnaHRuZXNzKDAuNik7CiAgICB9CiAgICAKICAgIC5jYXJkLWF6aWVuZGUtbnVvdm86aG92ZXIgLmNhcmQtY29udGVudC1hemllbmRlIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgfQogICAgCiAgICAuY2FyZC1hemllbmRlLW51b3ZvOmhvdmVyIC5ub21lLWF6aWVuZGUtdmlzaWJpbGUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICB9CiAgICAKICAgIC5jYXJkLWF6aWVuZGUtbnVvdm86aG92ZXIgLnRlc3RvLWhvdmVyLWF6aWVuZGUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICB9Cn0KCgovKiBQYWdpbmF6aW9uZSAoSW52YXJpYXRhKSAqLwouc3dpcGVyLXBhZ2luYXRpb24tYXppZW5kZSB7IHBvc2l0aW9uOnN0YXRpYzsgbWFyZ2luLXRvcDozMHB4OyB9Ci5zd2lwZXItcGFnaW5hdGlvbi1hemllbmRlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjojMGUzYjI2OyB9CgoKLyogUmVzcG9uc2l2ZSAoSW52YXJpYXRvKSAqLwpAbWVkaWEobWF4LXdpZHRoOjc2OHB4KXsKICAgIC50aXRvbG8tc2V6aW9uZS1hemllbmRlIHsgZm9udC1zaXplOjJyZW07IH0KICAgIC5jYXJkLTEtMSB7IAogICAgICAgIHdpZHRoOiAxMDAlOyAKICAgIH0KfQo8L3N0eWxlPgoKPHNjcmlwdD4KLy8gRnVuemlvbmUgaW5pdENhcm9zZWxsbyAoSW52YXJpYXRhKQpmdW5jdGlvbiBpbml0Q2Fyb3NlbGxvKHNlbGVjdG9yLCBwZXJWaWV3Q29uZmlnLCBsb29wVmFsdWUgPSB0cnVlKSB7CiAgICByZXR1cm4gbmV3IFN3aXBlcihzZWxlY3RvciwgewogICAgICAgIGxvb3A6IGxvb3BWYWx1ZSwKICAgICAgICBncmFiQ3Vyc29yOiB0cnVlLAogICAgICAgIGluaXRpYWxTbGlkZTogMCwKICAgICAgICBwYWdpbmF0aW9uOiB7CiAgICAgICAgICAgIGVsOiAnI2F6aWVuZGUgLnN3aXBlci1wYWdpbmF0aW9uLWF6aWVuZGUnLAogICAgICAgICAgICBjbGlja2FibGU6IHRydWUsCiAgICAgICAgfSwKICAgICAgICBicmVha3BvaW50czogcGVyVmlld0NvbmZpZwogICAgfSk7Cn0KCi8vIEluaXppYWxpenphemlvbmUgRVNDTFVTSVZBIHBlciBsYSBzZXppb25lIElEPSJhemllbmRlIgp3aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgewogICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAKICAgICAgICAvLyBDb250cm9sbGEgc2UgaWwgY29udGVuaXRvcmUgZXNpc3RlIChJbnZhcmlhdG8pCiAgICAgICAgY29uc3QgYXppZW5kZUNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhemllbmRlJyk7CiAgICAgICAgCiAgICAgICAgaWYgKGF6aWVuZGVDb250YWluZXIpIHsKICAgICAgICAgICAgCiAgICAgICAgICAgIC8vIElOSVpJQUxJWlpBWklPTkUgU1dJUEVSIChJbnZhcmlhdGEpCiAgICAgICAgICAgIGluaXRDYXJvc2VsbG8oJyNhemllbmRlIC5jYXJvc2VsbG8tYXppZW5kZS1udW92bycsIHsKICAgICAgICAgICAgICAgIDMyMDogeyBzbGlkZXNQZXJWaWV3OiAxLjIsIHNwYWNlQmV0d2VlbjogMTUgfSwKICAgICAgICAgICAgICAgIDc2ODogeyBzbGlkZXNQZXJWaWV3OiAyLCBzcGFjZUJldHdlZW46IDIwIH0sCiAgICAgICAgICAgICAgICAxMDI0OiB7IHNsaWRlc1BlclZpZXc6IDMuMiwgc3BhY2VCZXR3ZWVuOiAzMCB9LAogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAgICAgLy8gTlVPVkEgTE9HSUNBIFBFUiBHRVNUSVJFIElMIFRBUCBTVSBNT0JJTEUKICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgICAgICAKICAgICAgICAgICAgLy8gMS4gUmlsZXZhIHNlIMOoIHVuIGRpc3Bvc2l0aXZvIHRvdWNoCiAgICAgICAgICAgIGNvbnN0IGlzVG91Y2hEZXZpY2UgPSAoJ29udG91Y2hzdGFydCcgaW4gd2luZG93KSB8fCAobmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzID4gMCk7CgogICAgICAgICAgICBpZiAoaXNUb3VjaERldmljZSkgewogICAgICAgICAgICAgICAgY29uc3QgYWxsU2xpZGVzQXppZW5kZSA9IGF6aWVuZGVDb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgnLmNhcmQtYXppZW5kZS1udW92bycpOwoKICAgICAgICAgICAgICAgIGFsbFNsaWRlc0F6aWVuZGUuZm9yRWFjaChzbGlkZSA9PiB7CiAgICAgICAgICAgICAgICAgICAgc2xpZGUuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihldmVudCkgewogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29udHJvbGxhIHNlIGlsIGNhcm9zZWxsbyBzdGEgInN0cmlzY2lhbmRvIgogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzd2lwZXJJbnN0YW5jZSA9IGF6aWVuZGVDb250YWluZXIucXVlcnlTZWxlY3RvcignLmNhcm9zZWxsby1hemllbmRlLW51b3ZvJykuc3dpcGVyOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3dpcGVySW5zdGFuY2UgJiYgKHN3aXBlckluc3RhbmNlLmlzRHJhZ2dpbmcgfHwgc3dpcGVySW5zdGFuY2UuaXNNb3ZlZCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzQWN0aXZlID0gdGhpcy5jbGFzc0xpc3QuY29udGFpbnMoJ2lzLWFjdGl2ZScpOwogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2UgbGEgY2FyZCBOT04gw6ggYXR0aXZhIChQcmltbyBUYXApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNBY3RpdmUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDEuIFByZXZpZW5lIGxhIG5hdmlnYXppb25lIChub24gc2VndWlyZSBpbCBsaW5rKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMi4gQ2hpdWRlIHR1dHRlIGxlIGFsdHJlIGNhcmQgZXZlbnR1YWxtZW50ZSBhcGVydGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbFNsaWRlc0F6aWVuZGUuZm9yRWFjaChzID0+IHMuY2xhc3NMaXN0LnJlbW92ZSgnaXMtYWN0aXZlJykpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAzLiBBdHRpdmEgUVVFU1RBIGNhcmQgKG1vc3RyYSBpbCB0ZXN0bykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xhc3NMaXN0LmFkZCgnaXMtYWN0aXZlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNlIGxhIGNhcmQgRVJBIEdJQScgQVRUSVZBIChTZWNvbmRvIFRhcCksCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG5vbiBmYWNjaWFtbyBudWxsYS4gTCdldmVudG8gJ2NsaWNrJyBub24gdmllbmUKICAgICAgICAgICAgICAgICAgICAgICAgLy8gcHJldmVudXRvIGUgaWwgYnJvd3NlciBzZWd1aXLDoCBpbCBsaW5rIDxhPi4KICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgIC8vIExpc3RlbmVyIGFnZ2l1bnRpdm86IHNlIGwndXRlbnRlIHRhcHBhIEZVT1JJIGRhIHVuYSBjYXJkLAogICAgICAgICAgICAgICAgLy8gY2hpdWRpYW1vIHR1dHRlIGxlIGNhcmQgYXR0aXZlLgogICAgICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihldmVudCkgewogICAgICAgICAgICAgICAgICAgIC8vIENvbnRyb2xsYSBzZSBpbCB0YXJnZXQgZGVsIGNsaWNrIE5PTiDDqCB1bmEgY2FyZCBvIHVuIHN1byBmaWdsaW8KICAgICAgICAgICAgICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC5jbG9zZXN0KCcuY2FyZC1hemllbmRlLW51b3ZvJykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgYWxsU2xpZGVzQXppZW5kZS5mb3JFYWNoKHMgPT4gcy5jbGFzc0xpc3QucmVtb3ZlKCdpcy1hY3RpdmUnKSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwgdHJ1ZSk7IC8vIFVzaWFtbyAndHJ1ZScgcGVyIGxhIGZhc2UgZGkgY2FwdHVyaW5nCiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gRklORSBOVU9WQSBMT0dJQ0EgVE9VQ0gKICAgICAgICAgICAgLy8gKFN1aSBkaXNwb3NpdGl2aSBub24tdG91Y2gvZGVza3RvcCwgbm9uIHNlcnZlIEpTLiBMJ2hvdmVyIMOoIGdlc3RpdG8KICAgICAgICAgICAgLy8gZGFsIENTUyBlIGlsIGNsaWNrIHNlZ3VlIG5vcm1hbG1lbnRlIGlsIGxpbmspLgoKICAgICAgICB9CiAgICAgICAgCiAgICB9LCAxMDApOyAKfTsKPC9zY3JpcHQ+dwljb3JlL2h0bWx39V88bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vc3dpcGVyQDExL3N3aXBlci1idW5kbGUubWluLmNzcyIgLz4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vc3dpcGVyQDExL3N3aXBlci1idW5kbGUubWluLmpzIj48L3NjcmlwdD4KCjxkaXYgaWQ9ImF6aWVuZGUiIGNsYXNzPSJzZXppb25lLWF6aWVuZGUtY3VzdG9tIj4KICAgIDxoMiBjbGFzcz0idGl0b2xvLXNlemlvbmUtYXppZW5kZSI+QXJlIHlvdSBhIGNvbXBhbnk\/IENyZWF0ZSB2YWx1ZSB3aXRoIHVzPC9oMj4KICAgIDxkaXYgY2xhc3M9ImNhcm9zZWxsby1jb250YWluZXItYXppZW5kZSI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3dpcGVyIGNhcm9zZWxsby1hemllbmRlLW51b3ZvIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3dpcGVyLXdyYXBwZXIiPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L3Byb2plY3QvdmFpYS14LWF6aWVuZGUvIiBjbGFzcz0ic3dpcGVyLXNsaWRlIGNhcmQtMS0xIGNhcmQtYXppZW5kZS1udW92byI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1iZy1hemllbmRlIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvNjY1eDc1NV9naWZ0LTEuanBnP2F1dG89Y29tcHJlc3MmY3M9dGlueXNyZ2Imdz04MDAnKTsiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudC1hemllbmRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJub21lLWF6aWVuZGUtdmlzaWJpbGUiPkNvcnBvcmF0ZSBHaWZ0czwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlc3RvLWhvdmVyLWF6aWVuZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+VkFJQSBhbXBsaWZpZXJzIGFyZSB1bmlxdWUsIGN1c3RvbWl6YWJsZSBnaWZ0cyBwZXJmZWN0IGZvciB5b3VyIGNvcnBvcmF0ZSBldmVudHMuIEVhY2ggb2JqZWN0IGlzIGEgZG91YmxlIGdpZnQ6IHdpdGggVkFJQSBDdWJlIHlvdSBwbGFudCBhIHRyZWUgaW4gdGhlIERvbG9taXRlcywgd2l0aCBWQUlBIEZvY3VzIHlvdSBzYWZlZ3VhcmQgdGhlIGFscGluZSBnbGFjaWVycy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L3Byb2plY3QvdmFpYS14LWF6aWVuZGUvIiBjbGFzcz0ic3dpcGVyLXNsaWRlIGNhcmQtMS0xIGNhcmQtYXppZW5kZS1udW92byI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1iZy1hemllbmRlIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvNjY1eDc1NV9leHBlcmllbmNlLmpwZz9hdXRvPWNvbXByZXNzJmNzPXRpbnlzcmdiJnc9ODAwJyk7Ij48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQtYXppZW5kZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0ibm9tZS1hemllbmRlLXZpc2liaWxlIj5UZWFtIEJ1aWxkaW5nPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVzdG8taG92ZXItYXppZW5kZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5UZWFtIGJ1aWxkaW5nIGlzIGNydWNpYWwgZm9yIHlvdXIgdGVhbSdzIGdyb3d0aC4gV2UgZWxldmF0ZSB0aGVzZSBtb21lbnRzIGJ5IHRyYW5zZm9ybWluZyB0aGVtIGludG8gVkFJQSBleHBlcmllbmNlcy4gVGhlc2UgdHJlZS1wbGFudGluZyBhY3Rpdml0aWVzIG9mZmVyIGEgdW5pcXVlIG1vdW50YWluIHRlYW0tYnVpbGRpbmcgb3Bwb3J0dW5pdHkgdGhhdCBzdHJlbmd0aGVucyB0ZWFtIHNwaXJpdCBhbmQgcHJvbW90ZXMgdGhlIGdvYWxzIG9mIHRoZSAyMDMwIEFnZW5kYS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L3Byb2plY3QvdmFpYS14LWF6aWVuZGUvIiBjbGFzcz0ic3dpcGVyLXNsaWRlIGNhcmQtMS0xIGNhcmQtYXppZW5kZS1udW92byI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1iZy1hemllbmRlIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvNjY1eDc1NV9QUk9HRVRUSV9ET0xPTUlUSS5qcGc\/YXV0bz1jb21wcmVzcyZjcz10aW55c3JnYiZ3PTgwMCcpOyI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50LWF6aWVuZGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9Im5vbWUtYXppZW5kZS12aXNpYmlsZSI+V29ya3Nob3A8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0by1ob3Zlci1hemllbmRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPldlIHByb21vdGUgc3VzdGFpbmFiaWxpdHkgdHJhaW5pbmcgYXMgYSB0b29sIHRvIGdlbmVyYXRlIHJlc3BvbnNpYmxlIGJlaGF2aW9yIGFuZCBjb25zb2xpZGF0ZSBlbXBsb3llZXMnIGNvcnBvcmF0ZSBjdWx0dXJlLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvcHJvamVjdC92YWlhLXgtYXppZW5kZS8iIGNsYXNzPSJzd2lwZXItc2xpZGUgY2FyZC0xLTEgY2FyZC1hemllbmRlLW51b3ZvIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJnLWF6aWVuZGUiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8xMS82NjV4NzU1X2FjYWRlbXkuanBnP2F1dG89Y29tcHJlc3MmY3M9dGlueXNyZ2Imdz04MDAnKTsiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudC1hemllbmRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJub21lLWF6aWVuZGUtdmlzaWJpbGUiPkV2ZW50czwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlc3RvLWhvdmVyLWF6aWVuZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+V2UgbWFrZSBjb3Jwb3JhdGUgZXZlbnRzICJjYXJib24gbmV1dHJhbCIgYnkgY2FsY3VsYXRpbmcgQ08yIGFuZCBhYnNvcmJpbmcgaXQgdGhyb3VnaCBvdXIgY2VydGlmaWVkIHBsYW50aW5nIGFjdGl2aXRpZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9wcm9qZWN0L3ZhaWEteC1hemllbmRlLyJjbGFzcz0ic3dpcGVyLXNsaWRlIGNhcmQtMS0xIGNhcmQtYXppZW5kZS1udW92byI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1iZy1hemllbmRlIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvNjY1eDc1NV9ldmVudGkuanBnP2F1dG89Y29tcHJlc3MmY3M9dGlueXNyZ2Imdz04MDAnKTsiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudC1hemllbmRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJub21lLWF6aWVuZGUtdmlzaWJpbGUiPlNwZWNpYWwgUHJvamVjdHM8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0by1ob3Zlci1hemllbmRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRhaWxvci1tYWRlIGluaXRpYXRpdmVzIGFuZCBwYXJ0bmVyc2hpcHMgYmFzZWQgb24gdGhlIGNvbXBhbnkncyBuZWVkcy4KIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic3dpcGVyLXBhZ2luYXRpb24tYXppZW5kZSI+PC9kaXY+CiAgICA8L2Rpdj4KPC9kaXY+Cgo8c3R5bGU+Ci8qIFN0aWxpIHNlemlvbmUgKEludmFyaWF0aSkgKi8KLnNlemlvbmUtYXppZW5kZS1jdXN0b20geyAKICAgIGJhY2tncm91bmQtY29sb3I6I2Y0ZjBlNTsgCiAgICBwYWRkaW5nOiA2MHB4IDIwcHggMTBweCAyMHB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci50aXRvbG8tc2V6aW9uZS1hemllbmRlIHsKICAgIGNvbG9yOiMwZTNiMjY7ICAKICAgIGZvbnQtc2l6ZToyLjhyZW07ICAKICAgIG1hcmdpbi1ib3R0b206IDQwcHg7Cn0KLmNhcm9zZWxsby1jb250YWluZXItYXppZW5kZSB7IAogICAgcG9zaXRpb246cmVsYXRpdmU7IAogICAgcGFkZGluZzoyMHB4IDA7IAogICAgb3ZlcmZsb3c6aGlkZGVuOwogICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICBtYXJnaW46IDAgYXV0bzsKfQoKLyogQ2FyZCAoSW52YXJpYXRhKSAqLwouY2FyZC0xLTEgeyAKICAgIGFzcGVjdC1yYXRpbzoxLzE7IAogICAgd2lkdGg6MzUwcHg7IAogICAgYm9yZGVyLXJhZGl1czoxMnB4OyAKICAgIG92ZXJmbG93OmhpZGRlbjsgCiAgICBwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLmNhcmQtYmctYXppZW5kZSB7IAogICAgd2lkdGg6MTAwJTsgCiAgICBoZWlnaHQ6MTAwJTsgCiAgICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7IAogICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXI7IAogICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gMC40cyBlYXNlLCBmaWx0ZXIgMC40cyBlYXNlOyAvKiBUcmFuc2l6aW9uZSBhZ2dpb3JuYXRhICovCn0KCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwovKiBNT0RJRklDSEUgUklDSElFU1RFIChFZmZldHRvIEhvdmVyL1RhcCkgKi8KLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgovKiBWZWNjaGlvIGVmZmV0dG8gem9vbSByaW1vc3NvL2NvbW1lbnRhdG8gKi8KLyoKLmNhcmQtYXppZW5kZS1udW92bzpob3ZlciAuY2FyZC1iZy1hemllbmRlIHsgCiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDgpOyAKfQoqLwoKLmNhcmQtY29udGVudC1hemllbmRlIHsKICAgIHBvc2l0aW9uOmFic29sdXRlOyB0b3A6MDsgbGVmdDowOyByaWdodDowOyBib3R0b206MDsgIAogICAgZGlzcGxheTpmbGV4OyAKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IAogICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IAogICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgLyogRGVmYXVsdDogSW4gYmFzc28gKi8KICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwwLDAsMC42KSAwJSwgdHJhbnNwYXJlbnQgNTAlKTsKICAgIHRleHQtYWxpZ246bGVmdDsKICAgIHBhZGRpbmc6IDIwcHg7CiAgICAvKiBBZ2dpdW50YSB0cmFuc2l6aW9uZSBwZXIgaWwgY2FtYmlvIGRpIGxheW91dCAqLwogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjRzIGVhc2UsIGp1c3RpZnktY29udGVudCAwLjRzIGVhc2U7Cn0KCi8qIFRpdG9sbyBvcmlnaW5hbGUgKGgzKSAqLwoubm9tZS1hemllbmRlLXZpc2liaWxlIHsKICAgIGNvbG9yOiNmNGYwZTU7IAogICAgZm9udC1zaXplOjEuNnJlbTsgCiAgICBtYXJnaW46IDA7IAogICAgb3BhY2l0eTogMTsKICAgIHRleHQtc2hhZG93OiAwIDJweCA2cHggcmdiYSgwLDAsMCwwLjgpOwogICAgLyogQWdnaXVudGEgdHJhbnNpemlvbmUgcGVyIG5hc2NvbmRlcmxvICovCiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZTsKfQoKLyogTlVPVk8gQkxPQ0NPIFRFU1RPIChOYXNjb3N0byBkaSBkZWZhdWx0KSAqLwoudGVzdG8taG92ZXItYXppZW5kZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDUwJTsKICAgIGxlZnQ6IDUwJTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC00MCUpOyAvKiBDZW50cmF0bywgbGVnZ2VybWVudGUgc3UgKi8KICAgIHdpZHRoOiA4NSU7CiAgICBjb2xvcjogd2hpdGU7CiAgICBmb250LXNpemU6IDAuOTVyZW07CiAgICBsaW5lLWhlaWdodDogMS40OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgb3BhY2l0eTogMDsgLyogTmFzY29zdG8gKi8KICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2UsIHRyYW5zZm9ybSAwLjRzIGVhc2U7Cn0KCgovKiAtLS0gU1RBVE8gQVRUSVZPIChwZXIgQ0xJQ0svVEFQIHZpYSBKUykgLS0tICovCi8qIFF1ZXN0YSBjbGFzc2UgIi5pcy1hY3RpdmUiIHZlcnLDoCBhZ2dpdW50YS9yaW1vc3NhIGRhbCBKYXZhU2NyaXB0ICovCgouY2FyZC1hemllbmRlLW51b3ZvLmlzLWFjdGl2ZSAuY2FyZC1iZy1hemllbmRlIHsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IC8qIExlZ2dlcm8gem9vbSAqLwogICAgZmlsdGVyOiBibHVyKDVweCkgYnJpZ2h0bmVzcygwLjYpOyAvKiBTZm9jYXRvIGUgc2N1cm8gKi8KfQoKLmNhcmQtYXppZW5kZS1udW92by5pcy1hY3RpdmUgLmNhcmQtY29udGVudC1hemllbmRlIHsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyAvKiBSaW11b3ZlIGdyYWRpZW50ZSAqLwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8qIENlbnRyYSBjb250ZW51dG8gKi8KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KCi5jYXJkLWF6aWVuZGUtbnVvdm8uaXMtYWN0aXZlIC5ub21lLWF6aWVuZGUtdmlzaWJpbGUgewogICAgb3BhY2l0eTogMDsgLyogTmFzY29uZGUgdGl0b2xvICovCn0KCi5jYXJkLWF6aWVuZGUtbnVvdm8uaXMtYWN0aXZlIC50ZXN0by1ob3Zlci1hemllbmRlIHsKICAgIG9wYWNpdHk6IDE7IC8qIE1vc3RyYSB0ZXN0byAqLwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IC8qIENlbnRyYSBwZXJmZXR0YW1lbnRlICovCn0KCgovKiAtLS0gU1RBVE8gSE9WRVIgKFNPTE8gUEVSIERFU0tUT1ApIC0tLSAqLwovKiBBcHBsaWNhIGwnaG92ZXIgU09MTyBzdSBkaXNwb3NpdGl2aSBjaGUgcG9zc29ubyBob3ZlcmFyZSAobW91c2UpICovCkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHsKICAgIC5jYXJkLWF6aWVuZGUtbnVvdm86aG92ZXIgLmNhcmQtYmctYXppZW5kZSB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsKICAgICAgICBmaWx0ZXI6IGJsdXIoNXB4KSBicmlnaHRuZXNzKDAuNik7CiAgICB9CiAgICAKICAgIC5jYXJkLWF6aWVuZGUtbnVvdm86aG92ZXIgLmNhcmQtY29udGVudC1hemllbmRlIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgfQogICAgCiAgICAuY2FyZC1hemllbmRlLW51b3ZvOmhvdmVyIC5ub21lLWF6aWVuZGUtdmlzaWJpbGUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICB9CiAgICAKICAgIC5jYXJkLWF6aWVuZGUtbnVvdm86aG92ZXIgLnRlc3RvLWhvdmVyLWF6aWVuZGUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICB9Cn0KCgovKiBQYWdpbmF6aW9uZSAoSW52YXJpYXRhKSAqLwouc3dpcGVyLXBhZ2luYXRpb24tYXppZW5kZSB7IHBvc2l0aW9uOnN0YXRpYzsgbWFyZ2luLXRvcDozMHB4OyB9Ci5zd2lwZXItcGFnaW5hdGlvbi1hemllbmRlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjojMGUzYjI2OyB9CgoKLyogUmVzcG9uc2l2ZSAoSW52YXJpYXRvKSAqLwpAbWVkaWEobWF4LXdpZHRoOjc2OHB4KXsKICAgIC50aXRvbG8tc2V6aW9uZS1hemllbmRlIHsgZm9udC1zaXplOjJyZW07IH0KICAgIC5jYXJkLTEtMSB7IAogICAgICAgIHdpZHRoOiAxMDAlOyAKICAgIH0KfQo8L3N0eWxlPgoKPHNjcmlwdD4KLy8gRnVuemlvbmUgaW5pdENhcm9zZWxsbyAoSW52YXJpYXRhKQpmdW5jdGlvbiBpbml0Q2Fyb3NlbGxvKHNlbGVjdG9yLCBwZXJWaWV3Q29uZmlnLCBsb29wVmFsdWUgPSB0cnVlKSB7CiAgICByZXR1cm4gbmV3IFN3aXBlcihzZWxlY3RvciwgewogICAgICAgIGxvb3A6IGxvb3BWYWx1ZSwKICAgICAgICBncmFiQ3Vyc29yOiB0cnVlLAogICAgICAgIGluaXRpYWxTbGlkZTogMCwKICAgICAgICBwYWdpbmF0aW9uOiB7CiAgICAgICAgICAgIGVsOiAnI2F6aWVuZGUgLnN3aXBlci1wYWdpbmF0aW9uLWF6aWVuZGUnLAogICAgICAgICAgICBjbGlja2FibGU6IHRydWUsCiAgICAgICAgfSwKICAgICAgICBicmVha3BvaW50czogcGVyVmlld0NvbmZpZwogICAgfSk7Cn0KCi8vIEluaXppYWxpenphemlvbmUgRVNDTFVTSVZBIHBlciBsYSBzZXppb25lIElEPSJhemllbmRlIgp3aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgewogICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAKICAgICAgICAvLyBDb250cm9sbGEgc2UgaWwgY29udGVuaXRvcmUgZXNpc3RlIChJbnZhcmlhdG8pCiAgICAgICAgY29uc3QgYXppZW5kZUNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhemllbmRlJyk7CiAgICAgICAgCiAgICAgICAgaWYgKGF6aWVuZGVDb250YWluZXIpIHsKICAgICAgICAgICAgCiAgICAgICAgICAgIC8vIElOSVpJQUxJWlpBWklPTkUgU1dJUEVSIChJbnZhcmlhdGEpCiAgICAgICAgICAgIGluaXRDYXJvc2VsbG8oJyNhemllbmRlIC5jYXJvc2VsbG8tYXppZW5kZS1udW92bycsIHsKICAgICAgICAgICAgICAgIDMyMDogeyBzbGlkZXNQZXJWaWV3OiAxLjIsIHNwYWNlQmV0d2VlbjogMTUgfSwKICAgICAgICAgICAgICAgIDc2ODogeyBzbGlkZXNQZXJWaWV3OiAyLCBzcGFjZUJldHdlZW46IDIwIH0sCiAgICAgICAgICAgICAgICAxMDI0OiB7IHNsaWRlc1BlclZpZXc6IDMuMiwgc3BhY2VCZXR3ZWVuOiAzMCB9LAogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAgICAgLy8gTlVPVkEgTE9HSUNBIFBFUiBHRVNUSVJFIElMIFRBUCBTVSBNT0JJTEUKICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgICAgICAKICAgICAgICAgICAgLy8gMS4gUmlsZXZhIHNlIMOoIHVuIGRpc3Bvc2l0aXZvIHRvdWNoCiAgICAgICAgICAgIGNvbnN0IGlzVG91Y2hEZXZpY2UgPSAoJ29udG91Y2hzdGFydCcgaW4gd2luZG93KSB8fCAobmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzID4gMCk7CgogICAgICAgICAgICBpZiAoaXNUb3VjaERldmljZSkgewogICAgICAgICAgICAgICAgY29uc3QgYWxsU2xpZGVzQXppZW5kZSA9IGF6aWVuZGVDb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgnLmNhcmQtYXppZW5kZS1udW92bycpOwoKICAgICAgICAgICAgICAgIGFsbFNsaWRlc0F6aWVuZGUuZm9yRWFjaChzbGlkZSA9PiB7CiAgICAgICAgICAgICAgICAgICAgc2xpZGUuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihldmVudCkgewogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29udHJvbGxhIHNlIGlsIGNhcm9zZWxsbyBzdGEgInN0cmlzY2lhbmRvIgogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzd2lwZXJJbnN0YW5jZSA9IGF6aWVuZGVDb250YWluZXIucXVlcnlTZWxlY3RvcignLmNhcm9zZWxsby1hemllbmRlLW51b3ZvJykuc3dpcGVyOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3dpcGVySW5zdGFuY2UgJiYgKHN3aXBlckluc3RhbmNlLmlzRHJhZ2dpbmcgfHwgc3dpcGVySW5zdGFuY2UuaXNNb3ZlZCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzQWN0aXZlID0gdGhpcy5jbGFzc0xpc3QuY29udGFpbnMoJ2lzLWFjdGl2ZScpOwogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2UgbGEgY2FyZCBOT04gw6ggYXR0aXZhIChQcmltbyBUYXApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNBY3RpdmUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDEuIFByZXZpZW5lIGxhIG5hdmlnYXppb25lIChub24gc2VndWlyZSBpbCBsaW5rKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMi4gQ2hpdWRlIHR1dHRlIGxlIGFsdHJlIGNhcmQgZXZlbnR1YWxtZW50ZSBhcGVydGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbFNsaWRlc0F6aWVuZGUuZm9yRWFjaChzID0+IHMuY2xhc3NMaXN0LnJlbW92ZSgnaXMtYWN0aXZlJykpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAzLiBBdHRpdmEgUVVFU1RBIGNhcmQgKG1vc3RyYSBpbCB0ZXN0bykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xhc3NMaXN0LmFkZCgnaXMtYWN0aXZlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNlIGxhIGNhcmQgRVJBIEdJQScgQVRUSVZBIChTZWNvbmRvIFRhcCksCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG5vbiBmYWNjaWFtbyBudWxsYS4gTCdldmVudG8gJ2NsaWNrJyBub24gdmllbmUKICAgICAgICAgICAgICAgICAgICAgICAgLy8gcHJldmVudXRvIGUgaWwgYnJvd3NlciBzZWd1aXLDoCBpbCBsaW5rIDxhPi4KICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgIC8vIExpc3RlbmVyIGFnZ2l1bnRpdm86IHNlIGwndXRlbnRlIHRhcHBhIEZVT1JJIGRhIHVuYSBjYXJkLAogICAgICAgICAgICAgICAgLy8gY2hpdWRpYW1vIHR1dHRlIGxlIGNhcmQgYXR0aXZlLgogICAgICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihldmVudCkgewogICAgICAgICAgICAgICAgICAgIC8vIENvbnRyb2xsYSBzZSBpbCB0YXJnZXQgZGVsIGNsaWNrIE5PTiDDqCB1bmEgY2FyZCBvIHVuIHN1byBmaWdsaW8KICAgICAgICAgICAgICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC5jbG9zZXN0KCcuY2FyZC1hemllbmRlLW51b3ZvJykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgYWxsU2xpZGVzQXppZW5kZS5mb3JFYWNoKHMgPT4gcy5jbGFzc0xpc3QucmVtb3ZlKCdpcy1hY3RpdmUnKSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwgdHJ1ZSk7IC8vIFVzaWFtbyAndHJ1ZScgcGVyIGxhIGZhc2UgZGkgY2FwdHVyaW5nCiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gRklORSBOVU9WQSBMT0dJQ0EgVE9VQ0gKICAgICAgICAgICAgLy8gKFN1aSBkaXNwb3NpdGl2aSBub24tdG91Y2gvZGVza3RvcCwgbm9uIHNlcnZlIEpTLiBMJ2hvdmVyIMOoIGdlc3RpdG8KICAgICAgICAgICAgLy8gZGFsIENTUyBlIGlsIGNsaWNrIHNlZ3VlIG5vcm1hbG1lbnRlIGlsIGxpbmspLgoKICAgICAgICB9CiAgICAgICAgCiAgICB9LCAxMDApOyAKfTsKPC9zY3JpcHQ+dyQ0MGJiZWZiZi0zOWY5LTQ5YWMtODY5Yy02Zjk1MWUyNjYzYTF4dwB3G2FjZi9mYXNjaWF0aXRvbG9jb250ZW50b2N0YXcbYWNmL2Zhc2NpYXRpdG9sb2NvbnRlbnRvY3RhdhAKYmFja2dyb3VuZHcLdHJhbnNwYXJlbnQLX2JhY2tncm91bmR3IGZpZWxkX2Zhc2NpYXRpdG9sb2NvbnRlbnRvY3RhXzAxBXRpdGxldwAGX3RpdGxldyBmaWVsZF9mYXNjaWF0aXRvbG9jb250ZW50b2N0YV8wMgVpbWFnZXcABl9pbWFnZXcgZmllbGRfZmFzY2lhdGl0b2xvY29udGVudG9jdGFfMDMFdGVzdG93AAZfdGVzdG93IGZpZWxkX2Zhc2NpYXRpdG9sb2NvbnRlbnRvY3RhXzA0Bm51bWVyb3cAB19udW1lcm93IGZpZWxkX2Zhc2NpYXRpdG9sb2NvbnRlbnRvY3RhXzA1CGN0YS10ZXh0dxtDT05UQUNUIFVTIFRPIEZJTkQgT1VUIE1PUkUJX2N0YS10ZXh0dx9maWVsZF9mYXNjaWF0aXRvbG9jb250ZW50b2N0YV82CGN0YS1saW5rdwwjY29udGFjdGZvcm0JX2N0YS1saW5rdx9maWVsZF9mYXNjaWF0aXRvbG9jb250ZW50b2N0YV83CWN0YS1jb2xvcncHcHJpbWFyeQpfY3RhLWNvbG9ydx9maWVsZF9mYXNjaWF0aXRvbG9jb250ZW50b2N0YV84dwB3BGF1dG93JGViM2NiNThiLTVkMzYtNDRhNi05MGJkLWY0NDdhNzhhNjAyNHh3AHceYWNmL2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3Rhdx5hY2YvZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGF2IApiYWNrZ3JvdW5kdwt0cmFuc3BhcmVudAtfYmFja2dyb3VuZHcjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDENYWxsaW5lYXRpdG9sb3cFYmxvY2sOX2FsbGluZWF0aXRvbG93JWZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzAxXzEHdGl0bGUtMXcwVGVhbSB1cCB3aXRoIFZBSUEgdG8gaGF2ZSBhIHJlZ2VuZXJhdGl2ZSBpbXBhY3QhCF90aXRsZS0xdyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8wMgx0aXRsZS0xLXNpemV3BXNtYWxsDV90aXRsZS0xLXNpemV3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzAzDXRpdGxlLTEtY29sb3J3BnZpb2xldA5fdGl0bGUtMS1jb2xvcncjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDQHdGl0bGUtMncACF90aXRsZS0ydyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8wNQx0aXRsZS0yLXNpemV3BXNtYWxsDV90aXRsZS0yLXNpemV3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzA2DXRpdGxlLTItY29sb3J3CWRhcmtncmVlbg5fdGl0bGUtMi1jb2xvcncjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDcJc2VwYXJhdG9ydwJubwpfc2VwYXJhdG9ydyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8wOA9zZXBhcmF0b3ItY29sb3J3CmxpZ2h0Z3JlZW4QX3NlcGFyYXRvci1jb2xvcncmZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDhfMDEIc3VidGl0bGV3AAlfc3VidGl0bGV3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzA5DXN1YnRpdGxlLXNpemV3Bm1lZGl1bQ5fc3VidGl0bGUtc2l6ZXcjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMTAOc3VidGl0bGUtY29sb3J3CWRhcmtncmVlbg9fc3VidGl0bGUtY29sb3J3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzExCGN0YS10ZXh0dwAJX2N0YS10ZXh0dyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8xMghjdGEtbGlua3cACV9jdGEtbGlua3cjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMTMJY3RhLWNvbG9ydwdwcmltYXJ5Cl9jdGEtY29sb3J3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzE0dwB3BGF1dG93JDllNjliNzRjLTIyZTUtNDc5MC05NmRkLWNkZTBkMmFlMmY2OXh31wE8ZmlndXJlIGNsYXNzPSJ3cC1ibG9jay1pbWFnZSBhbGlnbmNlbnRlciBzaXplLWxhcmdlIG5vbWFyZ2luLWZ1bGwiPjxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAxLzEyODB4MzAwLWF6aWVuZGUtZW4tMTAyNHgyNDAuanBnIiBhbHQ9IiIgY2xhc3M9IndwLWltYWdlLTY5NTMiIHRpdGxlPSJEb2xvbWl0aSIvPjwvZmlndXJlPncKY29yZS9pbWFnZXdPaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMS8xMjgweDMwMC1hemllbmRlLWVuLTEwMjR4MjQwLmpwZ3cAdwhEb2xvbWl0aX2pbHcFbGFyZ2V3BG5vbmV3BmNlbnRlcncNbm9tYXJnaW4tZnVsbHckMGU3YzQ0MmEtNjBjNS00OWYwLTg2YWEtNGU5YzMyYzZkYjBheHcAdx5hY2YvZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGF3HmFjZi9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YXYgCmJhY2tncm91bmR3C3RyYW5zcGFyZW50C19iYWNrZ3JvdW5kdyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8wMQ1hbGxpbmVhdGl0b2xvdwVibG9jaw5fYWxsaW5lYXRpdG9sb3clZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDFfMQd0aXRsZS0xdxxTdXN0YWluYWJpbGl0eSwgdGhlIGJlbmVmaXRzCF90aXRsZS0xdyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8wMgx0aXRsZS0xLXNpemV3BXNtYWxsDV90aXRsZS0xLXNpemV3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzAzDXRpdGxlLTEtY29sb3J3BWdyZWVuDl90aXRsZS0xLWNvbG9ydyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8wNAd0aXRsZS0ydwAIX3RpdGxlLTJ3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzA1DHRpdGxlLTItc2l6ZXcFc21hbGwNX3RpdGxlLTItc2l6ZXcjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDYNdGl0bGUtMi1jb2xvcncKbGlnaHRncmVlbg5fdGl0bGUtMi1jb2xvcncjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDcJc2VwYXJhdG9ydwJubwpfc2VwYXJhdG9ydyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8wOA9zZXBhcmF0b3ItY29sb3J3CmxpZ2h0Z3JlZW4QX3NlcGFyYXRvci1jb2xvcncmZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDhfMDEIc3VidGl0bGV37QM8cCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsiPlRoZSBjb21tb24gdGhyZWFkIHRoYXQgbGlua3MgYWxsIHRoZXNlIGFyZWFzIGlzIGFsd2F5cyBhbiBhcHByb2FjaCB0byBzdXN0YWluYWJpbGl0eSB0aGF0IGlzIG9wZW4gdG8gZXZlcnlvbmUsIGZyb20gZW1wbG95ZWVzIHRvIG1hbmFnZW1lbnQuPC9wPg0KJm5ic3A7DQo8cCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsiPjxzdHJvbmc+VGhlIGJlbmVmaXRzIGZvciB0aGUgY29tcGFueTwvc3Ryb25nPg0KLSBDb250cmlidXRlIHRvIGdvYWxzIDYgOCAxMSAxMyBhbmQgMTUgb2YgdGhlIDIwMzAgR29hbHMNCi0gQmUgYSBwb3NpdGl2ZSBleGFtcGxlIGZvciBzdGFrZWhvbGRlcnMNCi0gQmUgYW4gYWN0aXZlIGFnZW50IG9mIGVudmlyb25tZW50YWwsIHNvY2lhbCBhbmQgZXRoaWNhbCBjaGFuZ2UNCi0gQ3JlYXRlIGF3YXJlbmVzcyBhbmQgc3VzdGFpbmFibGUgYmVoYXZpb3VyIHdpdGhpbiB0aGUgY29tcGFueS48L3A+CV9zdWJ0aXRsZXcjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDkNc3VidGl0bGUtc2l6ZXcGbWVkaXVtDl9zdWJ0aXRsZS1zaXpldyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8xMA5zdWJ0aXRsZS1jb2xvcncJZGFya2dyZWVuD19zdWJ0aXRsZS1jb2xvcncjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMTEIY3RhLXRleHR3AAlfY3RhLXRleHR3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzEyCGN0YS1saW5rdwAJX2N0YS1saW5rdyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8xMwljdGEtY29sb3J3B3ByaW1hcnkKX2N0YS1jb2xvcncjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMTR3AHcEYXV0b3ckOTljMjc2M2MtZTdjZC00NmJkLWFiMWMtNTg0OTgxNWM3N2I5eHdZPGZpZ3VyZSBjbGFzcz0id3AtYmxvY2stZ2FsbGVyeSBoYXMtbmVzdGVkLWltYWdlcyBjb2x1bW5zLTUgaXMtY3JvcHBlZCI+CgoKCgoKCgo8L2ZpZ3VyZT53DGNvcmUvZ2FsbGVyeXUAdQB3BGljb251AH0FeHl4dwRub25ldwVsYXJnZXl3BGF1dG93JGFiM2M5Mzg5LTBhZmEtNDk0Mi1iMzExLWI5ZTJiNWM1NDYyN3h3qAE8ZmlndXJlIGNsYXNzPSJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlIj48aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8xMS9FLVdFQi1Hb2FsLTA2LTEwMjR4MTAyNC5wbmciIGFsdD0iIiBjbGFzcz0id3AtaW1hZ2UtMTc0ODgiLz48L2ZpZ3VyZT53CmNvcmUvaW1hZ2V3Smh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvRS1XRUItR29hbC0wNi0xMDI0eDEwMjQucG5ndwB9kJECdwVsYXJnZXcEbm9uZXckNGJlOTZlNTMtNzk5MC00MGNkLTk1YjgtYWE4ZWExZDQzOThheHeoATxmaWd1cmUgY2xhc3M9IndwLWJsb2NrLWltYWdlIHNpemUtbGFyZ2UiPjxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIyLzExL0UtV0VCLUdvYWwtMDgtMTAyNHgxMDI0LnBuZyIgYWx0PSIiIGNsYXNzPSJ3cC1pbWFnZS0xNzQ5NCIvPjwvZmlndXJlPncKY29yZS9pbWFnZXdKaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8xMS9FLVdFQi1Hb2FsLTA4LTEwMjR4MTAyNC5wbmd3AH2WkQJ3BWxhcmdldwRub25ldyQ4YWEwM2UzMS1lZTNiLTQ2ZWYtYmM0Ny0xZTI5MDI5OTY3Y2N4d6gBPGZpZ3VyZSBjbGFzcz0id3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZSI+PGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvRS1XRUItR29hbC0xMS0xMDI0eDEwMjQucG5nIiBhbHQ9IiIgY2xhc3M9IndwLWltYWdlLTE3NDkxIi8+PC9maWd1cmU+dwpjb3JlL2ltYWdld0podHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIyLzExL0UtV0VCLUdvYWwtMTEtMTAyNHgxMDI0LnBuZ3cAfZORAncFbGFyZ2V3BG5vbmV3JDc4ZTNkYTBmLTY0NDUtNDAyYy05M2QyLWRkMjMyNWIzOGRhNXh3qAE8ZmlndXJlIGNsYXNzPSJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlIj48aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8xMS9FLVdFQi1Hb2FsLTEzLTEwMjR4MTAyNC5wbmciIGFsdD0iIiBjbGFzcz0id3AtaW1hZ2UtMTc0OTciLz48L2ZpZ3VyZT53CmNvcmUvaW1hZ2V3Smh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvRS1XRUItR29hbC0xMy0xMDI0eDEwMjQucG5ndwB9mZECdwVsYXJnZXcEbm9uZXckYjI3YTRhNzctMmZjNS00MjQ3LTlkYzAtNjQxYjg0MmE2ZGE2eHeoATxmaWd1cmUgY2xhc3M9IndwLWJsb2NrLWltYWdlIHNpemUtbGFyZ2UiPjxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIyLzExL0UtV0VCLUdvYWwtMTUtMTAyNHgxMDI0LnBuZyIgYWx0PSIiIGNsYXNzPSJ3cC1pbWFnZS0xNzQ5OCIvPjwvZmlndXJlPncKY29yZS9pbWFnZXdKaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8xMS9FLVdFQi1Hb2FsLTE1LTEwMjR4MTAyNC5wbmd3AH2akQJ3BWxhcmdldwRub25ldyRhNjc1MGUzYy00Yjg0LTRlNzgtOWZhOC00ZjQwMmM4YjljZjZ4dwB3FmFjZi9zbGlkZXItdGVzdGltb25pYWx3FmFjZi9zbGlkZXItdGVzdGltb25pYWx2FgpiYWNrZ3JvdW5kdwpsaWdodGdyZWVuC19iYWNrZ3JvdW5kdxtmaWVsZF9zbGlkZXJfdGVzdGltb25pYWxfMDAHdGl0bGUtMXcRVGhlIFZBSUEgQjJCIHRlYW0IX3RpdGxlLTF3G2ZpZWxkX3NsaWRlcl90ZXN0aW1vbmlhbF8wMQ10aXRsZS0xLWNvbG9ydwZ2aW9sZXQOX3RpdGxlLTEtY29sb3J3G2ZpZWxkX3NsaWRlcl90ZXN0aW1vbmlhbF8wMw5wdWxzYW50ZV9zbGlkZXcAD19wdWxzYW50ZV9zbGlkZXcbZmllbGRfc2xpZGVyX3Rlc3RpbW9uaWFsXzA1EnB1bHNhbnRlX3NsaWRlX3VybHcAE19wdWxzYW50ZV9zbGlkZV91cmx3G2ZpZWxkX3NsaWRlcl90ZXN0aW1vbmlhbF8wNht0ZXN0aW1vbmlhbHNfMF9ub21lX2NvZ25vbWV3CEdpdXNlcHBlHF90ZXN0aW1vbmlhbHNfMF9ub21lX2NvZ25vbWV3HmZpZWxkX3NsaWRlcl90ZXN0aW1vbmlhbF8wNF8wMRp0ZXN0aW1vbmlhbHNfMF9zb3R0b3RpdG9sb3ceSGVhZCBvZiBDb3Jwb3JhdGUgUGFydG5lcnNoaXBzG190ZXN0aW1vbmlhbHNfMF9zb3R0b3RpdG9sb3chZmllbGRfc2xpZGVyX3Rlc3RpbW9uaWFsXzA0XzAxXzAxIXRlc3RpbW9uaWFsc18wX25vbWVfY29nbm9tZV9jb2xvcncGdmlvbGV0Il90ZXN0aW1vbmlhbHNfMF9ub21lX2NvZ25vbWVfY29sb3J3HmZpZWxkX3NsaWRlcl90ZXN0aW1vbmlhbF8wNF8wMhR0ZXN0aW1vbmlhbHNfMF90ZXN0b3eHAUkgYW0gb25lIG9mIHRoZSBmb3VuZGVycyBvZiBWQUlBIGFuZCB3b3JrIHdpdGggY29tcGFuaWVzIHRvIGJ1aWxkIHRoZSBmb3VuZGF0aW9ucyBmb3IgdGhlIHdvcmxkIHdlIHdhbnQgdG8gbGVhdmUgdG8gZnV0dXJlIGdlbmVyYXRpb25zLhVfdGVzdGltb25pYWxzXzBfdGVzdG93HmZpZWxkX3NsaWRlcl90ZXN0aW1vbmlhbF8wNF8wNB10ZXN0aW1vbmlhbHNfMF9pbW1hZ2luZV9zbGlkZX23Mx5fdGVzdGltb25pYWxzXzBfaW1tYWdpbmVfc2xpZGV3HmZpZWxkX3NsaWRlcl90ZXN0aW1vbmlhbF8wNF8wNQx0ZXN0aW1vbmlhbHN9AQ1fdGVzdGltb25pYWxzdxtmaWVsZF9zbGlkZXJfdGVzdGltb25pYWxfMDR3AHcEYXV0b3ckNjBmNjUxMDEtYmYzMC00OWU1LTlkYzktMzBjYjZkMDQwY2M5eHcAdwlhY2YvY2FyZHN3CWFjZi9jYXJkc3ZWB2hlYWRpbmd3DVRoZXkgY2hvc2UgdXMIX2hlYWRpbmd3E2ZpZWxkXzVlNGFiN2ZkM2EyZWYPbWFpbnRpdGxlLWNvbG9ydwZ2aW9sZXQQX21haW50aXRsZS1jb2xvcncWZmllbGRfNWU0YWI3ZmQzYTJlZl8wMApiYWNrZ3JvdW5kdwtsaWdodHllbGxvdwtfYmFja2dyb3VuZHcWZmllbGRfNWU0YWI3ZmQzYTJlZl8wMQx0aXRsZXMtY29sb3J3C3RyYW5zcGFyZW50DV90aXRsZXMtY29sb3J3FmZpZWxkXzVlNGFiN2ZkM2EyZWZfMDIOY29udGVudHMtY29sb3J3C3RyYW5zcGFyZW50D19jb250ZW50cy1jb2xvcncWZmllbGRfNWU0YWI3ZmQzYTJlZl8wMwtjYXJkcy1jb2xvcncFZ3JlZW4MX2NhcmRzLWNvbG9ydxZmaWVsZF81ZTRhYjdmZDNhMmVmXzA0D2NhcmRzXzBfaGVhZGluZ3cAEF9jYXJkc18wX2hlYWRpbmd3E2ZpZWxkXzVlMjk2NjVjNTdkNDAPY2FyZHNfMF9jb250ZW50d5gBU0RBIEJvY2NvbmkgY2hvb3NlcyBWQUlBIHRvIGVtcGhhc2lzZSB0aGUgdmFsdWUgb2Ygc3VzdGFpbmFiaWxpdHkgYnkgZ2l2aW5nIDQwMCBWQUlBIEN1YmVzIHRvIHBhcnRpY2lwYXRpbmcgbWFuYWdlcnMgb2YgdGhlIEV4ZWN1dGl2ZSBNQkEgZm9yIENocmlzdG1hcy4QX2NhcmRzXzBfY29udGVudHcTZmllbGRfNWUyOTY2NjI1N2Q0MQ1jYXJkc18wX2ltYWdlfYosDl9jYXJkc18wX2ltYWdldxNmaWVsZF81ZTI5NjY2NzU3ZDQyEWNhcmRzXzBfbGluay10ZXh0dwASX2NhcmRzXzBfbGluay10ZXh0dxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMRBjYXJkc18wX2xpbmstdXJsdwARX2NhcmRzXzBfbGluay11cmx3F2ZpZWxkXzVlMjk2NjVjNTdkNDBfMDAyEmNhcmRzXzBfbGluay1jb2xvcncJc2Vjb25kYXJ5E19jYXJkc18wX2xpbmstY29sb3J3F2ZpZWxkXzVlMjk2NjVjNTdkNDBfMDAzD2NhcmRzXzFfaGVhZGluZ3cAEF9jYXJkc18xX2hlYWRpbmd3E2ZpZWxkXzVlMjk2NjVjNTdkNDAPY2FyZHNfMV9jb250ZW50d25HaWxsZXR0ZSBob25vdXJzIGl0cyBhbWJhc3NhZG9ycyB3aXRoIFZBSUEgcHJvZHVjdHMgdG8gbGF1bmNoIHRoZSBzdXN0YWluYWJsZSBwYWNrYWdpbmcgb2YgYSBuZXcgcHJvZHVjdCBsaW5lLhBfY2FyZHNfMV9jb250ZW50dxNmaWVsZF81ZTI5NjY2MjU3ZDQxDWNhcmRzXzFfaW1hZ2V9hywOX2NhcmRzXzFfaW1hZ2V3E2ZpZWxkXzVlMjk2NjY3NTdkNDIRY2FyZHNfMV9saW5rLXRleHR3ABJfY2FyZHNfMV9saW5rLXRleHR3F2ZpZWxkXzVlMjk2NjVjNTdkNDBfMDAxEGNhcmRzXzFfbGluay11cmx3ABFfY2FyZHNfMV9saW5rLXVybHcXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDISY2FyZHNfMV9saW5rLWNvbG9ydwlzZWNvbmRhcnkTX2NhcmRzXzFfbGluay1jb2xvcncXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDMPY2FyZHNfMl9oZWFkaW5ndwAQX2NhcmRzXzJfaGVhZGluZ3cTZmllbGRfNWUyOTY2NWM1N2Q0MA9jYXJkc18yX2NvbnRlbnR33QFTb255IE11c2ljIGFuZCBNYXJjbyBNZW5nb25pIGRvbmF0ZSBWQUlBIEN1YmVzIHdpdGggdGhlIGFydGlzdCdzIHNpZ25hdHVyZSB0byB0aGUgbWFpbiBJdGFsaWFuIHJhZGlvIHN0YXRpb25zIGFuZCBwbGFudCBhIFZBSUEgZm9yZXN0IHRvIGFic29yYiB0aGUgQ08yIGVtaXNzaW9ucyBhc3NvY2lhdGVkIHdpdGggdGhlIHByb2R1Y3Rpb24gb2YgdGhlIGFsYnVtIE1hdGVyaWEoVGVycmEpLhBfY2FyZHNfMl9jb250ZW50dxNmaWVsZF81ZTI5NjY2MjU3ZDQxDWNhcmRzXzJfaW1hZ2V9jSwOX2NhcmRzXzJfaW1hZ2V3E2ZpZWxkXzVlMjk2NjY3NTdkNDIRY2FyZHNfMl9saW5rLXRleHR3ABJfY2FyZHNfMl9saW5rLXRleHR3F2ZpZWxkXzVlMjk2NjVjNTdkNDBfMDAxEGNhcmRzXzJfbGluay11cmx3ABFfY2FyZHNfMl9saW5rLXVybHcXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDISY2FyZHNfMl9saW5rLWNvbG9ydwdwcmltYXJ5E19jYXJkc18yX2xpbmstY29sb3J3F2ZpZWxkXzVlMjk2NjVjNTdkNDBfMDAzD2NhcmRzXzNfaGVhZGluZ3cAEF9jYXJkc18zX2hlYWRpbmd3E2ZpZWxkXzVlMjk2NjVjNTdkNDAPY2FyZHNfM19jb250ZW50d29OZXcgSG9sbGFuZCBkb25hdGVzIDExNTAgVkFJQSBDdWJlcyB0byBpdHMgc3Rha2Vob2xkZXJzIHRvIGNvbW11bmljYXRlIGl0cyBjb21taXRtZW50IHRvIHRoZSAyMDMwIEFnZW5kYSBnb2Fscy4QX2NhcmRzXzNfY29udGVudHcTZmllbGRfNWUyOTY2NjI1N2Q0MQ1jYXJkc18zX2ltYWdlfb4rDl9jYXJkc18zX2ltYWdldxNmaWVsZF81ZTI5NjY2NzU3ZDQyEWNhcmRzXzNfbGluay10ZXh0dwASX2NhcmRzXzNfbGluay10ZXh0dxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMRBjYXJkc18zX2xpbmstdXJsdwARX2NhcmRzXzNfbGluay11cmx3F2ZpZWxkXzVlMjk2NjVjNTdkNDBfMDAyEmNhcmRzXzNfbGluay1jb2xvcncHcHJpbWFyeRNfY2FyZHNfM19saW5rLWNvbG9ydxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMw9jYXJkc180X2hlYWRpbmd3ABBfY2FyZHNfNF9oZWFkaW5ndxNmaWVsZF81ZTI5NjY1YzU3ZDQwD2NhcmRzXzRfY29udGVudHeYAUJyb3RoZXIgc3RhcnRzIGEgMzYwwrAgc3VzdGFpbmFiaWxpdHkgam91cm5leSB3aXRoIFZBSUE6IHRyZWtraW5nLCB2aXNpdGluZyBvdXIgY3JhZnRzbWVuLCB0ZWFtIGJ1aWxkaW5nIGV4cGVyaWVuY2VzIGFuZCB0cmVlIHBsYW50aW5nIGluIHRoZSBEb2xvbWl0ZXMuEF9jYXJkc180X2NvbnRlbnR3E2ZpZWxkXzVlMjk2NjYyNTdkNDENY2FyZHNfNF9pbWFnZX2BLA5fY2FyZHNfNF9pbWFnZXcTZmllbGRfNWUyOTY2Njc1N2Q0MhFjYXJkc180X2xpbmstdGV4dHcAEl9jYXJkc180X2xpbmstdGV4dHcXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDEQY2FyZHNfNF9saW5rLXVybHcAEV9jYXJkc180X2xpbmstdXJsdxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMhJjYXJkc180X2xpbmstY29sb3J3B3ByaW1hcnkTX2NhcmRzXzRfbGluay1jb2xvcncXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDMPY2FyZHNfNV9oZWFkaW5ndwAQX2NhcmRzXzVfaGVhZGluZ3cTZmllbGRfNWUyOTY2NWM1N2Q0MA9jYXJkc181X2NvbnRlbnR3owFDYXNzYSBDZW50cmFsZSAoaW4gY29vcGVyYXRpb24gd2l0aCBWQUlBKSBjYWxjdWxhdGVzIGFuZCBhYnNvcmJlcyB0aGUgQ08yIGVtaXNzaW9ucyBvZiB0aGUgYW5udWFsIG1lZXRpbmcgZXZlbnQgYnkgcGxhbnRpbmcgMSw1MDAgdHJlZXMgKG9uZSBmb3IgZWFjaCBwYXJ0aWNpcGFudCkuEF9jYXJkc181X2NvbnRlbnR3E2ZpZWxkXzVlMjk2NjYyNTdkNDENY2FyZHNfNV9pbWFnZX2ELA5fY2FyZHNfNV9pbWFnZXcTZmllbGRfNWUyOTY2Njc1N2Q0MhFjYXJkc181X2xpbmstdGV4dHcAEl9jYXJkc181X2xpbmstdGV4dHcXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDEQY2FyZHNfNV9saW5rLXVybHcAEV9jYXJkc181X2xpbmstdXJsdxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMhJjYXJkc181X2xpbmstY29sb3J3B3ByaW1hcnkTX2NhcmRzXzVfbGluay1jb2xvcncXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDMFY2FyZHN9BgZfY2FyZHN3E2ZpZWxkXzVlMjk2NjUwNTdkM2Z3AHcEYXV0b3ckMmMxOGZmZmUtYWVjMi00NGNjLTljOTYtYmY1ZWFjNDQ1ZTdkeHcAdx5hY2YvZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGF3HmFjZi9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YXYgCmJhY2tncm91bmR3C3RyYW5zcGFyZW50C19iYWNrZ3JvdW5kdyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8wMQ1hbGxpbmVhdGl0b2xvdwVibG9jaw5fYWxsaW5lYXRpdG9sb3clZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDFfMQd0aXRsZS0xd0E8c3BhbiBpZD0iY29udGFjdGZvcm0iPldvdWxkIHlvdSBsaWtlIHRvIGJlY29tZSBhIHBhcnRuZXI\/PC9zcGFuPghfdGl0bGUtMXcjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDIMdGl0bGUtMS1zaXpldwZtZWRpdW0NX3RpdGxlLTEtc2l6ZXcjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDMNdGl0bGUtMS1jb2xvcncJZGFya2dyZWVuDl90aXRsZS0xLWNvbG9ydyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8wNAd0aXRsZS0ydwAIX3RpdGxlLTJ3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzA1DHRpdGxlLTItc2l6ZXcGbWVkaXVtDV90aXRsZS0yLXNpemV3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzA2DXRpdGxlLTItY29sb3J3CWRhcmtncmVlbg5fdGl0bGUtMi1jb2xvcncjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDcJc2VwYXJhdG9ydwN5ZXMKX3NlcGFyYXRvcncjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDgPc2VwYXJhdG9yLWNvbG9ydwZ5ZWxsb3cQX3NlcGFyYXRvci1jb2xvcncmZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDhfMDEIc3VidGl0bGV3CkNvbnRhY3QgdXMJX3N1YnRpdGxldyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8wOQ1zdWJ0aXRsZS1zaXpldwZtZWRpdW0OX3N1YnRpdGxlLXNpemV3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzEwDnN1YnRpdGxlLWNvbG9ydwlkYXJrZ3JlZW4PX3N1YnRpdGxlLWNvbG9ydyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8xMQhjdGEtdGV4dHcACV9jdGEtdGV4dHcjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMTIIY3RhLWxpbmt3AAlfY3RhLWxpbmt3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzEzCWN0YS1jb2xvcncHcHJpbWFyeQpfY3RhLWNvbG9ydyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8xNHcAdwRhdXRvdyRiOWMyMTA2Zi00YWMxLTQxMWEtYjk0Yi0xMDFhY2Y1YTk3OTR4d1JbaHVic3BvdCB0eXBlPSJmb3JtIiBwb3J0YWw9IjE0MzQxNjYxNSIgaWQ9ImJmMGQ5YjEwLTgzNWMtNGI0OS05ODhiLTBkMDJhZDFhY2I4OCJddw5jb3JlL3Nob3J0Y29kZXdSW2h1YnNwb3QgdHlwZT0iZm9ybSIgcG9ydGFsPSIxNDM0MTY2MTUiIGlkPSJiZjBkOWIxMC04MzVjLTRiNDktOTg4Yi0wZDAyYWQxYWNiODgiXXckMTM2NGI2MmQtZGVmMi00YWUwLWE2M2UtYzhmOGU0ODkxNTIyeHdLPGRpdiBzdHlsZT0iaGVpZ2h0OjEwMHB4IiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9IndwLWJsb2NrLXNwYWNlciI+PC9kaXY+dwtjb3JlL3NwYWNlcncFMTAwcHh3JGY5NWVjZDYyLTE0MTItNDhmYS05ZjZlLWUzNjNlZDlmYzE4Y3h3AHcOYWNmL2Zhc2NpYS1mYXF3DmFjZi9mYXNjaWEtZmFxdgwKYmFja2dyb3VuZHcKbGlnaHRncmVlbgtfYmFja2dyb3VuZHcTZmllbGRfZmFzY2lhLWZhcV8wMQd0aXRsZS0xdwNGQVEIX3RpdGxlLTF3E2ZpZWxkX2Zhc2NpYS1mYXFfMDIMdGl0bGUtMS1zaXpldwVzbWFsbA1fdGl0bGUtMS1zaXpldxNmaWVsZF9mYXNjaWEtZmFxXzAzDXRpdGxlLTEtY29sb3J3BnZpb2xldA5fdGl0bGUtMS1jb2xvcncTZmllbGRfZmFzY2lhLWZhcV8wNAh0ZXN0b2ZhcXfkHTxzdHJvbmc+V2hlcmUgYXJlIHRoZSBWQUlBIHRyZWVzIHBsYW50ZWQ\/PC9zdHJvbmc+IFdlIHBsYW50IHRyZWVzIHRocm91Z2hvdXQgdGhlIERvbG9taXRlcywgZnJvbSBUcmVudGlubyBBbHRvIEFkaWdlIHRvIEZyaXVsaSBWZW5lemlhIEdpdWxpYSwgZnJvbSBMb21iYXJkeSB0byBWZW5ldG8uIEluIHNvbWUgY2FzZXMsIHdlIHBsYW50IHRyZWVzIGluIGNpdGllcyB3aXRoIHRoZSBhaW0gb2YgdXJiYW4gcmVmb3Jlc3RhdGlvbi4gV2Ugb25seSBpbnRlcnZlbmUgaW4gZm9yZXN0IGFyZWFzIHdoZXJlIG5ldyB0cmVlcyBhcmUgbmVlZGVkIHRvIGFjY2VsZXJhdGUgdGhlIG5hdHVyYWwgcmVncm93dGggb2YgdGhlIGZvcmVzdCBhbmQgcHJvdGVjdCBsb2NhbCBjb21tdW5pdGllcyBmcm9tIGh5ZHJvZ2VvbG9naWNhbCByaXNrcy4NCg0KJm5ic3A7DQoNCjxzdHJvbmc+V2hpY2ggdHJlZXMgYXJlIHBsYW50ZWQgYnkgVkFJQT88L3N0cm9uZz4gRmlyLCBtYXBsZSwgbGltZSwgbGFyY2gsIGJlZWNoLCBiaXJjaCwgcm93YW4gYW5kIG90aGVyIHRyZWVzIGFyZSAgcGxhbnRlZCwgZGVwZW5kaW5nIG9uIHRoZSBpbnN0cnVjdGlvbnMgb2YgdGhlIGZvcmVzdCBhZG1pbmlzdHJhdGlvbi4gRWFjaCBuZXcgdHJlZSBjb250cmlidXRlcyB0byB0aGUgZXh0cmFvcmRpbmFyeSBiaW9kaXZlcnNpdHkgb2YgdGhlIERvbG9taXRlcy4NCg0KJm5ic3A7DQoNCjxzdHJvbmc+V2h5IGRvZXMgVkFJQSBwbGFudCB0cmVlcz88L3N0cm9uZz4gV2UgYXJlIHJlZm9yZXN0aW5nIHRoZSBhcmVhcyBhZmZlY3RlZCBieSB0aGUgVmFpYSBzdG9ybSBpbiAyMDE4IGFuZCBzZWN1cmluZyB0aGUgbGFuZC4gSW4gYWRkaXRpb24sIHRoZSBwbGFudGluZyBvZiB0cmVlcyBpcyBvZiBncmVhdCBpbXBvcnRhbmNlIGJlY2F1c2UgaXQgaXMgaW4gbGluZSB3aXRoIGdvYWxzIDExLCAxMyBhbmQgMTUgb2YgdGhlIDIwMzAgQWdlbmRhLCBoZWxwcyB0byBjb21iYXQgYW5kIG1pdGlnYXRlIHRoZSBlZmZlY3RzIG9mIGNsaW1hdGUgY2hhbmdlLCBwcm9tb3RlcyB0aGUgYmlvZGl2ZXJzaXR5IG9mIGVjb3N5c3RlbXMsIGltcHJvdmVzIGFpciBhbmQgd2F0ZXIgcXVhbGl0eSwgcHJvdGVjdHMgYW5kIHN0YWJpbGlzZXMgdGhlIHNvaWwgYW5kIGJlYXV0aWZpZXMgdGhlIGxhbmRzY2FwZSBhbmQgdGhlIHRlcnJpdG9yeS4NCg0KJm5ic3A7DQoNCjxzdHJvbmc+SG93IGFyZSB0aGUgVkFJQSBvYmplY3RzIHByb2R1Y2VkPzwvc3Ryb25nPiBFYWNoIFZBSUEgb2JqZWN0IGZvbGxvd3MgYSBsb2NhbCBhbmQgYXJ0aXNhbmFsIHN1cHBseSBjaGFpbiBsaW5rZWQgdG8gdGhlIGNpcmN1bGFyIHZhbG9yaXNhdGlvbiBvZiBhIHByZWNpb3VzIHJhdyBtYXRlcmlhbCB0aGF0IHdvdWxkIG90aGVyd2lzZSBiZSBsb3N0LiBUb2RheSBpdCBpcyB0aGUgd29vZCB0aGF0IGZlbGwgZHVyaW5nIHRoZSBWYWlhIHN0b3JtLCB0b21vcnJvdyBpdCB3aWxsIGJlIG90aGVyIHJhdyBtYXRlcmlhbHMgdG8gd2hpY2ggdmFsdWUgYW5kIGRpZ25pdHkgY2FuIGJlIHJldHVybmVkLg0KDQombmJzcDsNCg0KPHN0cm9uZz5DYW4gSSBiZWNvbWUgY2FyYm9uIG5ldXRyYWwgd2l0aCBWQUlBPzwvc3Ryb25nPiBXZSBjYW4gY2FsY3VsYXRlIHRoZSBjYXJib24gZm9vdHByaW50IG9mIHlvdXIgZXZlbnRzIHVzaW5nIGFuIGFsZ29yaXRobSB0aGF0IG1lYXN1cmVzIGV2ZXJ5IHBhcmFtZXRlciwgZnJvbSB0aGUgbW92ZW1lbnQgb2YgcGVvcGxlIHRvIHRoZSBtYXRlcmlhbHMgdXNlZC4gT25jZSBjYWxjdWxhdGVkLCB3ZSBjYW4gYWJzb3JiIHRoZSBDTzIgYXNzb2NpYXRlZCB3aXRoIHRoZSBldmVudCBieSBwbGFudGluZyBuZXcgdHJlZXMgaW4gdGhlIERvbG9taXRlcy4NCg0KJm5ic3A7DQoNCjxzdHJvbmc+SG93IGNhbiBJIGNvbGxhYm9yYXRlIHdpdGggVkFJQT88L3N0cm9uZz4gV3JpdGUgdG8gdXMgYnkgZmlsbGluZyBvdXQgb3VyIGZvcm0gb3IgY2FsbCBvdXIgY3VzdG9tZXIgc2VydmljZSBhdCArMzkzNTAxMzk1OTQ0IGZvciBtb3JlIGluZm9ybWF0aW9uLg0KDQombmJzcDsNCg0KPHN0cm9uZz5XaGF0IGNhbiBWQUlBIGRvIGZvciBjb21wYW5pZXM\/PC9zdHJvbmc+IFZBSUEncyBzZXJ2aWNlcyBmb2N1cyBvbiBjb21iYXRpbmcgY2xpbWF0ZSBjaGFuZ2UgYW5kIG9uIHRoZSB3ZWxsLWJlaW5nIG9mIHBlb3BsZS4gV2UgcHVyc3VlIHRoZXNlIHR3byBnb2FscyB3aXRoIHN1c3RhaW5hYmxlIGdpZnRzIHdpdGggYSBwb3NpdGl2ZSBpbXBhY3QsIHRlYW0gYnVpbGRpbmcgZXhwZXJpZW5jZXMsIHRyYWluaW5nIGFjdGl2aXRpZXMsIGNsaW1hdGUgbmV1dHJhbCBldmVudHMgYW5kIG11Y2ggbW9yZS4NCg0KJm5ic3A7DQoNCjxzdHJvbmc+RG9lcyBWQUlBIGNhcnJ5IG91dCBDU1IgcHJvamVjdHMgYW5kIHN1c3RhaW5hYmlsaXR5IHJlcG9ydHM\/PC9zdHJvbmc+IFByb2plY3RzIHRoYXQgYXJlIGRldmVsb3BlZCBpbiBjb29wZXJhdGlvbiB3aXRoIFZBSUEgYnJpbmcgY29uY3JldGUgYW5kIG1lYXN1cmFibGUgYmVuZWZpdHMgZm9yIGNvbXBhbmllcyBhbmQgY2FuIGJlIHJlY29nbmlzZWQgaW4gdGhlIHN1c3RhaW5hYmlsaXR5IHJlcG9ydC4NCg0KJm5ic3A7DQoNCjxzdHJvbmc+RG9lcyBWQUlBIGhhdmUgYW55IGNlcnRpZmljYXRpb25zPzwvc3Ryb25nPiBUaW1iZXIgaGFydmVzdGluZyBhbmQgcmVmb3Jlc3RhdGlvbiBpcyBjYXJyaWVkIG91dCBieSBQRUZDLWNlcnRpZmllZCBsb2NhbCBwYXJ0bmVycy4gSW4gYWRkaXRpb24sIFZBSUEgaGFzIGVtYmFya2VkIG9uIHRoZSBwYXRoIHRvIGJlY29taW5nIGEgQi1Db3JwIGJ5IDIwMjQuDQoNCiZuYnNwOw0KDQo8c3Ryb25nPldoYXQgaW1wYWN0IGNhbiB3b3JraW5nIHdpdGggVkFJQSBoYXZlIG9uIG15IHN0YWtlaG9sZGVycz88L3N0cm9uZz4gVGhlIGFjdGl2aXRpZXMgY2FycmllZCBvdXQgd2l0aCBWQUlBIHNlcnZlIHRvIGFjdGl2ZWx5IGludm9sdmUgZW1wbG95ZWVzLCBzdXBwbGllcnMgYW5kIGN1c3RvbWVycyB3aXRoIHRoZSBhaW0gb2YgY3JlYXRpbmcgYW5kIGNvbnNvbGlkYXRpbmcgYSBjdWx0dXJlIG9mIHN1c3RhaW5hYmlsaXR5IHdpdGhpbiBhbmQgb3V0c2lkZSB0aGUgY29tcGFueS4NCg0KJm5ic3A7DQoNCjxzdHJvbmc+SG93IGNhbiBJIGNvbW11bmljYXRlIG15IGNvbW1pdG1lbnQgdG8gc3VzdGFpbmFiaWxpdHk\/PC9zdHJvbmc+IFdlIGNhbiByZWluZm9yY2UgeW91ciBjb21taXRtZW50IGFuZCB0aGUgcG9zaXRpdmUgaW1wYWN0IG9mIG91ciBwYXJ0bmVyc2hpcCB3aXRoIGEgdmFyaWV0eSBvZiBjb21tdW5pY2F0aW9uIHRvb2xzOiBmcm9tIHByZXNzIHJlbGVhc2VzIHRvIHN1c3RhaW5hYmlsaXR5IHJlcG9ydHMsIGZyb20gaW50ZXJ2aWV3cyB0byBzb2NpYWwgY2hhbm5lbHMsIGZyb20gbmV3c2xldHRlcnMgdG8gbGFuZGluZyBwYWdlcywgZnJvbSB0ZXN0aW1vbmlhbHMgdG8gd29ya3Nob3BzIGFuZCBldmVuIHRoZSBjcmVhdGlvbiBvZiBwaG90b3MgYW5kIHZpZGVvcyBmb3IgZXZlcnkgb2NjYXNpb24uDQoNCiZuYnNwOw0KDQo8c3Ryb25nPkRvZXMgd29ya2luZyB3aXRoIFZBSUEgbGVhZCB0byBmdWxmaWxtZW50IG9mIEVTRyBjcml0ZXJpYSwgR1JJIHJlcG9ydGluZyBhbmQgS1BJcyBmb3IgdGhlIHN1c3RhaW5hYmlsaXR5IHJlcG9ydD88L3N0cm9uZz4gVkFJQSBvZmZlcnMgc3VwcG9ydCBpbiB0aGUgcHJlcGFyYXRpb24gb2YgaW1wYWN0IHJlcG9ydHMgYW5kIHN1c3RhaW5hYmlsaXR5IHJlcG9ydGluZyBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIG5ldyBFdXJvcGVhbiBsZWdpc2xhdGlvbiB0aGF0IHdpbGwgY29tZSBpbnRvIGZvcmNlIGluIDIwMjQuCV90ZXN0b2ZhcXcTZmllbGRfZmFzY2lhLWZhcV8wNQ5zdWJ0aXRsZS1jb2xvcncJZGFya2dyZWVuD19zdWJ0aXRsZS1jb2xvcncSZmllbGRfZmFzY2lhLWZhcV82dwB3BGF1dG93JGE4OWU0MmQzLTg4Y2UtNGNiZC04ZDY4LWEzYmViOGVjZTk0OHcHcHJldmlld3YCBnBvc3RJZH2RQAhwb3N0VHlwZXcHcHJvamVjdHckOTExYWI3YjUtMzMzOS00YjUyLWE5YzQtYTQ5YmFiYmYzMzI4dwB3G2FjZi9mYXNjaWF0aXRvbG9jb250ZW50b2N0YXcbYWNmL2Zhc2NpYXRpdG9sb2NvbnRlbnRvY3RhdhAKYmFja2dyb3VuZHcLdHJhbnNwYXJlbnQLX2JhY2tncm91bmR3IGZpZWxkX2Zhc2NpYXRpdG9sb2NvbnRlbnRvY3RhXzAxBXRpdGxldwAGX3RpdGxldyBmaWVsZF9mYXNjaWF0aXRvbG9jb250ZW50b2N0YV8wMgVpbWFnZXcABl9pbWFnZXcgZmllbGRfZmFzY2lhdGl0b2xvY29udGVudG9jdGFfMDMFdGVzdG93AAZfdGVzdG93IGZpZWxkX2Zhc2NpYXRpdG9sb2NvbnRlbnRvY3RhXzA0Bm51bWVyb3cAB19udW1lcm93IGZpZWxkX2Zhc2NpYXRpdG9sb2NvbnRlbnRvY3RhXzA1CGN0YS10ZXh0dxtDT05UQUNUIFVTIFRPIEZJTkQgT1VUIE1PUkUJX2N0YS10ZXh0dx9maWVsZF9mYXNjaWF0aXRvbG9jb250ZW50b2N0YV82CGN0YS1saW5rdwwjY29udGFjdGZvcm0JX2N0YS1saW5rdx9maWVsZF9mYXNjaWF0aXRvbG9jb250ZW50b2N0YV83CWN0YS1jb2xvcncHcHJpbWFyeQpfY3RhLWNvbG9ydx9maWVsZF9mYXNjaWF0aXRvbG9jb250ZW50b2N0YV84dwdwcmV2aWV3dwB2AgZwb3N0SWR9kUAIcG9zdFR5cGV3B3Byb2plY3R3JDNmMDcxNDljLWFlNzQtNDk3MS04N2I4LWQ4MGM2NzI3NWRmOHceYWNmL2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3Rhdx5hY2YvZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGF2IApiYWNrZ3JvdW5kdwt0cmFuc3BhcmVudAtfYmFja2dyb3VuZHcjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDENYWxsaW5lYXRpdG9sb3cFYmxvY2sOX2FsbGluZWF0aXRvbG93JWZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzAxXzEHdGl0bGUtMXcwVGVhbSB1cCB3aXRoIFZBSUEgdG8gaGF2ZSBhIHJlZ2VuZXJhdGl2ZSBpbXBhY3QhCF90aXRsZS0xdyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8wMgx0aXRsZS0xLXNpemV3BXNtYWxsDV90aXRsZS0xLXNpemV3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzAzDXRpdGxlLTEtY29sb3J3BnZpb2xldA5fdGl0bGUtMS1jb2xvcncjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDQHdGl0bGUtMncACF90aXRsZS0ydyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8wNQx0aXRsZS0yLXNpemV3BXNtYWxsDV90aXRsZS0yLXNpemV3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzA2DXRpdGxlLTItY29sb3J3CWRhcmtncmVlbg5fdGl0bGUtMi1jb2xvcncjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDcJc2VwYXJhdG9ydwJubwpfc2VwYXJhdG9ydyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8wOA9zZXBhcmF0b3ItY29sb3J3CmxpZ2h0Z3JlZW4QX3NlcGFyYXRvci1jb2xvcncmZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDhfMDEIc3VidGl0bGV3AAlfc3VidGl0bGV3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzA5DXN1YnRpdGxlLXNpemV3Bm1lZGl1bQ5fc3VidGl0bGUtc2l6ZXcjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMTAOc3VidGl0bGUtY29sb3J3CWRhcmtncmVlbg9fc3VidGl0bGUtY29sb3J3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzExCGN0YS10ZXh0dwAJX2N0YS10ZXh0dyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8xMghjdGEtbGlua3cACV9jdGEtbGlua3cjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMTMJY3RhLWNvbG9ydwdwcmltYXJ5Cl9jdGEtY29sb3J3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzE0dwdwcmV2aWV3dgIGcG9zdElkfZFACHBvc3RUeXBldwdwcm9qZWN0dyQ4YzAxNzIzZC0wMWM2LTQyNjItOWVhNC01YmI2NDZmNWRmODB31wE8ZmlndXJlIGNsYXNzPSJ3cC1ibG9jay1pbWFnZSBhbGlnbmNlbnRlciBzaXplLWxhcmdlIG5vbWFyZ2luLWZ1bGwiPjxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAxLzEyODB4MzAwLWF6aWVuZGUtZW4tMTAyNHgyNDAuanBnIiBhbHQ9IiIgY2xhc3M9IndwLWltYWdlLTY5NTMiIHRpdGxlPSJEb2xvbWl0aSIvPjwvZmlndXJlPncKY29yZS9pbWFnZXdPaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMS8xMjgweDMwMC1hemllbmRlLWVuLTEwMjR4MjQwLmpwZ3cAdwhEb2xvbWl0aX2pbHcFbGFyZ2V3BG5vbmV3BmNlbnRlcncNbm9tYXJnaW4tZnVsbHckZjE3MWYzNmEtZjg3My00N2Q5LTlkMjktYTI1MTIxMjExMzY2dwB3HmFjZi9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YXceYWNmL2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhdiAKYmFja2dyb3VuZHcLdHJhbnNwYXJlbnQLX2JhY2tncm91bmR3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzAxDWFsbGluZWF0aXRvbG93BWJsb2NrDl9hbGxpbmVhdGl0b2xvdyVmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8wMV8xB3RpdGxlLTF3HFN1c3RhaW5hYmlsaXR5LCB0aGUgYmVuZWZpdHMIX3RpdGxlLTF3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzAyDHRpdGxlLTEtc2l6ZXcFc21hbGwNX3RpdGxlLTEtc2l6ZXcjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDMNdGl0bGUtMS1jb2xvcncFZ3JlZW4OX3RpdGxlLTEtY29sb3J3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzA0B3RpdGxlLTJ3AAhfdGl0bGUtMncjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDUMdGl0bGUtMi1zaXpldwVzbWFsbA1fdGl0bGUtMi1zaXpldyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8wNg10aXRsZS0yLWNvbG9ydwpsaWdodGdyZWVuDl90aXRsZS0yLWNvbG9ydyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8wNwlzZXBhcmF0b3J3Am5vCl9zZXBhcmF0b3J3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzA4D3NlcGFyYXRvci1jb2xvcncKbGlnaHRncmVlbhBfc2VwYXJhdG9yLWNvbG9ydyZmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8wOF8wMQhzdWJ0aXRsZXftAzxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyI+VGhlIGNvbW1vbiB0aHJlYWQgdGhhdCBsaW5rcyBhbGwgdGhlc2UgYXJlYXMgaXMgYWx3YXlzIGFuIGFwcHJvYWNoIHRvIHN1c3RhaW5hYmlsaXR5IHRoYXQgaXMgb3BlbiB0byBldmVyeW9uZSwgZnJvbSBlbXBsb3llZXMgdG8gbWFuYWdlbWVudC48L3A+DQombmJzcDsNCjxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyI+PHN0cm9uZz5UaGUgYmVuZWZpdHMgZm9yIHRoZSBjb21wYW55PC9zdHJvbmc+DQotIENvbnRyaWJ1dGUgdG8gZ29hbHMgNiA4IDExIDEzIGFuZCAxNSBvZiB0aGUgMjAzMCBHb2Fscw0KLSBCZSBhIHBvc2l0aXZlIGV4YW1wbGUgZm9yIHN0YWtlaG9sZGVycw0KLSBCZSBhbiBhY3RpdmUgYWdlbnQgb2YgZW52aXJvbm1lbnRhbCwgc29jaWFsIGFuZCBldGhpY2FsIGNoYW5nZQ0KLSBDcmVhdGUgYXdhcmVuZXNzIGFuZCBzdXN0YWluYWJsZSBiZWhhdmlvdXIgd2l0aGluIHRoZSBjb21wYW55LjwvcD4JX3N1YnRpdGxldyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8wOQ1zdWJ0aXRsZS1zaXpldwZtZWRpdW0OX3N1YnRpdGxlLXNpemV3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzEwDnN1YnRpdGxlLWNvbG9ydwlkYXJrZ3JlZW4PX3N1YnRpdGxlLWNvbG9ydyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8xMQhjdGEtdGV4dHcACV9jdGEtdGV4dHcjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMTIIY3RhLWxpbmt3AAlfY3RhLWxpbmt3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzEzCWN0YS1jb2xvcncHcHJpbWFyeQpfY3RhLWNvbG9ydyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8xNHcHcHJldmlld3cAdgIGcG9zdElkfZFACHBvc3RUeXBldwdwcm9qZWN0dyQ5ZjAyN2Q1MS04ZmQ2LTQ2NTctYjc3Yi04ZGNiMWJkYjIzYmR3WTxmaWd1cmUgY2xhc3M9IndwLWJsb2NrLWdhbGxlcnkgaGFzLW5lc3RlZC1pbWFnZXMgY29sdW1ucy01IGlzLWNyb3BwZWQiPgoKCgoKCgoKPC9maWd1cmU+dwxjb3JlL2dhbGxlcnl1AHUAdwRpY29udQB9BXh5eHcEbm9uZXcFbGFyZ2V5dwRhdXRvdyQ4ZGRmM2NhNi01ZDhiLTQ4ODUtODYyZC00YmQ1Yzk1OGQ2NTd4d6gBPGZpZ3VyZSBjbGFzcz0id3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZSI+PGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvRS1XRUItR29hbC0wNi0xMDI0eDEwMjQucG5nIiBhbHQ9IiIgY2xhc3M9IndwLWltYWdlLTE3NDg4Ii8+PC9maWd1cmU+dwpjb3JlL2ltYWdld0podHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIyLzExL0UtV0VCLUdvYWwtMDYtMTAyNHgxMDI0LnBuZ3cAfZCRAncFbGFyZ2V3BG5vbmV3JDExZmM1MjQ4LTgyOTgtNDkzNi1iMzA1LWE2YjdmZTEwMjA4OHh3qAE8ZmlndXJlIGNsYXNzPSJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlIj48aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8xMS9FLVdFQi1Hb2FsLTA4LTEwMjR4MTAyNC5wbmciIGFsdD0iIiBjbGFzcz0id3AtaW1hZ2UtMTc0OTQiLz48L2ZpZ3VyZT53CmNvcmUvaW1hZ2V3Smh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvRS1XRUItR29hbC0wOC0xMDI0eDEwMjQucG5ndwB9lpECdwVsYXJnZXcEbm9uZXckMjBjNTc4ODUtYWY0Ny00ZTIwLTk4M2EtNGQ1NzAxNGIzNzRieHeoATxmaWd1cmUgY2xhc3M9IndwLWJsb2NrLWltYWdlIHNpemUtbGFyZ2UiPjxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIyLzExL0UtV0VCLUdvYWwtMTEtMTAyNHgxMDI0LnBuZyIgYWx0PSIiIGNsYXNzPSJ3cC1pbWFnZS0xNzQ5MSIvPjwvZmlndXJlPncKY29yZS9pbWFnZXdKaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8xMS9FLVdFQi1Hb2FsLTExLTEwMjR4MTAyNC5wbmd3AH2TkQJ3BWxhcmdldwRub25ldyQ3NzZiNGQxNC04ODgxLTQzNDAtYjk3OC1mMzk5NjE2OWIzZDR4d6gBPGZpZ3VyZSBjbGFzcz0id3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZSI+PGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvRS1XRUItR29hbC0xMy0xMDI0eDEwMjQucG5nIiBhbHQ9IiIgY2xhc3M9IndwLWltYWdlLTE3NDk3Ii8+PC9maWd1cmU+dwpjb3JlL2ltYWdld0podHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIyLzExL0UtV0VCLUdvYWwtMTMtMTAyNHgxMDI0LnBuZ3cAfZmRAncFbGFyZ2V3BG5vbmV3JDk2NjkxNWI0LTljZmMtNDdiZC1iOGQ2LTRjZGNiOTk2Yzg1Znh3qAE8ZmlndXJlIGNsYXNzPSJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlIj48aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8xMS9FLVdFQi1Hb2FsLTE1LTEwMjR4MTAyNC5wbmciIGFsdD0iIiBjbGFzcz0id3AtaW1hZ2UtMTc0OTgiLz48L2ZpZ3VyZT53CmNvcmUvaW1hZ2V3Smh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvRS1XRUItR29hbC0xNS0xMDI0eDEwMjQucG5ndwB9mpECdwVsYXJnZXcEbm9uZXckOTM3MjUyMmQtN2UxOC00MmI0LTkzZmEtNDM2NTE0NDQyZWZhdwB3FmFjZi9zbGlkZXItdGVzdGltb25pYWx3FmFjZi9zbGlkZXItdGVzdGltb25pYWx2FgpiYWNrZ3JvdW5kdwpsaWdodGdyZWVuC19iYWNrZ3JvdW5kdxtmaWVsZF9zbGlkZXJfdGVzdGltb25pYWxfMDAHdGl0bGUtMXcRVGhlIFZBSUEgQjJCIHRlYW0IX3RpdGxlLTF3G2ZpZWxkX3NsaWRlcl90ZXN0aW1vbmlhbF8wMQ10aXRsZS0xLWNvbG9ydwZ2aW9sZXQOX3RpdGxlLTEtY29sb3J3G2ZpZWxkX3NsaWRlcl90ZXN0aW1vbmlhbF8wMw5wdWxzYW50ZV9zbGlkZXcAD19wdWxzYW50ZV9zbGlkZXcbZmllbGRfc2xpZGVyX3Rlc3RpbW9uaWFsXzA1EnB1bHNhbnRlX3NsaWRlX3VybHcAE19wdWxzYW50ZV9zbGlkZV91cmx3G2ZpZWxkX3NsaWRlcl90ZXN0aW1vbmlhbF8wNht0ZXN0aW1vbmlhbHNfMF9ub21lX2NvZ25vbWV3CEdpdXNlcHBlHF90ZXN0aW1vbmlhbHNfMF9ub21lX2NvZ25vbWV3HmZpZWxkX3NsaWRlcl90ZXN0aW1vbmlhbF8wNF8wMRp0ZXN0aW1vbmlhbHNfMF9zb3R0b3RpdG9sb3ceSGVhZCBvZiBDb3Jwb3JhdGUgUGFydG5lcnNoaXBzG190ZXN0aW1vbmlhbHNfMF9zb3R0b3RpdG9sb3chZmllbGRfc2xpZGVyX3Rlc3RpbW9uaWFsXzA0XzAxXzAxIXRlc3RpbW9uaWFsc18wX25vbWVfY29nbm9tZV9jb2xvcncGdmlvbGV0Il90ZXN0aW1vbmlhbHNfMF9ub21lX2NvZ25vbWVfY29sb3J3HmZpZWxkX3NsaWRlcl90ZXN0aW1vbmlhbF8wNF8wMhR0ZXN0aW1vbmlhbHNfMF90ZXN0b3eHAUkgYW0gb25lIG9mIHRoZSBmb3VuZGVycyBvZiBWQUlBIGFuZCB3b3JrIHdpdGggY29tcGFuaWVzIHRvIGJ1aWxkIHRoZSBmb3VuZGF0aW9ucyBmb3IgdGhlIHdvcmxkIHdlIHdhbnQgdG8gbGVhdmUgdG8gZnV0dXJlIGdlbmVyYXRpb25zLhVfdGVzdGltb25pYWxzXzBfdGVzdG93HmZpZWxkX3NsaWRlcl90ZXN0aW1vbmlhbF8wNF8wNB10ZXN0aW1vbmlhbHNfMF9pbW1hZ2luZV9zbGlkZX23Mx5fdGVzdGltb25pYWxzXzBfaW1tYWdpbmVfc2xpZGV3HmZpZWxkX3NsaWRlcl90ZXN0aW1vbmlhbF8wNF8wNQx0ZXN0aW1vbmlhbHN9AQ1fdGVzdGltb25pYWxzdxtmaWVsZF9zbGlkZXJfdGVzdGltb25pYWxfMDR3B3ByZXZpZXd3AHYCBnBvc3RJZH2RQAhwb3N0VHlwZXcHcHJvamVjdHckMzU2NTVhNzQtZmY5Mi00YzNlLWI2MzEtYjBiMTQ4MTAxM2E1dwlhY2YvY2FyZHN3CWFjZi9jYXJkc3ZWB2hlYWRpbmd3DVRoZXkgY2hvc2UgdXMIX2hlYWRpbmd3E2ZpZWxkXzVlNGFiN2ZkM2EyZWYPbWFpbnRpdGxlLWNvbG9ydwZ2aW9sZXQQX21haW50aXRsZS1jb2xvcncWZmllbGRfNWU0YWI3ZmQzYTJlZl8wMApiYWNrZ3JvdW5kdwtsaWdodHllbGxvdwtfYmFja2dyb3VuZHcWZmllbGRfNWU0YWI3ZmQzYTJlZl8wMQx0aXRsZXMtY29sb3J3C3RyYW5zcGFyZW50DV90aXRsZXMtY29sb3J3FmZpZWxkXzVlNGFiN2ZkM2EyZWZfMDIOY29udGVudHMtY29sb3J3C3RyYW5zcGFyZW50D19jb250ZW50cy1jb2xvcncWZmllbGRfNWU0YWI3ZmQzYTJlZl8wMwtjYXJkcy1jb2xvcncFZ3JlZW4MX2NhcmRzLWNvbG9ydxZmaWVsZF81ZTRhYjdmZDNhMmVmXzA0D2NhcmRzXzBfaGVhZGluZ3cAEF9jYXJkc18wX2hlYWRpbmd3E2ZpZWxkXzVlMjk2NjVjNTdkNDAPY2FyZHNfMF9jb250ZW50d5gBU0RBIEJvY2NvbmkgY2hvb3NlcyBWQUlBIHRvIGVtcGhhc2lzZSB0aGUgdmFsdWUgb2Ygc3VzdGFpbmFiaWxpdHkgYnkgZ2l2aW5nIDQwMCBWQUlBIEN1YmVzIHRvIHBhcnRpY2lwYXRpbmcgbWFuYWdlcnMgb2YgdGhlIEV4ZWN1dGl2ZSBNQkEgZm9yIENocmlzdG1hcy4QX2NhcmRzXzBfY29udGVudHcTZmllbGRfNWUyOTY2NjI1N2Q0MQ1jYXJkc18wX2ltYWdlfYosDl9jYXJkc18wX2ltYWdldxNmaWVsZF81ZTI5NjY2NzU3ZDQyEWNhcmRzXzBfbGluay10ZXh0dwASX2NhcmRzXzBfbGluay10ZXh0dxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMRBjYXJkc18wX2xpbmstdXJsdwARX2NhcmRzXzBfbGluay11cmx3F2ZpZWxkXzVlMjk2NjVjNTdkNDBfMDAyEmNhcmRzXzBfbGluay1jb2xvcncJc2Vjb25kYXJ5E19jYXJkc18wX2xpbmstY29sb3J3F2ZpZWxkXzVlMjk2NjVjNTdkNDBfMDAzD2NhcmRzXzFfaGVhZGluZ3cAEF9jYXJkc18xX2hlYWRpbmd3E2ZpZWxkXzVlMjk2NjVjNTdkNDAPY2FyZHNfMV9jb250ZW50d25HaWxsZXR0ZSBob25vdXJzIGl0cyBhbWJhc3NhZG9ycyB3aXRoIFZBSUEgcHJvZHVjdHMgdG8gbGF1bmNoIHRoZSBzdXN0YWluYWJsZSBwYWNrYWdpbmcgb2YgYSBuZXcgcHJvZHVjdCBsaW5lLhBfY2FyZHNfMV9jb250ZW50dxNmaWVsZF81ZTI5NjY2MjU3ZDQxDWNhcmRzXzFfaW1hZ2V9hywOX2NhcmRzXzFfaW1hZ2V3E2ZpZWxkXzVlMjk2NjY3NTdkNDIRY2FyZHNfMV9saW5rLXRleHR3ABJfY2FyZHNfMV9saW5rLXRleHR3F2ZpZWxkXzVlMjk2NjVjNTdkNDBfMDAxEGNhcmRzXzFfbGluay11cmx3ABFfY2FyZHNfMV9saW5rLXVybHcXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDISY2FyZHNfMV9saW5rLWNvbG9ydwlzZWNvbmRhcnkTX2NhcmRzXzFfbGluay1jb2xvcncXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDMPY2FyZHNfMl9oZWFkaW5ndwAQX2NhcmRzXzJfaGVhZGluZ3cTZmllbGRfNWUyOTY2NWM1N2Q0MA9jYXJkc18yX2NvbnRlbnR33QFTb255IE11c2ljIGFuZCBNYXJjbyBNZW5nb25pIGRvbmF0ZSBWQUlBIEN1YmVzIHdpdGggdGhlIGFydGlzdCdzIHNpZ25hdHVyZSB0byB0aGUgbWFpbiBJdGFsaWFuIHJhZGlvIHN0YXRpb25zIGFuZCBwbGFudCBhIFZBSUEgZm9yZXN0IHRvIGFic29yYiB0aGUgQ08yIGVtaXNzaW9ucyBhc3NvY2lhdGVkIHdpdGggdGhlIHByb2R1Y3Rpb24gb2YgdGhlIGFsYnVtIE1hdGVyaWEoVGVycmEpLhBfY2FyZHNfMl9jb250ZW50dxNmaWVsZF81ZTI5NjY2MjU3ZDQxDWNhcmRzXzJfaW1hZ2V9jSwOX2NhcmRzXzJfaW1hZ2V3E2ZpZWxkXzVlMjk2NjY3NTdkNDIRY2FyZHNfMl9saW5rLXRleHR3ABJfY2FyZHNfMl9saW5rLXRleHR3F2ZpZWxkXzVlMjk2NjVjNTdkNDBfMDAxEGNhcmRzXzJfbGluay11cmx3ABFfY2FyZHNfMl9saW5rLXVybHcXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDISY2FyZHNfMl9saW5rLWNvbG9ydwdwcmltYXJ5E19jYXJkc18yX2xpbmstY29sb3J3F2ZpZWxkXzVlMjk2NjVjNTdkNDBfMDAzD2NhcmRzXzNfaGVhZGluZ3cAEF9jYXJkc18zX2hlYWRpbmd3E2ZpZWxkXzVlMjk2NjVjNTdkNDAPY2FyZHNfM19jb250ZW50d29OZXcgSG9sbGFuZCBkb25hdGVzIDExNTAgVkFJQSBDdWJlcyB0byBpdHMgc3Rha2Vob2xkZXJzIHRvIGNvbW11bmljYXRlIGl0cyBjb21taXRtZW50IHRvIHRoZSAyMDMwIEFnZW5kYSBnb2Fscy4QX2NhcmRzXzNfY29udGVudHcTZmllbGRfNWUyOTY2NjI1N2Q0MQ1jYXJkc18zX2ltYWdlfb4rDl9jYXJkc18zX2ltYWdldxNmaWVsZF81ZTI5NjY2NzU3ZDQyEWNhcmRzXzNfbGluay10ZXh0dwASX2NhcmRzXzNfbGluay10ZXh0dxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMRBjYXJkc18zX2xpbmstdXJsdwARX2NhcmRzXzNfbGluay11cmx3F2ZpZWxkXzVlMjk2NjVjNTdkNDBfMDAyEmNhcmRzXzNfbGluay1jb2xvcncHcHJpbWFyeRNfY2FyZHNfM19saW5rLWNvbG9ydxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMw9jYXJkc180X2hlYWRpbmd3ABBfY2FyZHNfNF9oZWFkaW5ndxNmaWVsZF81ZTI5NjY1YzU3ZDQwD2NhcmRzXzRfY29udGVudHeYAUJyb3RoZXIgc3RhcnRzIGEgMzYwwrAgc3VzdGFpbmFiaWxpdHkgam91cm5leSB3aXRoIFZBSUE6IHRyZWtraW5nLCB2aXNpdGluZyBvdXIgY3JhZnRzbWVuLCB0ZWFtIGJ1aWxkaW5nIGV4cGVyaWVuY2VzIGFuZCB0cmVlIHBsYW50aW5nIGluIHRoZSBEb2xvbWl0ZXMuEF9jYXJkc180X2NvbnRlbnR3E2ZpZWxkXzVlMjk2NjYyNTdkNDENY2FyZHNfNF9pbWFnZX2BLA5fY2FyZHNfNF9pbWFnZXcTZmllbGRfNWUyOTY2Njc1N2Q0MhFjYXJkc180X2xpbmstdGV4dHcAEl9jYXJkc180X2xpbmstdGV4dHcXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDEQY2FyZHNfNF9saW5rLXVybHcAEV9jYXJkc180X2xpbmstdXJsdxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMhJjYXJkc180X2xpbmstY29sb3J3B3ByaW1hcnkTX2NhcmRzXzRfbGluay1jb2xvcncXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDMPY2FyZHNfNV9oZWFkaW5ndwAQX2NhcmRzXzVfaGVhZGluZ3cTZmllbGRfNWUyOTY2NWM1N2Q0MA9jYXJkc181X2NvbnRlbnR3owFDYXNzYSBDZW50cmFsZSAoaW4gY29vcGVyYXRpb24gd2l0aCBWQUlBKSBjYWxjdWxhdGVzIGFuZCBhYnNvcmJlcyB0aGUgQ08yIGVtaXNzaW9ucyBvZiB0aGUgYW5udWFsIG1lZXRpbmcgZXZlbnQgYnkgcGxhbnRpbmcgMSw1MDAgdHJlZXMgKG9uZSBmb3IgZWFjaCBwYXJ0aWNpcGFudCkuEF9jYXJkc181X2NvbnRlbnR3E2ZpZWxkXzVlMjk2NjYyNTdkNDENY2FyZHNfNV9pbWFnZX2ELA5fY2FyZHNfNV9pbWFnZXcTZmllbGRfNWUyOTY2Njc1N2Q0MhFjYXJkc181X2xpbmstdGV4dHcAEl9jYXJkc181X2xpbmstdGV4dHcXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDEQY2FyZHNfNV9saW5rLXVybHcAEV9jYXJkc181X2xpbmstdXJsdxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMhJjYXJkc181X2xpbmstY29sb3J3B3ByaW1hcnkTX2NhcmRzXzVfbGluay1jb2xvcncXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDMFY2FyZHN9BgZfY2FyZHN3E2ZpZWxkXzVlMjk2NjUwNTdkM2Z3B3ByZXZpZXd2AgZwb3N0SWR9kUAIcG9zdFR5cGV3B3Byb2plY3R3JDgwYThlZGQxLTRjZjUtNDcwNS05ZjljLTVhYWRjOGFkYzNhYnceYWNmL2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3Rhdx5hY2YvZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGF2IApiYWNrZ3JvdW5kdwt0cmFuc3BhcmVudAtfYmFja2dyb3VuZHcjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDENYWxsaW5lYXRpdG9sb3cFYmxvY2sOX2FsbGluZWF0aXRvbG93JWZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzAxXzEHdGl0bGUtMXdBPHNwYW4gaWQ9ImNvbnRhY3Rmb3JtIj5Xb3VsZCB5b3UgbGlrZSB0byBiZWNvbWUgYSBwYXJ0bmVyPzwvc3Bhbj4IX3RpdGxlLTF3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzAyDHRpdGxlLTEtc2l6ZXcGbWVkaXVtDV90aXRsZS0xLXNpemV3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzAzDXRpdGxlLTEtY29sb3J3CWRhcmtncmVlbg5fdGl0bGUtMS1jb2xvcncjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDQHdGl0bGUtMncACF90aXRsZS0ydyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8wNQx0aXRsZS0yLXNpemV3Bm1lZGl1bQ1fdGl0bGUtMi1zaXpldyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8wNg10aXRsZS0yLWNvbG9ydwlkYXJrZ3JlZW4OX3RpdGxlLTItY29sb3J3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzA3CXNlcGFyYXRvcncDeWVzCl9zZXBhcmF0b3J3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzA4D3NlcGFyYXRvci1jb2xvcncGeWVsbG93EF9zZXBhcmF0b3ItY29sb3J3JmZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzA4XzAxCHN1YnRpdGxldwpDb250YWN0IHVzCV9zdWJ0aXRsZXcjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMDkNc3VidGl0bGUtc2l6ZXcGbWVkaXVtDl9zdWJ0aXRsZS1zaXpldyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8xMA5zdWJ0aXRsZS1jb2xvcncJZGFya2dyZWVuD19zdWJ0aXRsZS1jb2xvcncjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMTEIY3RhLXRleHR3AAlfY3RhLXRleHR3I2ZpZWxkX2Zhc2NpYXRpdG9sb3NvdHRvdGl0b2xvY3RhXzEyCGN0YS1saW5rdwAJX2N0YS1saW5rdyNmaWVsZF9mYXNjaWF0aXRvbG9zb3R0b3RpdG9sb2N0YV8xMwljdGEtY29sb3J3B3ByaW1hcnkKX2N0YS1jb2xvcncjZmllbGRfZmFzY2lhdGl0b2xvc290dG90aXRvbG9jdGFfMTR3B3ByZXZpZXd2AgZwb3N0SWR9kUAIcG9zdFR5cGV3B3Byb2plY3R3JDlmMDM1OTIwLTNiZDctNDhjOS05NDU3LWZkYzhlNjNmNzMzOHdSW2h1YnNwb3QgdHlwZT0iZm9ybSIgcG9ydGFsPSIxNDM0MTY2MTUiIGlkPSJiZjBkOWIxMC04MzVjLTRiNDktOTg4Yi0wZDAyYWQxYWNiODgiXXcOY29yZS9zaG9ydGNvZGV3UltodWJzcG90IHR5cGU9ImZvcm0iIHBvcnRhbD0iMTQzNDE2NjE1IiBpZD0iYmYwZDliMTAtODM1Yy00YjQ5LTk4OGItMGQwMmFkMWFjYjg4Il13JDJiMDlmYmQ3LTI5YjYtNDU3ZC04ZGNiLTVmNDI2ZDUzYjMyY3dLPGRpdiBzdHlsZT0iaGVpZ2h0OjEwMHB4IiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9IndwLWJsb2NrLXNwYWNlciI+PC9kaXY+dwtjb3JlL3NwYWNlcncFMTAwcHh3JDJjN2VjMmM0LWJhNTItNGExMS04NzQ0LTZjOWNmYWI5MGRhYXcAdw5hY2YvZmFzY2lhLWZhcXcOYWNmL2Zhc2NpYS1mYXF2DApiYWNrZ3JvdW5kdwpsaWdodGdyZWVuC19iYWNrZ3JvdW5kdxNmaWVsZF9mYXNjaWEtZmFxXzAxB3RpdGxlLTF3A0ZBUQhfdGl0bGUtMXcTZmllbGRfZmFzY2lhLWZhcV8wMgx0aXRsZS0xLXNpemV3BXNtYWxsDV90aXRsZS0xLXNpemV3E2ZpZWxkX2Zhc2NpYS1mYXFfMDMNdGl0bGUtMS1jb2xvcncGdmlvbGV0Dl90aXRsZS0xLWNvbG9ydxNmaWVsZF9mYXNjaWEtZmFxXzA0CHRlc3RvZmFxd+QdPHN0cm9uZz5XaGVyZSBhcmUgdGhlIFZBSUEgdHJlZXMgcGxhbnRlZD88L3N0cm9uZz4gV2UgcGxhbnQgdHJlZXMgdGhyb3VnaG91dCB0aGUgRG9sb21pdGVzLCBmcm9tIFRyZW50aW5vIEFsdG8gQWRpZ2UgdG8gRnJpdWxpIFZlbmV6aWEgR2l1bGlhLCBmcm9tIExvbWJhcmR5IHRvIFZlbmV0by4gSW4gc29tZSBjYXNlcywgd2UgcGxhbnQgdHJlZXMgaW4gY2l0aWVzIHdpdGggdGhlIGFpbSBvZiB1cmJhbiByZWZvcmVzdGF0aW9uLiBXZSBvbmx5IGludGVydmVuZSBpbiBmb3Jlc3QgYXJlYXMgd2hlcmUgbmV3IHRyZWVzIGFyZSBuZWVkZWQgdG8gYWNjZWxlcmF0ZSB0aGUgbmF0dXJhbCByZWdyb3d0aCBvZiB0aGUgZm9yZXN0IGFuZCBwcm90ZWN0IGxvY2FsIGNvbW11bml0aWVzIGZyb20gaHlkcm9nZW9sb2dpY2FsIHJpc2tzLg0KDQombmJzcDsNCg0KPHN0cm9uZz5XaGljaCB0cmVlcyBhcmUgcGxhbnRlZCBieSBWQUlBPzwvc3Ryb25nPiBGaXIsIG1hcGxlLCBsaW1lLCBsYXJjaCwgYmVlY2gsIGJpcmNoLCByb3dhbiBhbmQgb3RoZXIgdHJlZXMgYXJlICBwbGFudGVkLCBkZXBlbmRpbmcgb24gdGhlIGluc3RydWN0aW9ucyBvZiB0aGUgZm9yZXN0IGFkbWluaXN0cmF0aW9uLiBFYWNoIG5ldyB0cmVlIGNvbnRyaWJ1dGVzIHRvIHRoZSBleHRyYW9yZGluYXJ5IGJpb2RpdmVyc2l0eSBvZiB0aGUgRG9sb21pdGVzLg0KDQombmJzcDsNCg0KPHN0cm9uZz5XaHkgZG9lcyBWQUlBIHBsYW50IHRyZWVzPzwvc3Ryb25nPiBXZSBhcmUgcmVmb3Jlc3RpbmcgdGhlIGFyZWFzIGFmZmVjdGVkIGJ5IHRoZSBWYWlhIHN0b3JtIGluIDIwMTggYW5kIHNlY3VyaW5nIHRoZSBsYW5kLiBJbiBhZGRpdGlvbiwgdGhlIHBsYW50aW5nIG9mIHRyZWVzIGlzIG9mIGdyZWF0IGltcG9ydGFuY2UgYmVjYXVzZSBpdCBpcyBpbiBsaW5lIHdpdGggZ29hbHMgMTEsIDEzIGFuZCAxNSBvZiB0aGUgMjAzMCBBZ2VuZGEsIGhlbHBzIHRvIGNvbWJhdCBhbmQgbWl0aWdhdGUgdGhlIGVmZmVjdHMgb2YgY2xpbWF0ZSBjaGFuZ2UsIHByb21vdGVzIHRoZSBiaW9kaXZlcnNpdHkgb2YgZWNvc3lzdGVtcywgaW1wcm92ZXMgYWlyIGFuZCB3YXRlciBxdWFsaXR5LCBwcm90ZWN0cyBhbmQgc3RhYmlsaXNlcyB0aGUgc29pbCBhbmQgYmVhdXRpZmllcyB0aGUgbGFuZHNjYXBlIGFuZCB0aGUgdGVycml0b3J5Lg0KDQombmJzcDsNCg0KPHN0cm9uZz5Ib3cgYXJlIHRoZSBWQUlBIG9iamVjdHMgcHJvZHVjZWQ\/PC9zdHJvbmc+IEVhY2ggVkFJQSBvYmplY3QgZm9sbG93cyBhIGxvY2FsIGFuZCBhcnRpc2FuYWwgc3VwcGx5IGNoYWluIGxpbmtlZCB0byB0aGUgY2lyY3VsYXIgdmFsb3Jpc2F0aW9uIG9mIGEgcHJlY2lvdXMgcmF3IG1hdGVyaWFsIHRoYXQgd291bGQgb3RoZXJ3aXNlIGJlIGxvc3QuIFRvZGF5IGl0IGlzIHRoZSB3b29kIHRoYXQgZmVsbCBkdXJpbmcgdGhlIFZhaWEgc3Rvcm0sIHRvbW9ycm93IGl0IHdpbGwgYmUgb3RoZXIgcmF3IG1hdGVyaWFscyB0byB3aGljaCB2YWx1ZSBhbmQgZGlnbml0eSBjYW4gYmUgcmV0dXJuZWQuDQoNCiZuYnNwOw0KDQo8c3Ryb25nPkNhbiBJIGJlY29tZSBjYXJib24gbmV1dHJhbCB3aXRoIFZBSUE\/PC9zdHJvbmc+IFdlIGNhbiBjYWxjdWxhdGUgdGhlIGNhcmJvbiBmb290cHJpbnQgb2YgeW91ciBldmVudHMgdXNpbmcgYW4gYWxnb3JpdGhtIHRoYXQgbWVhc3VyZXMgZXZlcnkgcGFyYW1ldGVyLCBmcm9tIHRoZSBtb3ZlbWVudCBvZiBwZW9wbGUgdG8gdGhlIG1hdGVyaWFscyB1c2VkLiBPbmNlIGNhbGN1bGF0ZWQsIHdlIGNhbiBhYnNvcmIgdGhlIENPMiBhc3NvY2lhdGVkIHdpdGggdGhlIGV2ZW50IGJ5IHBsYW50aW5nIG5ldyB0cmVlcyBpbiB0aGUgRG9sb21pdGVzLg0KDQombmJzcDsNCg0KPHN0cm9uZz5Ib3cgY2FuIEkgY29sbGFib3JhdGUgd2l0aCBWQUlBPzwvc3Ryb25nPiBXcml0ZSB0byB1cyBieSBmaWxsaW5nIG91dCBvdXIgZm9ybSBvciBjYWxsIG91ciBjdXN0b21lciBzZXJ2aWNlIGF0ICszOTM1MDEzOTU5NDQgZm9yIG1vcmUgaW5mb3JtYXRpb24uDQoNCiZuYnNwOw0KDQo8c3Ryb25nPldoYXQgY2FuIFZBSUEgZG8gZm9yIGNvbXBhbmllcz88L3N0cm9uZz4gVkFJQSdzIHNlcnZpY2VzIGZvY3VzIG9uIGNvbWJhdGluZyBjbGltYXRlIGNoYW5nZSBhbmQgb24gdGhlIHdlbGwtYmVpbmcgb2YgcGVvcGxlLiBXZSBwdXJzdWUgdGhlc2UgdHdvIGdvYWxzIHdpdGggc3VzdGFpbmFibGUgZ2lmdHMgd2l0aCBhIHBvc2l0aXZlIGltcGFjdCwgdGVhbSBidWlsZGluZyBleHBlcmllbmNlcywgdHJhaW5pbmcgYWN0aXZpdGllcywgY2xpbWF0ZSBuZXV0cmFsIGV2ZW50cyBhbmQgbXVjaCBtb3JlLg0KDQombmJzcDsNCg0KPHN0cm9uZz5Eb2VzIFZBSUEgY2Fycnkgb3V0IENTUiBwcm9qZWN0cyBhbmQgc3VzdGFpbmFiaWxpdHkgcmVwb3J0cz88L3N0cm9uZz4gUHJvamVjdHMgdGhhdCBhcmUgZGV2ZWxvcGVkIGluIGNvb3BlcmF0aW9uIHdpdGggVkFJQSBicmluZyBjb25jcmV0ZSBhbmQgbWVhc3VyYWJsZSBiZW5lZml0cyBmb3IgY29tcGFuaWVzIGFuZCBjYW4gYmUgcmVjb2duaXNlZCBpbiB0aGUgc3VzdGFpbmFiaWxpdHkgcmVwb3J0Lg0KDQombmJzcDsNCg0KPHN0cm9uZz5Eb2VzIFZBSUEgaGF2ZSBhbnkgY2VydGlmaWNhdGlvbnM\/PC9zdHJvbmc+IFRpbWJlciBoYXJ2ZXN0aW5nIGFuZCByZWZvcmVzdGF0aW9uIGlzIGNhcnJpZWQgb3V0IGJ5IFBFRkMtY2VydGlmaWVkIGxvY2FsIHBhcnRuZXJzLiBJbiBhZGRpdGlvbiwgVkFJQSBoYXMgZW1iYXJrZWQgb24gdGhlIHBhdGggdG8gYmVjb21pbmcgYSBCLUNvcnAgYnkgMjAyNC4NCg0KJm5ic3A7DQoNCjxzdHJvbmc+V2hhdCBpbXBhY3QgY2FuIHdvcmtpbmcgd2l0aCBWQUlBIGhhdmUgb24gbXkgc3Rha2Vob2xkZXJzPzwvc3Ryb25nPiBUaGUgYWN0aXZpdGllcyBjYXJyaWVkIG91dCB3aXRoIFZBSUEgc2VydmUgdG8gYWN0aXZlbHkgaW52b2x2ZSBlbXBsb3llZXMsIHN1cHBsaWVycyBhbmQgY3VzdG9tZXJzIHdpdGggdGhlIGFpbSBvZiBjcmVhdGluZyBhbmQgY29uc29saWRhdGluZyBhIGN1bHR1cmUgb2Ygc3VzdGFpbmFiaWxpdHkgd2l0aGluIGFuZCBvdXRzaWRlIHRoZSBjb21wYW55Lg0KDQombmJzcDsNCg0KPHN0cm9uZz5Ib3cgY2FuIEkgY29tbXVuaWNhdGUgbXkgY29tbWl0bWVudCB0byBzdXN0YWluYWJpbGl0eT88L3N0cm9uZz4gV2UgY2FuIHJlaW5mb3JjZSB5b3VyIGNvbW1pdG1lbnQgYW5kIHRoZSBwb3NpdGl2ZSBpbXBhY3Qgb2Ygb3VyIHBhcnRuZXJzaGlwIHdpdGggYSB2YXJpZXR5IG9mIGNvbW11bmljYXRpb24gdG9vbHM6IGZyb20gcHJlc3MgcmVsZWFzZXMgdG8gc3VzdGFpbmFiaWxpdHkgcmVwb3J0cywgZnJvbSBpbnRlcnZpZXdzIHRvIHNvY2lhbCBjaGFubmVscywgZnJvbSBuZXdzbGV0dGVycyB0byBsYW5kaW5nIHBhZ2VzLCBmcm9tIHRlc3RpbW9uaWFscyB0byB3b3Jrc2hvcHMgYW5kIGV2ZW4gdGhlIGNyZWF0aW9uIG9mIHBob3RvcyBhbmQgdmlkZW9zIGZvciBldmVyeSBvY2Nhc2lvbi4NCg0KJm5ic3A7DQoNCjxzdHJvbmc+RG9lcyB3b3JraW5nIHdpdGggVkFJQSBsZWFkIHRvIGZ1bGZpbG1lbnQgb2YgRVNHIGNyaXRlcmlhLCBHUkkgcmVwb3J0aW5nIGFuZCBLUElzIGZvciB0aGUgc3VzdGFpbmFiaWxpdHkgcmVwb3J0Pzwvc3Ryb25nPiBWQUlBIG9mZmVycyBzdXBwb3J0IGluIHRoZSBwcmVwYXJhdGlvbiBvZiBpbXBhY3QgcmVwb3J0cyBhbmQgc3VzdGFpbmFiaWxpdHkgcmVwb3J0aW5nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgbmV3IEV1cm9wZWFuIGxlZ2lzbGF0aW9uIHRoYXQgd2lsbCBjb21lIGludG8gZm9yY2UgaW4gMjAyNC4JX3Rlc3RvZmFxdxNmaWVsZF9mYXNjaWEtZmFxXzA1DnN1YnRpdGxlLWNvbG9ydwlkYXJrZ3JlZW4PX3N1YnRpdGxlLWNvbG9ydxJmaWVsZF9mYXNjaWEtZmFxXzZ3B3ByZXZpZXd3AHYCBnBvc3RJZH2RQAhwb3N0VHlwZXcHcHJvamVjdHdRaHVic3BvdCB0eXBlPSJmb3JtIiBwb3J0YWw9IjE0MzQxNjYxNSIgaWQ9ImJmMGQ5YjEwLTgzNWMtNGI0OS05ODhiLTBkMDJhZDFhY2I4OCJdd1B1YnNwb3QgdHlwZT0iZm9ybSIgcG9ydGFsPSIxNDM0MTY2MTUiIGlkPSJiZjBkOWIxMC04MzVjLTRiNDktOTg4Yi0wZDAyYWQxYWNiODgiXXdPYnNwb3QgdHlwZT0iZm9ybSIgcG9ydGFsPSIxNDM0MTY2MTUiIGlkPSJiZjBkOWIxMC04MzVjLTRiNDktOTg4Yi0wZDAyYWQxYWNiODgiXXdOc3BvdCB0eXBlPSJmb3JtIiBwb3J0YWw9IjE0MzQxNjYxNSIgaWQ9ImJmMGQ5YjEwLTgzNWMtNGI0OS05ODhiLTBkMDJhZDFhY2I4OCJddyRlOGMwMTI5Yy04ZDc4LTRkNDItYjQ5MS05OTAxNzY0ZWE2MTZ3DmNvcmUvcGFyYWdyYXBoeXckZjVhYTczZjgtZTFjMi00ZGJmLWI0ODAtYzQzM2RiMWFhNTI1dwxjb3JlL2NvbHVtbnN4dyQzMmIwOWU5Zi01ZjVjLTRmYmMtOTQ2Yy0wNTVjM2IzNzQ4OTh4dwtjb3JlL2NvbHVtbncEZnVsbHckZWQzMTM5YmUtMjhkYi00YWQyLThiNGItODhlMTEyN2UxMTVjeHcJY29yZS9odG1sd\/WdAzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgVkFJQSDDlyBDT01QQU5JRVMg4oCUIEIyQiBMYW5kaW5nIChsZWFkIGdlbmVyYXRpb24pCiAgICAgU2luZ2xlIGJsb2NrIHRvIHBhc3RlIGludG8gYSAiQ3VzdG9tIEhUTUwiIGJsb2NrIGluIFdvcmRQcmVzcy4KICAgICBBbGwgc3R5bGVzIHNjb3BlZCB1bmRlciAjdmFpYS1iMmIuCiAgICAgRm9vdGVyIE5PVCBpbmNsdWRlZCAodXNlIHRoZSB0aGVtZSdzIGZvb3RlcikuCiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgoKPCEtLSBCcmFuZCBGb250IC0tPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vYXBpLmZvbnRzaGFyZS5jb20iIGNyb3Nzb3JpZ2luPSIiPgo8bGluayBocmVmPSJodHRwczovL2FwaS5mb250c2hhcmUuY29tL3YyL2Nzcz9mW109Y2xhc2gtZGlzcGxheUA0MDAsNTAwLDYwMCw3MDAmYW1wO2Rpc3BsYXk9c3dhcCIgcmVsPSJzdHlsZXNoZWV0Ij4KCjxkaXYgaWQ9InZhaWEtYjJiIj4KCjwhLS0gPT09PT09PT09PT09IFNUWUxFID09PT09PT09PT09PSAtLT4KPHN0eWxlPgojdmFpYS1iMmJ7CiAgLyogLS0tLSBJbnN0aXR1dGlvbmFsIFBhbGV0dGUgLS0tLSAqLwogIC0tYy1mb3Jlc3Q6IzBFM0IyNjsgICAvKiBkZWVwIGdyZWVuICAqLwogIC0tYy1ncmVlbjojMDA3QTRFOyAgICAvKiBhY3Rpb24gZ3JlZW4gICAgKi8KICAtLWMtbWludDojQzlFQ0Q5OyAgICAgLyogbGlnaHQgbWludCAgICAqLwogIC0tYy1nb2xkOiNEREMwMDA7ICAgICAvKiBnb2xkL29jaHJlICAgICAgICAqLwogIC0tYy1wYXBlcjojRjNGMEU0OyAgICAvKiBjcmVhbSAgICAgICAgICAgKi8KICAtLWMtd2luZTojNjEwRjM4OyAgICAgLyogYm9yZGVhdXggICAgICAgICovCiAgLS1jLWluazojMTAyMzFBOyAgICAgIC8qIHRleHQgb24gbGlnaHQgKi8KICAtLWMtd2hpdGU6I2ZmZmZmZjsKCiAgLS1tYXh3OjExODBweDsKICAtLXI6MThweDsgICAgICAgICAgICAgLyogY2FyZCByYWRpdXMgICAgICovCiAgLS1lYXNlOmN1YmljLWJlemllciguMiwuNywuMiwxKTsKCiAgLS1mOidDbGFzaCBEaXNwbGF5JywnSGVsdmV0aWNhIE5ldWUnLEFyaWFsLHNhbnMtc2VyaWY7CgogIGZvbnQtZmFtaWx5OnZhcigtLWYpOwogIGNvbG9yOnZhcigtLWMtaW5rKTsKICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOwogIGxpbmUtaGVpZ2h0OjEuNTsKICBmb250LXNpemU6MThweDsKfQovKiBsb2NhbCByZXNldCAqLwojdmFpYS1iMmIgKiwjdmFpYS1iMmIgKjo6YmVmb3JlLCN2YWlhLWIyYiAqOjphZnRlcntib3gtc2l6aW5nOmJvcmRlci1ib3g7fQojdmFpYS1iMmIgaDEsI3ZhaWEtYjJiIGgyLCN2YWlhLWIyYiBoMywjdmFpYS1iMmIgaDQsI3ZhaWEtYjJiIHAsI3ZhaWEtYjJiIHVsLCN2YWlhLWIyYiBmaWd1cmV7bWFyZ2luOjA7cGFkZGluZzowO30KI3ZhaWEtYjJiIHVse2xpc3Qtc3R5bGU6bm9uZTt9CiN2YWlhLWIyYiBpbWd7bWF4LXdpZHRoOjEwMCU7ZGlzcGxheTpibG9jazt9CiN2YWlhLWIyYiBhe2NvbG9yOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7fQoKLyogLS0tLSB0eXBvZ3JhcGh5IC0tLS0gKi8KI3ZhaWEtYjJiIC52Yi1leWVicm93ewogIGZvbnQtc2l6ZTouNzhyZW07Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi4xOGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsKICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6LjU1cmVtO2NvbG9yOnZhcigtLWMtZ3JlZW4pOwp9CiN2YWlhLWIyYiAudmItZXllYnJvdzo6YmVmb3Jle2NvbnRlbnQ6IiI7d2lkdGg6MjZweDtoZWlnaHQ6MnB4O2JhY2tncm91bmQ6dmFyKC0tYy1nb2xkKTtkaXNwbGF5OmlubGluZS1ibG9jazt9CiN2YWlhLWIyYiAudmItZXllYnJvdy0tbGlnaHR7Y29sb3I6dmFyKC0tYy1taW50KTt9CiN2YWlhLWIyYiAudmItZXllYnJvdy0tbGlnaHQ6OmJlZm9yZXtiYWNrZ3JvdW5kOnZhcigtLWMtZ29sZCk7fQoKI3ZhaWEtYjJiIGgyLnZiLWh7Zm9udC1zaXplOmNsYW1wKDEuOXJlbSw0LjR2dywzLjFyZW0pO2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDoxLjA1O2xldHRlci1zcGFjaW5nOi0uMDJlbTt9CiN2YWlhLWIyYiBoMy52Yi1oe2ZvbnQtc2l6ZTpjbGFtcCgxLjRyZW0sMi42dncsMnJlbSk7Zm9udC13ZWlnaHQ6NjAwO2xpbmUtaGVpZ2h0OjEuMDg7bGV0dGVyLXNwYWNpbmc6LS4wMWVtO30KI3ZhaWEtYjJiIC52Yi1sZWFke2ZvbnQtc2l6ZTpjbGFtcCgxLjAycmVtLDEuNXZ3LDEuMThyZW0pO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojMmMzZjM1O30KCi8qIC0tLS0gbGF5b3V0IC0tLS0gKi8KI3ZhaWEtYjJiIC52Yi13cmFwe21heC13aWR0aDp2YXIoLS1tYXh3KTttYXJnaW46MCBhdXRvO3BhZGRpbmc6MCAyMnB4O30KI3ZhaWEtYjJiIC52Yi1zZWN0aW9ue3BhZGRpbmc6Y2xhbXAoNTZweCw4dncsMTA0cHgpIDA7fQoKLyogIndvb2QgZ3JhaW4iIGRpdmlkZXIgKi8KI3ZhaWEtYjJiIC52Yi1zcGxpdHtoZWlnaHQ6MnB4O3dpZHRoOjEwMCU7Ym9yZGVyOjA7CiAgYmFja2dyb3VuZDpyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDkwZGVnLHZhcigtLWMtZ29sZCkgMCAxNHB4LHRyYW5zcGFyZW50IDE0cHggMjZweCk7CiAgb3BhY2l0eTouNTttYXJnaW46MDt9CgovKiAtLS0tIGJ1dHRvbnMgLS0tLSAqLwojdmFpYS1iMmIgLnZiLWJ0bnsKICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDouNXJlbTsKICBmb250LWZhbWlseTp2YXIoLS1mKTtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjFyZW07bGluZS1oZWlnaHQ6MTsKICBwYWRkaW5nOjE2cHggMjZweDtib3JkZXItcmFkaXVzOjk5OXB4O2N1cnNvcjpwb2ludGVyO2JvcmRlcjoycHggc29saWQgdHJhbnNwYXJlbnQ7CiAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE4cyB2YXIoLS1lYXNlKSxiYWNrZ3JvdW5kIC4xOHMgdmFyKC0tZWFzZSksY29sb3IgLjE4cyB2YXIoLS1lYXNlKSxib3JkZXItY29sb3IgLjE4cyB2YXIoLS1lYXNlKTsKfQojdmFpYS1iMmIgLnZiLWJ0bjpob3Zlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KTt9CiN2YWlhLWIyYiAudmItYnRuLS1wcmltYXJ5e2JhY2tncm91bmQ6dmFyKC0tYy1ncmVlbik7Y29sb3I6I2ZmZjt9CiN2YWlhLWIyYiAudmItYnRuLS1wcmltYXJ5OmhvdmVye2JhY2tncm91bmQ6IzA2NmE0NDt9CiN2YWlhLWIyYiAudmItYnRuLS1nb2xke2JhY2tncm91bmQ6dmFyKC0tYy1nb2xkKTtjb2xvcjp2YXIoLS1jLWZvcmVzdCk7fQojdmFpYS1iMmIgLnZiLWJ0bi0tZ29sZDpob3ZlcntiYWNrZ3JvdW5kOiNjOWFkMDA7fQojdmFpYS1iMmIgLnZiLWJ0bi0tZ2hvc3R7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6Y3VycmVudENvbG9yO2NvbG9yOnZhcigtLWMtZm9yZXN0KTt9CiN2YWlhLWIyYiAudmItYnRuLS1naG9zdDpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWMtZm9yZXN0KTtjb2xvcjojZmZmO2JvcmRlci1jb2xvcjp2YXIoLS1jLWZvcmVzdCk7fQojdmFpYS1iMmIgLnZiLWJ0bi0tZ2hvc3RsaWdodHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41NSk7Y29sb3I6I2ZmZjt9CiN2YWlhLWIyYiAudmItYnRuLS1naG9zdGxpZ2h0OmhvdmVye2JhY2tncm91bmQ6I2ZmZjtjb2xvcjp2YXIoLS1jLWZvcmVzdCk7Ym9yZGVyLWNvbG9yOiNmZmY7fQojdmFpYS1iMmIgLnZiLWJ0biAudmItYXJyb3d7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE4cyB2YXIoLS1lYXNlKTt9CiN2YWlhLWIyYiAudmItYnRuOmhvdmVyIC52Yi1hcnJvd3t0cmFuc2Zvcm06dHJhbnNsYXRlWCgzcHgpO30KI3ZhaWEtYjJiIC52Yi1jdGEtcm93e2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtnYXA6MTRweDt9CgovKiA9PT09PT09PT09PT09PT09PT09IEhFUk8gPT09PT09PT09PT09PT09PT09PSAqLwojdmFpYS1iMmIgLnZiLWhlcm97cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6dmFyKC0tYy1mb3Jlc3QpO2NvbG9yOiNmZmY7fQojdmFpYS1iMmIgLnZiLWhlcm9fX2Jne3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7ei1pbmRleDowO30KI3ZhaWEtYjJiIC52Yi1oZXJvX19iZyBpbWd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyO30KI3ZhaWEtYjJiIC52Yi1oZXJvX19iZzo6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowOwogIGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDE0LDU5LDM4LC42MikgMCUscmdiYSgxNCw1OSwzOCwuNzgpIDYwJSxyZ2JhKDE0LDU5LDM4LC45NikgMTAwJSk7fQojdmFpYS1iMmIgLnZiLWhlcm9fX2lubmVye3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTtwYWRkaW5nLXRvcDpjbGFtcCgxMTBweCwxNXZ3LDE2OHB4KTtwYWRkaW5nLWJvdHRvbTpjbGFtcCg0MHB4LDZ2dyw2NHB4KTttaW4taGVpZ2h0OjU0MHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OmNlbnRlcjt9CiN2YWlhLWIyYiAudmItaGVybyBoMXsKICBmb250LXNpemU6Y2xhbXAoMi40cmVtLDYuNHZ3LDQuNnJlbSk7Zm9udC13ZWlnaHQ6NjAwO2xpbmUtaGVpZ2h0Oi45OTtsZXR0ZXItc3BhY2luZzotLjAyNWVtOwogIG1heC13aWR0aDoxNmNoO21hcmdpbjouNXJlbSAwIDA7fQojdmFpYS1iMmIgLnZiLWhlcm8gaDEgZW17Zm9udC1zdHlsZTpub3JtYWw7Y29sb3I6dmFyKC0tYy1nb2xkKTt9CiN2YWlhLWIyYiAudmItaGVyb19fc3Vie21hcmdpbi10b3A6MS4zcmVtO21heC13aWR0aDo1NGNoO2ZvbnQtc2l6ZTpjbGFtcCgxLjA1cmVtLDEuN3Z3LDEuMjhyZW0pO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojZTdmM2VjO30KI3ZhaWEtYjJiIC52Yi1oZXJvIC52Yi1jdGEtcm93e21hcmdpbi10b3A6MnJlbTt9CiN2YWlhLWIyYiAudmItaGVyb19fbWljcm97bWFyZ2luLXRvcDouOXJlbTtmb250LXNpemU6Ljg4cmVtO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojY2ZlNWQ4O30KCi8qIHRydXN0IGJhZGdlcyAqLwojdmFpYS1iMmIgLnZiLXRydXN0e3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTttYXJnaW4tdG9wOmNsYW1wKDMwcHgsNXZ3LDQ2cHgpO30KI3ZhaWEtYjJiIC52Yi1iYWRnZXN7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2dhcDoxMHB4O30KI3ZhaWEtYjJiIC52Yi1iYWRnZXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6LjQ1cmVtO2ZvbnQtc2l6ZTouODJyZW07Zm9udC13ZWlnaHQ6NTAwOwogIHBhZGRpbmc6OHB4IDE0cHg7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDIwMSwyMzYsMjE3LC40KTtib3JkZXItcmFkaXVzOjk5OXB4O2NvbG9yOiNlYWZmZjQ7fQojdmFpYS1iMmIgLnZiLWJhZGdlIHN2Z3t3aWR0aDoxNHB4O2hlaWdodDoxNHB4O30KI3ZhaWEtYjJiIC52Yi1iYWRnZS0tbG9nb3tiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjA4KTt9CiN2YWlhLWIyYiAudmItYmFkZ2UtLWxvZ28gc3Zne3dpZHRoOjE2cHg7aGVpZ2h0OjIxcHg7fQoKLyogPT09PT09PT09PT09PT09PT09PSBMT0dPUyA9PT09PT09PT09PT09PT09PT09ICovCiN2YWlhLWIyYiAudmItbG9nb3N7YmFja2dyb3VuZDp2YXIoLS1jLXBhcGVyKTt9CiN2YWlhLWIyYiAudmItbG9nb3NfX2hlYWR7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOi44cmVtO2xldHRlci1zcGFjaW5nOi4xOGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsKICBjb2xvcjojNmY3ZDcyO2ZvbnQtd2VpZ2h0OjYwMDttYXJnaW4tYm90dG9tOjMwcHg7fQojdmFpYS1iMmIgLnZiLWxvZ29zX19ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDYsMWZyKTtnYXA6MTZweDthbGlnbi1pdGVtczpzdHJldGNoO30KI3ZhaWEtYjJiIC52Yi1sb2dvc19fZ3JpZCBmaWd1cmV7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI2U2ZTFjZjtib3JkZXItcmFkaXVzOjE0cHg7CiAgZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MTZweCAxNHB4O21pbi1oZWlnaHQ6OTJweDsKICB0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgdmFyKC0tZWFzZSksYm94LXNoYWRvdyAuMnMgdmFyKC0tZWFzZSk7fQojdmFpYS1iMmIgLnZiLWxvZ29zX19ncmlkIGZpZ3VyZTpob3Zlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtM3B4KTtib3gtc2hhZG93OjAgMTRweCAzMHB4IC0yMHB4IHJnYmEoMCwwLDAsLjM1KTt9CiN2YWlhLWIyYiAudmItbG9nb3NfX2dyaWQgaW1ne21heC1oZWlnaHQ6NTRweDt3aWR0aDphdXRvO29iamVjdC1maXQ6Y29udGFpbjt9CgovKiA9PT09PT09PT09PT09PT09PT09IFRFUlJJVE9SWSAvIElOVFJPID09PT09PT09PT09PT09PT09PT0gKi8KI3ZhaWEtYjJiIC52Yi1pbnRyb3tiYWNrZ3JvdW5kOnZhcigtLWMtcGFwZXIpO30KI3ZhaWEtYjJiIC52Yi1pbnRyb19faGVhZHttYXgtd2lkdGg6ODAwcHg7bWFyZ2luOjAgYXV0bzt0ZXh0LWFsaWduOmNlbnRlcjt9CiN2YWlhLWIyYiAudmItaW50cm9fX2hlYWQgLnZiLWV5ZWJyb3d7anVzdGlmeS1jb250ZW50OmNlbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O30KI3ZhaWEtYjJiIC52Yi1pbnRyb19faGVhZCBoMnttYXJnaW4tdG9wOjFyZW07fQojdmFpYS1iMmIgLnZiLWludHJvX19oZWFkIHB7bWFyZ2luLXRvcDoxcmVtO30KI3ZhaWEtYjJiIC52Yi1zdmMtY2FyZHN7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDoxOHB4O21hcmdpbi10b3A6NDZweDt9CiN2YWlhLWIyYiAudmItc3ZjLWNhcmR7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI2U2ZTFjZjtib3JkZXItcmFkaXVzOnZhcigtLXIpO292ZXJmbG93OmhpZGRlbjsKICBkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyB2YXIoLS1lYXNlKSxib3gtc2hhZG93IC4ycyB2YXIoLS1lYXNlKTt9CiN2YWlhLWIyYiAudmItc3ZjLWNhcmQ6aG92ZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTVweCk7Ym94LXNoYWRvdzowIDI2cHggNTBweCAtMjhweCByZ2JhKDAsMCwwLC40Mik7fQojdmFpYS1iMmIgLnZiLXN2Yy1jYXJkX19pbWd7YXNwZWN0LXJhdGlvOjE2LzEwO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOnZhcigtLWMtbWludCk7fQojdmFpYS1iMmIgLnZiLXN2Yy1jYXJkX19pbWcgaW1ne3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcjt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNHMgdmFyKC0tZWFzZSk7fQojdmFpYS1iMmIgLnZiLXN2Yy1jYXJkOmhvdmVyIC52Yi1zdmMtY2FyZF9faW1nIGltZ3t0cmFuc2Zvcm06c2NhbGUoMS4wNSk7fQojdmFpYS1iMmIgLnZiLXN2Yy1jYXJkX19ie3BhZGRpbmc6MjJweCAyMnB4IDI0cHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4OjE7fQojdmFpYS1iMmIgLnZiLXN2Yy1jYXJkX19iIGgze21hcmdpbi10b3A6LjVyZW07Zm9udC1zaXplOjEuMzVyZW07fQojdmFpYS1iMmIgLnZiLXN2Yy1jYXJkX19iIHB7bWFyZ2luLXRvcDouNnJlbTtmb250LXNpemU6Ljk2cmVtO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojNTI2MTVhO2ZsZXg6MTt9CiN2YWlhLWIyYiAudmItc3ZjLWNhcmRfX2xpbmt7bWFyZ2luLXRvcDoxNnB4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS1jLWdyZWVuKTtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6LjRyZW07fQojdmFpYS1iMmIgLnZiLXN2Yy1jYXJkOmhvdmVyIC52Yi1zdmMtY2FyZF9fbGluayBzcGFue3RyYW5zZm9ybTp0cmFuc2xhdGVYKDNweCk7fQojdmFpYS1iMmIgLnZiLXN2Yy1jYXJkX19saW5rIHNwYW57dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE4cyB2YXIoLS1lYXNlKTt9CgovKiA9PT09PT09PT09PT09PT09PT09IEJFTkVGSVRTID09PT09PT09PT09PT09PT09PT0gKi8KI3ZhaWEtYjJiIC52Yi1iZW57YmFja2dyb3VuZDojZmZmO30KI3ZhaWEtYjJiIC52Yi1iZW5fX2hlYWR7bWF4LXdpZHRoOjcyMHB4O30KI3ZhaWEtYjJiIC52Yi1iZW5fX2hlYWQgaDJ7bWFyZ2luLXRvcDoxcmVtO30KI3ZhaWEtYjJiIC52Yi1iZW5fX2hlYWQgcHttYXJnaW4tdG9wOjFyZW07fQojdmFpYS1iMmIgLnZiLWJlbl9fZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7Z2FwOjE4cHg7bWFyZ2luLXRvcDo0NnB4O30KI3ZhaWEtYjJiIC52Yi1iZW5fX2NhcmR7Ym9yZGVyLXJhZGl1czp2YXIoLS1yKTtwYWRkaW5nOjI4cHggMjZweDtib3JkZXI6MXB4IHNvbGlkICNlNmUxY2Y7YmFja2dyb3VuZDp2YXIoLS1jLXBhcGVyKTt9CiN2YWlhLWIyYiAudmItYmVuX19jYXJkIC52Yi1leWVicm93e21hcmdpbi1ib3R0b206LjZyZW07fQojdmFpYS1iMmIgLnZiLWJlbl9fY2FyZCBwe2ZvbnQtc2l6ZTouOTZyZW07Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiM1MjYxNWE7fQojdmFpYS1iMmIgLnZiLWJlbl9fY2hpcHN7bWFyZ2luLXRvcDoxOHB4O2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtnYXA6OHB4O30KI3ZhaWEtYjJiIC52Yi1iZW5fX2NoaXBzIGxpe2ZvbnQtc2l6ZTouODJyZW07Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOnZhcigtLWMtZm9yZXN0KTsKICBiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGRkNmMyO2JvcmRlci1yYWRpdXM6OTk5cHg7cGFkZGluZzo3cHggMTNweDt9CgovKiA9PT09PT09PT09PT09PT09PT09IFNFUlZJQ0VTID09PT09PT09PT09PT09PT09PT0gKi8KI3ZhaWEtYjJiIC52Yi1zcnZ7cG9zaXRpb246cmVsYXRpdmU7fQojdmFpYS1iMmIgLnZiLXNydi0tZm9yZXN0e2JhY2tncm91bmQ6dmFyKC0tYy1mb3Jlc3QpO2NvbG9yOiNmZmY7fQojdmFpYS1iMmIgLnZiLXNydi0tbWludHtiYWNrZ3JvdW5kOnZhcigtLWMtbWludCk7fQojdmFpYS1iMmIgLnZiLXNydi0td2luZXtiYWNrZ3JvdW5kOnZhcigtLWMtd2luZSk7Y29sb3I6I2ZmZjt9CiN2YWlhLWIyYiAudmItc3J2X19ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtnYXA6Y2xhbXAoMzBweCw1dncsNjBweCk7YWxpZ24taXRlbXM6Y2VudGVyO30KI3ZhaWEtYjJiIC52Yi1zcnZfX2dyaWQucmV2IC52Yi1zcnZfX21lZGlhe29yZGVyOjI7fQojdmFpYS1iMmIgLnZiLXNydiBwe21hcmdpbi10b3A6MS4xcmVtO30KI3ZhaWEtYjJiIC52Yi1zcnYgLnZiLWN0YS1yb3d7bWFyZ2luLXRvcDoxLjhyZW07fQojdmFpYS1iMmIgLnZiLXNydi0tZm9yZXN0IC52Yi1sZWFkLCN2YWlhLWIyYiAudmItc3J2LS13aW5lIC52Yi1sZWFke2NvbG9yOiNlM2VmZTg7fQojdmFpYS1iMmIgLnZiLXNydi0td2luZSAudmItbGVhZHtjb2xvcjojZjNkYmU3O30KCi8qIGNoZWNrIGxpc3QgKi8KI3ZhaWEtYjJiIC52Yi1jaGVja3N7bWFyZ2luLXRvcDoxLjVyZW07ZGlzcGxheTpncmlkO2dhcDoxMXB4O30KI3ZhaWEtYjJiIC52Yi1jaGVja3MgbGl7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1sZWZ0OjMwcHg7Zm9udC1zaXplOjFyZW07Zm9udC13ZWlnaHQ6NDAwO30KI3ZhaWEtYjJiIC52Yi1jaGVja3MgbGk6OmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MnB4O3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7Ym9yZGVyLXJhZGl1czo1MCU7CiAgYmFja2dyb3VuZDp2YXIoLS1jLWdvbGQpO30KI3ZhaWEtYjJiIC52Yi1jaGVja3MgbGk6OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDo2cHg7dG9wOjdweDt3aWR0aDo1cHg7aGVpZ2h0OjhweDsKICBib3JkZXI6c29saWQgdmFyKC0tYy1mb3Jlc3QpO2JvcmRlci13aWR0aDowIDJweCAycHggMDt0cmFuc2Zvcm06cm90YXRlKDQyZGVnKTt9CiN2YWlhLWIyYiAudmItc3J2LS1taW50IC52Yi1jaGVja3MgbGl7Y29sb3I6IzE2MzgyYTt9CgovKiB2aWRlbyAqLwojdmFpYS1iMmIgLnZiLXZpZGVvewogIHBvc2l0aW9uOnJlbGF0aXZlOwogIHdpZHRoOjEwMCU7CiAgcGFkZGluZy10b3A6NTYuMjUlOwogIGJvcmRlci1yYWRpdXM6dmFyKC0tcik7CiAgb3ZlcmZsb3c6aGlkZGVuOwogIGJhY2tncm91bmQ6IzBiMjQxOTsKICBib3gtc2hhZG93OjAgMjRweCA2MHB4IC0yOHB4IHJnYmEoMCwwLDAsLjU1KTsKICBkaXNwbGF5OiBmbGV4OwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KI3ZhaWEtYjJiIC52Yi12aWRlbyBpZnJhbWV7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgaW5zZXQ6MDsKICB3aWR0aDoxMDAlOwogIGhlaWdodDoxMDAlOwogIGJvcmRlcjowOwogIHRvcDogLTEwcHg7CiAgbGVmdDogLTFweDsKICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTsKICBoZWlnaHQ6IGNhbGMoMTAwJSArIDJweCk7Cn0KCi8qIHByb2R1Y3RzIGdyaWQgKi8KI3ZhaWEtYjJiIC52Yi1wcm9kc3ttYXJnaW4tdG9wOjM4cHg7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDoxNnB4O30KI3ZhaWEtYjJiIC52Yi1wcm9ke2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmFkaXVzOjE0cHg7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMDYpOwogIHRyYW5zaXRpb246dHJhbnNmb3JtIC4ycyB2YXIoLS1lYXNlKSxib3gtc2hhZG93IC4ycyB2YXIoLS1lYXNlKTt9CiN2YWlhLWIyYiAudmItcHJvZDpob3Zlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNHB4KTtib3gtc2hhZG93OjAgMjBweCA0MHB4IC0yNHB4IHJnYmEoMCwwLDAsLjQpO30KI3ZhaWEtYjJiIC52Yi1wcm9kX19pbWd7YXNwZWN0LXJhdGlvOjEvMTtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDp2YXIoLS1jLW1pbnQpO30KI3ZhaWEtYjJiIC52Yi1wcm9kX19pbWcgaW1ne3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcjt9CiN2YWlhLWIyYiAudmItcHJvZF9fYntwYWRkaW5nOjEzcHggMTRweCAxNnB4O30KI3ZhaWEtYjJiIC52Yi1wcm9kX19iIGJ7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxcmVtO2NvbG9yOnZhcigtLWMtZm9yZXN0KTtkaXNwbGF5OmJsb2NrO30KI3ZhaWEtYjJiIC52Yi1wcm9kX19iIHNwYW57Zm9udC1zaXplOi44NHJlbTtjb2xvcjojNWU2ZjYzO2ZvbnQtd2VpZ2h0OjQwMDt9CgovKiBjYXNlIHN0dWR5IGNhcmQgKi8KI3ZhaWEtYjJiIC52Yi1jYXNle2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMDcpO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMTYpO2JvcmRlci1yYWRpdXM6dmFyKC0tcik7CiAgcGFkZGluZzoyNnB4O21hcmdpbi10b3A6MjZweDt9CiN2YWlhLWIyYiAudmItc3J2LS1taW50IC52Yi1jYXNle2JhY2tncm91bmQ6I2ZmZjtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMDYpO30KI3ZhaWEtYjJiIC52Yi1jYXNlX190b3B7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTRweDt9CiN2YWlhLWIyYiAudmItY2FzZV9fbG9nb3toZWlnaHQ6MzRweDt3aWR0aDphdXRvO2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmFkaXVzOjhweDtwYWRkaW5nOjVweCA4cHg7fQojdmFpYS1iMmIgLnZiLWNhc2VfX25hbWV7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxLjA1cmVtO30KI3ZhaWEtYjJiIC52Yi1jYXNlX19zdGF0c3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LDFmcik7Z2FwOjE0cHg7bWFyZ2luLXRvcDoyMHB4O30KI3ZhaWEtYjJiIC52Yi1jYXNlX19ue2ZvbnQtc2l6ZTpjbGFtcCgxLjNyZW0sMi40dncsMS43cmVtKTtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tYy1nb2xkKTtsaW5lLWhlaWdodDoxO30KI3ZhaWEtYjJiIC52Yi1zcnYtLW1pbnQgLnZiLWNhc2VfX257Y29sb3I6dmFyKC0tYy1ncmVlbik7fQojdmFpYS1iMmIgLnZiLWNhc2VfX3Nse2ZvbnQtc2l6ZTouNzhyZW07bWFyZ2luLXRvcDouMzVyZW07b3BhY2l0eTouODI7Zm9udC13ZWlnaHQ6NDAwO30KI3ZhaWEtYjJiIC52Yi1jYXNlX19saW5re2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDouNHJlbTttYXJnaW4tdG9wOjIwcHg7Zm9udC13ZWlnaHQ6NjAwOwogIGZvbnQtc2l6ZTouOTVyZW07Y29sb3I6dmFyKC0tYy1nb2xkKTt9CiN2YWlhLWIyYiAudmItc3J2LS1taW50IC52Yi1jYXNlX19saW5re2NvbG9yOnZhcigtLWMtZ3JlZW4pO30KI3ZhaWEtYjJiIC52Yi1jYXNlX19saW5rIHNwYW57dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE4cyB2YXIoLS1lYXNlKTt9CiN2YWlhLWIyYiAudmItY2FzZV9fbGluazpob3ZlciBzcGFue3RyYW5zZm9ybTp0cmFuc2xhdGVYKDNweCk7fQoKLyogc3RyaXAgc3RhdHMgKi8KI3ZhaWEtYjJiIC52Yi1zdHJpcF9faGVhZHttYXJnaW4tdG9wOjQycHg7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOi43OHJlbTtsZXR0ZXItc3BhY2luZzouMThlbTsKICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6IzRkNjM1Njtmb250LXdlaWdodDo2MDA7fQojdmFpYS1iMmIgLnZiLXN0cmlwe2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsMWZyKTtnYXA6MTZweDttYXJnaW4tdG9wOjE4cHg7fQojdmFpYS1iMmIgLnZiLXN0cmlwX19pe3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA2KTtib3JkZXItcmFkaXVzOjE0cHg7cGFkZGluZzoxOHB4IDEycHg7fQojdmFpYS1iMmIgLnZiLXN0cmlwX19pIGJ7ZGlzcGxheTpibG9jaztmb250LXNpemU6Y2xhbXAoMS41cmVtLDN2dywycmVtKTtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tYy1ncmVlbik7bGluZS1oZWlnaHQ6MTt9CiN2YWlhLWIyYiAudmItc3RyaXBfX2kgc3BhbntkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZTouOHJlbTtjb2xvcjojNWU2ZjYzO2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW4tdG9wOi40cmVtO30KCi8qID09PT09PT09PT09PT09PT09PT0gVEVTVElNT05JQUxTID09PT09PT09PT09PT09PT09PT0gKi8KI3ZhaWEtYjJiIC52Yi10c3R7YmFja2dyb3VuZDp2YXIoLS1jLXBhcGVyKTt9CiN2YWlhLWIyYiAudmItdHN0X19ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKTtnYXA6MThweDttYXJnaW4tdG9wOjM4cHg7fQojdmFpYS1iMmIgLnZiLXRzdF9fY2FyZHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZTZlMWNmO2JvcmRlci1yYWRpdXM6dmFyKC0tcik7cGFkZGluZzoyNnB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47fQojdmFpYS1iMmIgLnZiLXRzdF9fcXtmb250LXNpemU6MS4wMnJlbTtmb250LXdlaWdodDo0MDA7Y29sb3I6IzI2MzYyZDtmbGV4OjE7fQojdmFpYS1iMmIgLnZiLXRzdF9fcTo6YmVmb3Jle2NvbnRlbnQ6IuKAnCI7Zm9udC1zaXplOjIuNHJlbTtjb2xvcjp2YXIoLS1jLWdvbGQpO2xpbmUtaGVpZ2h0OjA7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOi41cmVtO30KI3ZhaWEtYjJiIC52Yi10c3RfX3dob3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O21hcmdpbi10b3A6MjBweDt9CiN2YWlhLWIyYiAudmItdHN0X19hdnt3aWR0aDo0MnB4O2hlaWdodDo0MnB4O2JvcmRlci1yYWRpdXM6NTAlO29iamVjdC1maXQ6Y292ZXI7YmFja2dyb3VuZDp2YXIoLS1jLW1pbnQpO30KI3ZhaWEtYjJiIC52Yi10c3RfX3dobyBie2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6Ljk1cmVtO2NvbG9yOnZhcigtLWMtZm9yZXN0KTtkaXNwbGF5OmJsb2NrO30KI3ZhaWEtYjJiIC52Yi10c3RfX3dobyBzcGFue2ZvbnQtc2l6ZTouODJyZW07Y29sb3I6IzZmN2Q3Mjtmb250LXdlaWdodDo0MDA7fQoKLyogPT09PT09PT09PT09PT09PT09PSBGSU5BTCBDVEEgPT09PT09PT09PT09PT09PT09PSAqLwojdmFpYS1iMmIgLnZiLWZpbmFse2JhY2tncm91bmQ6dmFyKC0tYy1ncmVlbik7Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjt9CiN2YWlhLWIyYiAudmItZmluYWwgaDJ7bWF4LXdpZHRoOjE4Y2g7bWFyZ2luOjAgYXV0bzt9CiN2YWlhLWIyYiAudmItZmluYWwgcHttYXgtd2lkdGg6NTJjaDttYXJnaW46MS4xcmVtIGF1dG8gMDtjb2xvcjojZTZmNWVlO30KI3ZhaWEtYjJiIC52Yi1maW5hbCAudmItY3RhLXJvd3tqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi10b3A6MnJlbTt9CgovKiBDVEEgbm90ZSAqLwojdmFpYS1iMmIgLnZiLWZpbmFsX19ub3RlewogIG1hcmdpbi10b3A6MS40cmVtOwogIGZvbnQtc2l6ZTouODZyZW07CiAgY29sb3I6I2NkZWVkZTsKICBkaXNwbGF5OmZsZXg7CiAgZmxleC13cmFwOndyYXA7CiAganVzdGlmeS1jb250ZW50OmNlbnRlcjsKICBnYXA6MjBweCAyOHB4OwogIHJvdy1nYXA6MTJweDsKfQojdmFpYS1iMmIgLnZiLWZpbmFsX19ub3RlIHNwYW57CiAgZGlzcGxheTppbmxpbmUtZmxleDsKICBhbGlnbi1pdGVtczpjZW50ZXI7CiAgZ2FwOi40NXJlbTsKICB3aGl0ZS1zcGFjZTpub3dyYXA7Cn0KCi8qIGlubGluZSBmb3JtICovCiN2YWlhLWIyYiAudmItZmluYWxfX2Zvcm17bWF4LXdpZHRoOjU2MHB4O21hcmdpbjozNHB4IGF1dG8gMDtiYWNrZ3JvdW5kOnZhcigtLWMtcGFwZXIpOwogIGJvcmRlci1yYWRpdXM6MjJweDtwYWRkaW5nOjMwcHggMjhweDt0ZXh0LWFsaWduOmxlZnQ7CiAgYm94LXNoYWRvdzowIDMwcHggNzBweCAtMzRweCByZ2JhKDAsMCwwLC41KTt9CiN2YWlhLWIyYiAudmItZmluYWxfX2Zvcm0gI2hzLWZvcm0tZmluYWx7bWFyZ2luLXRvcDowO30KI3ZhaWEtYjJiICNocy1mb3JtLWZpbmFsLWZhbGxiYWNre2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6Ljk1cmVtO2NvbG9yOiM0ZjVlNTQ7fQoKLyogPT09PT09PT09PT09PT09PT09PSBGQVEgPT09PT09PT09PT09PT09PT09PSAqLwojdmFpYS1iMmIgLnZiLWZhcXtiYWNrZ3JvdW5kOnZhcigtLWMtcGFwZXIpO30KI3ZhaWEtYjJiIC52Yi1mYXFfX2xpc3R7bWF4LXdpZHRoOjgyMHB4O21hcmdpbjozOHB4IGF1dG8gMDt9CiN2YWlhLWIyYiAudmItZmFxX19pdGVte2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZGQ2YzI7fQojdmFpYS1iMmIgLnZiLWZhcV9fcXt3aWR0aDoxMDAlO3RleHQtYWxpZ246bGVmdDtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOjA7Y3Vyc29yOnBvaW50ZXI7Zm9udC1mYW1pbHk6dmFyKC0tZik7CiAgZm9udC1zaXplOmNsYW1wKDEuMDVyZW0sMS44dncsMS4ycmVtKTtmb250LXdlaWdodDo1MDA7Y29sb3I6dmFyKC0tYy1mb3Jlc3QpOwogIHBhZGRpbmc6MjJweCA0NHB4IDIycHggMDtwb3NpdGlvbjpyZWxhdGl2ZTt9CiN2YWlhLWIyYiAudmItZmFxX19xOjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjZweDt0b3A6NTAlO3dpZHRoOjEzcHg7aGVpZ2h0OjEzcHg7CiAgYm9yZGVyOnNvbGlkIHZhcigtLWMtZ3JlZW4pO2JvcmRlci13aWR0aDowIDJweCAycHggMDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNjUlKSByb3RhdGUoNDVkZWcpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4yNXMgdmFyKC0tZWFzZSk7fQojdmFpYS1iMmIgLnZiLWZhcV9faXRlbS5vcGVuIC52Yi1mYXFfX3E6OmFmdGVye3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0yNSUpIHJvdGF0ZSgtMTM1ZGVnKTt9CiN2YWlhLWIyYiAudmItZmFxX19he21heC1oZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjptYXgtaGVpZ2h0IC4zcyB2YXIoLS1lYXNlKTt9CiN2YWlhLWIyYiAudmItZmFxX19hIHB7cGFkZGluZzowIDAgMjJweDtjb2xvcjojNGY1ZTU0O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MXJlbTt9CgovKiA9PT09PT09PT09PT09PT09PT09IFNUSUNLWSBDVEEgPT09PT09PT09PT09PT09PT09PSAqLwojdmFpYS1iMmIgLnZiLXN0aWNreXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjYwO3JpZ2h0OjI0cHg7Ym90dG9tOjI0cHg7b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVuOwogIHRyYW5zZm9ybTp0cmFuc2xhdGVZKDE0cHgpO3RyYW5zaXRpb246b3BhY2l0eSAuM3MgdmFyKC0tZWFzZSksdHJhbnNmb3JtIC4zcyB2YXIoLS1lYXNlKSx2aXNpYmlsaXR5IC4zczt9CiN2YWlhLWIyYiAudmItc3RpY2t5LnNob3d7b3BhY2l0eToxO3Zpc2liaWxpdHk6dmlzaWJsZTt0cmFuc2Zvcm06bm9uZTt9CiN2YWlhLWIyYiAudmItc3RpY2t5IC52Yi1idG57Ym94LXNoYWRvdzowIDE0cHggMzRweCAtMTBweCByZ2JhKDAsMCwwLC41KTt9CgovKiA9PT09PT09PT09PT09PT09PT09IE1PREFMID09PT09PT09PT09PT09PT09PT0gKi8KI3ZhaWEtYjJiIC52Yi1tb2RhbHtwb3NpdGlvbjpmaXhlZDtpbnNldDowO3otaW5kZXg6MTAwMDtkaXNwbGF5Om5vbmU7fQojdmFpYS1iMmIgLnZiLW1vZGFsLm9wZW57ZGlzcGxheTpibG9jazt9CiN2YWlhLWIyYiAudmItbW9kYWxfX2Jke3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7YmFja2dyb3VuZDpyZ2JhKDgsMzAsMjAsLjYyKTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigzcHgpO30KI3ZhaWEtYjJiIC52Yi1tb2RhbF9fZGlhbG9ne3Bvc2l0aW9uOnJlbGF0aXZlO21heC13aWR0aDo1NjBweDt3aWR0aDpjYWxjKDEwMCUgLSAzMnB4KTttYXJnaW46NXZoIGF1dG87CiAgbWF4LWhlaWdodDo5MHZoO292ZXJmbG93OmF1dG87YmFja2dyb3VuZDp2YXIoLS1jLXBhcGVyKTtib3JkZXItcmFkaXVzOjIycHg7cGFkZGluZzozNHB4IDMycHggMzJweDsKICBib3gtc2hhZG93OjAgNDBweCA5MHB4IC0zMHB4IHJnYmEoMCwwLDAsLjYpO2FuaW1hdGlvbjp2YnBvcCAuMjhzIHZhcigtLWVhc2UpO30KQGtleWZyYW1lcyB2YnBvcHtmcm9te29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxOHB4KSBzY2FsZSguOTgpO310b3tvcGFjaXR5OjE7dHJhbnNmb3JtOm5vbmU7fX0KI3ZhaWEtYjJiIC52Yi1tb2RhbF9fY2xvc2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOjE2cHg7cmlnaHQ6MTZweDt3aWR0aDozOHB4O2hlaWdodDozOHB4O2JvcmRlci1yYWRpdXM6NTAlOwogIGJvcmRlcjowO2JhY2tncm91bmQ6I2U3ZTFjZjtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MS4zcmVtO2xpbmUtaGVpZ2h0OjE7Y29sb3I6dmFyKC0tYy1mb3Jlc3QpO30KI3ZhaWEtYjJiIC52Yi1tb2RhbF9fY2xvc2U6aG92ZXJ7YmFja2dyb3VuZDojZDlkMmJjO30KI3ZhaWEtYjJiIC52Yi1tb2RhbCBoM3ttYXJnaW4tdG9wOi42cmVtO30KI3ZhaWEtYjJiIC52Yi1tb2RhbF9faW50cm97bWFyZ2luLXRvcDouNnJlbTtjb2xvcjojNGY1ZTU0O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MXJlbTt9CiN2YWlhLWIyYiAjaHMtZm9ybS10YXJnZXR7bWFyZ2luLXRvcDoyMnB4O30KI3ZhaWEtYjJiICNocy1mb3JtLWZhbGxiYWNre21hcmdpbi10b3A6MThweDtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOi45NXJlbTtjb2xvcjojNGY1ZTU0O30KCi8qIEh1YlNwb3Qgc3R5bGluZyAqLwojdmFpYS1iMmIgLmhzLWZvcm0gZmllbGRzZXR7bWF4LXdpZHRoOjEwMCUhaW1wb3J0YW50O30KI3ZhaWEtYjJiIC5ocy1mb3JtIC5ocy1pbnB1dHt3aWR0aDoxMDAlO2JvcmRlcjoxcHggc29saWQgI2NmYzliNjtib3JkZXItcmFkaXVzOjEwcHg7cGFkZGluZzoxMXB4IDEzcHg7CiAgZm9udC1mYW1pbHk6dmFyKC0tZik7Zm9udC1zaXplOjFyZW07YmFja2dyb3VuZDojZmZmO30KI3ZhaWEtYjJiIC5ocy1mb3JtIC5ocy1pbnB1dDpmb2N1c3tvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1jLWdyZWVuKTtib3JkZXItY29sb3I6dmFyKC0tYy1ncmVlbik7fQojdmFpYS1iMmIgLmhzLWZvcm0gc2VsZWN0LmhzLWlucHV0e2hlaWdodDphdXRvO30KI3ZhaWEtYjJiIC5ocy1mb3JtIGxhYmVse2ZvbnQtd2VpZ2h0OjUwMDtmb250LXNpemU6LjlyZW07Y29sb3I6dmFyKC0tYy1mb3Jlc3QpO21hcmdpbi1ib3R0b206NXB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO30KI3ZhaWEtYjJiIC5ocy1mb3JtIC5ocy1idXR0b257YmFja2dyb3VuZDp2YXIoLS1jLWdyZWVuKSFpbXBvcnRhbnQ7Ym9yZGVyOjAhaW1wb3J0YW50O2NvbG9yOiNmZmYhaW1wb3J0YW50OwogIGZvbnQtZmFtaWx5OnZhcigtLWYpIWltcG9ydGFudDtmb250LXdlaWdodDo2MDAhaW1wb3J0YW50O2JvcmRlci1yYWRpdXM6OTk5cHghaW1wb3J0YW50O3BhZGRpbmc6MTVweCAyOHB4IWltcG9ydGFudDsKICBjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MXJlbSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTttYXJnaW4tdG9wOjhweDt9CiN2YWlhLWIyYiAuaHMtZm9ybSAuaHMtYnV0dG9uOmhvdmVye2JhY2tncm91bmQ6IzA2NmE0NCFpbXBvcnRhbnQ7fQojdmFpYS1iMmIgLmhzLWZvcm0gLmhzLWVycm9yLW1zZywjdmFpYS1iMmIgLmhzLWZvcm0gLmhzLWVycm9yLW1zZ3MgbGFiZWx7Y29sb3I6dmFyKC0tYy13aW5lKSFpbXBvcnRhbnQ7Zm9udC1zaXplOi44MnJlbTt9CiN2YWlhLWIyYiAuaHMtZm9ybSAuaHMtZm9ybS1maWVsZHttYXJnaW4tYm90dG9tOjE0cHg7fQoKLyogPT09PT09PT09PT09PT09PT09PSBSRVNQT05TSVZFID09PT09PT09PT09PT09PT09PT0gKi8KQG1lZGlhKG1heC13aWR0aDo5ODBweCl7CiAgI3ZhaWEtYjJiIC52Yi1zcnZfX2dyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjt9CiAgI3ZhaWEtYjJiIC52Yi1zcnZfX2dyaWQucmV2IC52Yi1zcnZfX21lZGlhe29yZGVyOjA7fQogICN2YWlhLWIyYiAudmItc3ZjLWNhcmRze2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7fQogICN2YWlhLWIyYiAudmItYmVuX19ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7fQogICN2YWlhLWIyYiAudmItbG9nb3NfX2dyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7fQogICN2YWlhLWIyYiAudmItdHN0X19ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO30KICAjdmFpYS1iMmIgLnZiLXN0cmlwe2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMiwxZnIpO30KfQpAbWVkaWEobWF4LXdpZHRoOjYyMHB4KXsKICAjdmFpYS1iMmJ7Zm9udC1zaXplOjE3cHg7fQogICN2YWlhLWIyYiAudmItd3JhcHtwYWRkaW5nOjAgMThweDt9CiAgI3ZhaWEtYjJiIC52Yi1oZXJvX19pbm5lcnttaW4taGVpZ2h0Ojg4dmg7bWluLWhlaWdodDo4OHN2aDtwYWRkaW5nLXRvcDoxMjhweDtwYWRkaW5nLWJvdHRvbTo0OHB4O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O30KICAjdmFpYS1iMmIgLnZiLWhlcm8gaDF7bWFyZ2luLXRvcDoxLjRyZW07fQogICN2YWlhLWIyYiAudmItaGVybyAudmItY3RhLXJvd3ttYXJnaW4tdG9wOjIuNHJlbTt9CiAgI3ZhaWEtYjJiIC52Yi10cnVzdHttYXJnaW4tdG9wOmF1dG87cGFkZGluZy10b3A6MzRweDt9CiAgI3ZhaWEtYjJiIC52Yi1wcm9kc3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsMWZyKTt9CiAgI3ZhaWEtYjJiIC52Yi1jYXNlX19zdGF0c3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjt9CiAgI3ZhaWEtYjJiIC52Yi1sb2dvc19fZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsMWZyKTt9CiAgI3ZhaWEtYjJiIC52Yi10c3RfX2dyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjt9CiAgI3ZhaWEtYjJiIC52Yi1zdGlja3l7cmlnaHQ6MTRweDtsZWZ0OjE0cHg7Ym90dG9tOjE0cHg7fQogICN2YWlhLWIyYiAudmItc3RpY2t5IC52Yi1idG57d2lkdGg6MTAwJTt9CiAgI3ZhaWEtYjJiIC52Yi1jdGEtcm93e2dhcDoxMnB4O30KICAjdmFpYS1iMmIgLnZiLWN0YS1yb3cgLnZiLWJ0bnt3aWR0aDoxMDAlO30KfQpAbWVkaWEocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2UpewogICN2YWlhLWIyYiAqe2FuaW1hdGlvbjpub25lIWltcG9ydGFudDt0cmFuc2l0aW9uOm5vbmUhaW1wb3J0YW50O30KfQo8L3N0eWxlPgoKPCEtLSA9PT09PT09PT09PT0gSEVSTyA9PT09PT09PT09PT0gLS0+CjxoZWFkZXIgY2xhc3M9InZiLWhlcm8iPgogIDxkaXYgY2xhc3M9InZiLWhlcm9fX2JnIj4KICAgIDxpbWcgc3JjPSJodHRwczovL3Byb2plY3QudmFpYS5ldS9ocy1mcy9odWJmcy9FdmVudG8lMjBBemllbmRhbGUlMjBHcnVwcG8lMjBDYXNzYSUyMENlbnRyYWxlJTIwKDEpLmpwZz93aWR0aD0xNjAwJmFtcDtuYW1lPUV2ZW50byUyMEF6aWVuZGFsZSUyMEdydXBwbyUyMENhc3NhJTIwQ2VudHJhbGUlMjAoMSkuanBnIiBhbHQ9IkNvcnBvcmF0ZSB0ZWFtIHBsYW50aW5nIHRyZWVzIGluIHRoZSBEb2xvbWl0ZXMgd2l0aCBWQUlBIj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJ2Yi13cmFwIHZiLWhlcm9fX2lubmVyIj4KICAgIDxzcGFuIGNsYXNzPSJ2Yi1leWVicm93IHZiLWV5ZWJyb3ctLWxpZ2h0Ij5WQUlBIMOXIENvbXBhbmllczwvc3Bhbj4KICAgIDxoMT5Zb3VyIGNvbXBhbnnigJlzIHN1c3RhaW5hYmlsaXR5IGRlc2VydmVzIHRvIGJlIHNlZW4sIGZlbHQsIGFuZCByZW1lbWJlcmVkLjwvaDE+CiAgICA8cCBjbGFzcz0idmItaGVyb19fc3ViIj5XaXRoIFZBSUEsIHlvdSB0dXJuIHlvdXIgY29tbWl0bWVudCBpbnRvIHJlYWwgcmVnZW5lcmF0aW9uIHByb2plY3RzIOKAlCBmcm9tIHN1c3RhaW5hYmxlIGNvcnBvcmF0ZSBnaWZ0cyB0byB0ZWFtLWJ1aWxkaW5nIGV4cGVyaWVuY2VzIGluIHRoZSBEb2xvbWl0ZXMsIHRvIHRhaWxvci1tYWRlIEVTRyBwYXJ0bmVyc2hpcHMuPC9wPgogICAgPGRpdiBjbGFzcz0idmItY3RhLXJvdyI+CiAgICAgIDxidXR0b24gY2xhc3M9InZiLWJ0biB2Yi1idG4tLWdvbGQiIGRhdGEtdmItb3Blbj0iY29udGF0dG8iPkdldCBpbiB0b3VjaCA8c3BhbiBjbGFzcz0idmItYXJyb3ciPuKGkjwvc3Bhbj48L2J1dHRvbj4KICAgICAgPGJ1dHRvbiBjbGFzcz0idmItYnRuIHZiLWJ0bi0tZ2hvc3RsaWdodCIgZGF0YS12Yi1vcGVuPSJjYXRhbG9nbyI+RG93bmxvYWQgdGhlIGdpZnQgY2F0YWxvZ3VlPC9idXR0b24+CiAgICA8L2Rpdj4KICAgIDxwIGNsYXNzPSJ2Yi1oZXJvX19taWNybyI+Tm8gb2JsaWdhdGlvbiDCtyBGYXN0IHJlc3BvbnNlPC9wPgoKICAgIDxkaXYgY2xhc3M9InZiLXRydXN0Ij4KICAgICAgPGRpdiBjbGFzcz0idmItYmFkZ2VzIj4KICAgICAgICA8c3BhbiBjbGFzcz0idmItYmFkZ2UgdmItYmFkZ2UtLWxvZ28iIHRpdGxlPSJDZXJ0aWZpZWQgQiBDb3Jwb3JhdGlvbiI+CiAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAzMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjIxIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTEiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNiI+PC9jaXJjbGU+PHBhdGggZD0iTTkgN2g0LjRjMS45IDAgMyAxIDMgMi41IDAgMS4yLS43IDEuOS0xLjYgMi4yIDEuMS4zIDIgMSAyIDIuNUMxNi44IDE4IDE1LjUgMTkgMTMuNCAxOUg5Vjd6bTIuMSA0LjZoMmMuOSAwIDEuNC0uNCAxLjQtMS4yIDAtLjctLjUtMS4xLTEuNC0xLjFoLTJ2Mi4zem0wIDUuNWgyLjFjMSAwIDEuNS0uNSAxLjUtMS4zIDAtLjgtLjYtMS4zLTEuNi0xLjNoLTJ2Mi42eiIgZmlsbD0iY3VycmVudENvbG9yIj48L3BhdGg+PHBhdGggZD0iTTEyIDIzdjYiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNiI+PC9wYXRoPjwvc3ZnPgogICAgICAgICAgQ2VydGlmaWVkIEImbmJzcDtDb3JwCiAgICAgICAgPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJ2Yi1iYWRnZSI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIGQ9Ik0yMCA2IDkgMTdsLTUtNSI+PC9wYXRoPjwvc3ZnPiBQRUZDIENlcnRpZmllZCBTdXBwbHkgQ2hhaW48L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9InZiLWJhZGdlIj48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHBhdGggZD0iTTIwIDYgOSAxN2wtNS01Ij48L3BhdGg+PC9zdmc+IEJlbmVmaXQgQ29ycG9yYXRpb248L3NwYW4+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CjwvaGVhZGVyPgoKPCEtLSA9PT09PT09PT09PT0gTE9HT1MgPT09PT09PT09PT09IC0tPgo8c2VjdGlvbiBjbGFzcz0idmItbG9nb3MgdmItc2VjdGlvbiIgYXJpYS1sYWJlbD0iQ29tcGFuaWVzIHRoYXQgY2hvc2UgVkFJQSI+CiAgPGRpdiBjbGFzcz0idmItd3JhcCI+CiAgICA8cCBjbGFzcz0idmItbG9nb3NfX2hlYWQiPlRoZXkgYWxyZWFkeSBjaG9zZSBWQUlBPC9wPgogICAgPGRpdiBjbGFzcz0idmItbG9nb3NfX2dyaWQiPgogICAgICA8ZmlndXJlPjxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA2L1ZBSUEtQ29tcGFuaWVzLVRyYW5zcC1Mb2dvLTMucG5nIiBhbHQ9IlZBSUEgcGFydG5lciBjb21wYW55IiBsb2FkaW5nPSJsYXp5Ij48L2ZpZ3VyZT4KICAgICAgPGZpZ3VyZT48aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9WQUlBLUNvbXBhbmllcy1UcmFuc3AtTG9nby01LnBuZyIgYWx0PSJWQUlBIHBhcnRuZXIgY29tcGFueSIgbG9hZGluZz0ibGF6eSI+PC9maWd1cmU+CiAgICAgIDxmaWd1cmU+PGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDYvVkFJQS1Db21wYW5pZXMtVHJhbnNwLUxvZ28tNC5wbmciIGFsdD0iVkFJQSBwYXJ0bmVyIGNvbXBhbnkiIGxvYWRpbmc9ImxhenkiPjwvZmlndXJlPgogICAgICA8ZmlndXJlPjxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA2L1ZBSUEtQ29tcGFuaWVzLVRyYW5zcC1Mb2dvLTEucG5nIiBhbHQ9IlZBSUEgcGFydG5lciBjb21wYW55IiBsb2FkaW5nPSJsYXp5Ij48L2ZpZ3VyZT4KICAgICAgPGZpZ3VyZT48aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9Tb255X011c2ljX0xvZ28ucG5nIiBhbHQ9IlNvbnkgTXVzaWMiIGxvYWRpbmc9ImxhenkiPjwvZmlndXJlPgogICAgICA8ZmlndXJlPjxpbWcgc3JjPSJodHRwczovL3d3dy5zYWxvbmVzcmkuaXQvMjAyMS93cC1jb250ZW50L3VwbG9hZHMvc2l0ZXMvMTUvMjAyMS8wNy9wb3NpdGl2by1jb21wYXR0b0AzeC5wbmciIGFsdD0iR3J1cHBvIENhc3NhIENlbnRyYWxlIiBsb2FkaW5nPSJsYXp5Ij48L2ZpZ3VyZT4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+CjxociBjbGFzcz0idmItc3BsaXQiPgoKPCEtLSA9PT09PT09PT09PT0gVEVSUklUT1JZIFNFQ1RJT04gPT09PT09PT09PT09IC0tPgo8c2VjdGlvbiBjbGFzcz0idmItaW50cm8gdmItc2VjdGlvbiIgc3R5bGU9ImJhY2tncm91bmQ6I2ZmZjsiPgogIDxkaXYgY2xhc3M9InZiLXdyYXAiPgogICAgPGRpdiBjbGFzcz0idmItaW50cm9fX2hlYWQiIHN0eWxlPSJtYXgtd2lkdGg6ODYwcHg7Ij4KICAgICAgPGgyIGNsYXNzPSJ2Yi1oIj5FdmVyeSB0ZXJyaXRvcnkgaGFzIGEgc3RvcnkuIFdlIHR1cm4gaXQgaW50byB2YWx1ZS48L2gyPgogICAgICA8cCBjbGFzcz0idmItbGVhZCIgc3R5bGU9Im1hcmdpbi10b3A6MS4ycmVtOyI+VGhlIERvbG9taXRlcywgdGhlIG9saXZlIGdyb3ZlcyBvZiBQdWdsaWEsIHBsYWNlcyByaWNoIGluIGhpc3RvcnkgYW5kIGNyYWZ0c21hbnNoaXA6IFZBSUEgc3RhcnRzIGZyb20gdGhlIHBvdGVudGlhbCBvZiBlYWNoIHRlcnJpdG9yeSB0byBidWlsZCBjb25jcmV0ZSBhbmQgbWVhc3VyYWJsZSBjb3Jwb3JhdGUgc3VzdGFpbmFiaWxpdHkgcHJvamVjdHMuIFdlIHJlY292ZXIgbWF0ZXJpYWxzLCBlbnRydXN0IHRoZW0gdG8gbG9jYWwgYXJ0aXNhbnMsIGludm9sdmUgY29tcGFuaWVzIGxpa2UgeW91cnMsIGFuZCBnaXZlIHZhbHVlIGJhY2sgdG8gY29tbXVuaXRpZXMgd2l0aCBzb21ldGhpbmcgcHJlY2lvdXMgdG8gb2ZmZXIuPC9wPgogICAgICA8cCBjbGFzcz0idmItbGVhZCIgc3R5bGU9Im1hcmdpbi10b3A6MXJlbTsiPldoZW4geW91IHdvcmsgd2l0aCBWQUlBLCB5b3VyIGNvbW1pdG1lbnQgZG9lc27igJl0IGFkZCB0byBhIGdlbmVyaWMgZWZmb3J0LiBJdCBjb25uZWN0cyB0byByZWFsIHBlb3BsZSwgdG8gYSBwcmVjaXNlIHBsYWNlIG9uIHRoZSBtYXAsIHRvIGFuIGltcGFjdCB0aGF0IGV4aXN0cyBhbmQgY2FuIGJlIHRvbGQuPC9wPgogICAgPC9kaXY+CgogICAgPGRpdiBzdHlsZT0iZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMjBweCwgMWZyKSk7Z2FwOjE4cHg7bWFyZ2luLXRvcDo0NnB4OyI+CiAgICAgIDxkaXYgY2xhc3M9InZiLWJlbl9fY2FyZCIgc3R5bGU9ImJhY2tncm91bmQ6dmFyKC0tYy1wYXBlcik7Ij4KICAgICAgICA8c3BhbiBjbGFzcz0idmItZXllYnJvdyI+V2UgUmVjb3Zlcjwvc3Bhbj4KICAgICAgICA8cCBzdHlsZT0ibWFyZ2luLXRvcDouNnJlbTsiPk1hdGVyaWFscyBmcm9tIHRlcnJpdG9yaWVzIHdpdGggYSBzdG9yeSB0byB0ZWxsPC9wPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmItYmVuX19jYXJkIiBzdHlsZT0iYmFja2dyb3VuZDp2YXIoLS1jLXBhcGVyKTsiPgogICAgICAgIDxzcGFuIGNsYXNzPSJ2Yi1leWVicm93Ij5XZSBUcmFuc2Zvcm08L3NwYW4+CiAgICAgICAgPHAgc3R5bGU9Im1hcmdpbi10b3A6LjZyZW07Ij5UaHJvdWdoIGxvY2FsIGFydGlzYW4gc3VwcGx5IGNoYWluczwvcD4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InZiLWJlbl9fY2FyZCIgc3R5bGU9ImJhY2tncm91bmQ6dmFyKC0tYy1wYXBlcik7Ij4KICAgICAgICA8c3BhbiBjbGFzcz0idmItZXllYnJvdyI+V2UgRW5nYWdlPC9zcGFuPgogICAgICAgIDxwIHN0eWxlPSJtYXJnaW4tdG9wOi42cmVtOyI+Q29tcGFuaWVzLCBwZW9wbGUgYW5kIGNvbW11bml0aWVzPC9wPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmItYmVuX19jYXJkIiBzdHlsZT0iYmFja2dyb3VuZDp2YXIoLS1jLXBhcGVyKTsiPgogICAgICAgIDxzcGFuIGNsYXNzPSJ2Yi1leWVicm93Ij5XZSBSZWdlbmVyYXRlPC9zcGFuPgogICAgICAgIDxwIHN0eWxlPSJtYXJnaW4tdG9wOi42cmVtOyI+RWNvc3lzdGVtcywgdGVycml0b3JpZXMgYW5kIGxvY2FsIGNvbW11bml0aWVzPC9wPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+CjxociBjbGFzcz0idmItc3BsaXQiPgoKPCEtLSA9PT09PT09PT09PT0gU0VSVklDRVMgT1ZFUlZJRVcgPT09PT09PT09PT09IC0tPgo8c2VjdGlvbiBjbGFzcz0idmItaW50cm8gdmItc2VjdGlvbiI+CiAgPGRpdiBjbGFzcz0idmItd3JhcCI+CiAgICA8ZGl2IGNsYXNzPSJ2Yi1pbnRyb19faGVhZCI+CiAgICAgIDxzcGFuIGNsYXNzPSJ2Yi1leWVicm93Ij5TZXJ2aWNlcyBmb3IgQ29tcGFuaWVzPC9zcGFuPgogICAgICA8aDIgY2xhc3M9InZiLWgiPlRocmVlIGNvbmNyZXRlIHdheXMgdG8gdHVybiB5b3VyIGNvbW1pdG1lbnQgaW50byByZWFsIGltcGFjdC48L2gyPgogICAgICA8cCBjbGFzcz0idmItbGVhZCI+RnJvbSBjb3Jwb3JhdGUgZ2lmdHMgdG8gc3BlY2lhbCBwcm9qZWN0cywgd2Ugc3VwcG9ydCB5b3VyIGNvbXBhbnkgaW4gY3JlYXRpbmcgaW5pdGlhdGl2ZXMgdGhhdCBnZW5lcmF0ZSB2YWx1ZSBmb3IgcGVvcGxlLCB0aGUgdGVycml0b3J5LCBhbmQgdGhlIGVudmlyb25tZW50LiBDb25jcmV0ZSwgbWVhc3VyYWJsZSBwcm9qZWN0cyB0aGF0IGludGVncmF0ZSBpbnRvIHlvdXIgc3VzdGFpbmFiaWxpdHkgam91cm5leSBhbmQgY3JlYXRlIHZhbHVlIGZvciBjbGllbnRzLCBlbXBsb3llZXMsIGFuZCBzdGFrZWhvbGRlcnMuPC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJ2Yi1zdmMtY2FyZHMiPgogICAgICA8YSBjbGFzcz0idmItc3ZjLWNhcmQiIGhyZWY9IiNjb3Jwb3JhdGUtZ2lmdHMiPgogICAgICAgIDxkaXYgY2xhc3M9InZiLXN2Yy1jYXJkX19pbWciPjxpbWcgc3JjPSJodHRwczovLzE0MzQxNjYxNS5mczEuaHVic3BvdHVzZXJjb250ZW50LWV1MS5uZXQvaHViZnMvMTQzNDE2NjE1LzY2NzEyNmQxMzk1NjFkMzEzN2I0N2Q1ODkwZjM3YzQyLnBuZyIgYWx0PSJWQUlBIENvcnBvcmF0ZSBHaWZ0cyIgbG9hZGluZz0ibGF6eSI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idmItc3ZjLWNhcmRfX2IiPgogICAgICAgICAgPHNwYW4gY2xhc3M9InZiLWV5ZWJyb3ciPkNvcnBvcmF0ZSBHaWZ0czwvc3Bhbj4KICAgICAgICAgIDxoMyBjbGFzcz0idmItaCI+R2lmdHMgJmFtcDsgV2VsY29tZSBLaXRzPC9oMz4KICAgICAgICAgIDxwPkN1c3RvbWlzYWJsZSBzdXN0YWluYWJsZSBjb3Jwb3JhdGUgZ2lmdHMuIEV2ZXJ5IHByb2plY3QgY29udHJpYnV0ZXMgdG8gdGhlIHJlZ2VuZXJhdGlvbiBvZiBlY29zeXN0ZW1zIGFuZCBsb2NhbCBjb21tdW5pdGllcy48L3A+CiAgICAgICAgICA8c3BhbiBjbGFzcz0idmItc3ZjLWNhcmRfX2xpbmsiPkRpc2NvdmVyIHRoZSBnaWZ0cyA8c3Bhbj7ihpI8L3NwYW4+PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICA8L2E+CiAgICAgIDxhIGNsYXNzPSJ2Yi1zdmMtY2FyZCIgaHJlZj0iI3RlYW0tYnVpbGRpbmciPgogICAgICAgIDxkaXYgY2xhc3M9InZiLXN2Yy1jYXJkX19pbWciPjxpbWcgc3JjPSJodHRwczovL3Byb2plY3QudmFpYS5ldS9ocy1mcy9odWJmcy9FdmVudG8lMjBBemllbmRhbGUlMjBHcnVwcG8lMjBDYXNzYSUyMENlbnRyYWxlJTIwKDEwKS5qcGc\/d2lkdGg9NzAwJmFtcDtuYW1lPUV2ZW50byUyMEF6aWVuZGFsZSUyMEdydXBwbyUyMENhc3NhJTIwQ2VudHJhbGUlMjAoMTApLmpwZyIgYWx0PSJWQUlBIFRlYW0gQnVpbGRpbmcgRXhwZXJpZW5jZSBpbiB0aGUgRG9sb21pdGVzIiBsb2FkaW5nPSJsYXp5Ij48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2Yi1zdmMtY2FyZF9fYiI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0idmItZXllYnJvdyI+VGVhbSBCdWlsZGluZyAmYW1wOyBUcmFpbmluZzwvc3Bhbj4KICAgICAgICAgIDxoMyBjbGFzcz0idmItaCI+VkFJQSBFeHBlcmllbmNlPC9oMz4KICAgICAgICAgIDxwPkEgZGF5IGluIHRoZSBEb2xvbWl0ZXMgdG8gYnVpbGQgdGVhbSBzcGlyaXQsIGRpc2NvdmVyIHRoZSB0ZXJyaXRvcnksIGFuZCBjb250cmlidXRlIHRvIGl0cyByZWdlbmVyYXRpb24uPC9wPgogICAgICAgICAgPHNwYW4gY2xhc3M9InZiLXN2Yy1jYXJkX19saW5rIj5EaXNjb3ZlciB0aGUgZXhwZXJpZW5jZSA8c3Bhbj7ihpI8L3NwYW4+PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICA8L2E+CiAgICAgIDxhIGNsYXNzPSJ2Yi1zdmMtY2FyZCIgaHJlZj0iI3NwZWNpYWwtcHJvamVjdHMiPgogICAgICAgIDxkaXYgY2xhc3M9InZiLXN2Yy1jYXJkX19pbWciPjxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA2L1VudGl0bGVkLWRlc2lnbi0xLmpwZyIgYWx0PSJWQUlBIFNwZWNpYWwgUHJvamVjdHMgJmFtcDsgUGFydG5lcnNoaXBzIiBsb2FkaW5nPSJsYXp5Ij48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2Yi1zdmMtY2FyZF9fYiI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0idmItZXllYnJvdyI+VGFpbG9yLW1hZGUgUGFydG5lcnNoaXBzPC9zcGFuPgogICAgICAgICAgPGgzIGNsYXNzPSJ2Yi1oIj5TcGVjaWFsIFByb2plY3RzPC9oMz4KICAgICAgICAgIDxwPkNvLWNyZWF0ZWQgZWRpdGlvbnMsIGRlZGljYXRlZCBmb3Jlc3RzLCB0ZXJyaXRvcmlhbCBwcm9qZWN0cyBhbmQgY29tbXVuaWNhdGlvbiBpbml0aWF0aXZlcyBidWlsdCB0b2dldGhlciBmb3IgbGFzdGluZyBpbXBhY3QuPC9wPgogICAgICAgICAgPHNwYW4gY2xhc3M9InZiLXN2Yy1jYXJkX19saW5rIj5EaXNjb3ZlciB0aGUgcGFydG5lcnNoaXBzIDxzcGFuPuKGkjwvc3Bhbj48L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvYT4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8IS0tID09PT09PT09PT09PSBTRVJWSUNFIDEgwrcgQ09SUE9SQVRFIEdJRlRTID09PT09PT09PT09PSAtLT4KPHNlY3Rpb24gY2xhc3M9InZiLXNydiB2Yi1zcnYtLW1pbnQgdmItc2VjdGlvbiIgaWQ9ImNvcnBvcmF0ZS1naWZ0cyI+CiAgPGRpdiBjbGFzcz0idmItd3JhcCB2Yi1zcnZfX2dyaWQiPgogICAgPGRpdiBjbGFzcz0idmItc3J2X19tZWRpYSI+CiAgICAgIDxkaXYgY2xhc3M9InZiLXZpZGVvIj4KICAgICAgICA8aWZyYW1lIHNyYz0iaHR0cHM6Ly9mYXN0Lndpc3RpYS5uZXQvZW1iZWQvaWZyYW1lL2NzMjUyaWh1NGg\/c2VvPWZhbHNlJmFtcDt2aWRlb0ZvYW09dHJ1ZSIgdGl0bGU9IlZBSUEgQ29ycG9yYXRlIEdpZnRzIiBhbGxvdz0iYXV0b3BsYXk7IGZ1bGxzY3JlZW4iIGFsbG93ZnVsbHNjcmVlbj0iIiBsb2FkaW5nPSJsYXp5Ij48L2lmcmFtZT4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXY+CiAgICAgIDxzcGFuIGNsYXNzPSJ2Yi1leWVicm93Ij5Db3Jwb3JhdGUgR2lmdHM8L3NwYW4+CiAgICAgIDxoMiBjbGFzcz0idmItaCI+QSBzdXN0YWluYWJsZSBjb3Jwb3JhdGUgZ2lmdCB0aGF0IHNob3dzIHdobyB5b3UgcmVhbGx5IGFyZS48L2gyPgogICAgICA8cCBjbGFzcz0idmItbGVhZCI+RXZlcnkgY29ycG9yYXRlIGdpZnQgaXMgYW4gb3Bwb3J0dW5pdHkgdG8gc2F5IHNvbWV0aGluZyBwcmVjaXNlIGFib3V0IHlvdXIgY29tcGFueS4gVkFJQSBzdXN0YWluYWJsZSBjb3Jwb3JhdGUgZ2lmdHMgbGV0IHlvdSBkbyBpdCB3aXRoIGF1dGhlbnRpY2l0eTogdGhleSBhcmUgbWFkZSBmcm9tIHJlY292ZXJlZCB3b29kIGZyb20gdGhlIERvbG9taXRlcyBhbmQgb2xpdmUgdHJlZXMgZnJvbSBQdWdsaWEsIGNyYWZ0ZWQgYnkgbG9jYWwgYXJ0aXNhbnMsIGFuZCBjYXJyeSBhIHZlcmlmaWFibGUgc3RvcnkuPC9wPgogICAgICA8cCBjbGFzcz0idmItbGVhZCI+VGhvc2Ugd2hvIHJlY2VpdmUgYSBWQUlBIGdpZnQgZG9u4oCZdCBqdXN0IGdldCBhbiBvYmplY3QuIFRoZXkgcmVjZWl2ZSBjb25jcmV0ZSBwcm9vZiB0aGF0IHlvdXIgY29tcGFueSBkb2VzIHdoYXQgaXQgc2F5cy48L3A+CiAgICAgIDx1bCBjbGFzcz0idmItY2hlY2tzIj4KICAgICAgICA8bGk+Q3VzdG9taXNlZCBnaWZ0IG9yIHdlbGNvbWUga2l0IHdpdGggeW91ciBicmFuZGluZzwvbGk+CiAgICAgICAgPGxpPkFuIGF1dGhlbnRpYyBzdG9yeSB0byB0ZWxsIGNsaWVudHMsIHBhcnRuZXJzIGFuZCBlbXBsb3llZXM8L2xpPgogICAgICAgIDxsaT5BIG1lYXN1cmFibGUgY29udHJpYnV0aW9uIHRvIGFuIGVudmlyb25tZW50YWwgcmVnZW5lcmF0aW9uIHByb2plY3Q8L2xpPgogICAgICAgIDxsaT5Eb2N1bWVudGF0aW9uIGludGVncmFibGUgaW50byB5b3VyIEVTRyByZXBvcnRpbmc8L2xpPgogICAgICAgIDxsaT5JZGVhbCBmb3IgY29ycG9yYXRlIENocmlzdG1hcywgYW5uaXZlcnNhcmllcywgb25ib2FyZGluZywgYXdhcmRzLCBjbGllbnQgZ2lmdHMgYW5kIGV2ZW50czwvbGk+CiAgICAgIDwvdWw+CiAgICAgIDxkaXYgY2xhc3M9InZiLWN0YS1yb3ciPgogICAgICAgIDxidXR0b24gY2xhc3M9InZiLWJ0biB2Yi1idG4tLXByaW1hcnkiIGRhdGEtdmItb3Blbj0iY29udGF0dG8iPlJlcXVlc3QgYSBxdW90ZSA8c3BhbiBjbGFzcz0idmItYXJyb3ciPuKGkjwvc3Bhbj48L2J1dHRvbj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJ2Yi1idG4gdmItYnRuLS1naG9zdCIgZGF0YS12Yi1vcGVuPSJjYXRhbG9nbyI+RG93bmxvYWQgdGhlIGNhdGFsb2d1ZTwvYnV0dG9uPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJ2Yi13cmFwIj4KICAgIDxkaXYgY2xhc3M9InZiLXByb2RzIj4KICAgICAgPGRpdiBjbGFzcz0idmItcHJvZCI+PGRpdiBjbGFzcz0idmItcHJvZF9faW1nIj48aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8wOS9QUklOQ0lQQUxFXzEwMDB4MTAwMF9QUk9ET1RUSS1jdWJlXzItMS02MDB4NjAwLmpwZyIgYWx0PSJWQUlBIEN1YmUiIGxvYWRpbmc9ImxhenkiPjwvZGl2PjxkaXYgY2xhc3M9InZiLXByb2RfX2IiPjxiPlZBSUEgQ3ViZTwvYj48c3Bhbj5UaGUgaWNvbmljIGFtcGxpZmllciBtYWRlIGZyb20gcmVjb3ZlcmVkIHdvb2QuPC9zcGFuPjwvZGl2PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2Yi1wcm9kIj48ZGl2IGNsYXNzPSJ2Yi1wcm9kX19pbWciPjxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIyLzExLzY2NXg3NTVfSk9ZLTItMS5qcGciIGFsdD0iQ3ViZSBKT1kiIGxvYWRpbmc9ImxhenkiPjwvZGl2PjxkaXYgY2xhc3M9InZiLXByb2RfX2IiPjxiPkN1YmUgSk9ZPC9iPjxzcGFuPlRoZSBDdWJlIGluIGl0cyBzaXggY29sb3VyZnVsIHNvdWxzLjwvc3Bhbj48L2Rpdj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmItcHJvZCI+PGRpdiBjbGFzcz0idmItcHJvZF9faW1nIj48aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8xMi9QUklOQ0lQQUxFLTEwMDB4MTAwMF9zY2hlZGEtcHJvZG90dG8tRk9DVVMuanBnIiBhbHQ9IlZBSUEgRm9jdXMiIGxvYWRpbmc9ImxhenkiPjwvZGl2PjxkaXYgY2xhc3M9InZiLXByb2RfX2IiPjxiPlZBSUEgRm9jdXM8L2I+PHNwYW4+RGVmZW5kaW5nIGdsYWNpZXJzLCB0aGUgdGhlcm1vbWV0ZXJzIG9mIHRoZSBwbGFuZXQuPC9zcGFuPjwvZGl2PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2Yi1wcm9kIj48ZGl2IGNsYXNzPSJ2Yi1wcm9kX19pbWciPjxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzExL0lNR18yMjk2LXNjYWxlZC5qcGciIGFsdD0iVkFJQSBQZW9wbGUiIGxvYWRpbmc9ImxhenkiPjwvZGl2PjxkaXYgY2xhc3M9InZiLXByb2RfX2IiPjxiPlZBSUEgUGVvcGxlPC9iPjxzcGFuPkZyb20gYmVldGxlLWtpbGxlZCB3b29kLCBhIHN5bWJvbCBvZiBjb25uZWN0aW9uLjwvc3Bhbj48L2Rpdj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmItcHJvZCI+PGRpdiBjbGFzcz0idmItcHJvZF9faW1nIj48aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNS9Nb2RlbGxpLTEtMS1zY2FsZWQuanBnIiBhbHQ9IlZBSUEgQ292ZXIiIGxvYWRpbmc9ImxhenkiPjwvZGl2PjxkaXYgY2xhc3M9InZiLXByb2RfX2IiPjxiPlZBSUEgQ292ZXI8L2I+PHNwYW4+T2xpdmUgTWF0dGVy4oSiIGNvdmVyIHRoYXQgcmVnZW5lcmF0ZXMgdGhlIE1lZGl0ZXJyYW5lYW4gc2NydWIuPC9zcGFuPjwvZGl2PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2Yi1wcm9kIj48ZGl2IGNsYXNzPSJ2Yi1wcm9kX19pbWciPjxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIzLzEwLzEwMDB4MTAwMF9QUk9ET1RUSS1pbXBlcmZldHRvLTMwMHgzMDAuanBnIiBhbHQ9IkltcGVyZmVjdCBDdWJlIiBsb2FkaW5nPSJsYXp5Ij48L2Rpdj48ZGl2IGNsYXNzPSJ2Yi1wcm9kX19iIj48Yj5JbXBlcmZlY3QgQ3ViZTwvYj48c3Bhbj5OYXR1cmFsbHkgdW5pcXVlLCBmb3IgdGhlIEZvcmVzdCBvZiBWaW9saW5zLjwvc3Bhbj48L2Rpdj48L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxwIGNsYXNzPSJ2Yi1zdHJpcF9faGVhZCI+QWxyZWFkeSBnaWZ0ZWQgYnk8L3A+CiAgICA8ZGl2IGNsYXNzPSJ2Yi1zdHJpcCI+CiAgICAgIDxkaXYgY2xhc3M9InZiLXN0cmlwX19pIj48Yj4zMDA8L2I+PHNwYW4+VkFJQSBDdWJlIOKAlCBCcm90aGVyPC9zcGFuPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2Yi1zdHJpcF9faSI+PGI+MjAwPC9iPjxzcGFuPlZBSUEgQ3ViZSDigJQgU29ueSBNdXNpYzwvc3Bhbj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmItc3RyaXBfX2kiPjxiPjQwMDwvYj48c3Bhbj5WQUlBIEN1YmUg4oCUIFNEQSBCb2Njb25pPC9zcGFuPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2Yi1zdHJpcF9faSI+PGI+MS4xNTA8L2I+PHNwYW4+VkFJQSBDdWJlIOKAlCBOZXcgSG9sbGFuZDwvc3Bhbj48L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8IS0tID09PT09PT09PT09PSBTRVJWSUNFIDIgwrcgVEVBTSBCVUlMRElORyA9PT09PT09PT09PT0gLS0+CjxzZWN0aW9uIGNsYXNzPSJ2Yi1zcnYgdmItc3J2LS1mb3Jlc3QgdmItc2VjdGlvbiIgaWQ9InRlYW0tYnVpbGRpbmciPgogIDxkaXYgY2xhc3M9InZiLXdyYXAgdmItc3J2X19ncmlkIHJldiI+CiAgICA8ZGl2IGNsYXNzPSJ2Yi1zcnZfX21lZGlhIj4KICAgICAgPGRpdiBjbGFzcz0idmItdmlkZW8iPgogICAgICAgIDxpZnJhbWUgc3JjPSJodHRwczovL2Zhc3Qud2lzdGlhLm5ldC9lbWJlZC9pZnJhbWUvMjRndDc4M3I2dD9zZW89ZmFsc2UmYW1wO3ZpZGVvRm9hbT10cnVlIiB0aXRsZT0iVkFJQSBUZWFtIEJ1aWxkaW5nIEV4cGVyaWVuY2UiIGFsbG93PSJhdXRvcGxheTsgZnVsbHNjcmVlbiIgYWxsb3dmdWxsc2NyZWVuPSIiIGxvYWRpbmc9ImxhenkiPjwvaWZyYW1lPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdj4KICAgICAgPHNwYW4gY2xhc3M9InZiLWV5ZWJyb3cgdmItZXllYnJvdy0tbGlnaHQiPlRlYW0gQnVpbGRpbmc8L3NwYW4+CiAgICAgIDxoMiBjbGFzcz0idmItaCI+V2FudCBhbiBleHBlcmllbmNlIHRoYXQgYnJpbmdzIHlvdXIgdGVhbSB0b2dldGhlcj88L2gyPgogICAgICA8cCBjbGFzcz0idmItbGVhZCI+U3VzdGFpbmFiaWxpdHkgaXMgbm90IGV4cGxhaW5lZCBpbiBhIHByZXNlbnRhdGlvbi4gSXQgaXMgbGl2ZWQuIFZBSUEgRXhwZXJpZW5jZSB0YWtlcyB5b3VyIHRlYW0gdG8gdGhlIGhlYXJ0IG9mIHRoZSBEb2xvbWl0ZXMgZm9yIGFuIHVuZm9yZ2V0dGFibGUgc3VzdGFpbmFibGUgdGVhbS1idWlsZGluZyBleHBlcmllbmNlIGluIG5hdHVyZTogcGxhbnRpbmcgdHJlZXMsIHdhbGtpbmcsIHdvcmtpbmcgdG9nZXRoZXIsIGFuZCBjb250cmlidXRpbmcgY29uY3JldGVseSB0byB0ZXJyaXRvcmlhbCByZWdlbmVyYXRpb24uPC9wPgogICAgICA8cCBjbGFzcz0idmItbGVhZCI+WW91ciBwZW9wbGUgcmV0dXJuIHdpdGggYSBzdHJvbmdlciBzZW5zZSBvZiBiZWxvbmdpbmcsIHRoZSBhd2FyZW5lc3Mgb2YgaGF2aW5nIGRvbmUgc29tZXRoaW5nIHJlYWwsIGFuZCBhIHN0b3J5IHRvIHRlbGwgaW5zaWRlIGFuZCBvdXRzaWRlIHRoZSBjb21wYW55LjwvcD4KICAgICAgPHVsIGNsYXNzPSJ2Yi1jaGVja3MiPgogICAgICAgIDxsaT5HdWlkZWQgdHJlZSBwbGFudGluZyB3aXRoIGxvY2FsIGZvcmVzdGVyczwvbGk+CiAgICAgICAgPGxpPlZpc2l0IHRvIFZBSUHigJlzIGFydGlzYW4gd29ya3Nob3BzPC9saT4KICAgICAgICA8bGk+VHJla2tpbmcgd2l0aCBjZXJ0aWZpZWQgbW91bnRhaW4gZ3VpZGVzPC9saT4KICAgICAgICA8bGk+V29ya3Nob3BzIG9uIGVudmlyb25tZW50YWwgc3VzdGFpbmFiaWxpdHkgYW5kIEVTRyBpbXBhY3Q8L2xpPgogICAgICAgIDxsaT5DdXN0b21pc2VkIHRyYWluaW5nIHBhdGhzIGZvciB5b3VyIGNvbXBhbnk8L2xpPgogICAgICA8L3VsPgogICAgICA8ZGl2IGNsYXNzPSJ2Yi1jdGEtcm93Ij4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJ2Yi1idG4gdmItYnRuLS1nb2xkIiBkYXRhLXZiLW9wZW49ImNvbnRhdHRvIj5PcmdhbmlzZSB5b3VyIEV4cGVyaWVuY2UgPHNwYW4gY2xhc3M9InZiLWFycm93Ij7ihpI8L3NwYW4+PC9idXR0b24+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0idmItY2FzZSI+CiAgICAgICAgPGRpdiBjbGFzcz0idmItY2FzZV9fdG9wIj4KICAgICAgICAgIDxpbWcgY2xhc3M9InZiLWNhc2VfX2xvZ28iIHNyYz0iaHR0cHM6Ly93d3cuc2Fsb25lc3JpLml0LzIwMjEvd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzE1LzIwMjEvMDcvcG9zaXRpdm8tY29tcGF0dG9AM3gucG5nIiBhbHQ9IkdydXBwbyBDYXNzYSBDZW50cmFsZSI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0idmItY2FzZV9fbmFtZSI+R3J1cHBvIENhc3NhIENlbnRyYWxlIOKAlCDigJxPbmUgdHJlZSwgb25lIHBlcnNvbuKAnTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2Yi1jYXNlX19zdGF0cyI+CiAgICAgICAgICA8ZGl2PjxkaXYgY2xhc3M9InZiLWNhc2VfX24iPjEuNTAwPC9kaXY+PGRpdiBjbGFzcz0idmItY2FzZV9fc2wiPnRyZWVzIGF0IFBhc3NvIGRlbCBSZWRlYnVzPC9kaXY+PC9kaXY+CiAgICAgICAgICA8ZGl2PjxkaXYgY2xhc3M9InZiLWNhc2VfX24iPjE0LDgmbmJzcDt0PC9kaXY+PGRpdiBjbGFzcz0idmItY2FzZV9fc2wiPm9mIENP4oKCIGFic29yYmVkPC9kaXY+PC9kaXY+CiAgICAgICAgICA8ZGl2PjxkaXYgY2xhc3M9InZiLWNhc2VfX24iPjEwJm5ic3A7aGE8L2Rpdj48ZGl2IGNsYXNzPSJ2Yi1jYXNlX19zbCI+b2YgbGFuZCByZXN0b3JlZDwvZGl2PjwvZGl2PgogICAgICAgICAgPGRpdj48ZGl2IGNsYXNzPSJ2Yi1jYXNlX19uIj40PC9kaXY+PGRpdiBjbGFzcz0idmItY2FzZV9fc2wiPnNwZWNpZXMgcGxhbnRlZDwvZGl2PjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxhIGNsYXNzPSJ2Yi1jYXNlX19saW5rIiBocmVmPSJodHRwczovL3Byb2plY3QudmFpYS5ldS92YWlhLXgtY2Fzc2FjZW50cmFsZSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPlJlYWQgdGhlIGZ1bGwgY2FzZSBzdHVkeSA8c3Bhbj7ihpI8L3NwYW4+PC9hPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8IS0tID09PT09PT09PT09PSBTRVJWSUNFIDMgwrcgU1BFQ0lBTCBQUk9KRUNUUyA9PT09PT09PT09PT0gLS0+CjxzZWN0aW9uIGNsYXNzPSJ2Yi1zcnYgdmItc3J2LS13aW5lIHZiLXNlY3Rpb24iIGlkPSJzcGVjaWFsLXByb2plY3RzIj4KICA8ZGl2IGNsYXNzPSJ2Yi13cmFwIHZiLXNydl9fZ3JpZCI+CiAgICA8ZGl2IGNsYXNzPSJ2Yi1zcnZfX21lZGlhIj4KICAgICAgPGZpZ3VyZSBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czp2YXIoLS1yKTtvdmVyZmxvdzpoaWRkZW47YXNwZWN0LXJhdGlvOjQvMztib3gtc2hhZG93OjAgMjRweCA2MHB4IC0yOHB4IHJnYmEoMCwwLDAsLjU1KTsiPgogICAgICAgIDxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA2L1VudGl0bGVkLWRlc2lnbi0xLmpwZyIgYWx0PSJTcGVjaWFsIFByb2plY3RzIGFuZCBQYXJ0bmVyc2hpcHMiIHN0eWxlPSJ3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6Y292ZXI7IiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgPC9maWd1cmU+CiAgICA8L2Rpdj4KICAgIDxkaXY+CiAgICAgIDxzcGFuIGNsYXNzPSJ2Yi1leWVicm93IHZiLWV5ZWJyb3ctLWxpZ2h0Ij5TcGVjaWFsIFByb2plY3RzPC9zcGFuPgogICAgICA8aDIgY2xhc3M9InZiLWgiPlRvZ2V0aGVyIHdlIGJ1aWxkIGEgcHJvamVjdCB0aGF0IGNhcnJpZXMgeW91ciBuYW1lIGFuZCBoYXMgbGFzdGluZyBpbXBhY3QuPC9oMj4KICAgICAgPHAgY2xhc3M9InZiLWxlYWQiPlNvbWUgY29tcGFuaWVzIGFyZSBub3QgbG9va2luZyBmb3IgYSBzdXBwbGllci4gVGhleSBhcmUgbG9va2luZyBmb3IgYSBwYXJ0bmVyIHRvIGJ1aWxkIHNvbWV0aGluZyB0aGF0IHdpbGwgc3RpbGwgZXhpc3QgaW4gdGVuIHllYXJzLiBXaXRoIFZBSUEgd2UgY28tZGVzaWduIHRhaWxvci1tYWRlIEVTRyBwYXJ0bmVyc2hpcHMgdGhhdCBjb21iaW5lIHJlYWwgZW52aXJvbm1lbnRhbCByZWdlbmVyYXRpb24sIHBlb3BsZSBlbmdhZ2VtZW50IGFuZCBhdXRoZW50aWMgc3Rvcnl0ZWxsaW5nIGZvciB5b3VyIHN0YWtlaG9sZGVycy48L3A+CiAgICAgIDxwIGNsYXNzPSJ2Yi1sZWFkIj5FdmVyeSBwcm9qZWN0IGlzIGxpbmtlZCB0byBhIHNwZWNpZmljIHRlcnJpdG9yeSDigJQgdGhlIERvbG9taXRlcyBvciBQdWdsaWEg4oCUIHdpdGggdHJhY2VhYmxlIGRhdGEgdGhhdCBjYW4gYmUgaW50ZWdyYXRlZCBpbnRvIHlvdXIgc3VzdGFpbmFiaWxpdHkgcmVwb3J0aW5nIGFuZCBhbm51YWwgRVNHIHJlcG9ydHMuPC9wPgogICAgICA8dWwgY2xhc3M9InZiLWNoZWNrcyI+CiAgICAgICAgPGxpPkEgZGVkaWNhdGVkIGZvcmVzdCB3aXRoIHlvdXIgYnJhbmQsIGdlb2xvY2F0ZWQgaW4gdGhlIERvbG9taXRlcyBvciBQdWdsaWE8L2xpPgogICAgICAgIDxsaT5Dby1jcmVhdGVkIHByb2R1Y3RzIGFuZCBlZGl0aW9ucyB0aGF0IGNvbW11bmljYXRlIHlvdXIgRVNHIHZhbHVlczwvbGk+CiAgICAgICAgPGxpPkVuZ2FnZW1lbnQgY2FtcGFpZ25zIGZvciBjbGllbnRzLCBlbXBsb3llZXMgYW5kIHN0YWtlaG9sZGVyczwvbGk+CiAgICAgICAgPGxpPkFkLWhvYyBpbml0aWF0aXZlcyBidWlsdCBhcm91bmQgeW91ciBzcGVjaWZpYyByZXBvcnRpbmcgbmVlZHM8L2xpPgogICAgICA8L3VsPgogICAgICA8ZGl2IGNsYXNzPSJ2Yi1jdGEtcm93Ij4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJ2Yi1idG4gdmItYnRuLS1nb2xkIiBkYXRhLXZiLW9wZW49ImNvbnRhdHRvIj5MZXTigJlzIHRhbGsgYWJvdXQgeW91ciBwcm9qZWN0IDxzcGFuIGNsYXNzPSJ2Yi1hcnJvdyI+4oaSPC9zcGFuPjwvYnV0dG9uPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InZiLWNhc2UiPgogICAgICAgIDxkaXYgY2xhc3M9InZiLWNhc2VfX3RvcCI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0idmItY2FzZV9fbmFtZSI+TGV2aXNzaW1hIGZvciB0aGUgRm9yZXN0cyDDlyBWQUlBPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxwIHN0eWxlPSJtYXJnaW4tdG9wOjE0cHg7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZTouOThyZW07Y29sb3I6I2YzZGJlNzsiPlJlc3RvcmF0aW9uIG9mIG92ZXIgMTQwIGhlY3RhcmVzIG9mIEFscGluZSBmb3Jlc3RzIGRlc3Ryb3llZCBieSB0aGUgc3Rvcm0sIHdpdGggdGhlIGJpcnRoIG9mIHRoZSDigJxMZXZpc3NpbWEgRm9yZXN04oCdIGluIFZhbCBkaSBGaWVtbWUgYW5kIGEgc3BlY2lhbCBlZGl0aW9uIG9mIFZBSUEgQ3ViZSBtYWRlIGZyb20gcmVjb3ZlcmVkIHNjcmFwIHdvb2QuPC9wPgogICAgICAgIDxkaXYgY2xhc3M9InZiLWNhc2VfX3N0YXRzIiBzdHlsZT0iZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7Ij4KICAgICAgICAgIDxkaXY+PGRpdiBjbGFzcz0idmItY2FzZV9fbiI+MTQwKyZuYnNwO2hhPC9kaXY+PGRpdiBjbGFzcz0idmItY2FzZV9fc2wiPm9mIGZvcmVzdHMgcmVzdG9yZWQ8L2Rpdj48L2Rpdj4KICAgICAgICAgIDxkaXY+PGRpdiBjbGFzcz0idmItY2FzZV9fbiI+VmFsIGRpIEZpZW1tZTwvZGl2PjxkaXYgY2xhc3M9InZiLWNhc2VfX3NsIj5MZXZpc3NpbWEgRm9yZXN0PC9kaXY+PC9kaXY+CiAgICAgICAgICA8ZGl2PjxkaXYgY2xhc3M9InZiLWNhc2VfX24iPkRlc2lnbjwvZGl2PjxkaXYgY2xhc3M9InZiLWNhc2VfX3NsIj5jaXJjdWxhciBhbmQgbGltaXRlZCBlZGl0aW9uczwvZGl2PjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8IS0tID09PT09PT09PT09PSBCRU5FRklUUyA9PT09PT09PT09PT0gLS0+CjxzZWN0aW9uIGNsYXNzPSJ2Yi1iZW4gdmItc2VjdGlvbiI+CiAgPGRpdiBjbGFzcz0idmItd3JhcCI+CiAgICA8ZGl2IGNsYXNzPSJ2Yi1iZW5fX2hlYWQiPgogICAgICA8c3BhbiBjbGFzcz0idmItZXllYnJvdyI+V2h5IGNvbXBhbmllcyBjaG9vc2UgVkFJQTwvc3Bhbj4KICAgICAgPGgyIGNsYXNzPSJ2Yi1oIj5CZWNhdXNlIHRoZXkgd2FudCB0aGVpciBzdXN0YWluYWJpbGl0eSB0byBiZSByZWFsLiBOb3QganVzdCBkZWNsYXJlZC48L2gyPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJ2Yi1iZW5fX2dyaWQiPgogICAgICA8ZGl2IGNsYXNzPSJ2Yi1iZW5fX2NhcmQiPgogICAgICAgIDxzcGFuIGNsYXNzPSJ2Yi1leWVicm93Ij5UaGV5IGNvbW11bmljYXRlIHdpdGggY3JlZGliaWxpdHk8L3NwYW4+CiAgICAgICAgPHA+RXZlcnkgVkFJQSBwcm9qZWN0IHByb2R1Y2VzIGRvY3VtZW50YWJsZSBpbXBhY3RzIOKAlCB0cmVlcyBwbGFudGVkLCBtYXRlcmlhbHMgcmVjb3ZlcmVkLCBjb21tdW5pdGllcyBpbnZvbHZlZCDigJQgdGhhdCBmZWVkIEVTRyBzdG9yeXRlbGxpbmcgd2l0aCByZWFsIGRhdGEgYW5kIHZlcmlmaWFibGUgc3Rvcmllcy4gRm9yIGNsaWVudHMsIGludmVzdG9ycyBhbmQgcGFydG5lcnMgd2hvIGNhbiBkaXN0aW5ndWlzaCBnZW51aW5lIGNvbW1pdG1lbnQgZnJvbSBncmVlbndhc2hpbmcuPC9wPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmItYmVuX19jYXJkIj4KICAgICAgICA8c3BhbiBjbGFzcz0idmItZXllYnJvdyI+VGhleSBzdHJlbmd0aGVuIGNvbXBhbnkgY3VsdHVyZTwvc3Bhbj4KICAgICAgICA8cD5TdXN0YWluYWJsZSBjb3Jwb3JhdGUgZ2lmdHMgYW5kIG5hdHVyZS1iYXNlZCB0ZWFtLWJ1aWxkaW5nIGV4cGVyaWVuY2VzIGNyZWF0ZSBzb21ldGhpbmcgbm8gaW50ZXJuYWwgcG9saWN5IGNhbiBnZW5lcmF0ZTogcmVhbCBiZWxvbmdpbmcsIHNoYXJlZCBtb3RpdmF0aW9uLCBhbmQgYSBzZW5zZSBvZiBwdXJwb3NlIHRoYXQgcGVvcGxlIHRydWx5IGZlZWwuPC9wPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmItYmVuX19jYXJkIj4KICAgICAgICA8c3BhbiBjbGFzcz0idmItZXllYnJvdyI+VGhleSBpbnRlZ3JhdGUgc3VzdGFpbmFiaWxpdHkgaW50byB0aGUgYnJhbmQ8L3NwYW4+CiAgICAgICAgPHA+UHJvZHVjdHMsIGV4cGVyaWVuY2VzIGFuZCBFU0cgcGFydG5lcnNoaXBzIGJlY29tZSBhIHJlY29nbmlzYWJsZSBwYXJ0IG9mIHlvdXIgY29tcGFueeKAmXMgc3RvcnkuIEEgc3RyYXRlZ2ljIGFzc2V0IHRoYXQgc3BlYWtzIHRvIHRhbGVudCwgc3Rha2Vob2xkZXJzLCBhbmQgYW55b25lIHdobyBjaG9vc2VzIHBhcnRuZXJzIGJhc2VkIG9uIHRoZSB2YWx1ZXMgdGhleSBjb21tdW5pY2F0ZS48L3A+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0gPT09PT09PT09PT09IFRFU1RJTU9OSUFMUyA9PT09PT09PT09PT0gLS0+CjxzZWN0aW9uIGNsYXNzPSJ2Yi10c3QgdmItc2VjdGlvbiI+CiAgPGRpdiBjbGFzcz0idmItd3JhcCI+CiAgICA8c3BhbiBjbGFzcz0idmItZXllYnJvdyI+VGhlaXIgd29yZHM8L3NwYW4+CiAgICA8aDIgY2xhc3M9InZiLWgiIHN0eWxlPSJtYXgtd2lkdGg6MThjaDsiPlRob3NlIHdobyB3b3JrZWQgd2l0aCB1cyB0ZWxsIGl0IGJlc3QuPC9oMj4KICAgIDxkaXYgY2xhc3M9InZiLXRzdF9fZ3JpZCI+CiAgICAgIDxkaXYgY2xhc3M9InZiLXRzdF9fY2FyZCI+CiAgICAgICAgPHAgY2xhc3M9InZiLXRzdF9fcSI+T3VyIGNsaWVudHMgd2VyZSB0aHJpbGxlZCB3aXRoIHRoZSBDaHJpc3RtYXMgZ2lmdC4gSSByZWNlaXZlZCBtYW55IHRoYW5rLXlvdSBjYWxscy48L3A+CiAgICAgICAgPGRpdiBjbGFzcz0idmItdHN0X193aG8iPjxpbWcgY2xhc3M9InZiLXRzdF9fYXYiIHNyYz0iaHR0cHM6Ly9wcm9qZWN0LnZhaWEuZXUvaHViZnMvU0RBLUJvY2NvbmktU2Nob29sLW9mLU1hbmFnbWVudC1sb2dvLnBuZyIgYWx0PSIiIGxvYWRpbmc9ImxhenkiPjxkaXY+PGI+TWFyY288L2I+PHNwYW4+U0RBIEJvY2Nvbmk8L3NwYW4+PC9kaXY+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2Yi10c3RfX2NhcmQiPgogICAgICAgIDxwIGNsYXNzPSJ2Yi10c3RfX3EiPlRoZSBhdG1vc3BoZXJlIHdhcyBtb3RpdmF0aW5nIGFuZCBwbGVhc2FudC4gSSByZWNlaXZlZCBwb3NpdGl2ZSBmZWVkYmFjayBldmVuIGZyb20gY29sbGVhZ3VlcyB3aG8gYXJlIGxlc3Mgc2Vuc2l0aXZlIHRvIGVudmlyb25tZW50YWwgaXNzdWVzLjwvcD4KICAgICAgICA8ZGl2IGNsYXNzPSJ2Yi10c3RfX3dobyI+PGltZyBjbGFzcz0idmItdHN0X19hdiIgc3JjPSJodHRwczovL3Byb2plY3QudmFpYS5ldS9odWJmcy8yLTQuanBnIiBhbHQ9IiIgbG9hZGluZz0ibGF6eSI+PGRpdj48Yj5Jb2FuYTwvYj48c3Bhbj5BYmJyZXZpYTwvc3Bhbj48L2Rpdj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InZiLXRzdF9fY2FyZCI+CiAgICAgICAgPHAgY2xhc3M9InZiLXRzdF9fcSI+SXQgd2FzIGEgcmVhbCBzYXRpc2ZhY3Rpb24gdG8gY29udHJpYnV0ZSBpbiBwZXJzb24sIHRvZ2V0aGVyIHdpdGggbXkgY29sbGVhZ3VlcywgdG8gdGhlIHJlYmlydGggb2YgYW4gYXJlYSBoaXQgYnkgdGhlIFZhaWEgc3Rvcm0uPC9wPgogICAgICAgIDxkaXYgY2xhc3M9InZiLXRzdF9fd2hvIj48aW1nIGNsYXNzPSJ2Yi10c3RfX2F2IiBzcmM9Imh0dHBzOi8vcHJvamVjdC52YWlhLmV1L2h1YmZzL3VubmFtZWQuanBnIiBhbHQ9IiIgbG9hZGluZz0ibGF6eSI+PGRpdj48Yj5CZWF0cmljZTwvYj48c3Bhbj5HcnVwcG8gQ2Fzc2EgQ2VudHJhbGU8L3NwYW4+PC9kaXY+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2Yi10c3RfX2NhcmQiPgogICAgICAgIDxwIGNsYXNzPSJ2Yi10c3RfX3EiPldlIGNob3NlIHRvIGdpZnQgdGhlIFZBSUEgQ3ViZSB0byBhbGwgb3VyIGNvbGxhYm9yYXRvcnM6IGl0IHJlZmxlY3RzIG91ciBjb21taXRtZW50IHRvIHN1c3RhaW5hYmlsaXR5LiBUaGUgcGVyZmVjdCBvYmplY3QuPC9wPgogICAgICAgIDxkaXYgY2xhc3M9InZiLXRzdF9fd2hvIj48aW1nIGNsYXNzPSJ2Yi10c3RfX2F2IiBzcmM9Imh0dHBzOi8vcHJvamVjdC52YWlhLmV1L2h1YmZzL2Rvd25sb2FkLnBuZyIgYWx0PSIiIGxvYWRpbmc9ImxhenkiPjxkaXY+PGI+U3RlZmFuaWE8L2I+PHNwYW4+RU9TIFNvbHV0aW9uczwvc3Bhbj48L2Rpdj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InZiLXRzdF9fY2FyZCI+CiAgICAgICAgPHAgY2xhc3M9InZiLXRzdF9fcSI+V2UgZ2lmdGVkIHRoZSBWQUlBIEN1YmUgdG8gYWxsIG91ciBtYWluIGNsaWVudHMgd29ybGR3aWRlLiBUaGUgaW5pdGlhdGl2ZSB3YXMgdmVyeSB3ZWxsIHJlY2VpdmVkLjwvcD4KICAgICAgICA8ZGl2IGNsYXNzPSJ2Yi10c3RfX3dobyI+PGltZyBjbGFzcz0idmItdHN0X19hdiIgc3JjPSJodHRwczovL3Byb2plY3QudmFpYS5ldS9odWJmcy8zLTMuanBnIiBhbHQ9IiIgbG9hZGluZz0ibGF6eSI+PGRpdj48Yj5TdGVmYW5vPC9iPjxzcGFuPkVTLUtPIEdyb3VwPC9zcGFuPjwvZGl2PjwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmItdHN0X19jYXJkIj4KICAgICAgICA8cCBjbGFzcz0idmItdHN0X19xIj5XZSBhcmUgc3RpbGwgcmlkaW5nIHRoZSBsb25nIHdhdmUgb2YgdGhlIGV4cGVyaWVuY2UuIEEgc3BlY2lhbCBtb21lbnQsIGxpdmVkIHdpdGggZ3JlYXQgcGFydGljaXBhdGlvbiBieSBldmVyeW9uZS48L3A+CiAgICAgICAgPGRpdiBjbGFzcz0idmItdHN0X193aG8iPjxpbWcgY2xhc3M9InZiLXRzdF9fYXYiIHNyYz0iaHR0cHM6Ly9wcm9qZWN0LnZhaWEuZXUvaHViZnMvMS00LmpwZyIgYWx0PSIiIGxvYWRpbmc9ImxhenkiPjxkaXY+PGI+R2l1bGlhPC9iPjxzcGFuPlN5c3RyYTwvc3Bhbj48L2Rpdj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgo8aHIgY2xhc3M9InZiLXNwbGl0Ij4KCjwhLS0gPT09PT09PT09PT09IEZJTkFMIENUQSA9PT09PT09PT09PT0gLS0+CjxzZWN0aW9uIGNsYXNzPSJ2Yi1maW5hbCB2Yi1zZWN0aW9uIj4KICA8ZGl2IGNsYXNzPSJ2Yi13cmFwIj4KICAgIDxzcGFuIGNsYXNzPSJ2Yi1leWVicm93IHZiLWV5ZWJyb3ctLWxpZ2h0IiBzdHlsZT0ianVzdGlmeS1jb250ZW50OmNlbnRlcjtkaXNwbGF5OmZsZXg7Ij5MZXTigJlzIHN0YXJ0IGEgcGFydG5lcnNoaXA8L3NwYW4+CiAgICA8aDIgY2xhc3M9InZiLWgiPkxFVOKAmVMgU1RBUlQgQlVJTERJTkcgU09NRVRISU5HIFRPR0VUSEVSPC9oMj4KICAgIDxwPldoZXRoZXIgeW91IGFyZSBsb29raW5nIGZvciBzdXN0YWluYWJsZSBjb3Jwb3JhdGUgZ2lmdHMsIGEgbmF0dXJlLWJhc2VkIHRlYW0tYnVpbGRpbmcgZXhwZXJpZW5jZSwgb3IgYSB0YWlsb3ItbWFkZSBFU0cgcGFydG5lcnNoaXAsIHdlIHdpbGwgc3VwcG9ydCB5b3UgaW4gY3JlYXRpbmcgYSBjb25jcmV0ZSwgbWVhc3VyYWJsZSBwcm9qZWN0IGNvbnNpc3RlbnQgd2l0aCB5b3VyIGNvbXBhbnnigJlzIGlkZW50aXR5LjwvcD4KICAgIAogICAgPGRpdiBjbGFzcz0idmItZmluYWxfX2Zvcm0iPgogICAgICA8ZGl2IGlkPSJocy1mb3JtLWZpbmFsIj48L2Rpdj4KICAgICAgPHAgaWQ9ImhzLWZvcm0tZmluYWwtZmFsbGJhY2siIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij5JZiB0aGUgZm9ybSBkb2VzbuKAmXQgbG9hZCwgd3JpdGUgdG8gdXMgYXQgPGEgaHJlZj0ibWFpbHRvOmluZm9AdmFpYS5ldSIgc3R5bGU9ImNvbG9yOnZhcigtLWMtZ3JlZW4pO2ZvbnQtd2VpZ2h0OjYwMDsiPmluZm9AdmFpYS5ldTwvYT4gb3IgY2FsbCB1cyBhdCA8YSBocmVmPSJ0ZWw6KzM5MzUwMTM5NTk0NCIgc3R5bGU9ImNvbG9yOnZhcigtLWMtZ3JlZW4pO2ZvbnQtd2VpZ2h0OjYwMDsiPiszOSAzNTAgMTM5NTk0NDwvYT4uPC9wPgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9InZiLWZpbmFsX19ub3RlIj4KICAgICAgPHNwYW4+PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iOSI+PC9jaXJjbGU+PHBhdGggZD0iTTEyIDd2NWwzIDIiPjwvcGF0aD48L3N2Zz4gRmFzdCByZXNwb25zZTwvc3Bhbj4KICAgICAgPHNwYW4+PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHBhdGggZD0iTTIwIDYgOSAxN2wtNS01Ij48L3BhdGg+PC9zdmc+IE5vIG9ibGlnYXRpb248L3NwYW4+CiAgICAgIDxzcGFuPjxzdmcgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIGQ9Ik0yMCA2IDkgMTdsLTUtNSI+PC9wYXRoPjwvc3ZnPiBGcmVlIHBlcnNvbmFsaXNlZCBjb25zdWx0YXRpb248L3NwYW4+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSA9PT09PT09PT09PT0gRkFRID09PT09PT09PT09PSAtLT4KPHNlY3Rpb24gY2xhc3M9InZiLWZhcSB2Yi1zZWN0aW9uIj4KICA8ZGl2IGNsYXNzPSJ2Yi13cmFwIj4KICAgIDxzcGFuIGNsYXNzPSJ2Yi1leWVicm93IiBzdHlsZT0ianVzdGlmeS1jb250ZW50OmNlbnRlcjtkaXNwbGF5OmZsZXg7Ij5GQVE8L3NwYW4+CiAgICA8aDIgY2xhc3M9InZiLWgiIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjttYXgtd2lkdGg6MjBjaDttYXJnaW46MCBhdXRvOyI+RnJlcXVlbnRseSBBc2tlZCBRdWVzdGlvbnM8L2gyPgogICAgPGRpdiBjbGFzcz0idmItZmFxX19saXN0Ij4KICAgICAgPGRpdiBjbGFzcz0idmItZmFxX19pdGVtIj48YnV0dG9uIGNsYXNzPSJ2Yi1mYXFfX3EiPkNhbiBJIGN1c3RvbWlzZSBWQUlBIHByb2R1Y3RzPzwvYnV0dG9uPjxkaXYgY2xhc3M9InZiLWZhcV9fYSI+PHA+WWVzLiBWQUlBIEN1YmVzIGFuZCBvdGhlciBvYmplY3RzIGNhbiBiZSBwZXJzb25hbGlzZWQgd2l0aCB5b3VyIGxvZ28gb3IgZGVkaWNhdGVkIGdyYXBoaWNzLiBXZSBjYW4gYWxzbyB0YWtlIGNhcmUgb2YgdGhlIHBhY2thZ2luZyBhbmQgY2FyZCB0byBiZXN0IHRlbGwgeW91ciBwcm9qZWN0LjwvcD48L2Rpdj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmItZmFxX19pdGVtIj48YnV0dG9uIGNsYXNzPSJ2Yi1mYXFfX3EiPldoZXJlIGFyZSB0aGUgdHJlZXMgcGxhbnRlZD88L2J1dHRvbj48ZGl2IGNsYXNzPSJ2Yi1mYXFfX2EiPjxwPkFjcm9zcyB0aGUgZW50aXJlIERvbG9taXRlcyBhcmM6IGZyb20gVHJlbnRpbm8tQWx0byBBZGlnZSB0byBGcml1bGkgVmVuZXppYSBHaXVsaWEsIGZyb20gTG9tYmFyZHkgdG8gVmVuZXRvLiBXZSBpbnRlcnZlbmUgaW4gZm9yZXN0IGFyZWFzIHRoYXQgbmVlZCBuZXcgdHJlZXMgdG8gYWNjZWxlcmF0ZSByZWdyb3d0aCBhbmQgcHJvdGVjdCBsb2NhbCBjb21tdW5pdGllcy48L3A+PC9kaXY+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InZiLWZhcV9faXRlbSI+PGJ1dHRvbiBjbGFzcz0idmItZmFxX19xIj5DYW4gSSBtYWtlIG15IGV2ZW50IGNhcmJvbiBuZXV0cmFsPzwvYnV0dG9uPjxkaXYgY2xhc3M9InZiLWZhcV9fYSI+PHA+WWVzLiBXZSBjYWxjdWxhdGUgdGhlIGNhcmJvbiBmb290cHJpbnQgb2YgeW91ciBldmVudCBhbmQgb2Zmc2V0IHRoZSBlc3RpbWF0ZWQgQ0\/igoIgYnkgcGxhbnRpbmcgbmV3IHRyZWVzIGluIHRoZSBEb2xvbWl0ZXMuPC9wPjwvZGl2PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2Yi1mYXFfX2l0ZW0iPjxidXR0b24gY2xhc3M9InZiLWZhcV9fcSI+QXJlIFZBSUEgcHJvamVjdHMgRVNHIHJlcG9ydGFibGU\/PC9idXR0b24+PGRpdiBjbGFzcz0idmItZmFxX19hIj48cD5ZZXMuIFByb2plY3RzIGRldmVsb3BlZCB3aXRoIFZBSUEgcHJvZHVjZSBjb25jcmV0ZSBhbmQgbWVhc3VyYWJsZSBiZW5lZml0cyB0aGF0IGNhbiBiZSBpbmNsdWRlZCBpbiB5b3VyIHN1c3RhaW5hYmlsaXR5IHJlcG9ydC4gV2UgcHJvdmlkZSBzdXBwb3J0IGluIGRyYWZ0aW5nIGltcGFjdCByZXBvcnRzIGFjY29yZGluZyB0byBFdXJvcGVhbiByZWd1bGF0aW9ucy48L3A+PC9kaXY+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InZiLWZhcV9faXRlbSI+PGJ1dHRvbiBjbGFzcz0idmItZmFxX19xIj5EbyB5b3UgaGF2ZSBjZXJ0aWZpY2F0aW9ucz88L2J1dHRvbj48ZGl2IGNsYXNzPSJ2Yi1mYXFfX2EiPjxwPldvb2QgcmVjb3ZlcnkgYW5kIHRyZWUgcGxhbnRpbmcgYXJlIGNhcnJpZWQgb3V0IGJ5IFBFRkMtY2VydGlmaWVkIGxvY2FsIHBhcnRuZXJzLiBWYWlhIFMuci5sLiBpcyBhbHNvIGEgQmVuZWZpdCBDb3Jwb3JhdGlvbi48L3A+PC9kaXY+PC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSA9PT09PT09PT09PT0gU1RJQ0tZIENUQSA9PT09PT09PT09PT0gLS0+CjxkaXYgY2xhc3M9InZiLXN0aWNreSIgaWQ9InZiU3RpY2t5Ij4KICA8YnV0dG9uIGNsYXNzPSJ2Yi1idG4gdmItYnRuLS1nb2xkIiBkYXRhLXZiLW9wZW49ImNvbnRhdHRvIj5HZXQgaW4gdG91Y2ggPHNwYW4gY2xhc3M9InZiLWFycm93Ij7ihpI8L3NwYW4+PC9idXR0b24+CjwvZGl2PgoKPCEtLSA9PT09PT09PT09PT0gTU9EQUwgRk9STSA9PT09PT09PT09PT0gLS0+CjxkaXYgY2xhc3M9InZiLW1vZGFsIiBpZD0idmJNb2RhbCIgYXJpYS1oaWRkZW49InRydWUiPgogIDxkaXYgY2xhc3M9InZiLW1vZGFsX19iZCIgZGF0YS12Yi1jbG9zZT0iIj48L2Rpdj4KICA8ZGl2IGNsYXNzPSJ2Yi1tb2RhbF9fZGlhbG9nIiByb2xlPSJkaWFsb2ciIGFyaWEtbW9kYWw9InRydWUiIGFyaWEtbGFiZWxsZWRieT0idmJNb2RhbFRpdGxlIj4KICAgIDxidXR0b24gY2xhc3M9InZiLW1vZGFsX19jbG9zZSIgZGF0YS12Yi1jbG9zZT0iIiBhcmlhLWxhYmVsPSJDbG9zZSI+w5c8L2J1dHRvbj4KICAgIDxzcGFuIGNsYXNzPSJ2Yi1leWVicm93IiBpZD0idmJNb2RhbEV5ZWJyb3ciPkdldCBpbiB0b3VjaDwvc3Bhbj4KICAgIDxoMyBjbGFzcz0idmItaCIgaWQ9InZiTW9kYWxUaXRsZSI+TGV04oCZcyB0YWxrIGFib3V0IHlvdXIgcHJvamVjdDwvaDM+CiAgICA8cCBjbGFzcz0idmItbW9kYWxfX2ludHJvIiBpZD0idmJNb2RhbEludHJvIj5GaWxsIGluIHRoZSBmb3JtOiB3ZeKAmWxsIHJlcGx5IHF1aWNrbHksIHdpdGggbm8gb2JsaWdhdGlvbi48L3A+CiAgICA8ZGl2IGlkPSJocy1mb3JtLXRhcmdldCI+PC9kaXY+CiAgICA8cCBpZD0iaHMtZm9ybS1mYWxsYmFjayIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPklmIHRoZSBmb3JtIGRvZXNu4oCZdCBsb2FkLCB3cml0ZSB0byB1cyBhdCA8YSBocmVmPSJtYWlsdG86aW5mb0B2YWlhLmV1IiBzdHlsZT0iY29sb3I6dmFyKC0tYy1ncmVlbik7Zm9udC13ZWlnaHQ6NjAwOyI+aW5mb0B2YWlhLmV1PC9hPiBvciBjYWxsIHVzIGF0IDxhIGhyZWY9InRlbDorMzkzNTAxMzk1OTQ0IiBzdHlsZT0iY29sb3I6dmFyKC0tYy1ncmVlbik7Zm9udC13ZWlnaHQ6NjAwOyI+KzM5IDM1MCAxMzk1OTQ0PC9hPi48L3A+CiAgPC9kaXY+CjwvZGl2PgoKPC9kaXY+PCEtLSAvI3ZhaWEtYjJiIC0tPgoKPCEtLSA9PT09PT09PT09PT0gU0NIRU1BLk9SRyBGQVEgPT09PT09PT09PT09IC0tPgo8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL2xkK2pzb24iPgp7IkBjb250ZXh0IjoiaHR0cHM6Ly9zY2hlbWEub3JnIiwiQHR5cGUiOiJGQVFQYWdlIiwibWFpbkVudGl0eSI6Wwp7IkB0eXBlIjoiUXVlc3Rpb24iLCJuYW1lIjoiQ2FuIEkgY3VzdG9taXNlIFZBSUEgcHJvZHVjdHM\/IiwiYWNjZXB0ZWRBbnN3ZXIiOnsiQHR5cGUiOiJBbnN3ZXIiLCJ0ZXh0IjoiWWVzLiBWQUlBIEN1YmVzIGFuZCBvdGhlciBvYmplY3RzIGNhbiBiZSBwZXJzb25hbGlzZWQgd2l0aCB5b3VyIGxvZ28gb3IgZGVkaWNhdGVkIGdyYXBoaWNzLiBXZSBjYW4gYWxzbyBoYW5kbGUgcGFja2FnaW5nIGFuZCBncmVldGluZyBjYXJkcy4ifX0sCnsiQHR5cGUiOiJRdWVzdGlvbiIsIm5hbWUiOiJXaGVyZSBhcmUgVkFJQSB0cmVlcyBwbGFudGVkPyIsImFjY2VwdGVkQW5zd2VyIjp7IkB0eXBlIjoiQW5zd2VyIiwidGV4dCI6IkFjcm9zcyB0aGUgZW50aXJlIERvbG9taXRlcyBhcmMsIGZyb20gVHJlbnRpbm8tQWx0byBBZGlnZSB0byBGcml1bGkgVmVuZXppYSBHaXVsaWEsIGZyb20gTG9tYmFyZHkgdG8gVmVuZXRvLCBpbiBmb3Jlc3QgYXJlYXMgdGhhdCBuZWVkIG5ldyB0cmVlcy4ifX0sCnsiQHR5cGUiOiJRdWVzdGlvbiIsIm5hbWUiOiJDYW4gSSBtYWtlIG15IGV2ZW50IGNhcmJvbiBuZXV0cmFsIHdpdGggVkFJQT8iLCJhY2NlcHRlZEFuc3dlciI6eyJAdHlwZSI6IkFuc3dlciIsInRleHQiOiJZZXMuIFdlIGNhbGN1bGF0ZSB0aGUgY2FyYm9uIGZvb3RwcmludCBvZiB0aGUgZXZlbnQgYW5kIG9mZnNldCB0aGUgZXN0aW1hdGVkIENP4oKCIGJ5IHBsYW50aW5nIG5ldyB0cmVlcyBpbiB0aGUgRG9sb21pdGVzLiJ9fSwKeyJAdHlwZSI6IlF1ZXN0aW9uIiwibmFtZSI6IkFyZSBWQUlBIHByb2plY3RzIEVTRyByZXBvcnRhYmxlPyIsImFjY2VwdGVkQW5zd2VyIjp7IkB0eXBlIjoiQW5zd2VyIiwidGV4dCI6Illlcy4gVGhlIHByb2plY3RzIHByb2R1Y2UgbWVhc3VyYWJsZSBiZW5lZml0cyB0aGF0IGNhbiBiZSBpbmNsdWRlZCBpbiB5b3VyIHN1c3RhaW5hYmlsaXR5IHJlcG9ydCwgd2l0aCBzdXBwb3J0IGZvciBkcmFmdGluZyBpbXBhY3Qgc3RhdGVtZW50cy4ifX0sCnsiQHR5cGUiOiJRdWVzdGlvbiIsIm5hbWUiOiJEb2VzIFZBSUEgaGF2ZSBjZXJ0aWZpY2F0aW9ucz8iLCJhY2NlcHRlZEFuc3dlciI6eyJAdHlwZSI6IkFuc3dlciIsInRleHQiOiJXb29kIHJlY292ZXJ5IGFuZCB0cmVlIHBsYW50aW5nIGFyZSBjYXJyaWVkIG91dCBieSBQRUZDLWNlcnRpZmllZCBwYXJ0bmVycy4gVmFpYSBTLnIubC4gaXMgYSBCZW5lZml0IENvcnBvcmF0aW9uLiJ9fQpdfQo8L3NjcmlwdD4KCjwhLS0gPT09PT09PT09PT09IFNDUklQVCA9PT09PT09PT09PT0gLS0+CjxzY3JpcHQ+CihmdW5jdGlvbigpewogIHZhciByb290ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZhaWEtYjJiJyk7CiAgaWYoIXJvb3QpIHJldHVybjsKCiAgLyogLS0tLS0tLS0tLSBGQVEgYWNjb3JkaW9uIC0tLS0tLS0tLS0gKi8KICByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy52Yi1mYXFfX2l0ZW0nKS5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0pewogICAgdmFyIHEgPSBpdGVtLnF1ZXJ5U2VsZWN0b3IoJy52Yi1mYXFfX3EnKTsKICAgIHZhciBhID0gaXRlbS5xdWVyeVNlbGVjdG9yKCcudmItZmFxX19hJyk7CiAgICBxLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKXsKICAgICAgdmFyIG9wZW4gPSBpdGVtLmNsYXNzTGlzdC5jb250YWlucygnb3BlbicpOwogICAgICByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy52Yi1mYXFfX2l0ZW0ub3BlbicpLmZvckVhY2goZnVuY3Rpb24obyl7CiAgICAgICAgby5jbGFzc0xpc3QucmVtb3ZlKCdvcGVuJyk7IG8ucXVlcnlTZWxlY3RvcignLnZiLWZhcV9fYScpLnN0eWxlLm1heEhlaWdodCA9IG51bGw7CiAgICAgIH0pOwogICAgICBpZighb3Blbil7IGl0ZW0uY2xhc3NMaXN0LmFkZCgnb3BlbicpOyBhLnN0eWxlLm1heEhlaWdodCA9IGEuc2Nyb2xsSGVpZ2h0ICsgJ3B4JzsgfQogICAgfSk7CiAgfSk7CgogIC8qIC0tLS0tLS0tLS0gU3RpY2t5IENUQSAtLS0tLS0tLS0tICovCiAgdmFyIHN0aWNreSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2YlN0aWNreScpOwogIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBmdW5jdGlvbigpewogICAgaWYod2luZG93LnNjcm9sbFkgPiA2ODApeyBzdGlja3kuY2xhc3NMaXN0LmFkZCgnc2hvdycpOyB9IGVsc2UgeyBzdGlja3kuY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpOyB9CiAgfSwge3Bhc3NpdmU6dHJ1ZX0pOwoKICAvKiAtLS0tLS0tLS0tIEh1YlNwb3QgTG9hZGVyIC0tLS0tLS0tLS0gKi8KICB2YXIgaHNMb2FkaW5nID0gZmFsc2UsIGhzQ2JzID0gW107CiAgZnVuY3Rpb24gbG9hZEh1YlNwb3QoY2IpewogICAgaWYod2luZG93Lmhic3B0ICYmIHdpbmRvdy5oYnNwdC5mb3Jtcyl7IGNiKHRydWUpOyByZXR1cm47IH0KICAgIGhzQ2JzLnB1c2goY2IpOwogICAgaWYoaHNMb2FkaW5nKSByZXR1cm47CiAgICBoc0xvYWRpbmcgPSB0cnVlOwogICAgdmFyIHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgIHMuc3JjID0gImh0dHBzOi8vanMtZXUxLmhzZm9ybXMubmV0L2Zvcm1zL2VtYmVkL3YyLmpzIjsKICAgIHMuY2hhcnNldCA9ICJ1dGYtOCI7CiAgICBzLm9ubG9hZCA9IGZ1bmN0aW9uKCl7IHZhciBvayA9ICEhKHdpbmRvdy5oYnNwdCAmJiB3aW5kb3cuaGJzcHQuZm9ybXMpOyBoc0Nicy5mb3JFYWNoKGZ1bmN0aW9uKGMpe2Mob2spO30pOyBoc0NicyA9IFtdOyB9OwogICAgcy5vbmVycm9yID0gZnVuY3Rpb24oKXsgaHNDYnMuZm9yRWFjaChmdW5jdGlvbihjKXtjKGZhbHNlKTt9KTsgaHNDYnMgPSBbXTsgfTsKICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQocyk7CiAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7IGlmKCEod2luZG93Lmhic3B0ICYmIHdpbmRvdy5oYnNwdC5mb3JtcykpeyBoc0Nicy5mb3JFYWNoKGZ1bmN0aW9uKGMpe2MoZmFsc2UpO30pOyBoc0NicyA9IFtdOyBoc0xvYWRpbmcgPSBmYWxzZTsgfSB9LCA4MDAwKTsKICB9CgogIHZhciBGT1JNID0geyBwb3J0YWxJZDoiMTQzNDE2NjE1IiwgZm9ybUlkOiJiZjBkOWIxMC04MzVjLTRiNDktOTg4Yi0wZDAyYWQxYWNiODgiLCByZWdpb246ImV1MSIgfTsKCiAgLyogLS0tLS0tLS0tLSBJbmxpbmUgRm9ybSAoRmluYWwgQ1RBKSAtLS0tLS0tLS0tICovCiAgdmFyIGlubGluZUNyZWF0ZWQgPSBmYWxzZTsKICBmdW5jdGlvbiBjcmVhdGVJbmxpbmVGb3JtKCl7CiAgICBpZihpbmxpbmVDcmVhdGVkKSByZXR1cm47CiAgICB2YXIgdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdocy1mb3JtLWZpbmFsJyk7CiAgICBpZighdCkgcmV0dXJuOwogICAgaW5saW5lQ3JlYXRlZCA9IHRydWU7CiAgICB2YXIgaWZiID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hzLWZvcm0tZmluYWwtZmFsbGJhY2snKTsKICAgIGxvYWRIdWJTcG90KGZ1bmN0aW9uKG9rKXsKICAgICAgaWYoIW9rKXsgaWYoaWZiKSBpZmIuc3R5bGUuZGlzcGxheT0nYmxvY2snOyByZXR1cm47IH0KICAgICAgd2luZG93Lmhic3B0LmZvcm1zLmNyZWF0ZSh7IHBvcnRhbElkOkZPUk0ucG9ydGFsSWQsIGZvcm1JZDpGT1JNLmZvcm1JZCwgcmVnaW9uOkZPUk0ucmVnaW9uLCB0YXJnZXQ6IiNocy1mb3JtLWZpbmFsIiB9KTsKICAgIH0pOwogIH0KCiAgdmFyIGZpbmFsU2VjdGlvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy52Yi1maW5hbCcpOwogIGlmKCdJbnRlcnNlY3Rpb25PYnNlcnZlcicgaW4gd2luZG93ICYmIGZpbmFsU2VjdGlvbil7CiAgICB2YXIgaW8gPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oZW50cmllcyl7CiAgICAgIGVudHJpZXMuZm9yRWFjaChmdW5jdGlvbihlKXsgaWYoZS5pc0ludGVyc2VjdGluZyl7IGNyZWF0ZUlubGluZUZvcm0oKTsgaW8uZGlzY29ubmVjdCgpOyB9IH0pOwogICAgfSwge3Jvb3RNYXJnaW46JzYwMHB4IDBweCd9KTsKICAgIGlvLm9ic2VydmUoZmluYWxTZWN0aW9uKTsKICB9IGVsc2UgewogICAgY3JlYXRlSW5saW5lRm9ybSgpOwogIH0KCiAgLyogLS0tLS0tLS0tLSBNb2RhbCBGb3JtIC0tLS0tLS0tLS0gKi8KICB2YXIgbW9kYWwgICAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmJNb2RhbCcpOwogIHZhciBleWVicm93ICA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2Yk1vZGFsRXllYnJvdycpOwogIHZhciB0aXRsZSAgICA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2Yk1vZGFsVGl0bGUnKTsKICB2YXIgaW50cm8gICAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmJNb2RhbEludHJvJyk7CiAgdmFyIGZhbGxiYWNrID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hzLWZvcm0tZmFsbGJhY2snKTsKICB2YXIgbGFzdEZvY3VzID0gbnVsbDsKICB2YXIgbW9kYWxDcmVhdGVkID0gZmFsc2U7CgogIHZhciBDT1BZID0gewogICAgY29udGF0dG86eyBleWVicm93OidHZXQgaW4gdG91Y2gnLCB0aXRsZTonTGV04oCZcyB0YWxrIGFib3V0IHlvdXIgcHJvamVjdCcsCiAgICAgIGludHJvOidGaWxsIGluIHRoZSBmb3JtOiB3ZeKAmWxsIHJlcGx5IHF1aWNrbHksIHdpdGggbm8gb2JsaWdhdGlvbi4nIH0sCiAgICBjYXRhbG9nbzp7IGV5ZWJyb3c6J0dpZnQgQ2F0YWxvZ3VlJywgdGl0bGU6J1JlY2VpdmUgdGhlIGNvcnBvcmF0ZSBnaWZ0IGNhdGFsb2d1ZScsCiAgICAgIGludHJvOidMZWF2ZSB5b3VyIGRldGFpbHM6IHdl4oCZbGwgc2VuZCB5b3UgdGhlIGNhdGFsb2d1ZSBsaW5rIGJ5IGVtYWlsIGltbWVkaWF0ZWx5LiBObyBzYWxlcyBjYWxscyB1bmxlc3MgeW91IHdhbnQgb25lLicgfQogIH07CgogIGZ1bmN0aW9uIHNldENvbnRleHQoY3R4KXsKICAgIHZhciBjID0gQ09QWVtjdHhdIHx8IENPUFkuY29udGF0dG87CiAgICBleWVicm93LnRleHRDb250ZW50ID0gYy5leWVicm93OwogICAgdGl0bGUudGV4dENvbnRlbnQgICA9IGMudGl0bGU7CiAgICBpbnRyby50ZXh0Q29udGVudCAgID0gYy5pbnRybzsKICB9CgogIGZ1bmN0aW9uIGNyZWF0ZU1vZGFsRm9ybSgpewogICAgaWYobW9kYWxDcmVhdGVkKSByZXR1cm47CiAgICBtb2RhbENyZWF0ZWQgPSB0cnVlOwogICAgbG9hZEh1YlNwb3QoZnVuY3Rpb24ob2spewogICAgICBpZighb2speyBmYWxsYmFjay5zdHlsZS5kaXNwbGF5PSdibG9jayc7IG1vZGFsQ3JlYXRlZCA9IGZhbHNlOyByZXR1cm47IH0KICAgICAgd2luZG93Lmhic3B0LmZvcm1zLmNyZWF0ZSh7IHBvcnRhbElkOkZPUk0ucG9ydGFsSWQsIGZvcm1JZDpGT1JNLmZvcm1JZCwgcmVnaW9uOkZPUk0ucmVnaW9uLCB0YXJnZXQ6IiNocy1mb3JtLXRhcmdldCIgfSk7CiAgICB9KTsKICB9CgogIGZ1bmN0aW9uIG9wZW5Nb2RhbChjdHgpewogICAgbGFzdEZvY3VzID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDsKICAgIGNyZWF0ZU1vZGFsRm9ybSgpOwogICAgc2V0Q29udGV4dChjdHgpOwogICAgc2V0VGltZW91dChmdW5jdGlvbigpeyBzZXRDb250ZXh0KGN0eCk7IH0sIDEyMDApOwogICAgbW9kYWwuY2xhc3NMaXN0LmFkZCgnb3BlbicpOwogICAgbW9kYWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsJ2ZhbHNlJyk7CiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbic7CiAgICB2YXIgY2xvc2UgPSBtb2RhbC5xdWVyeVNlbGVjdG9yKCcudmItbW9kYWxfX2Nsb3NlJyk7CiAgICBpZihjbG9zZSkgY2xvc2UuZm9jdXMoKTsKICB9CiAgZnVuY3Rpb24gY2xvc2VNb2RhbCgpewogICAgbW9kYWwuY2xhc3NMaXN0LnJlbW92ZSgnb3BlbicpOwogICAgbW9kYWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsJ3RydWUnKTsKICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSAnJzsKICAgIGlmKGxhc3RGb2N1cykgbGFzdEZvY3VzLmZvY3VzKCk7CiAgfQoKICByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLXZiLW9wZW5dJykuZm9yRWFjaChmdW5jdGlvbihidG4pewogICAgYnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKXsgb3Blbk1vZGFsKGJ0bi5nZXRBdHRyaWJ1dGUoJ2RhdGEtdmItb3BlbicpKTsgfSk7CiAgfSk7CiAgbW9kYWwucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtdmItY2xvc2VdJykuZm9yRWFjaChmdW5jdGlvbihlbCl7CiAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGNsb3NlTW9kYWwpOwogIH0pOwogIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBmdW5jdGlvbihlKXsKICAgIGlmKGUua2V5ID09PSAnRXNjYXBlJyAmJiBtb2RhbC5jbGFzc0xpc3QuY29udGFpbnMoJ29wZW4nKSkgY2xvc2VNb2RhbCgpOwogIH0pOwp9KSgpOwo8L3NjcmlwdD55e0J57\/ClXuAAfYud5MoHd7KcAzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgVkFJQSDDlyBDT01QQU5JRVMg4oCUIEIyQiBMYW5kaW5nIChsZWFkIGdlbmVyYXRpb24pCiAgICAgU2luZ2xlIGJsb2NrIHRvIHBhc3RlIGludG8gYSAiQ3VzdG9tIEhUTUwiIGJsb2NrIGluIFdvcmRQcmVzcy4KICAgICBBbGwgc3R5bGVzIHNjb3BlZCB1bmRlciAjdmFpYS1iMmIuCiAgICAgRm9vdGVyIE5PVCBpbmNsdWRlZCAodXNlIHRoZSB0aGVtZSdzIGZvb3RlcikuCiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgoKPCEtLSBCcmFuZCBGb250IC0tPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vYXBpLmZvbnRzaGFyZS5jb20iIGNyb3Nzb3JpZ2luPSIiPgo8bGluayBocmVmPSJodHRwczovL2FwaS5mb250c2hhcmUuY29tL3YyL2Nzcz9mW109Y2xhc2gtZGlzcGxheUA0MDAsNTAwLDYwMCw3MDAmYW1wO2Rpc3BsYXk9c3dhcCIgcmVsPSJzdHlsZXNoZWV0Ij4KCjxkaXYgaWQ9InZhaWEtYjJiIj4KCjwhLS0gPT09PT09PT09PT09IFNUWUxFID09PT09PT09PT09PSAtLT4KPHN0eWxlPgojdmFpYS1iMmJ7CiAgLyogLS0tLSBJbnN0aXR1dGlvbmFsIFBhbGV0dGUgLS0tLSAqLwogIC0tYy1mb3Jlc3Q6IzBFM0IyNjsgICAvKiBkZWVwIGdyZWVuICAqLwogIC0tYy1ncmVlbjojMDA3QTRFOyAgICAvKiBhY3Rpb24gZ3JlZW4gICAgKi8KICAtLWMtbWludDojQzlFQ0Q5OyAgICAgLyogbGlnaHQgbWludCAgICAqLwogIC0tYy1nb2xkOiNEREMwMDA7ICAgICAvKiBnb2xkL29jaHJlICAgICAgICAqLwogIC0tYy1wYXBlcjojRjNGMEU0OyAgICAvKiBjcmVhbSAgICAgICAgICAgKi8KICAtLWMtd2luZTojNjEwRjM4OyAgICAgLyogYm9yZGVhdXggICAgICAgICovCiAgLS1jLWluazojMTAyMzFBOyAgICAgIC8qIHRleHQgb24gbGlnaHQgKi8KICAtLWMtd2hpdGU6I2ZmZmZmZjsKCiAgLS1tYXh3OjExODBweDsKICAtLXI6MThweDsgICAgICAgICAgICAgLyogY2FyZCByYWRpdXMgICAgICovCiAgLS1lYXNlOmN1YmljLWJlemllciguMiwuNywuMiwxKTsKCiAgLS1mOidDbGFzaCBEaXNwbGF5JywnSGVsdmV0aWNhIE5ldWUnLEFyaWFsLHNhbnMtc2VyaWY7CgogIGZvbnQtZmFtaWx5OnZhcigtLWYpOwogIGNvbG9yOnZhcigtLWMtaW5rKTsKICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOwogIGxpbmUtaGVpZ2h0OjEuNTsKICBmb250LXNpemU6MThweDsKfQovKiBsb2NhbCByZXNldCAqLwojdmFpYS1iMmIgKiwjdmFpYS1iMmIgKjo6YmVmb3JlLCN2YWlhLWIyYiAqOjphZnRlcntib3gtc2l6aW5nOmJvcmRlci1ib3g7fQojdmFpYS1iMmIgaDEsI3ZhaWEtYjJiIGgyLCN2YWlhLWIyYiBoMywjdmFpYS1iMmIgaDQsI3ZhaWEtYjJiIHAsI3ZhaWEtYjJiIHVsLCN2YWlhLWIyYiBmaWd1cmV7bWFyZ2luOjA7cGFkZGluZzowO30KI3ZhaWEtYjJiIHVse2xpc3Qtc3R5bGU6bm9uZTt9CiN2YWlhLWIyYiBpbWd7bWF4LXdpZHRoOjEwMCU7ZGlzcGxheTpibG9jazt9CiN2YWlhLWIyYiBhe2NvbG9yOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7fQoKLyogLS0tLSB0eXBvZ3JhcGh5IC0tLS0gKi8KI3ZhaWEtYjJiIC52Yi1leWVicm93ewogIGZvbnQtc2l6ZTouNzhyZW07Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi4xOGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsKICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6LjU1cmVtO2NvbG9yOnZhcigtLWMtZ3JlZW4pOwp9CiN2YWlhLWIyYiAudmItZXllYnJvdzo6YmVmb3Jle2NvbnRlbnQ6IiI7d2lkdGg6MjZweDtoZWlnaHQ6MnB4O2JhY2tncm91bmQ6dmFyKC0tYy1nb2xkKTtkaXNwbGF5OmlubGluZS1ibG9jazt9CiN2YWlhLWIyYiAudmItZXllYnJvdy0tbGlnaHR7Y29sb3I6dmFyKC0tYy1taW50KTt9CiN2YWlhLWIyYiAudmItZXllYnJvdy0tbGlnaHQ6OmJlZm9yZXtiYWNrZ3JvdW5kOnZhcigtLWMtZ29sZCk7fQoKI3ZhaWEtYjJiIGgyLnZiLWh7Zm9udC1zaXplOmNsYW1wKDEuOXJlbSw0LjR2dywzLjFyZW0pO2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDoxLjA1O2xldHRlci1zcGFjaW5nOi0uMDJlbTt9CiN2YWlhLWIyYiBoMy52Yi1oe2ZvbnQtc2l6ZTpjbGFtcCgxLjRyZW0sMi42dncsMnJlbSk7Zm9udC13ZWlnaHQ6NjAwO2xpbmUtaGVpZ2h0OjEuMDg7bGV0dGVyLXNwYWNpbmc6LS4wMWVtO30KI3ZhaWEtYjJiIC52Yi1sZWFke2ZvbnQtc2l6ZTpjbGFtcCgxLjAycmVtLDEuNXZ3LDEuMThyZW0pO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojMmMzZjM1O30KCi8qIC0tLS0gbGF5b3V0IC0tLS0gKi8KI3ZhaWEtYjJiIC52Yi13cmFwe21heC13aWR0aDp2YXIoLS1tYXh3KTttYXJnaW46MCBhdXRvO3BhZGRpbmc6MCAyMnB4O30KI3ZhaWEtYjJiIC52Yi1zZWN0aW9ue3BhZGRpbmc6Y2xhbXAoNTZweCw4dncsMTA0cHgpIDA7fQoKLyogIndvb2QgZ3JhaW4iIGRpdmlkZXIgKi8KI3ZhaWEtYjJiIC52Yi1zcGxpdHtoZWlnaHQ6MnB4O3dpZHRoOjEwMCU7Ym9yZGVyOjA7CiAgYmFja2dyb3VuZDpyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDkwZGVnLHZhcigtLWMtZ29sZCkgMCAxNHB4LHRyYW5zcGFyZW50IDE0cHggMjZweCk7CiAgb3BhY2l0eTouNTttYXJnaW46MDt9CgovKiAtLS0tIGJ1dHRvbnMgLS0tLSAqLwojdmFpYS1iMmIgLnZiLWJ0bnsKICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDouNXJlbTsKICBmb250LWZhbWlseTp2YXIoLS1mKTtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjFyZW07bGluZS1oZWlnaHQ6MTsKICBwYWRkaW5nOjE2cHggMjZweDtib3JkZXItcmFkaXVzOjk5OXB4O2N1cnNvcjpwb2ludGVyO2JvcmRlcjoycHggc29saWQgdHJhbnNwYXJlbnQ7CiAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE4cyB2YXIoLS1lYXNlKSxiYWNrZ3JvdW5kIC4xOHMgdmFyKC0tZWFzZSksY29sb3IgLjE4cyB2YXIoLS1lYXNlKSxib3JkZXItY29sb3IgLjE4cyB2YXIoLS1lYXNlKTsKfQojdmFpYS1iMmIgLnZiLWJ0bjpob3Zlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KTt9CiN2YWlhLWIyYiAudmItYnRuLS1wcmltYXJ5e2JhY2tncm91bmQ6dmFyKC0tYy1ncmVlbik7Y29sb3I6I2ZmZjt9CiN2YWlhLWIyYiAudmItYnRuLS1wcmltYXJ5OmhvdmVye2JhY2tncm91bmQ6IzA2NmE0NDt9CiN2YWlhLWIyYiAudmItYnRuLS1nb2xke2JhY2tncm91bmQ6dmFyKC0tYy1nb2xkKTtjb2xvcjp2YXIoLS1jLWZvcmVzdCk7fQojdmFpYS1iMmIgLnZiLWJ0bi0tZ29sZDpob3ZlcntiYWNrZ3JvdW5kOiNjOWFkMDA7fQojdmFpYS1iMmIgLnZiLWJ0bi0tZ2hvc3R7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6Y3VycmVudENvbG9yO2NvbG9yOnZhcigtLWMtZm9yZXN0KTt9CiN2YWlhLWIyYiAudmItYnRuLS1naG9zdDpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWMtZm9yZXN0KTtjb2xvcjojZmZmO2JvcmRlci1jb2xvcjp2YXIoLS1jLWZvcmVzdCk7fQojdmFpYS1iMmIgLnZiLWJ0bi0tZ2hvc3RsaWdodHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41NSk7Y29sb3I6I2ZmZjt9CiN2YWlhLWIyYiAudmItYnRuLS1naG9zdGxpZ2h0OmhvdmVye2JhY2tncm91bmQ6I2ZmZjtjb2xvcjp2YXIoLS1jLWZvcmVzdCk7Ym9yZGVyLWNvbG9yOiNmZmY7fQojdmFpYS1iMmIgLnZiLWJ0biAudmItYXJyb3d7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE4cyB2YXIoLS1lYXNlKTt9CiN2YWlhLWIyYiAudmItYnRuOmhvdmVyIC52Yi1hcnJvd3t0cmFuc2Zvcm06dHJhbnNsYXRlWCgzcHgpO30KI3ZhaWEtYjJiIC52Yi1jdGEtcm93e2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtnYXA6MTRweDt9CgovKiA9PT09PT09PT09PT09PT09PT09IEhFUk8gPT09PT09PT09PT09PT09PT09PSAqLwojdmFpYS1iMmIgLnZiLWhlcm97cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6dmFyKC0tYy1mb3Jlc3QpO2NvbG9yOiNmZmY7fQojdmFpYS1iMmIgLnZiLWhlcm9fX2Jne3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7ei1pbmRleDowO30KI3ZhaWEtYjJiIC52Yi1oZXJvX19iZyBpbWd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyO30KI3ZhaWEtYjJiIC52Yi1oZXJvX19iZzo6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowOwogIGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDE0LDU5LDM4LC42MikgMCUscmdiYSgxNCw1OSwzOCwuNzgpIDYwJSxyZ2JhKDE0LDU5LDM4LC45NikgMTAwJSk7fQojdmFpYS1iMmIgLnZiLWhlcm9fX2lubmVye3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTtwYWRkaW5nLXRvcDpjbGFtcCgxMTBweCwxNXZ3LDE2OHB4KTtwYWRkaW5nLWJvdHRvbTpjbGFtcCg0MHB4LDZ2dyw2NHB4KTttaW4taGVpZ2h0OjU0MHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OmNlbnRlcjt9CiN2YWlhLWIyYiAudmItaGVybyBoMXsKICBmb250LXNpemU6Y2xhbXAoMi40cmVtLDYuNHZ3LDQuNnJlbSk7Zm9udC13ZWlnaHQ6NjAwO2xpbmUtaGVpZ2h0Oi45OTtsZXR0ZXItc3BhY2luZzotLjAyNWVtOwogIG1heC13aWR0aDoxNmNoO21hcmdpbjouNXJlbSAwIDA7fQojdmFpYS1iMmIgLnZiLWhlcm8gaDEgZW17Zm9udC1zdHlsZTpub3JtYWw7Y29sb3I6dmFyKC0tYy1nb2xkKTt9CiN2YWlhLWIyYiAudmItaGVyb19fc3Vie21hcmdpbi10b3A6MS4zcmVtO21heC13aWR0aDo1NGNoO2ZvbnQtc2l6ZTpjbGFtcCgxLjA1cmVtLDEuN3Z3LDEuMjhyZW0pO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojZTdmM2VjO30KI3ZhaWEtYjJiIC52Yi1oZXJvIC52Yi1jdGEtcm93e21hcmdpbi10b3A6MnJlbTt9CiN2YWlhLWIyYiAudmItaGVyb19fbWljcm97bWFyZ2luLXRvcDouOXJlbTtmb250LXNpemU6Ljg4cmVtO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojY2ZlNWQ4O30KCi8qIHRydXN0IGJhZGdlcyAqLwojdmFpYS1iMmIgLnZiLXRydXN0e3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTttYXJnaW4tdG9wOmNsYW1wKDMwcHgsNXZ3LDQ2cHgpO30KI3ZhaWEtYjJiIC52Yi1iYWRnZXN7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2dhcDoxMHB4O30KI3ZhaWEtYjJiIC52Yi1iYWRnZXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6LjQ1cmVtO2ZvbnQtc2l6ZTouODJyZW07Zm9udC13ZWlnaHQ6NTAwOwogIHBhZGRpbmc6OHB4IDE0cHg7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDIwMSwyMzYsMjE3LC40KTtib3JkZXItcmFkaXVzOjk5OXB4O2NvbG9yOiNlYWZmZjQ7fQojdmFpYS1iMmIgLnZiLWJhZGdlIHN2Z3t3aWR0aDoxNHB4O2hlaWdodDoxNHB4O30KI3ZhaWEtYjJiIC52Yi1iYWRnZS0tbG9nb3tiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjA4KTt9CiN2YWlhLWIyYiAudmItYmFkZ2UtLWxvZ28gc3Zne3dpZHRoOjE2cHg7aGVpZ2h0OjIxcHg7fQoKLyogPT09PT09PT09PT09PT09PT09PSBMT0dPUyA9PT09PT09PT09PT09PT09PT09ICovCiN2YWlhLWIyYiAudmItbG9nb3N7YmFja2dyb3VuZDp2YXIoLS1jLXBhcGVyKTt9CiN2YWlhLWIyYiAudmItbG9nb3NfX2hlYWR7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOi44cmVtO2xldHRlci1zcGFjaW5nOi4xOGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsKICBjb2xvcjojNmY3ZDcyO2ZvbnQtd2VpZ2h0OjYwMDttYXJnaW4tYm90dG9tOjMwcHg7fQojdmFpYS1iMmIgLnZiLWxvZ29zX19ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDYsMWZyKTtnYXA6MTZweDthbGlnbi1pdGVtczpzdHJldGNoO30KI3ZhaWEtYjJiIC52Yi1sb2dvc19fZ3JpZCBmaWd1cmV7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI2U2ZTFjZjtib3JkZXItcmFkaXVzOjE0cHg7CiAgZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MTZweCAxNHB4O21pbi1oZWlnaHQ6OTJweDsKICB0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgdmFyKC0tZWFzZSksYm94LXNoYWRvdyAuMnMgdmFyKC0tZWFzZSk7fQojdmFpYS1iMmIgLnZiLWxvZ29zX19ncmlkIGZpZ3VyZTpob3Zlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtM3B4KTtib3gtc2hhZG93OjAgMTRweCAzMHB4IC0yMHB4IHJnYmEoMCwwLDAsLjM1KTt9CiN2YWlhLWIyYiAudmItbG9nb3NfX2dyaWQgaW1ne21heC1oZWlnaHQ6NTRweDt3aWR0aDphdXRvO29iamVjdC1maXQ6Y29udGFpbjt9CgovKiA9PT09PT09PT09PT09PT09PT09IFRFUlJJVE9SWSAvIElOVFJPID09PT09PT09PT09PT09PT09PT0gKi8KI3ZhaWEtYjJiIC52Yi1pbnRyb3tiYWNrZ3JvdW5kOnZhcigtLWMtcGFwZXIpO30KI3ZhaWEtYjJiIC52Yi1pbnRyb19faGVhZHttYXgtd2lkdGg6ODAwcHg7bWFyZ2luOjAgYXV0bzt0ZXh0LWFsaWduOmNlbnRlcjt9CiN2YWlhLWIyYiAudmItaW50cm9fX2hlYWQgLnZiLWV5ZWJyb3d7anVzdGlmeS1jb250ZW50OmNlbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O30KI3ZhaWEtYjJiIC52Yi1pbnRyb19faGVhZCBoMnttYXJnaW4tdG9wOjFyZW07fQojdmFpYS1iMmIgLnZiLWludHJvX19oZWFkIHB7bWFyZ2luLXRvcDoxcmVtO30KI3ZhaWEtYjJiIC52Yi1zdmMtY2FyZHN7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDoxOHB4O21hcmdpbi10b3A6NDZweDt9CiN2YWlhLWIyYiAudmItc3ZjLWNhcmR7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI2U2ZTFjZjtib3JkZXItcmFkaXVzOnZhcigtLXIpO292ZXJmbG93OmhpZGRlbjsKICBkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyB2YXIoLS1lYXNlKSxib3gtc2hhZG93IC4ycyB2YXIoLS1lYXNlKTt9CiN2YWlhLWIyYiAudmItc3ZjLWNhcmQ6aG92ZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTVweCk7Ym94LXNoYWRvdzowIDI2cHggNTBweCAtMjhweCByZ2JhKDAsMCwwLC40Mik7fQojdmFpYS1iMmIgLnZiLXN2Yy1jYXJkX19pbWd7YXNwZWN0LXJhdGlvOjE2LzEwO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOnZhcigtLWMtbWludCk7fQojdmFpYS1iMmIgLnZiLXN2Yy1jYXJkX19pbWcgaW1ne3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcjt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNHMgdmFyKC0tZWFzZSk7fQojdmFpYS1iMmIgLnZiLXN2Yy1jYXJkOmhvdmVyIC52Yi1zdmMtY2FyZF9faW1nIGltZ3t0cmFuc2Zvcm06c2NhbGUoMS4wNSk7fQojdmFpYS1iMmIgLnZiLXN2Yy1jYXJkX19ie3BhZGRpbmc6MjJweCAyMnB4IDI0cHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4OjE7fQojdmFpYS1iMmIgLnZiLXN2Yy1jYXJkX19iIGgze21hcmdpbi10b3A6LjVyZW07Zm9udC1zaXplOjEuMzVyZW07fQojdmFpYS1iMmIgLnZiLXN2Yy1jYXJkX19iIHB7bWFyZ2luLXRvcDouNnJlbTtmb250LXNpemU6Ljk2cmVtO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojNTI2MTVhO2ZsZXg6MTt9CiN2YWlhLWIyYiAudmItc3ZjLWNhcmRfX2xpbmt7bWFyZ2luLXRvcDoxNnB4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS1jLWdyZWVuKTtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6LjRyZW07fQojdmFpYS1iMmIgLnZiLXN2Yy1jYXJkOmhvdmVyIC52Yi1zdmMtY2FyZF9fbGluayBzcGFue3RyYW5zZm9ybTp0cmFuc2xhdGVYKDNweCk7fQojdmFpYS1iMmIgLnZiLXN2Yy1jYXJkX19saW5rIHNwYW57dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE4cyB2YXIoLS1lYXNlKTt9CgovKiA9PT09PT09PT09PT09PT09PT09IEJFTkVGSVRTID09PT09PT09PT09PT09PT09PT0gKi8KI3ZhaWEtYjJiIC52Yi1iZW57YmFja2dyb3VuZDojZmZmO30KI3ZhaWEtYjJiIC52Yi1iZW5fX2hlYWR7bWF4LXdpZHRoOjcyMHB4O30KI3ZhaWEtYjJiIC52Yi1iZW5fX2hlYWQgaDJ7bWFyZ2luLXRvcDoxcmVtO30KI3ZhaWEtYjJiIC52Yi1iZW5fX2hlYWQgcHttYXJnaW4tdG9wOjFyZW07fQojdmFpYS1iMmIgLnZiLWJlbl9fZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7Z2FwOjE4cHg7bWFyZ2luLXRvcDo0NnB4O30KI3ZhaWEtYjJiIC52Yi1iZW5fX2NhcmR7Ym9yZGVyLXJhZGl1czp2YXIoLS1yKTtwYWRkaW5nOjI4cHggMjZweDtib3JkZXI6MXB4IHNvbGlkICNlNmUxY2Y7YmFja2dyb3VuZDp2YXIoLS1jLXBhcGVyKTt9CiN2YWlhLWIyYiAudmItYmVuX19jYXJkIC52Yi1leWVicm93e21hcmdpbi1ib3R0b206LjZyZW07fQojdmFpYS1iMmIgLnZiLWJlbl9fY2FyZCBwe2ZvbnQtc2l6ZTouOTZyZW07Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiM1MjYxNWE7fQojdmFpYS1iMmIgLnZiLWJlbl9fY2hpcHN7bWFyZ2luLXRvcDoxOHB4O2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtnYXA6OHB4O30KI3ZhaWEtYjJiIC52Yi1iZW5fX2NoaXBzIGxpe2ZvbnQtc2l6ZTouODJyZW07Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOnZhcigtLWMtZm9yZXN0KTsKICBiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGRkNmMyO2JvcmRlci1yYWRpdXM6OTk5cHg7cGFkZGluZzo3cHggMTNweDt9CgovKiA9PT09PT09PT09PT09PT09PT09IFNFUlZJQ0VTID09PT09PT09PT09PT09PT09PT0gKi8KI3ZhaWEtYjJiIC52Yi1zcnZ7cG9zaXRpb246cmVsYXRpdmU7fQojdmFpYS1iMmIgLnZiLXNydi0tZm9yZXN0e2JhY2tncm91bmQ6dmFyKC0tYy1mb3Jlc3QpO2NvbG9yOiNmZmY7fQojdmFpYS1iMmIgLnZiLXNydi0tbWludHtiYWNrZ3JvdW5kOnZhcigtLWMtbWludCk7fQojdmFpYS1iMmIgLnZiLXNydi0td2luZXtiYWNrZ3JvdW5kOnZhcigtLWMtd2luZSk7Y29sb3I6I2ZmZjt9CiN2YWlhLWIyYiAudmItc3J2X19ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtnYXA6Y2xhbXAoMzBweCw1dncsNjBweCk7YWxpZ24taXRlbXM6Y2VudGVyO30KI3ZhaWEtYjJiIC52Yi1zcnZfX2dyaWQucmV2IC52Yi1zcnZfX21lZGlhe29yZGVyOjI7fQojdmFpYS1iMmIgLnZiLXNydiBwe21hcmdpbi10b3A6MS4xcmVtO30KI3ZhaWEtYjJiIC52Yi1zcnYgLnZiLWN0YS1yb3d7bWFyZ2luLXRvcDoxLjhyZW07fQojdmFpYS1iMmIgLnZiLXNydi0tZm9yZXN0IC52Yi1sZWFkLCN2YWlhLWIyYiAudmItc3J2LS13aW5lIC52Yi1sZWFke2NvbG9yOiNlM2VmZTg7fQojdmFpYS1iMmIgLnZiLXNydi0td2luZSAudmItbGVhZHtjb2xvcjojZjNkYmU3O30KCi8qIGNoZWNrIGxpc3QgKi8KI3ZhaWEtYjJiIC52Yi1jaGVja3N7bWFyZ2luLXRvcDoxLjVyZW07ZGlzcGxheTpncmlkO2dhcDoxMXB4O30KI3ZhaWEtYjJiIC52Yi1jaGVja3MgbGl7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1sZWZ0OjMwcHg7Zm9udC1zaXplOjFyZW07Zm9udC13ZWlnaHQ6NDAwO30KI3ZhaWEtYjJiIC52Yi1jaGVja3MgbGk6OmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MnB4O3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7Ym9yZGVyLXJhZGl1czo1MCU7CiAgYmFja2dyb3VuZDp2YXIoLS1jLWdvbGQpO30KI3ZhaWEtYjJiIC52Yi1jaGVja3MgbGk6OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDo2cHg7dG9wOjdweDt3aWR0aDo1cHg7aGVpZ2h0OjhweDsKICBib3JkZXI6c29saWQgdmFyKC0tYy1mb3Jlc3QpO2JvcmRlci13aWR0aDowIDJweCAycHggMDt0cmFuc2Zvcm06cm90YXRlKDQyZGVnKTt9CiN2YWlhLWIyYiAudmItc3J2LS1taW50IC52Yi1jaGVja3MgbGl7Y29sb3I6IzE2MzgyYTt9CgovKiB2aWRlbyAqLwojdmFpYS1iMmIgLnZiLXZpZGVvewogIHBvc2l0aW9uOnJlbGF0aXZlOwogIHdpZHRoOjEwMCU7CiAgcGFkZGluZy10b3A6NTYuMjUlOwogIGJvcmRlci1yYWRpdXM6dmFyKC0tcik7CiAgb3ZlcmZsb3c6aGlkZGVuOwogIGJhY2tncm91bmQ6IzBiMjQxOTsKICBib3gtc2hhZG93OjAgMjRweCA2MHB4IC0yOHB4IHJnYmEoMCwwLDAsLjU1KTsKICBkaXNwbGF5OiBmbGV4OwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KI3ZhaWEtYjJiIC52Yi12aWRlbyBpZnJhbWV7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgaW5zZXQ6MDsKICB3aWR0aDoxMDAlOwogIGhlaWdodDoxMDAlOwogIGJvcmRlcjowOwogIHRvcDogLTEwcHg7CiAgbGVmdDogLTFweDsKICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTsKICBoZWlnaHQ6IGNhbGMoMTAwJSArIDJweCk7Cn0KCi8qIHByb2R1Y3RzIGdyaWQgKi8KI3ZhaWEtYjJiIC52Yi1wcm9kc3ttYXJnaW4tdG9wOjM4cHg7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDoxNnB4O30KI3ZhaWEtYjJiIC52Yi1wcm9ke2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmFkaXVzOjE0cHg7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMDYpOwogIHRyYW5zaXRpb246dHJhbnNmb3JtIC4ycyB2YXIoLS1lYXNlKSxib3gtc2hhZG93IC4ycyB2YXIoLS1lYXNlKTt9CiN2YWlhLWIyYiAudmItcHJvZDpob3Zlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNHB4KTtib3gtc2hhZG93OjAgMjBweCA0MHB4IC0yNHB4IHJnYmEoMCwwLDAsLjQpO30KI3ZhaWEtYjJiIC52Yi1wcm9kX19pbWd7YXNwZWN0LXJhdGlvOjEvMTtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDp2YXIoLS1jLW1pbnQpO30KI3ZhaWEtYjJiIC52Yi1wcm9kX19pbWcgaW1ne3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcjt9CiN2YWlhLWIyYiAudmItcHJvZF9fYntwYWRkaW5nOjEzcHggMTRweCAxNnB4O30KI3ZhaWEtYjJiIC52Yi1wcm9kX19iIGJ7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxcmVtO2NvbG9yOnZhcigtLWMtZm9yZXN0KTtkaXNwbGF5OmJsb2NrO30KI3ZhaWEtYjJiIC52Yi1wcm9kX19iIHNwYW57Zm9udC1zaXplOi44NHJlbTtjb2xvcjojNWU2ZjYzO2ZvbnQtd2VpZ2h0OjQwMDt9CgovKiBjYXNlIHN0dWR5IGNhcmQgKi8KI3ZhaWEtYjJiIC52Yi1jYXNle2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMDcpO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMTYpO2JvcmRlci1yYWRpdXM6dmFyKC0tcik7CiAgcGFkZGluZzoyNnB4O21hcmdpbi10b3A6MjZweDt9CiN2YWlhLWIyYiAudmItc3J2LS1taW50IC52Yi1jYXNle2JhY2tncm91bmQ6I2ZmZjtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMDYpO30KI3ZhaWEtYjJiIC52Yi1jYXNlX190b3B7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTRweDt9CiN2YWlhLWIyYiAudmItY2FzZV9fbG9nb3toZWlnaHQ6MzRweDt3aWR0aDphdXRvO2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmFkaXVzOjhweDtwYWRkaW5nOjVweCA4cHg7fQojdmFpYS1iMmIgLnZiLWNhc2VfX25hbWV7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxLjA1cmVtO30KI3ZhaWEtYjJiIC52Yi1jYXNlX19zdGF0c3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LDFmcik7Z2FwOjE0cHg7bWFyZ2luLXRvcDoyMHB4O30KI3ZhaWEtYjJiIC52Yi1jYXNlX19ue2ZvbnQtc2l6ZTpjbGFtcCgxLjNyZW0sMi40dncsMS43cmVtKTtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tYy1nb2xkKTtsaW5lLWhlaWdodDoxO30KI3ZhaWEtYjJiIC52Yi1zcnYtLW1pbnQgLnZiLWNhc2VfX257Y29sb3I6dmFyKC0tYy1ncmVlbik7fQojdmFpYS1iMmIgLnZiLWNhc2VfX3Nse2ZvbnQtc2l6ZTouNzhyZW07bWFyZ2luLXRvcDouMzVyZW07b3BhY2l0eTouODI7Zm9udC13ZWlnaHQ6NDAwO30KI3ZhaWEtYjJiIC52Yi1jYXNlX19saW5re2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDouNHJlbTttYXJnaW4tdG9wOjIwcHg7Zm9udC13ZWlnaHQ6NjAwOwogIGZvbnQtc2l6ZTouOTVyZW07Y29sb3I6dmFyKC0tYy1nb2xkKTt9CiN2YWlhLWIyYiAudmItc3J2LS1taW50IC52Yi1jYXNlX19saW5re2NvbG9yOnZhcigtLWMtZ3JlZW4pO30KI3ZhaWEtYjJiIC52Yi1jYXNlX19saW5rIHNwYW57dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE4cyB2YXIoLS1lYXNlKTt9CiN2YWlhLWIyYiAudmItY2FzZV9fbGluazpob3ZlciBzcGFue3RyYW5zZm9ybTp0cmFuc2xhdGVYKDNweCk7fQoKLyogc3RyaXAgc3RhdHMgKi8KI3ZhaWEtYjJiIC52Yi1zdHJpcF9faGVhZHttYXJnaW4tdG9wOjQycHg7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOi43OHJlbTtsZXR0ZXItc3BhY2luZzouMThlbTsKICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6IzRkNjM1Njtmb250LXdlaWdodDo2MDA7fQojdmFpYS1iMmIgLnZiLXN0cmlwe2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsMWZyKTtnYXA6MTZweDttYXJnaW4tdG9wOjE4cHg7fQojdmFpYS1iMmIgLnZiLXN0cmlwX19pe3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA2KTtib3JkZXItcmFkaXVzOjE0cHg7cGFkZGluZzoxOHB4IDEycHg7fQojdmFpYS1iMmIgLnZiLXN0cmlwX19pIGJ7ZGlzcGxheTpibG9jaztmb250LXNpemU6Y2xhbXAoMS41cmVtLDN2dywycmVtKTtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tYy1ncmVlbik7bGluZS1oZWlnaHQ6MTt9CiN2YWlhLWIyYiAudmItc3RyaXBfX2kgc3BhbntkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZTouOHJlbTtjb2xvcjojNWU2ZjYzO2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW4tdG9wOi40cmVtO30KCi8qID09PT09PT09PT09PT09PT09PT0gVEVTVElNT05JQUxTID09PT09PT09PT09PT09PT09PT0gKi8KI3ZhaWEtYjJiIC52Yi10c3R7YmFja2dyb3VuZDp2YXIoLS1jLXBhcGVyKTt9CiN2YWlhLWIyYiAudmItdHN0X19ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKTtnYXA6MThweDttYXJnaW4tdG9wOjM4cHg7fQojdmFpYS1iMmIgLnZiLXRzdF9fY2FyZHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZTZlMWNmO2JvcmRlci1yYWRpdXM6dmFyKC0tcik7cGFkZGluZzoyNnB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47fQojdmFpYS1iMmIgLnZiLXRzdF9fcXtmb250LXNpemU6MS4wMnJlbTtmb250LXdlaWdodDo0MDA7Y29sb3I6IzI2MzYyZDtmbGV4OjE7fQojdmFpYS1iMmIgLnZiLXRzdF9fcTo6YmVmb3Jle2NvbnRlbnQ6IuKAnCI7Zm9udC1zaXplOjIuNHJlbTtjb2xvcjp2YXIoLS1jLWdvbGQpO2xpbmUtaGVpZ2h0OjA7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOi41cmVtO30KI3ZhaWEtYjJiIC52Yi10c3RfX3dob3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O21hcmdpbi10b3A6MjBweDt9CiN2YWlhLWIyYiAudmItdHN0X19hdnt3aWR0aDo0MnB4O2hlaWdodDo0MnB4O2JvcmRlci1yYWRpdXM6NTAlO29iamVjdC1maXQ6Y292ZXI7YmFja2dyb3VuZDp2YXIoLS1jLW1pbnQpO30KI3ZhaWEtYjJiIC52Yi10c3RfX3dobyBie2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6Ljk1cmVtO2NvbG9yOnZhcigtLWMtZm9yZXN0KTtkaXNwbGF5OmJsb2NrO30KI3ZhaWEtYjJiIC52Yi10c3RfX3dobyBzcGFue2ZvbnQtc2l6ZTouODJyZW07Y29sb3I6IzZmN2Q3Mjtmb250LXdlaWdodDo0MDA7fQoKLyogPT09PT09PT09PT09PT09PT09PSBGSU5BTCBDVEEgPT09PT09PT09PT09PT09PT09PSAqLwojdmFpYS1iMmIgLnZiLWZpbmFse2JhY2tncm91bmQ6dmFyKC0tYy1ncmVlbik7Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjt9CiN2YWlhLWIyYiAudmItZmluYWwgaDJ7bWF4LXdpZHRoOjE4Y2g7bWFyZ2luOjAgYXV0bzt9CiN2YWlhLWIyYiAudmItZmluYWwgcHttYXgtd2lkdGg6NTJjaDttYXJnaW46MS4xcmVtIGF1dG8gMDtjb2xvcjojZTZmNWVlO30KI3ZhaWEtYjJiIC52Yi1maW5hbCAudmItY3RhLXJvd3tqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi10b3A6MnJlbTt9CgovKiBDVEEgbm90ZSAqLwojdmFpYS1iMmIgLnZiLWZpbmFsX19ub3RlewogIG1hcmdpbi10b3A6MS40cmVtOwogIGZvbnQtc2l6ZTouODZyZW07CiAgY29sb3I6I2NkZWVkZTsKICBkaXNwbGF5OmZsZXg7CiAgZmxleC13cmFwOndyYXA7CiAganVzdGlmeS1jb250ZW50OmNlbnRlcjsKICBnYXA6MjBweCAyOHB4OwogIHJvdy1nYXA6MTJweDsKfQojdmFpYS1iMmIgLnZiLWZpbmFsX19ub3RlIHNwYW57CiAgZGlzcGxheTppbmxpbmUtZmxleDsKICBhbGlnbi1pdGVtczpjZW50ZXI7CiAgZ2FwOi40NXJlbTsKICB3aGl0ZS1zcGFjZTpub3dyYXA7Cn0KCi8qIGlubGluZSBmb3JtICovCiN2YWlhLWIyYiAudmItZmluYWxfX2Zvcm17bWF4LXdpZHRoOjU2MHB4O21hcmdpbjozNHB4IGF1dG8gMDtiYWNrZ3JvdW5kOnZhcigtLWMtcGFwZXIpOwogIGJvcmRlci1yYWRpdXM6MjJweDtwYWRkaW5nOjMwcHggMjhweDt0ZXh0LWFsaWduOmxlZnQ7CiAgYm94LXNoYWRvdzowIDMwcHggNzBweCAtMzRweCByZ2JhKDAsMCwwLC41KTt9CiN2YWlhLWIyYiAudmItZmluYWxfX2Zvcm0gI2hzLWZvcm0tZmluYWx7bWFyZ2luLXRvcDowO30KI3ZhaWEtYjJiICNocy1mb3JtLWZpbmFsLWZhbGxiYWNre2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6Ljk1cmVtO2NvbG9yOiM0ZjVlNTQ7fQoKLyogPT09PT09PT09PT09PT09PT09PSBGQVEgPT09PT09PT09PT09PT09PT09PSAqLwojdmFpYS1iMmIgLnZiLWZhcXtiYWNrZ3JvdW5kOnZhcigtLWMtcGFwZXIpO30KI3ZhaWEtYjJiIC52Yi1mYXFfX2xpc3R7bWF4LXdpZHRoOjgyMHB4O21hcmdpbjozOHB4IGF1dG8gMDt9CiN2YWlhLWIyYiAudmItZmFxX19pdGVte2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZGQ2YzI7fQojdmFpYS1iMmIgLnZiLWZhcV9fcXt3aWR0aDoxMDAlO3RleHQtYWxpZ246bGVmdDtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOjA7Y3Vyc29yOnBvaW50ZXI7Zm9udC1mYW1pbHk6dmFyKC0tZik7CiAgZm9udC1zaXplOmNsYW1wKDEuMDVyZW0sMS44dncsMS4ycmVtKTtmb250LXdlaWdodDo1MDA7Y29sb3I6dmFyKC0tYy1mb3Jlc3QpOwogIHBhZGRpbmc6MjJweCA0NHB4IDIycHggMDtwb3NpdGlvbjpyZWxhdGl2ZTt9CiN2YWlhLWIyYiAudmItZmFxX19xOjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjZweDt0b3A6NTAlO3dpZHRoOjEzcHg7aGVpZ2h0OjEzcHg7CiAgYm9yZGVyOnNvbGlkIHZhcigtLWMtZ3JlZW4pO2JvcmRlci13aWR0aDowIDJweCAycHggMDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNjUlKSByb3RhdGUoNDVkZWcpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4yNXMgdmFyKC0tZWFzZSk7fQojdmFpYS1iMmIgLnZiLWZhcV9faXRlbS5vcGVuIC52Yi1mYXFfX3E6OmFmdGVye3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0yNSUpIHJvdGF0ZSgtMTM1ZGVnKTt9CiN2YWlhLWIyYiAudmItZmFxX19he21heC1oZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjptYXgtaGVpZ2h0IC4zcyB2YXIoLS1lYXNlKTt9CiN2YWlhLWIyYiAudmItZmFxX19hIHB7cGFkZGluZzowIDAgMjJweDtjb2xvcjojNGY1ZTU0O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MXJlbTt9CgovKiA9PT09PT09PT09PT09PT09PT09IFNUSUNLWSBDVEEgPT09PT09PT09PT09PT09PT09PSAqLwojdmFpYS1iMmIgLnZiLXN0aWNreXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjYwO3JpZ2h0OjI0cHg7Ym90dG9tOjI0cHg7b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVuOwogIHRyYW5zZm9ybTp0cmFuc2xhdGVZKDE0cHgpO3RyYW5zaXRpb246b3BhY2l0eSAuM3MgdmFyKC0tZWFzZSksdHJhbnNmb3JtIC4zcyB2YXIoLS1lYXNlKSx2aXNpYmlsaXR5IC4zczt9CiN2YWlhLWIyYiAudmItc3RpY2t5LnNob3d7b3BhY2l0eToxO3Zpc2liaWxpdHk6dmlzaWJsZTt0cmFuc2Zvcm06bm9uZTt9CiN2YWlhLWIyYiAudmItc3RpY2t5IC52Yi1idG57Ym94LXNoYWRvdzowIDE0cHggMzRweCAtMTBweCByZ2JhKDAsMCwwLC41KTt9CgovKiA9PT09PT09PT09PT09PT09PT09IE1PREFMID09PT09PT09PT09PT09PT09PT0gKi8KI3ZhaWEtYjJiIC52Yi1tb2RhbHtwb3NpdGlvbjpmaXhlZDtpbnNldDowO3otaW5kZXg6MTAwMDtkaXNwbGF5Om5vbmU7fQojdmFpYS1iMmIgLnZiLW1vZGFsLm9wZW57ZGlzcGxheTpibG9jazt9CiN2YWlhLWIyYiAudmItbW9kYWxfX2Jke3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7YmFja2dyb3VuZDpyZ2JhKDgsMzAsMjAsLjYyKTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigzcHgpO30KI3ZhaWEtYjJiIC52Yi1tb2RhbF9fZGlhbG9ne3Bvc2l0aW9uOnJlbGF0aXZlO21heC13aWR0aDo1NjBweDt3aWR0aDpjYWxjKDEwMCUgLSAzMnB4KTttYXJnaW46NXZoIGF1dG87CiAgbWF4LWhlaWdodDo5MHZoO292ZXJmbG93OmF1dG87YmFja2dyb3VuZDp2YXIoLS1jLXBhcGVyKTtib3JkZXItcmFkaXVzOjIycHg7cGFkZGluZzozNHB4IDMycHggMzJweDsKICBib3gtc2hhZG93OjAgNDBweCA5MHB4IC0zMHB4IHJnYmEoMCwwLDAsLjYpO2FuaW1hdGlvbjp2YnBvcCAuMjhzIHZhcigtLWVhc2UpO30KQGtleWZyYW1lcyB2YnBvcHtmcm9te29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxOHB4KSBzY2FsZSguOTgpO310b3tvcGFjaXR5OjE7dHJhbnNmb3JtOm5vbmU7fX0KI3ZhaWEtYjJiIC52Yi1tb2RhbF9fY2xvc2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOjE2cHg7cmlnaHQ6MTZweDt3aWR0aDozOHB4O2hlaWdodDozOHB4O2JvcmRlci1yYWRpdXM6NTAlOwogIGJvcmRlcjowO2JhY2tncm91bmQ6I2U3ZTFjZjtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MS4zcmVtO2xpbmUtaGVpZ2h0OjE7Y29sb3I6dmFyKC0tYy1mb3Jlc3QpO30KI3ZhaWEtYjJiIC52Yi1tb2RhbF9fY2xvc2U6aG92ZXJ7YmFja2dyb3VuZDojZDlkMmJjO30KI3ZhaWEtYjJiIC52Yi1tb2RhbCBoM3ttYXJnaW4tdG9wOi42cmVtO30KI3ZhaWEtYjJiIC52Yi1tb2RhbF9faW50cm97bWFyZ2luLXRvcDouNnJlbTtjb2xvcjojNGY1ZTU0O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MXJlbTt9CiN2YWlhLWIyYiAjaHMtZm9ybS10YXJnZXR7bWFyZ2luLXRvcDoyMnB4O30KI3ZhaWEtYjJiICNocy1mb3JtLWZhbGxiYWNre21hcmdpbi10b3A6MThweDtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOi45NXJlbTtjb2xvcjojNGY1ZTU0O30KCi8qIEh1YlNwb3Qgc3R5bGluZyAqLwojdmFpYS1iMmIgLmhzLWZvcm0gZmllbGRzZXR7bWF4LXdpZHRoOjEwMCUhaW1wb3J0YW50O30KI3ZhaWEtYjJiIC5ocy1mb3JtIC5ocy1pbnB1dHt3aWR0aDoxMDAlO2JvcmRlcjoxcHggc29saWQgI2NmYzliNjtib3JkZXItcmFkaXVzOjEwcHg7cGFkZGluZzoxMXB4IDEzcHg7CiAgZm9udC1mYW1pbHk6dmFyKC0tZik7Zm9udC1zaXplOjFyZW07YmFja2dyb3VuZDojZmZmO30KI3ZhaWEtYjJiIC5ocy1mb3JtIC5ocy1pbnB1dDpmb2N1c3tvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1jLWdyZWVuKTtib3JkZXItY29sb3I6dmFyKC0tYy1ncmVlbik7fQojdmFpYS1iMmIgLmhzLWZvcm0gc2VsZWN0LmhzLWlucHV0e2hlaWdodDphdXRvO30KI3ZhaWEtYjJiIC5ocy1mb3JtIGxhYmVse2ZvbnQtd2VpZ2h0OjUwMDtmb250LXNpemU6LjlyZW07Y29sb3I6dmFyKC0tYy1mb3Jlc3QpO21hcmdpbi1ib3R0b206NXB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO30KI3ZhaWEtYjJiIC5ocy1mb3JtIC5ocy1idXR0b257YmFja2dyb3VuZDp2YXIoLS1jLWdyZWVuKSFpbXBvcnRhbnQ7Ym9yZGVyOjAhaW1wb3J0YW50O2NvbG9yOiNmZmYhaW1wb3J0YW50OwogIGZvbnQtZmFtaWx5OnZhcigtLWYpIWltcG9ydGFudDtmb250LXdlaWdodDo2MDAhaW1wb3J0YW50O2JvcmRlci1yYWRpdXM6OTk5cHghaW1wb3J0YW50O3BhZGRpbmc6MTVweCAyOHB4IWltcG9ydGFudDsKICBjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MXJlbSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTttYXJnaW4tdG9wOjhweDt9CiN2YWlhLWIyYiAuaHMtZm9ybSAuaHMtYnV0dG9uOmhvdmVye2JhY2tncm91bmQ6IzA2NmE0NCFpbXBvcnRhbnQ7fQojdmFpYS1iMmIgLmhzLWZvcm0gLmhzLWVycm9yLW1zZywjdmFpYS1iMmIgLmhzLWZvcm0gLmhzLWVycm9yLW1zZ3MgbGFiZWx7Y29sb3I6dmFyKC0tYy13aW5lKSFpbXBvcnRhbnQ7Zm9udC1zaXplOi44MnJlbTt9CiN2YWlhLWIyYiAuaHMtZm9ybSAuaHMtZm9ybS1maWVsZHttYXJnaW4tYm90dG9tOjE0cHg7fQoKLyogPT09PT09PT09PT09PT09PT09PSBSRVNQT05TSVZFID09PT09PT09PT09PT09PT09PT0gKi8KQG1lZGlhKG1heC13aWR0aDo5ODBweCl7CiAgI3ZhaWEtYjJiIC52Yi1zcnZfX2dyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjt9CiAgI3ZhaWEtYjJiIC52Yi1zcnZfX2dyaWQucmV2IC52Yi1zcnZfX21lZGlhe29yZGVyOjA7fQogICN2YWlhLWIyYiAudmItc3ZjLWNhcmRze2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7fQogICN2YWlhLWIyYiAudmItYmVuX19ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7fQogICN2YWlhLWIyYiAudmItbG9nb3NfX2dyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7fQogICN2YWlhLWIyYiAudmItdHN0X19ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO30KICAjdmFpYS1iMmIgLnZiLXN0cmlwe2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMiwxZnIpO30KfQpAbWVkaWEobWF4LXdpZHRoOjYyMHB4KXsKICAjdmFpYS1iMmJ7Zm9udC1zaXplOjE3cHg7fQogICN2YWlhLWIyYiAudmItd3JhcHtwYWRkaW5nOjAgMThweDt9CiAgI3ZhaWEtYjJiIC52Yi1oZXJvX19pbm5lcnttaW4taGVpZ2h0Ojg4dmg7bWluLWhlaWdodDo4OHN2aDtwYWRkaW5nLXRvcDoxMjhweDtwYWRkaW5nLWJvdHRvbTo0OHB4O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O30KICAjdmFpYS1iMmIgLnZiLWhlcm8gaDF7bWFyZ2luLXRvcDoxLjRyZW07fQogICN2YWlhLWIyYiAudmItaGVybyAudmItY3RhLXJvd3ttYXJnaW4tdG9wOjIuNHJlbTt9CiAgI3ZhaWEtYjJiIC52Yi10cnVzdHttYXJnaW4tdG9wOmF1dG87cGFkZGluZy10b3A6MzRweDt9CiAgI3ZhaWEtYjJiIC52Yi1wcm9kc3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsMWZyKTt9CiAgI3ZhaWEtYjJiIC52Yi1jYXNlX19zdGF0c3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjt9CiAgI3ZhaWEtYjJiIC52Yi1sb2dvc19fZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsMWZyKTt9CiAgI3ZhaWEtYjJiIC52Yi10c3RfX2dyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjt9CiAgI3ZhaWEtYjJiIC52Yi1zdGlja3l7cmlnaHQ6MTRweDtsZWZ0OjE0cHg7Ym90dG9tOjE0cHg7fQogICN2YWlhLWIyYiAudmItc3RpY2t5IC52Yi1idG57d2lkdGg6MTAwJTt9CiAgI3ZhaWEtYjJiIC52Yi1jdGEtcm93e2dhcDoxMnB4O30KICAjdmFpYS1iMmIgLnZiLWN0YS1yb3cgLnZiLWJ0bnt3aWR0aDoxMDAlO30KfQpAbWVkaWEocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2UpewogICN2YWlhLWIyYiAqe2FuaW1hdGlvbjpub25lIWltcG9ydGFudDt0cmFuc2l0aW9uOm5vbmUhaW1wb3J0YW50O30KfQo8L3N0eWxlPgoKPCEtLSA9PT09PT09PT09PT0gSEVSTyA9PT09PT09PT09PT0gLS0+CjxoZWFkZXIgY2xhc3M9InZiLWhlcm8iPgogIDxkaXYgY2xhc3M9InZiLWhlcm9fX2JnIj4KICAgIDxpbWcgc3JjPSJodHRwczovL3Byb2plY3QudmFpYS5ldS9ocy1mcy9odWJmcy9FdmVudG8lMjBBemllbmRhbGUlMjBHcnVwcG8lMjBDYXNzYSUyMENlbnRyYWxlJTIwKDEpLmpwZz93aWR0aD0xNjAwJmFtcDtuYW1lPUV2ZW50byUyMEF6aWVuZGFsZSUyMEdydXBwbyUyMENhc3NhJTIwQ2VudHJhbGUlMjAoMSkuanBnIiBhbHQ9IkNvcnBvcmF0ZSB0ZWFtIHBsYW50aW5nIHRyZWVzIGluIHRoZSBEb2xvbWl0ZXMgd2l0aCBWQUlBIj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJ2Yi13cmFwIHZiLWhlcm9fX2lubmVyIj4KICAgIDxzcGFuIGNsYXNzPSJ2Yi1leWVicm93IHZiLWV5ZWJyb3ctLWxpZ2h0Ij5WQUlBIMOXIENvbXBhbmllczwvc3Bhbj4KICAgIDxoMT5Zb3VyIGNvbXBhbnnigJlzIHN1c3RhaW5hYmlsaXR5IGRlc2VydmVzIHRvIGJlIHNlZW4sIGZlbHQsIGFuZCByZW1lbWJlcmVkLjwvaDE+CiAgICA8cCBjbGFzcz0idmItaGVyb19fc3ViIj5XaXRoIFZBSUEsIHlvdSB0dXJuIHlvdXIgY29tbWl0bWVudCBpbnRvIHJlYWwgcmVnZW5lcmF0aW9uIHByb2plY3RzIOKAlCBmcm9tIHN1c3RhaW5hYmxlIGNvcnBvcmF0ZSBnaWZ0cyB0byB0ZWFtLWJ1aWxkaW5nIGV4cGVyaWVuY2VzIGluIHRoZSBEb2xvbWl0ZXMsIHRvIHRhaWxvci1tYWRlIEVTRyBwYXJ0bmVyc2hpcHMuPC9wPgogICAgPGRpdiBjbGFzcz0idmItY3RhLXJvdyI+CiAgICAgIDxidXR0b24gY2xhc3M9InZiLWJ0biB2Yi1idG4tLWdvbGQiIGRhdGEtdmItb3Blbj0iY29udGF0dG8iPkdldCBpbiB0b3VjaCA8c3BhbiBjbGFzcz0idmItYXJyb3ciPuKGkjwvc3Bhbj48L2J1dHRvbj4KICAgICAgCiAgICA8L2Rpdj4KICAgIDxwIGNsYXNzPSJ2Yi1oZXJvX19taWNybyI+Tm8gb2JsaWdhdGlvbiDCtyBGYXN0IHJlc3BvbnNlPC9wPgoKICAgIDxkaXYgY2xhc3M9InZiLXRydXN0Ij4KICAgICAgPGRpdiBjbGFzcz0idmItYmFkZ2VzIj4KICAgICAgICA8c3BhbiBjbGFzcz0idmItYmFkZ2UgdmItYmFkZ2UtLWxvZ28iIHRpdGxlPSJDZXJ0aWZpZWQgQiBDb3Jwb3JhdGlvbiI+CiAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAzMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjIxIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTEiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNiI+PC9jaXJjbGU+PHBhdGggZD0iTTkgN2g0LjRjMS45IDAgMyAxIDMgMi41IDAgMS4yLS43IDEuOS0xLjYgMi4yIDEuMS4zIDIgMSAyIDIuNUMxNi44IDE4IDE1LjUgMTkgMTMuNCAxOUg5Vjd6bTIuMSA0LjZoMmMuOSAwIDEuNC0uNCAxLjQtMS4yIDAtLjctLjUtMS4xLTEuNC0xLjFoLTJ2Mi4zem0wIDUuNWgyLjFjMSAwIDEuNS0uNSAxLjUtMS4zIDAtLjgtLjYtMS4zLTEuNi0xLjNoLTJ2Mi42eiIgZmlsbD0iY3VycmVudENvbG9yIj48L3BhdGg+PHBhdGggZD0iTTEyIDIzdjYiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNiI+PC9wYXRoPjwvc3ZnPgogICAgICAgICAgQ2VydGlmaWVkIEImbmJzcDtDb3JwCiAgICAgICAgPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJ2Yi1iYWRnZSI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIGQ9Ik0yMCA2IDkgMTdsLTUtNSI+PC9wYXRoPjwvc3ZnPiBQRUZDIENlcnRpZmllZCBTdXBwbHkgQ2hhaW48L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9InZiLWJhZGdlIj48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHBhdGggZD0iTTIwIDYgOSAxN2wtNS01Ij48L3BhdGg+PC9zdmc+IEJlbmVmaXQgQ29ycG9yYXRpb248L3NwYW4+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CjwvaGVhZGVyPgoKPCEtLSA9PT09PT09PT09PT0gTE9HT1MgPT09PT09PT09PT09IC0tPgo8c2VjdGlvbiBjbGFzcz0idmItbG9nb3MgdmItc2VjdGlvbiIgYXJpYS1sYWJlbD0iQ29tcGFuaWVzIHRoYXQgY2hvc2UgVkFJQSI+CiAgPGRpdiBjbGFzcz0idmItd3JhcCI+CiAgICA8cCBjbGFzcz0idmItbG9nb3NfX2hlYWQiPlRoZXkgYWxyZWFkeSBjaG9zZSBWQUlBPC9wPgogICAgPGRpdiBjbGFzcz0idmItbG9nb3NfX2dyaWQiPgogICAgICA8ZmlndXJlPjxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA2L1ZBSUEtQ29tcGFuaWVzLVRyYW5zcC1Mb2dvLTMucG5nIiBhbHQ9IlZBSUEgcGFydG5lciBjb21wYW55IiBsb2FkaW5nPSJsYXp5Ij48L2ZpZ3VyZT4KICAgICAgPGZpZ3VyZT48aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9WQUlBLUNvbXBhbmllcy1UcmFuc3AtTG9nby01LnBuZyIgYWx0PSJWQUlBIHBhcnRuZXIgY29tcGFueSIgbG9hZGluZz0ibGF6eSI+PC9maWd1cmU+CiAgICAgIDxmaWd1cmU+PGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDYvVkFJQS1Db21wYW5pZXMtVHJhbnNwLUxvZ28tNC5wbmciIGFsdD0iVkFJQSBwYXJ0bmVyIGNvbXBhbnkiIGxvYWRpbmc9ImxhenkiPjwvZmlndXJlPgogICAgICA8ZmlndXJlPjxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA2L1ZBSUEtQ29tcGFuaWVzLVRyYW5zcC1Mb2dvLTEucG5nIiBhbHQ9IlZBSUEgcGFydG5lciBjb21wYW55IiBsb2FkaW5nPSJsYXp5Ij48L2ZpZ3VyZT4KICAgICAgPGZpZ3VyZT48aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9Tb255X011c2ljX0xvZ28ucG5nIiBhbHQ9IlNvbnkgTXVzaWMiIGxvYWRpbmc9ImxhenkiPjwvZmlndXJlPgogICAgICA8ZmlndXJlPjxpbWcgc3JjPSJodHRwczovL3d3dy5zYWxvbmVzcmkuaXQvMjAyMS93cC1jb250ZW50L3VwbG9hZHMvc2l0ZXMvMTUvMjAyMS8wNy9wb3NpdGl2by1jb21wYXR0b0AzeC5wbmciIGFsdD0iR3J1cHBvIENhc3NhIENlbnRyYWxlIiBsb2FkaW5nPSJsYXp5Ij48L2ZpZ3VyZT4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+CjxociBjbGFzcz0idmItc3BsaXQiPgoKPCEtLSA9PT09PT09PT09PT0gVEVSUklUT1JZIFNFQ1RJT04gPT09PT09PT09PT09IC0tPgo8c2VjdGlvbiBjbGFzcz0idmItaW50cm8gdmItc2VjdGlvbiIgc3R5bGU9ImJhY2tncm91bmQ6I2ZmZjsiPgogIDxkaXYgY2xhc3M9InZiLXdyYXAiPgogICAgPGRpdiBjbGFzcz0idmItaW50cm9fX2hlYWQiIHN0eWxlPSJtYXgtd2lkdGg6ODYwcHg7Ij4KICAgICAgPGgyIGNsYXNzPSJ2Yi1oIj5FdmVyeSB0ZXJyaXRvcnkgaGFzIGEgc3RvcnkuIFdlIHR1cm4gaXQgaW50byB2YWx1ZS48L2gyPgogICAgICA8cCBjbGFzcz0idmItbGVhZCIgc3R5bGU9Im1hcmdpbi10b3A6MS4ycmVtOyI+VGhlIERvbG9taXRlcywgdGhlIG9saXZlIGdyb3ZlcyBvZiBQdWdsaWEsIHBsYWNlcyByaWNoIGluIGhpc3RvcnkgYW5kIGNyYWZ0c21hbnNoaXA6IFZBSUEgc3RhcnRzIGZyb20gdGhlIHBvdGVudGlhbCBvZiBlYWNoIHRlcnJpdG9yeSB0byBidWlsZCBjb25jcmV0ZSBhbmQgbWVhc3VyYWJsZSBjb3Jwb3JhdGUgc3VzdGFpbmFiaWxpdHkgcHJvamVjdHMuIFdlIHJlY292ZXIgbWF0ZXJpYWxzLCBlbnRydXN0IHRoZW0gdG8gbG9jYWwgYXJ0aXNhbnMsIGludm9sdmUgY29tcGFuaWVzIGxpa2UgeW91cnMsIGFuZCBnaXZlIHZhbHVlIGJhY2sgdG8gY29tbXVuaXRpZXMgd2l0aCBzb21ldGhpbmcgcHJlY2lvdXMgdG8gb2ZmZXIuPC9wPgogICAgICA8cCBjbGFzcz0idmItbGVhZCIgc3R5bGU9Im1hcmdpbi10b3A6MXJlbTsiPldoZW4geW91IHdvcmsgd2l0aCBWQUlBLCB5b3VyIGNvbW1pdG1lbnQgZG9lc27igJl0IGFkZCB0byBhIGdlbmVyaWMgZWZmb3J0LiBJdCBjb25uZWN0cyB0byByZWFsIHBlb3BsZSwgdG8gYSBwcmVjaXNlIHBsYWNlIG9uIHRoZSBtYXAsIHRvIGFuIGltcGFjdCB0aGF0IGV4aXN0cyBhbmQgY2FuIGJlIHRvbGQuPC9wPgogICAgPC9kaXY+CgogICAgPGRpdiBzdHlsZT0iZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMjBweCwgMWZyKSk7Z2FwOjE4cHg7bWFyZ2luLXRvcDo0NnB4OyI+CiAgICAgIDxkaXYgY2xhc3M9InZiLWJlbl9fY2FyZCIgc3R5bGU9ImJhY2tncm91bmQ6dmFyKC0tYy1wYXBlcik7Ij4KICAgICAgICA8c3BhbiBjbGFzcz0idmItZXllYnJvdyI+V2UgUmVjb3Zlcjwvc3Bhbj4KICAgICAgICA8cCBzdHlsZT0ibWFyZ2luLXRvcDouNnJlbTsiPk1hdGVyaWFscyBmcm9tIHRlcnJpdG9yaWVzIHdpdGggYSBzdG9yeSB0byB0ZWxsPC9wPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmItYmVuX19jYXJkIiBzdHlsZT0iYmFja2dyb3VuZDp2YXIoLS1jLXBhcGVyKTsiPgogICAgICAgIDxzcGFuIGNsYXNzPSJ2Yi1leWVicm93Ij5XZSBUcmFuc2Zvcm08L3NwYW4+CiAgICAgICAgPHAgc3R5bGU9Im1hcmdpbi10b3A6LjZyZW07Ij5UaHJvdWdoIGxvY2FsIGFydGlzYW4gc3VwcGx5IGNoYWluczwvcD4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InZiLWJlbl9fY2FyZCIgc3R5bGU9ImJhY2tncm91bmQ6dmFyKC0tYy1wYXBlcik7Ij4KICAgICAgICA8c3BhbiBjbGFzcz0idmItZXllYnJvdyI+V2UgRW5nYWdlPC9zcGFuPgogICAgICAgIDxwIHN0eWxlPSJtYXJnaW4tdG9wOi42cmVtOyI+Q29tcGFuaWVzLCBwZW9wbGUgYW5kIGNvbW11bml0aWVzPC9wPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmItYmVuX19jYXJkIiBzdHlsZT0iYmFja2dyb3VuZDp2YXIoLS1jLXBhcGVyKTsiPgogICAgICAgIDxzcGFuIGNsYXNzPSJ2Yi1leWVicm93Ij5XZSBSZWdlbmVyYXRlPC9zcGFuPgogICAgICAgIDxwIHN0eWxlPSJtYXJnaW4tdG9wOi42cmVtOyI+RWNvc3lzdGVtcywgdGVycml0b3JpZXMgYW5kIGxvY2FsIGNvbW11bml0aWVzPC9wPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+CjxociBjbGFzcz0idmItc3BsaXQiPgoKPCEtLSA9PT09PT09PT09PT0gU0VSVklDRVMgT1ZFUlZJRVcgPT09PT09PT09PT09IC0tPgo8c2VjdGlvbiBjbGFzcz0idmItaW50cm8gdmItc2VjdGlvbiI+CiAgPGRpdiBjbGFzcz0idmItd3JhcCI+CiAgICA8ZGl2IGNsYXNzPSJ2Yi1pbnRyb19faGVhZCI+CiAgICAgIDxzcGFuIGNsYXNzPSJ2Yi1leWVicm93Ij5TZXJ2aWNlcyBmb3IgQ29tcGFuaWVzPC9zcGFuPgogICAgICA8aDIgY2xhc3M9InZiLWgiPlRocmVlIGNvbmNyZXRlIHdheXMgdG8gdHVybiB5b3VyIGNvbW1pdG1lbnQgaW50byByZWFsIGltcGFjdC48L2gyPgogICAgICA8cCBjbGFzcz0idmItbGVhZCI+RnJvbSBjb3Jwb3JhdGUgZ2lmdHMgdG8gc3BlY2lhbCBwcm9qZWN0cywgd2Ugc3VwcG9ydCB5b3VyIGNvbXBhbnkgaW4gY3JlYXRpbmcgaW5pdGlhdGl2ZXMgdGhhdCBnZW5lcmF0ZSB2YWx1ZSBmb3IgcGVvcGxlLCB0aGUgdGVycml0b3J5LCBhbmQgdGhlIGVudmlyb25tZW50LiBDb25jcmV0ZSwgbWVhc3VyYWJsZSBwcm9qZWN0cyB0aGF0IGludGVncmF0ZSBpbnRvIHlvdXIgc3VzdGFpbmFiaWxpdHkgam91cm5leSBhbmQgY3JlYXRlIHZhbHVlIGZvciBjbGllbnRzLCBlbXBsb3llZXMsIGFuZCBzdGFrZWhvbGRlcnMuPC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJ2Yi1zdmMtY2FyZHMiPgogICAgICA8YSBjbGFzcz0idmItc3ZjLWNhcmQiIGhyZWY9IiNjb3Jwb3JhdGUtZ2lmdHMiPgogICAgICAgIDxkaXYgY2xhc3M9InZiLXN2Yy1jYXJkX19pbWciPjxpbWcgc3JjPSJodHRwczovLzE0MzQxNjYxNS5mczEuaHVic3BvdHVzZXJjb250ZW50LWV1MS5uZXQvaHViZnMvMTQzNDE2NjE1LzY2NzEyNmQxMzk1NjFkMzEzN2I0N2Q1ODkwZjM3YzQyLnBuZyIgYWx0PSJWQUlBIENvcnBvcmF0ZSBHaWZ0cyIgbG9hZGluZz0ibGF6eSI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idmItc3ZjLWNhcmRfX2IiPgogICAgICAgICAgPHNwYW4gY2xhc3M9InZiLWV5ZWJyb3ciPkNvcnBvcmF0ZSBHaWZ0czwvc3Bhbj4KICAgICAgICAgIDxoMyBjbGFzcz0idmItaCI+R2lmdHMgJmFtcDsgV2VsY29tZSBLaXRzPC9oMz4KICAgICAgICAgIDxwPkN1c3RvbWlzYWJsZSBzdXN0YWluYWJsZSBjb3Jwb3JhdGUgZ2lmdHMuIEV2ZXJ5IHByb2plY3QgY29udHJpYnV0ZXMgdG8gdGhlIHJlZ2VuZXJhdGlvbiBvZiBlY29zeXN0ZW1zIGFuZCBsb2NhbCBjb21tdW5pdGllcy48L3A+CiAgICAgICAgICA8c3BhbiBjbGFzcz0idmItc3ZjLWNhcmRfX2xpbmsiPkRpc2NvdmVyIHRoZSBnaWZ0cyA8c3Bhbj7ihpI8L3NwYW4+PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICA8L2E+CiAgICAgIDxhIGNsYXNzPSJ2Yi1zdmMtY2FyZCIgaHJlZj0iI3RlYW0tYnVpbGRpbmciPgogICAgICAgIDxkaXYgY2xhc3M9InZiLXN2Yy1jYXJkX19pbWciPjxpbWcgc3JjPSJodHRwczovL3Byb2plY3QudmFpYS5ldS9ocy1mcy9odWJmcy9FdmVudG8lMjBBemllbmRhbGUlMjBHcnVwcG8lMjBDYXNzYSUyMENlbnRyYWxlJTIwKDEwKS5qcGc\/d2lkdGg9NzAwJmFtcDtuYW1lPUV2ZW50byUyMEF6aWVuZGFsZSUyMEdydXBwbyUyMENhc3NhJTIwQ2VudHJhbGUlMjAoMTApLmpwZyIgYWx0PSJWQUlBIFRlYW0gQnVpbGRpbmcgRXhwZXJpZW5jZSBpbiB0aGUgRG9sb21pdGVzIiBsb2FkaW5nPSJsYXp5Ij48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2Yi1zdmMtY2FyZF9fYiI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0idmItZXllYnJvdyI+VGVhbSBCdWlsZGluZyAmYW1wOyBUcmFpbmluZzwvc3Bhbj4KICAgICAgICAgIDxoMyBjbGFzcz0idmItaCI+VkFJQSBFeHBlcmllbmNlPC9oMz4KICAgICAgICAgIDxwPkEgZGF5IGluIHRoZSBEb2xvbWl0ZXMgdG8gYnVpbGQgdGVhbSBzcGlyaXQsIGRpc2NvdmVyIHRoZSB0ZXJyaXRvcnksIGFuZCBjb250cmlidXRlIHRvIGl0cyByZWdlbmVyYXRpb24uPC9wPgogICAgICAgICAgPHNwYW4gY2xhc3M9InZiLXN2Yy1jYXJkX19saW5rIj5EaXNjb3ZlciB0aGUgZXhwZXJpZW5jZSA8c3Bhbj7ihpI8L3NwYW4+PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICA8L2E+CiAgICAgIDxhIGNsYXNzPSJ2Yi1zdmMtY2FyZCIgaHJlZj0iI3NwZWNpYWwtcHJvamVjdHMiPgogICAgICAgIDxkaXYgY2xhc3M9InZiLXN2Yy1jYXJkX19pbWciPjxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA2L1VudGl0bGVkLWRlc2lnbi0xLmpwZyIgYWx0PSJWQUlBIFNwZWNpYWwgUHJvamVjdHMgJmFtcDsgUGFydG5lcnNoaXBzIiBsb2FkaW5nPSJsYXp5Ij48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2Yi1zdmMtY2FyZF9fYiI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0idmItZXllYnJvdyI+VGFpbG9yLW1hZGUgUGFydG5lcnNoaXBzPC9zcGFuPgogICAgICAgICAgPGgzIGNsYXNzPSJ2Yi1oIj5TcGVjaWFsIFByb2plY3RzPC9oMz4KICAgICAgICAgIDxwPkNvLWNyZWF0ZWQgZWRpdGlvbnMsIGRlZGljYXRlZCBmb3Jlc3RzLCB0ZXJyaXRvcmlhbCBwcm9qZWN0cyBhbmQgY29tbXVuaWNhdGlvbiBpbml0aWF0aXZlcyBidWlsdCB0b2dldGhlciBmb3IgbGFzdGluZyBpbXBhY3QuPC9wPgogICAgICAgICAgPHNwYW4gY2xhc3M9InZiLXN2Yy1jYXJkX19saW5rIj5EaXNjb3ZlciB0aGUgcGFydG5lcnNoaXBzIDxzcGFuPuKGkjwvc3Bhbj48L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvYT4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8IS0tID09PT09PT09PT09PSBTRVJWSUNFIDEgwrcgQ09SUE9SQVRFIEdJRlRTID09PT09PT09PT09PSAtLT4KPHNlY3Rpb24gY2xhc3M9InZiLXNydiB2Yi1zcnYtLW1pbnQgdmItc2VjdGlvbiIgaWQ9ImNvcnBvcmF0ZS1naWZ0cyI+CiAgPGRpdiBjbGFzcz0idmItd3JhcCB2Yi1zcnZfX2dyaWQiPgogICAgPGRpdiBjbGFzcz0idmItc3J2X19tZWRpYSI+CiAgICAgIDxkaXYgY2xhc3M9InZiLXZpZGVvIj4KICAgICAgICA8aWZyYW1lIHNyYz0iaHR0cHM6Ly9mYXN0Lndpc3RpYS5uZXQvZW1iZWQvaWZyYW1lL2NzMjUyaWh1NGg\/c2VvPWZhbHNlJmFtcDt2aWRlb0ZvYW09dHJ1ZSIgdGl0bGU9IlZBSUEgQ29ycG9yYXRlIEdpZnRzIiBhbGxvdz0iYXV0b3BsYXk7IGZ1bGxzY3JlZW4iIGFsbG93ZnVsbHNjcmVlbj0iIiBsb2FkaW5nPSJsYXp5Ij48L2lmcmFtZT4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXY+CiAgICAgIDxzcGFuIGNsYXNzPSJ2Yi1leWVicm93Ij5Db3Jwb3JhdGUgR2lmdHM8L3NwYW4+CiAgICAgIDxoMiBjbGFzcz0idmItaCI+QSBzdXN0YWluYWJsZSBjb3Jwb3JhdGUgZ2lmdCB0aGF0IHNob3dzIHdobyB5b3UgcmVhbGx5IGFyZS48L2gyPgogICAgICA8cCBjbGFzcz0idmItbGVhZCI+RXZlcnkgY29ycG9yYXRlIGdpZnQgaXMgYW4gb3Bwb3J0dW5pdHkgdG8gc2F5IHNvbWV0aGluZyBwcmVjaXNlIGFib3V0IHlvdXIgY29tcGFueS4gVkFJQSBzdXN0YWluYWJsZSBjb3Jwb3JhdGUgZ2lmdHMgbGV0IHlvdSBkbyBpdCB3aXRoIGF1dGhlbnRpY2l0eTogdGhleSBhcmUgbWFkZSBmcm9tIHJlY292ZXJlZCB3b29kIGZyb20gdGhlIERvbG9taXRlcyBhbmQgb2xpdmUgdHJlZXMgZnJvbSBQdWdsaWEsIGNyYWZ0ZWQgYnkgbG9jYWwgYXJ0aXNhbnMsIGFuZCBjYXJyeSBhIHZlcmlmaWFibGUgc3RvcnkuPC9wPgogICAgICA8cCBjbGFzcz0idmItbGVhZCI+VGhvc2Ugd2hvIHJlY2VpdmUgYSBWQUlBIGdpZnQgZG9u4oCZdCBqdXN0IGdldCBhbiBvYmplY3QuIFRoZXkgcmVjZWl2ZSBjb25jcmV0ZSBwcm9vZiB0aGF0IHlvdXIgY29tcGFueSBkb2VzIHdoYXQgaXQgc2F5cy48L3A+CiAgICAgIDx1bCBjbGFzcz0idmItY2hlY2tzIj4KICAgICAgICA8bGk+Q3VzdG9taXNlZCBnaWZ0IG9yIHdlbGNvbWUga2l0IHdpdGggeW91ciBicmFuZGluZzwvbGk+CiAgICAgICAgPGxpPkFuIGF1dGhlbnRpYyBzdG9yeSB0byB0ZWxsIGNsaWVudHMsIHBhcnRuZXJzIGFuZCBlbXBsb3llZXM8L2xpPgogICAgICAgIDxsaT5BIG1lYXN1cmFibGUgY29udHJpYnV0aW9uIHRvIGFuIGVudmlyb25tZW50YWwgcmVnZW5lcmF0aW9uIHByb2plY3Q8L2xpPgogICAgICAgIDxsaT5Eb2N1bWVudGF0aW9uIGludGVncmFibGUgaW50byB5b3VyIEVTRyByZXBvcnRpbmc8L2xpPgogICAgICAgIDxsaT5JZGVhbCBmb3IgY29ycG9yYXRlIENocmlzdG1hcywgYW5uaXZlcnNhcmllcywgb25ib2FyZGluZywgYXdhcmRzLCBjbGllbnQgZ2lmdHMgYW5kIGV2ZW50czwvbGk+CiAgICAgIDwvdWw+CiAgICAgIDxkaXYgY2xhc3M9InZiLWN0YS1yb3ciPgogICAgICAgIDxidXR0b24gY2xhc3M9InZiLWJ0biB2Yi1idG4tLXByaW1hcnkiIGRhdGEtdmItb3Blbj0iY29udGF0dG8iPlJlcXVlc3QgYSBxdW90ZSA8c3BhbiBjbGFzcz0idmItYXJyb3ciPuKGkjwvc3Bhbj48L2J1dHRvbj4KICAgICAgIAogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJ2Yi13cmFwIj4KICAgIDxkaXYgY2xhc3M9InZiLXByb2RzIj4KICAgICAgPGRpdiBjbGFzcz0idmItcHJvZCI+PGRpdiBjbGFzcz0idmItcHJvZF9faW1nIj48aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8wOS9QUklOQ0lQQUxFXzEwMDB4MTAwMF9QUk9ET1RUSS1jdWJlXzItMS02MDB4NjAwLmpwZyIgYWx0PSJWQUlBIEN1YmUiIGxvYWRpbmc9ImxhenkiPjwvZGl2PjxkaXYgY2xhc3M9InZiLXByb2RfX2IiPjxiPlZBSUEgQ3ViZTwvYj48c3Bhbj5UaGUgaWNvbmljIGFtcGxpZmllciBtYWRlIGZyb20gcmVjb3ZlcmVkIHdvb2QuPC9zcGFuPjwvZGl2PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2Yi1wcm9kIj48ZGl2IGNsYXNzPSJ2Yi1wcm9kX19pbWciPjxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIyLzExLzY2NXg3NTVfSk9ZLTItMS5qcGciIGFsdD0iQ3ViZSBKT1kiIGxvYWRpbmc9ImxhenkiPjwvZGl2PjxkaXYgY2xhc3M9InZiLXByb2RfX2IiPjxiPkN1YmUgSk9ZPC9iPjxzcGFuPlRoZSBDdWJlIGluIGl0cyBzaXggY29sb3VyZnVsIHNvdWxzLjwvc3Bhbj48L2Rpdj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmItcHJvZCI+PGRpdiBjbGFzcz0idmItcHJvZF9faW1nIj48aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8xMi9QUklOQ0lQQUxFLTEwMDB4MTAwMF9zY2hlZGEtcHJvZG90dG8tRk9DVVMuanBnIiBhbHQ9IlZBSUEgRm9jdXMiIGxvYWRpbmc9ImxhenkiPjwvZGl2PjxkaXYgY2xhc3M9InZiLXByb2RfX2IiPjxiPlZBSUEgRm9jdXM8L2I+PHNwYW4+RGVmZW5kaW5nIGdsYWNpZXJzLCB0aGUgdGhlcm1vbWV0ZXJzIG9mIHRoZSBwbGFuZXQuPC9zcGFuPjwvZGl2PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2Yi1wcm9kIj48ZGl2IGNsYXNzPSJ2Yi1wcm9kX19pbWciPjxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzExL0lNR18yMjk2LXNjYWxlZC5qcGciIGFsdD0iVkFJQSBQZW9wbGUiIGxvYWRpbmc9ImxhenkiPjwvZGl2PjxkaXYgY2xhc3M9InZiLXByb2RfX2IiPjxiPlZBSUEgUGVvcGxlPC9iPjxzcGFuPkZyb20gYmVldGxlLWtpbGxlZCB3b29kLCBhIHN5bWJvbCBvZiBjb25uZWN0aW9uLjwvc3Bhbj48L2Rpdj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmItcHJvZCI+PGRpdiBjbGFzcz0idmItcHJvZF9faW1nIj48aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNS9Nb2RlbGxpLTEtMS1zY2FsZWQuanBnIiBhbHQ9IlZBSUEgQ292ZXIiIGxvYWRpbmc9ImxhenkiPjwvZGl2PjxkaXYgY2xhc3M9InZiLXByb2RfX2IiPjxiPlZBSUEgQ292ZXI8L2I+PHNwYW4+T2xpdmUgTWF0dGVy4oSiIGNvdmVyIHRoYXQgcmVnZW5lcmF0ZXMgdGhlIE1lZGl0ZXJyYW5lYW4gc2NydWIuPC9zcGFuPjwvZGl2PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2Yi1wcm9kIj48ZGl2IGNsYXNzPSJ2Yi1wcm9kX19pbWciPjxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIzLzEwLzEwMDB4MTAwMF9QUk9ET1RUSS1pbXBlcmZldHRvLTMwMHgzMDAuanBnIiBhbHQ9IkltcGVyZmVjdCBDdWJlIiBsb2FkaW5nPSJsYXp5Ij48L2Rpdj48ZGl2IGNsYXNzPSJ2Yi1wcm9kX19iIj48Yj5JbXBlcmZlY3QgQ3ViZTwvYj48c3Bhbj5OYXR1cmFsbHkgdW5pcXVlLCBmb3IgdGhlIEZvcmVzdCBvZiBWaW9saW5zLjwvc3Bhbj48L2Rpdj48L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxwIGNsYXNzPSJ2Yi1zdHJpcF9faGVhZCI+QWxyZWFkeSBnaWZ0ZWQgYnk8L3A+CiAgICA8ZGl2IGNsYXNzPSJ2Yi1zdHJpcCI+CiAgICAgIDxkaXYgY2xhc3M9InZiLXN0cmlwX19pIj48Yj4zMDA8L2I+PHNwYW4+VkFJQSBDdWJlIOKAlCBCcm90aGVyPC9zcGFuPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2Yi1zdHJpcF9faSI+PGI+MjAwPC9iPjxzcGFuPlZBSUEgQ3ViZSDigJQgU29ueSBNdXNpYzwvc3Bhbj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmItc3RyaXBfX2kiPjxiPjQwMDwvYj48c3Bhbj5WQUlBIEN1YmUg4oCUIFNEQSBCb2Njb25pPC9zcGFuPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2Yi1zdHJpcF9faSI+PGI+MS4xNTA8L2I+PHNwYW4+VkFJQSBDdWJlIOKAlCBOZXcgSG9sbGFuZDwvc3Bhbj48L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8IS0tID09PT09PT09PT09PSBTRVJWSUNFIDIgwrcgVEVBTSBCVUlMRElORyA9PT09PT09PT09PT0gLS0+CjxzZWN0aW9uIGNsYXNzPSJ2Yi1zcnYgdmItc3J2LS1mb3Jlc3QgdmItc2VjdGlvbiIgaWQ9InRlYW0tYnVpbGRpbmciPgogIDxkaXYgY2xhc3M9InZiLXdyYXAgdmItc3J2X19ncmlkIHJldiI+CiAgICA8ZGl2IGNsYXNzPSJ2Yi1zcnZfX21lZGlhIj4KICAgICAgPGRpdiBjbGFzcz0idmItdmlkZW8iPgogICAgICAgIDxpZnJhbWUgc3JjPSJodHRwczovL2Zhc3Qud2lzdGlhLm5ldC9lbWJlZC9pZnJhbWUvMjRndDc4M3I2dD9zZW89ZmFsc2UmYW1wO3ZpZGVvRm9hbT10cnVlIiB0aXRsZT0iVkFJQSBUZWFtIEJ1aWxkaW5nIEV4cGVyaWVuY2UiIGFsbG93PSJhdXRvcGxheTsgZnVsbHNjcmVlbiIgYWxsb3dmdWxsc2NyZWVuPSIiIGxvYWRpbmc9ImxhenkiPjwvaWZyYW1lPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdj4KICAgICAgPHNwYW4gY2xhc3M9InZiLWV5ZWJyb3cgdmItZXllYnJvdy0tbGlnaHQiPlRlYW0gQnVpbGRpbmc8L3NwYW4+CiAgICAgIDxoMiBjbGFzcz0idmItaCI+V2FudCBhbiBleHBlcmllbmNlIHRoYXQgYnJpbmdzIHlvdXIgdGVhbSB0b2dldGhlcj88L2gyPgogICAgICA8cCBjbGFzcz0idmItbGVhZCI+U3VzdGFpbmFiaWxpdHkgaXMgbm90IGV4cGxhaW5lZCBpbiBhIHByZXNlbnRhdGlvbi4gSXQgaXMgbGl2ZWQuIFZBSUEgRXhwZXJpZW5jZSB0YWtlcyB5b3VyIHRlYW0gdG8gdGhlIGhlYXJ0IG9mIHRoZSBEb2xvbWl0ZXMgZm9yIGFuIHVuZm9yZ2V0dGFibGUgc3VzdGFpbmFibGUgdGVhbS1idWlsZGluZyBleHBlcmllbmNlIGluIG5hdHVyZTogcGxhbnRpbmcgdHJlZXMsIHdhbGtpbmcsIHdvcmtpbmcgdG9nZXRoZXIsIGFuZCBjb250cmlidXRpbmcgY29uY3JldGVseSB0byB0ZXJyaXRvcmlhbCByZWdlbmVyYXRpb24uPC9wPgogICAgICA8cCBjbGFzcz0idmItbGVhZCI+WW91ciBwZW9wbGUgcmV0dXJuIHdpdGggYSBzdHJvbmdlciBzZW5zZSBvZiBiZWxvbmdpbmcsIHRoZSBhd2FyZW5lc3Mgb2YgaGF2aW5nIGRvbmUgc29tZXRoaW5nIHJlYWwsIGFuZCBhIHN0b3J5IHRvIHRlbGwgaW5zaWRlIGFuZCBvdXRzaWRlIHRoZSBjb21wYW55LjwvcD4KICAgICAgPHVsIGNsYXNzPSJ2Yi1jaGVja3MiPgogICAgICAgIDxsaT5HdWlkZWQgdHJlZSBwbGFudGluZyB3aXRoIGxvY2FsIGZvcmVzdGVyczwvbGk+CiAgICAgICAgPGxpPlZpc2l0IHRvIFZBSUHigJlzIGFydGlzYW4gd29ya3Nob3BzPC9saT4KICAgICAgICA8bGk+VHJla2tpbmcgd2l0aCBjZXJ0aWZpZWQgbW91bnRhaW4gZ3VpZGVzPC9saT4KICAgICAgICA8bGk+V29ya3Nob3BzIG9uIGVudmlyb25tZW50YWwgc3VzdGFpbmFiaWxpdHkgYW5kIEVTRyBpbXBhY3Q8L2xpPgogICAgICAgIDxsaT5DdXN0b21pc2VkIHRyYWluaW5nIHBhdGhzIGZvciB5b3VyIGNvbXBhbnk8L2xpPgogICAgICA8L3VsPgogICAgICA8ZGl2IGNsYXNzPSJ2Yi1jdGEtcm93Ij4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJ2Yi1idG4gdmItYnRuLS1nb2xkIiBkYXRhLXZiLW9wZW49ImNvbnRhdHRvIj5PcmdhbmlzZSB5b3VyIEV4cGVyaWVuY2UgPHNwYW4gY2xhc3M9InZiLWFycm93Ij7ihpI8L3NwYW4+PC9idXR0b24+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0idmItY2FzZSI+CiAgICAgICAgPGRpdiBjbGFzcz0idmItY2FzZV9fdG9wIj4KICAgICAgICAgIDxpbWcgY2xhc3M9InZiLWNhc2VfX2xvZ28iIHNyYz0iaHR0cHM6Ly93d3cuc2Fsb25lc3JpLml0LzIwMjEvd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzE1LzIwMjEvMDcvcG9zaXRpdm8tY29tcGF0dG9AM3gucG5nIiBhbHQ9IkdydXBwbyBDYXNzYSBDZW50cmFsZSI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0idmItY2FzZV9fbmFtZSI+R3J1cHBvIENhc3NhIENlbnRyYWxlIOKAlCDigJxPbmUgdHJlZSwgb25lIHBlcnNvbuKAnTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2Yi1jYXNlX19zdGF0cyI+CiAgICAgICAgICA8ZGl2PjxkaXYgY2xhc3M9InZiLWNhc2VfX24iPjEuNTAwPC9kaXY+PGRpdiBjbGFzcz0idmItY2FzZV9fc2wiPnRyZWVzIGF0IFBhc3NvIGRlbCBSZWRlYnVzPC9kaXY+PC9kaXY+CiAgICAgICAgICA8ZGl2PjxkaXYgY2xhc3M9InZiLWNhc2VfX24iPjE0LDgmbmJzcDt0PC9kaXY+PGRpdiBjbGFzcz0idmItY2FzZV9fc2wiPm9mIENP4oKCIGFic29yYmVkPC9kaXY+PC9kaXY+CiAgICAgICAgICA8ZGl2PjxkaXYgY2xhc3M9InZiLWNhc2VfX24iPjEwJm5ic3A7aGE8L2Rpdj48ZGl2IGNsYXNzPSJ2Yi1jYXNlX19zbCI+b2YgbGFuZCByZXN0b3JlZDwvZGl2PjwvZGl2PgogICAgICAgICAgPGRpdj48ZGl2IGNsYXNzPSJ2Yi1jYXNlX19uIj40PC9kaXY+PGRpdiBjbGFzcz0idmItY2FzZV9fc2wiPnNwZWNpZXMgcGxhbnRlZDwvZGl2PjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxhIGNsYXNzPSJ2Yi1jYXNlX19saW5rIiBocmVmPSJodHRwczovL3Byb2plY3QudmFpYS5ldS92YWlhLXgtY2Fzc2FjZW50cmFsZSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPlJlYWQgdGhlIGZ1bGwgY2FzZSBzdHVkeSA8c3Bhbj7ihpI8L3NwYW4+PC9hPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8IS0tID09PT09PT09PT09PSBTRVJWSUNFIDMgwrcgU1BFQ0lBTCBQUk9KRUNUUyA9PT09PT09PT09PT0gLS0+CjxzZWN0aW9uIGNsYXNzPSJ2Yi1zcnYgdmItc3J2LS13aW5lIHZiLXNlY3Rpb24iIGlkPSJzcGVjaWFsLXByb2plY3RzIj4KICA8ZGl2IGNsYXNzPSJ2Yi13cmFwIHZiLXNydl9fZ3JpZCI+CiAgICA8ZGl2IGNsYXNzPSJ2Yi1zcnZfX21lZGlhIj4KICAgICAgPGZpZ3VyZSBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czp2YXIoLS1yKTtvdmVyZmxvdzpoaWRkZW47YXNwZWN0LXJhdGlvOjQvMztib3gtc2hhZG93OjAgMjRweCA2MHB4IC0yOHB4IHJnYmEoMCwwLDAsLjU1KTsiPgogICAgICAgIDxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA2L1VudGl0bGVkLWRlc2lnbi0xLmpwZyIgYWx0PSJTcGVjaWFsIFByb2plY3RzIGFuZCBQYXJ0bmVyc2hpcHMiIHN0eWxlPSJ3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6Y292ZXI7IiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgPC9maWd1cmU+CiAgICA8L2Rpdj4KICAgIDxkaXY+CiAgICAgIDxzcGFuIGNsYXNzPSJ2Yi1leWVicm93IHZiLWV5ZWJyb3ctLWxpZ2h0Ij5TcGVjaWFsIFByb2plY3RzPC9zcGFuPgogICAgICA8aDIgY2xhc3M9InZiLWgiPlRvZ2V0aGVyIHdlIGJ1aWxkIGEgcHJvamVjdCB0aGF0IGNhcnJpZXMgeW91ciBuYW1lIGFuZCBoYXMgbGFzdGluZyBpbXBhY3QuPC9oMj4KICAgICAgPHAgY2xhc3M9InZiLWxlYWQiPlNvbWUgY29tcGFuaWVzIGFyZSBub3QgbG9va2luZyBmb3IgYSBzdXBwbGllci4gVGhleSBhcmUgbG9va2luZyBmb3IgYSBwYXJ0bmVyIHRvIGJ1aWxkIHNvbWV0aGluZyB0aGF0IHdpbGwgc3RpbGwgZXhpc3QgaW4gdGVuIHllYXJzLiBXaXRoIFZBSUEgd2UgY28tZGVzaWduIHRhaWxvci1tYWRlIEVTRyBwYXJ0bmVyc2hpcHMgdGhhdCBjb21iaW5lIHJlYWwgZW52aXJvbm1lbnRhbCByZWdlbmVyYXRpb24sIHBlb3BsZSBlbmdhZ2VtZW50IGFuZCBhdXRoZW50aWMgc3Rvcnl0ZWxsaW5nIGZvciB5b3VyIHN0YWtlaG9sZGVycy48L3A+CiAgICAgIDxwIGNsYXNzPSJ2Yi1sZWFkIj5FdmVyeSBwcm9qZWN0IGlzIGxpbmtlZCB0byBhIHNwZWNpZmljIHRlcnJpdG9yeSDigJQgdGhlIERvbG9taXRlcyBvciBQdWdsaWEg4oCUIHdpdGggdHJhY2VhYmxlIGRhdGEgdGhhdCBjYW4gYmUgaW50ZWdyYXRlZCBpbnRvIHlvdXIgc3VzdGFpbmFiaWxpdHkgcmVwb3J0aW5nIGFuZCBhbm51YWwgRVNHIHJlcG9ydHMuPC9wPgogICAgICA8dWwgY2xhc3M9InZiLWNoZWNrcyI+CiAgICAgICAgPGxpPkEgZGVkaWNhdGVkIGZvcmVzdCB3aXRoIHlvdXIgYnJhbmQsIGdlb2xvY2F0ZWQgaW4gdGhlIERvbG9taXRlcyBvciBQdWdsaWE8L2xpPgogICAgICAgIDxsaT5Dby1jcmVhdGVkIHByb2R1Y3RzIGFuZCBlZGl0aW9ucyB0aGF0IGNvbW11bmljYXRlIHlvdXIgRVNHIHZhbHVlczwvbGk+CiAgICAgICAgPGxpPkVuZ2FnZW1lbnQgY2FtcGFpZ25zIGZvciBjbGllbnRzLCBlbXBsb3llZXMgYW5kIHN0YWtlaG9sZGVyczwvbGk+CiAgICAgICAgPGxpPkFkLWhvYyBpbml0aWF0aXZlcyBidWlsdCBhcm91bmQgeW91ciBzcGVjaWZpYyByZXBvcnRpbmcgbmVlZHM8L2xpPgogICAgICA8L3VsPgogICAgICA8ZGl2IGNsYXNzPSJ2Yi1jdGEtcm93Ij4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJ2Yi1idG4gdmItYnRuLS1nb2xkIiBkYXRhLXZiLW9wZW49ImNvbnRhdHRvIj5MZXTigJlzIHRhbGsgYWJvdXQgeW91ciBwcm9qZWN0IDxzcGFuIGNsYXNzPSJ2Yi1hcnJvdyI+4oaSPC9zcGFuPjwvYnV0dG9uPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InZiLWNhc2UiPgogICAgICAgIDxkaXYgY2xhc3M9InZiLWNhc2VfX3RvcCI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0idmItY2FzZV9fbmFtZSI+TGV2aXNzaW1hIGZvciB0aGUgRm9yZXN0cyDDlyBWQUlBPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxwIHN0eWxlPSJtYXJnaW4tdG9wOjE0cHg7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZTouOThyZW07Y29sb3I6I2YzZGJlNzsiPlJlc3RvcmF0aW9uIG9mIG92ZXIgMTQwIGhlY3RhcmVzIG9mIEFscGluZSBmb3Jlc3RzIGRlc3Ryb3llZCBieSB0aGUgc3Rvcm0sIHdpdGggdGhlIGJpcnRoIG9mIHRoZSDigJxMZXZpc3NpbWEgRm9yZXN04oCdIGluIFZhbCBkaSBGaWVtbWUgYW5kIGEgc3BlY2lhbCBlZGl0aW9uIG9mIFZBSUEgQ3ViZSBtYWRlIGZyb20gcmVjb3ZlcmVkIHNjcmFwIHdvb2QuPC9wPgogICAgICAgIDxkaXYgY2xhc3M9InZiLWNhc2VfX3N0YXRzIiBzdHlsZT0iZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7Ij4KICAgICAgICAgIDxkaXY+PGRpdiBjbGFzcz0idmItY2FzZV9fbiI+MTQwKyZuYnNwO2hhPC9kaXY+PGRpdiBjbGFzcz0idmItY2FzZV9fc2wiPm9mIGZvcmVzdHMgcmVzdG9yZWQ8L2Rpdj48L2Rpdj4KICAgICAgICAgIDxkaXY+PGRpdiBjbGFzcz0idmItY2FzZV9fbiI+VmFsIGRpIEZpZW1tZTwvZGl2PjxkaXYgY2xhc3M9InZiLWNhc2VfX3NsIj5MZXZpc3NpbWEgRm9yZXN0PC9kaXY+PC9kaXY+CiAgICAgICAgICA8ZGl2PjxkaXYgY2xhc3M9InZiLWNhc2VfX24iPkRlc2lnbjwvZGl2PjxkaXYgY2xhc3M9InZiLWNhc2VfX3NsIj5jaXJjdWxhciBhbmQgbGltaXRlZCBlZGl0aW9uczwvZGl2PjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8IS0tID09PT09PT09PT09PSBCRU5FRklUUyA9PT09PT09PT09PT0gLS0+CjxzZWN0aW9uIGNsYXNzPSJ2Yi1iZW4gdmItc2VjdGlvbiI+CiAgPGRpdiBjbGFzcz0idmItd3JhcCI+CiAgICA8ZGl2IGNsYXNzPSJ2Yi1iZW5fX2hlYWQiPgogICAgICA8c3BhbiBjbGFzcz0idmItZXllYnJvdyI+V2h5IGNvbXBhbmllcyBjaG9vc2UgVkFJQTwvc3Bhbj4KICAgICAgPGgyIGNsYXNzPSJ2Yi1oIj5CZWNhdXNlIHRoZXkgd2FudCB0aGVpciBzdXN0YWluYWJpbGl0eSB0byBiZSByZWFsLiBOb3QganVzdCBkZWNsYXJlZC48L2gyPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJ2Yi1iZW5fX2dyaWQiPgogICAgICA8ZGl2IGNsYXNzPSJ2Yi1iZW5fX2NhcmQiPgogICAgICAgIDxzcGFuIGNsYXNzPSJ2Yi1leWVicm93Ij5UaGV5IGNvbW11bmljYXRlIHdpdGggY3JlZGliaWxpdHk8L3NwYW4+CiAgICAgICAgPHA+RXZlcnkgVkFJQSBwcm9qZWN0IHByb2R1Y2VzIGRvY3VtZW50YWJsZSBpbXBhY3RzIOKAlCB0cmVlcyBwbGFudGVkLCBtYXRlcmlhbHMgcmVjb3ZlcmVkLCBjb21tdW5pdGllcyBpbnZvbHZlZCDigJQgdGhhdCBmZWVkIEVTRyBzdG9yeXRlbGxpbmcgd2l0aCByZWFsIGRhdGEgYW5kIHZlcmlmaWFibGUgc3Rvcmllcy4gRm9yIGNsaWVudHMsIGludmVzdG9ycyBhbmQgcGFydG5lcnMgd2hvIGNhbiBkaXN0aW5ndWlzaCBnZW51aW5lIGNvbW1pdG1lbnQgZnJvbSBncmVlbndhc2hpbmcuPC9wPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmItYmVuX19jYXJkIj4KICAgICAgICA8c3BhbiBjbGFzcz0idmItZXllYnJvdyI+VGhleSBzdHJlbmd0aGVuIGNvbXBhbnkgY3VsdHVyZTwvc3Bhbj4KICAgICAgICA8cD5TdXN0YWluYWJsZSBjb3Jwb3JhdGUgZ2lmdHMgYW5kIG5hdHVyZS1iYXNlZCB0ZWFtLWJ1aWxkaW5nIGV4cGVyaWVuY2VzIGNyZWF0ZSBzb21ldGhpbmcgbm8gaW50ZXJuYWwgcG9saWN5IGNhbiBnZW5lcmF0ZTogcmVhbCBiZWxvbmdpbmcsIHNoYXJlZCBtb3RpdmF0aW9uLCBhbmQgYSBzZW5zZSBvZiBwdXJwb3NlIHRoYXQgcGVvcGxlIHRydWx5IGZlZWwuPC9wPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmItYmVuX19jYXJkIj4KICAgICAgICA8c3BhbiBjbGFzcz0idmItZXllYnJvdyI+VGhleSBpbnRlZ3JhdGUgc3VzdGFpbmFiaWxpdHkgaW50byB0aGUgYnJhbmQ8L3NwYW4+CiAgICAgICAgPHA+UHJvZHVjdHMsIGV4cGVyaWVuY2VzIGFuZCBFU0cgcGFydG5lcnNoaXBzIGJlY29tZSBhIHJlY29nbmlzYWJsZSBwYXJ0IG9mIHlvdXIgY29tcGFueeKAmXMgc3RvcnkuIEEgc3RyYXRlZ2ljIGFzc2V0IHRoYXQgc3BlYWtzIHRvIHRhbGVudCwgc3Rha2Vob2xkZXJzLCBhbmQgYW55b25lIHdobyBjaG9vc2VzIHBhcnRuZXJzIGJhc2VkIG9uIHRoZSB2YWx1ZXMgdGhleSBjb21tdW5pY2F0ZS48L3A+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0gPT09PT09PT09PT09IFRFU1RJTU9OSUFMUyA9PT09PT09PT09PT0gLS0+CjxzZWN0aW9uIGNsYXNzPSJ2Yi10c3QgdmItc2VjdGlvbiI+CiAgPGRpdiBjbGFzcz0idmItd3JhcCI+CiAgICA8c3BhbiBjbGFzcz0idmItZXllYnJvdyI+VGhlaXIgd29yZHM8L3NwYW4+CiAgICA8aDIgY2xhc3M9InZiLWgiIHN0eWxlPSJtYXgtd2lkdGg6MThjaDsiPlRob3NlIHdobyB3b3JrZWQgd2l0aCB1cyB0ZWxsIGl0IGJlc3QuPC9oMj4KICAgIDxkaXYgY2xhc3M9InZiLXRzdF9fZ3JpZCI+CiAgICAgIDxkaXYgY2xhc3M9InZiLXRzdF9fY2FyZCI+CiAgICAgICAgPHAgY2xhc3M9InZiLXRzdF9fcSI+T3VyIGNsaWVudHMgd2VyZSB0aHJpbGxlZCB3aXRoIHRoZSBDaHJpc3RtYXMgZ2lmdC4gSSByZWNlaXZlZCBtYW55IHRoYW5rLXlvdSBjYWxscy48L3A+CiAgICAgICAgPGRpdiBjbGFzcz0idmItdHN0X193aG8iPjxpbWcgY2xhc3M9InZiLXRzdF9fYXYiIHNyYz0iaHR0cHM6Ly9wcm9qZWN0LnZhaWEuZXUvaHViZnMvU0RBLUJvY2NvbmktU2Nob29sLW9mLU1hbmFnbWVudC1sb2dvLnBuZyIgYWx0PSIiIGxvYWRpbmc9ImxhenkiPjxkaXY+PGI+TWFyY288L2I+PHNwYW4+U0RBIEJvY2Nvbmk8L3NwYW4+PC9kaXY+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2Yi10c3RfX2NhcmQiPgogICAgICAgIDxwIGNsYXNzPSJ2Yi10c3RfX3EiPlRoZSBhdG1vc3BoZXJlIHdhcyBtb3RpdmF0aW5nIGFuZCBwbGVhc2FudC4gSSByZWNlaXZlZCBwb3NpdGl2ZSBmZWVkYmFjayBldmVuIGZyb20gY29sbGVhZ3VlcyB3aG8gYXJlIGxlc3Mgc2Vuc2l0aXZlIHRvIGVudmlyb25tZW50YWwgaXNzdWVzLjwvcD4KICAgICAgICA8ZGl2IGNsYXNzPSJ2Yi10c3RfX3dobyI+PGltZyBjbGFzcz0idmItdHN0X19hdiIgc3JjPSJodHRwczovL3Byb2plY3QudmFpYS5ldS9odWJmcy8yLTQuanBnIiBhbHQ9IiIgbG9hZGluZz0ibGF6eSI+PGRpdj48Yj5Jb2FuYTwvYj48c3Bhbj5BYmJyZXZpYTwvc3Bhbj48L2Rpdj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InZiLXRzdF9fY2FyZCI+CiAgICAgICAgPHAgY2xhc3M9InZiLXRzdF9fcSI+SXQgd2FzIGEgcmVhbCBzYXRpc2ZhY3Rpb24gdG8gY29udHJpYnV0ZSBpbiBwZXJzb24sIHRvZ2V0aGVyIHdpdGggbXkgY29sbGVhZ3VlcywgdG8gdGhlIHJlYmlydGggb2YgYW4gYXJlYSBoaXQgYnkgdGhlIFZhaWEgc3Rvcm0uPC9wPgogICAgICAgIDxkaXYgY2xhc3M9InZiLXRzdF9fd2hvIj48aW1nIGNsYXNzPSJ2Yi10c3RfX2F2IiBzcmM9Imh0dHBzOi8vcHJvamVjdC52YWlhLmV1L2h1YmZzL3VubmFtZWQuanBnIiBhbHQ9IiIgbG9hZGluZz0ibGF6eSI+PGRpdj48Yj5CZWF0cmljZTwvYj48c3Bhbj5HcnVwcG8gQ2Fzc2EgQ2VudHJhbGU8L3NwYW4+PC9kaXY+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2Yi10c3RfX2NhcmQiPgogICAgICAgIDxwIGNsYXNzPSJ2Yi10c3RfX3EiPldlIGNob3NlIHRvIGdpZnQgdGhlIFZBSUEgQ3ViZSB0byBhbGwgb3VyIGNvbGxhYm9yYXRvcnM6IGl0IHJlZmxlY3RzIG91ciBjb21taXRtZW50IHRvIHN1c3RhaW5hYmlsaXR5LiBUaGUgcGVyZmVjdCBvYmplY3QuPC9wPgogICAgICAgIDxkaXYgY2xhc3M9InZiLXRzdF9fd2hvIj48aW1nIGNsYXNzPSJ2Yi10c3RfX2F2IiBzcmM9Imh0dHBzOi8vcHJvamVjdC52YWlhLmV1L2h1YmZzL2Rvd25sb2FkLnBuZyIgYWx0PSIiIGxvYWRpbmc9ImxhenkiPjxkaXY+PGI+U3RlZmFuaWE8L2I+PHNwYW4+RU9TIFNvbHV0aW9uczwvc3Bhbj48L2Rpdj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InZiLXRzdF9fY2FyZCI+CiAgICAgICAgPHAgY2xhc3M9InZiLXRzdF9fcSI+V2UgZ2lmdGVkIHRoZSBWQUlBIEN1YmUgdG8gYWxsIG91ciBtYWluIGNsaWVudHMgd29ybGR3aWRlLiBUaGUgaW5pdGlhdGl2ZSB3YXMgdmVyeSB3ZWxsIHJlY2VpdmVkLjwvcD4KICAgICAgICA8ZGl2IGNsYXNzPSJ2Yi10c3RfX3dobyI+PGltZyBjbGFzcz0idmItdHN0X19hdiIgc3JjPSJodHRwczovL3Byb2plY3QudmFpYS5ldS9odWJmcy8zLTMuanBnIiBhbHQ9IiIgbG9hZGluZz0ibGF6eSI+PGRpdj48Yj5TdGVmYW5vPC9iPjxzcGFuPkVTLUtPIEdyb3VwPC9zcGFuPjwvZGl2PjwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmItdHN0X19jYXJkIj4KICAgICAgICA8cCBjbGFzcz0idmItdHN0X19xIj5XZSBhcmUgc3RpbGwgcmlkaW5nIHRoZSBsb25nIHdhdmUgb2YgdGhlIGV4cGVyaWVuY2UuIEEgc3BlY2lhbCBtb21lbnQsIGxpdmVkIHdpdGggZ3JlYXQgcGFydGljaXBhdGlvbiBieSBldmVyeW9uZS48L3A+CiAgICAgICAgPGRpdiBjbGFzcz0idmItdHN0X193aG8iPjxpbWcgY2xhc3M9InZiLXRzdF9fYXYiIHNyYz0iaHR0cHM6Ly9wcm9qZWN0LnZhaWEuZXUvaHViZnMvMS00LmpwZyIgYWx0PSIiIGxvYWRpbmc9ImxhenkiPjxkaXY+PGI+R2l1bGlhPC9iPjxzcGFuPlN5c3RyYTwvc3Bhbj48L2Rpdj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgo8aHIgY2xhc3M9InZiLXNwbGl0Ij4KCjwhLS0gPT09PT09PT09PT09IEZJTkFMIENUQSA9PT09PT09PT09PT0gLS0+CjxzZWN0aW9uIGNsYXNzPSJ2Yi1maW5hbCB2Yi1zZWN0aW9uIj4KICA8ZGl2IGNsYXNzPSJ2Yi13cmFwIj4KICAgIDxzcGFuIGNsYXNzPSJ2Yi1leWVicm93IHZiLWV5ZWJyb3ctLWxpZ2h0IiBzdHlsZT0ianVzdGlmeS1jb250ZW50OmNlbnRlcjtkaXNwbGF5OmZsZXg7Ij5MZXTigJlzIHN0YXJ0IGEgcGFydG5lcnNoaXA8L3NwYW4+CiAgICA8aDIgY2xhc3M9InZiLWgiPkxFVOKAmVMgU1RBUlQgQlVJTERJTkcgU09NRVRISU5HIFRPR0VUSEVSPC9oMj4KICAgIDxwPldoZXRoZXIgeW91IGFyZSBsb29raW5nIGZvciBzdXN0YWluYWJsZSBjb3Jwb3JhdGUgZ2lmdHMsIGEgbmF0dXJlLWJhc2VkIHRlYW0tYnVpbGRpbmcgZXhwZXJpZW5jZSwgb3IgYSB0YWlsb3ItbWFkZSBFU0cgcGFydG5lcnNoaXAsIHdlIHdpbGwgc3VwcG9ydCB5b3UgaW4gY3JlYXRpbmcgYSBjb25jcmV0ZSwgbWVhc3VyYWJsZSBwcm9qZWN0IGNvbnNpc3RlbnQgd2l0aCB5b3VyIGNvbXBhbnnigJlzIGlkZW50aXR5LjwvcD4KICAgIAogICAgPGRpdiBjbGFzcz0idmItZmluYWxfX2Zvcm0iPgogICAgICA8ZGl2IGlkPSJocy1mb3JtLWZpbmFsIj48L2Rpdj4KICAgICAgPHAgaWQ9ImhzLWZvcm0tZmluYWwtZmFsbGJhY2siIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij5JZiB0aGUgZm9ybSBkb2VzbuKAmXQgbG9hZCwgd3JpdGUgdG8gdXMgYXQgPGEgaHJlZj0ibWFpbHRvOmluZm9AdmFpYS5ldSIgc3R5bGU9ImNvbG9yOnZhcigtLWMtZ3JlZW4pO2ZvbnQtd2VpZ2h0OjYwMDsiPmluZm9AdmFpYS5ldTwvYT4gb3IgY2FsbCB1cyBhdCA8YSBocmVmPSJ0ZWw6KzM5MzUwMTM5NTk0NCIgc3R5bGU9ImNvbG9yOnZhcigtLWMtZ3JlZW4pO2ZvbnQtd2VpZ2h0OjYwMDsiPiszOSAzNTAgMTM5NTk0NDwvYT4uPC9wPgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9InZiLWZpbmFsX19ub3RlIj4KICAgICAgPHNwYW4+PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iOSI+PC9jaXJjbGU+PHBhdGggZD0iTTEyIDd2NWwzIDIiPjwvcGF0aD48L3N2Zz4gRmFzdCByZXNwb25zZTwvc3Bhbj4KICAgICAgPHNwYW4+PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHBhdGggZD0iTTIwIDYgOSAxN2wtNS01Ij48L3BhdGg+PC9zdmc+IE5vIG9ibGlnYXRpb248L3NwYW4+CiAgICAgIDxzcGFuPjxzdmcgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIGQ9Ik0yMCA2IDkgMTdsLTUtNSI+PC9wYXRoPjwvc3ZnPiBGcmVlIHBlcnNvbmFsaXNlZCBjb25zdWx0YXRpb248L3NwYW4+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSA9PT09PT09PT09PT0gRkFRID09PT09PT09PT09PSAtLT4KPHNlY3Rpb24gY2xhc3M9InZiLWZhcSB2Yi1zZWN0aW9uIj4KICA8ZGl2IGNsYXNzPSJ2Yi13cmFwIj4KICAgIDxzcGFuIGNsYXNzPSJ2Yi1leWVicm93IiBzdHlsZT0ianVzdGlmeS1jb250ZW50OmNlbnRlcjtkaXNwbGF5OmZsZXg7Ij5GQVE8L3NwYW4+CiAgICA8aDIgY2xhc3M9InZiLWgiIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjttYXgtd2lkdGg6MjBjaDttYXJnaW46MCBhdXRvOyI+RnJlcXVlbnRseSBBc2tlZCBRdWVzdGlvbnM8L2gyPgogICAgPGRpdiBjbGFzcz0idmItZmFxX19saXN0Ij4KICAgICAgPGRpdiBjbGFzcz0idmItZmFxX19pdGVtIj48YnV0dG9uIGNsYXNzPSJ2Yi1mYXFfX3EiPkNhbiBJIGN1c3RvbWlzZSBWQUlBIHByb2R1Y3RzPzwvYnV0dG9uPjxkaXYgY2xhc3M9InZiLWZhcV9fYSI+PHA+WWVzLiBWQUlBIEN1YmVzIGFuZCBvdGhlciBvYmplY3RzIGNhbiBiZSBwZXJzb25hbGlzZWQgd2l0aCB5b3VyIGxvZ28gb3IgZGVkaWNhdGVkIGdyYXBoaWNzLiBXZSBjYW4gYWxzbyB0YWtlIGNhcmUgb2YgdGhlIHBhY2thZ2luZyBhbmQgY2FyZCB0byBiZXN0IHRlbGwgeW91ciBwcm9qZWN0LjwvcD48L2Rpdj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idmItZmFxX19pdGVtIj48YnV0dG9uIGNsYXNzPSJ2Yi1mYXFfX3EiPldoZXJlIGFyZSB0aGUgdHJlZXMgcGxhbnRlZD88L2J1dHRvbj48ZGl2IGNsYXNzPSJ2Yi1mYXFfX2EiPjxwPkFjcm9zcyB0aGUgZW50aXJlIERvbG9taXRlcyBhcmM6IGZyb20gVHJlbnRpbm8tQWx0byBBZGlnZSB0byBGcml1bGkgVmVuZXppYSBHaXVsaWEsIGZyb20gTG9tYmFyZHkgdG8gVmVuZXRvLiBXZSBpbnRlcnZlbmUgaW4gZm9yZXN0IGFyZWFzIHRoYXQgbmVlZCBuZXcgdHJlZXMgdG8gYWNjZWxlcmF0ZSByZWdyb3d0aCBhbmQgcHJvdGVjdCBsb2NhbCBjb21tdW5pdGllcy48L3A+PC9kaXY+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InZiLWZhcV9faXRlbSI+PGJ1dHRvbiBjbGFzcz0idmItZmFxX19xIj5DYW4gSSBtYWtlIG15IGV2ZW50IGNhcmJvbiBuZXV0cmFsPzwvYnV0dG9uPjxkaXYgY2xhc3M9InZiLWZhcV9fYSI+PHA+WWVzLiBXZSBjYWxjdWxhdGUgdGhlIGNhcmJvbiBmb290cHJpbnQgb2YgeW91ciBldmVudCBhbmQgb2Zmc2V0IHRoZSBlc3RpbWF0ZWQgQ0\/igoIgYnkgcGxhbnRpbmcgbmV3IHRyZWVzIGluIHRoZSBEb2xvbWl0ZXMuPC9wPjwvZGl2PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2Yi1mYXFfX2l0ZW0iPjxidXR0b24gY2xhc3M9InZiLWZhcV9fcSI+QXJlIFZBSUEgcHJvamVjdHMgRVNHIHJlcG9ydGFibGU\/PC9idXR0b24+PGRpdiBjbGFzcz0idmItZmFxX19hIj48cD5ZZXMuIFByb2plY3RzIGRldmVsb3BlZCB3aXRoIFZBSUEgcHJvZHVjZSBjb25jcmV0ZSBhbmQgbWVhc3VyYWJsZSBiZW5lZml0cyB0aGF0IGNhbiBiZSBpbmNsdWRlZCBpbiB5b3VyIHN1c3RhaW5hYmlsaXR5IHJlcG9ydC4gV2UgcHJvdmlkZSBzdXBwb3J0IGluIGRyYWZ0aW5nIGltcGFjdCByZXBvcnRzIGFjY29yZGluZyB0byBFdXJvcGVhbiByZWd1bGF0aW9ucy48L3A+PC9kaXY+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InZiLWZhcV9faXRlbSI+PGJ1dHRvbiBjbGFzcz0idmItZmFxX19xIj5EbyB5b3UgaGF2ZSBjZXJ0aWZpY2F0aW9ucz88L2J1dHRvbj48ZGl2IGNsYXNzPSJ2Yi1mYXFfX2EiPjxwPldvb2QgcmVjb3ZlcnkgYW5kIHRyZWUgcGxhbnRpbmcgYXJlIGNhcnJpZWQgb3V0IGJ5IFBFRkMtY2VydGlmaWVkIGxvY2FsIHBhcnRuZXJzLiBWYWlhIFMuci5sLiBpcyBhbHNvIGEgQmVuZWZpdCBDb3Jwb3JhdGlvbi48L3A+PC9kaXY+PC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSA9PT09PT09PT09PT0gU1RJQ0tZIENUQSA9PT09PT09PT09PT0gLS0+CjxkaXYgY2xhc3M9InZiLXN0aWNreSIgaWQ9InZiU3RpY2t5Ij4KICA8YnV0dG9uIGNsYXNzPSJ2Yi1idG4gdmItYnRuLS1nb2xkIiBkYXRhLXZiLW9wZW49ImNvbnRhdHRvIj5HZXQgaW4gdG91Y2ggPHNwYW4gY2xhc3M9InZiLWFycm93Ij7ihpI8L3NwYW4+PC9idXR0b24+CjwvZGl2PgoKPCEtLSA9PT09PT09PT09PT0gTU9EQUwgRk9STSA9PT09PT09PT09PT0gLS0+CjxkaXYgY2xhc3M9InZiLW1vZGFsIiBpZD0idmJNb2RhbCIgYXJpYS1oaWRkZW49InRydWUiPgogIDxkaXYgY2xhc3M9InZiLW1vZGFsX19iZCIgZGF0YS12Yi1jbG9zZT0iIj48L2Rpdj4KICA8ZGl2IGNsYXNzPSJ2Yi1tb2RhbF9fZGlhbG9nIiByb2xlPSJkaWFsb2ciIGFyaWEtbW9kYWw9InRydWUiIGFyaWEtbGFiZWxsZWRieT0idmJNb2RhbFRpdGxlIj4KICAgIDxidXR0b24gY2xhc3M9InZiLW1vZGFsX19jbG9zZSIgZGF0YS12Yi1jbG9zZT0iIiBhcmlhLWxhYmVsPSJDbG9zZSI+w5c8L2J1dHRvbj4KICAgIDxzcGFuIGNsYXNzPSJ2Yi1leWVicm93IiBpZD0idmJNb2RhbEV5ZWJyb3ciPkdldCBpbiB0b3VjaDwvc3Bhbj4KICAgIDxoMyBjbGFzcz0idmItaCIgaWQ9InZiTW9kYWxUaXRsZSI+TGV04oCZcyB0YWxrIGFib3V0IHlvdXIgcHJvamVjdDwvaDM+CiAgICA8cCBjbGFzcz0idmItbW9kYWxfX2ludHJvIiBpZD0idmJNb2RhbEludHJvIj5GaWxsIGluIHRoZSBmb3JtOiB3ZeKAmWxsIHJlcGx5IHF1aWNrbHksIHdpdGggbm8gb2JsaWdhdGlvbi48L3A+CiAgICA8ZGl2IGlkPSJocy1mb3JtLXRhcmdldCI+PC9kaXY+CiAgICA8cCBpZD0iaHMtZm9ybS1mYWxsYmFjayIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPklmIHRoZSBmb3JtIGRvZXNu4oCZdCBsb2FkLCB3cml0ZSB0byB1cyBhdCA8YSBocmVmPSJtYWlsdG86aW5mb0B2YWlhLmV1IiBzdHlsZT0iY29sb3I6dmFyKC0tYy1ncmVlbik7Zm9udC13ZWlnaHQ6NjAwOyI+aW5mb0B2YWlhLmV1PC9hPiBvciBjYWxsIHVzIGF0IDxhIGhyZWY9InRlbDorMzkzNTAxMzk1OTQ0IiBzdHlsZT0iY29sb3I6dmFyKC0tYy1ncmVlbik7Zm9udC13ZWlnaHQ6NjAwOyI+KzM5IDM1MCAxMzk1OTQ0PC9hPi48L3A+CiAgPC9kaXY+CjwvZGl2PgoKPC9kaXY+PCEtLSAvI3ZhaWEtYjJiIC0tPgoKPCEtLSA9PT09PT09PT09PT0gU0NIRU1BLk9SRyBGQVEgPT09PT09PT09PT09IC0tPgo8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL2xkK2pzb24iPgp7IkBjb250ZXh0IjoiaHR0cHM6Ly9zY2hlbWEub3JnIiwiQHR5cGUiOiJGQVFQYWdlIiwibWFpbkVudGl0eSI6Wwp7IkB0eXBlIjoiUXVlc3Rpb24iLCJuYW1lIjoiQ2FuIEkgY3VzdG9taXNlIFZBSUEgcHJvZHVjdHM\/IiwiYWNjZXB0ZWRBbnN3ZXIiOnsiQHR5cGUiOiJBbnN3ZXIiLCJ0ZXh0IjoiWWVzLiBWQUlBIEN1YmVzIGFuZCBvdGhlciBvYmplY3RzIGNhbiBiZSBwZXJzb25hbGlzZWQgd2l0aCB5b3VyIGxvZ28gb3IgZGVkaWNhdGVkIGdyYXBoaWNzLiBXZSBjYW4gYWxzbyBoYW5kbGUgcGFja2FnaW5nIGFuZCBncmVldGluZyBjYXJkcy4ifX0sCnsiQHR5cGUiOiJRdWVzdGlvbiIsIm5hbWUiOiJXaGVyZSBhcmUgVkFJQSB0cmVlcyBwbGFudGVkPyIsImFjY2VwdGVkQW5zd2VyIjp7IkB0eXBlIjoiQW5zd2VyIiwidGV4dCI6IkFjcm9zcyB0aGUgZW50aXJlIERvbG9taXRlcyBhcmMsIGZyb20gVHJlbnRpbm8tQWx0byBBZGlnZSB0byBGcml1bGkgVmVuZXppYSBHaXVsaWEsIGZyb20gTG9tYmFyZHkgdG8gVmVuZXRvLCBpbiBmb3Jlc3QgYXJlYXMgdGhhdCBuZWVkIG5ldyB0cmVlcy4ifX0sCnsiQHR5cGUiOiJRdWVzdGlvbiIsIm5hbWUiOiJDYW4gSSBtYWtlIG15IGV2ZW50IGNhcmJvbiBuZXV0cmFsIHdpdGggVkFJQT8iLCJhY2NlcHRlZEFuc3dlciI6eyJAdHlwZSI6IkFuc3dlciIsInRleHQiOiJZZXMuIFdlIGNhbGN1bGF0ZSB0aGUgY2FyYm9uIGZvb3RwcmludCBvZiB0aGUgZXZlbnQgYW5kIG9mZnNldCB0aGUgZXN0aW1hdGVkIENP4oKCIGJ5IHBsYW50aW5nIG5ldyB0cmVlcyBpbiB0aGUgRG9sb21pdGVzLiJ9fSwKeyJAdHlwZSI6IlF1ZXN0aW9uIiwibmFtZSI6IkFyZSBWQUlBIHByb2plY3RzIEVTRyByZXBvcnRhYmxlPyIsImFjY2VwdGVkQW5zd2VyIjp7IkB0eXBlIjoiQW5zd2VyIiwidGV4dCI6Illlcy4gVGhlIHByb2plY3RzIHByb2R1Y2UgbWVhc3VyYWJsZSBiZW5lZml0cyB0aGF0IGNhbiBiZSBpbmNsdWRlZCBpbiB5b3VyIHN1c3RhaW5hYmlsaXR5IHJlcG9ydCwgd2l0aCBzdXBwb3J0IGZvciBkcmFmdGluZyBpbXBhY3Qgc3RhdGVtZW50cy4ifX0sCnsiQHR5cGUiOiJRdWVzdGlvbiIsIm5hbWUiOiJEb2VzIFZBSUEgaGF2ZSBjZXJ0aWZpY2F0aW9ucz8iLCJhY2NlcHRlZEFuc3dlciI6eyJAdHlwZSI6IkFuc3dlciIsInRleHQiOiJXb29kIHJlY292ZXJ5IGFuZCB0cmVlIHBsYW50aW5nIGFyZSBjYXJyaWVkIG91dCBieSBQRUZDLWNlcnRpZmllZCBwYXJ0bmVycy4gVmFpYSBTLnIubC4gaXMgYSBCZW5lZml0IENvcnBvcmF0aW9uLiJ9fQpdfQo8L3NjcmlwdD4KCjwhLS0gPT09PT09PT09PT09IFNDUklQVCA9PT09PT09PT09PT0gLS0+CjxzY3JpcHQ+CihmdW5jdGlvbigpewogIHZhciByb290ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZhaWEtYjJiJyk7CiAgaWYoIXJvb3QpIHJldHVybjsKCiAgLyogLS0tLS0tLS0tLSBGQVEgYWNjb3JkaW9uIC0tLS0tLS0tLS0gKi8KICByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy52Yi1mYXFfX2l0ZW0nKS5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0pewogICAgdmFyIHEgPSBpdGVtLnF1ZXJ5U2VsZWN0b3IoJy52Yi1mYXFfX3EnKTsKICAgIHZhciBhID0gaXRlbS5xdWVyeVNlbGVjdG9yKCcudmItZmFxX19hJyk7CiAgICBxLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKXsKICAgICAgdmFyIG9wZW4gPSBpdGVtLmNsYXNzTGlzdC5jb250YWlucygnb3BlbicpOwogICAgICByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy52Yi1mYXFfX2l0ZW0ub3BlbicpLmZvckVhY2goZnVuY3Rpb24obyl7CiAgICAgICAgby5jbGFzc0xpc3QucmVtb3ZlKCdvcGVuJyk7IG8ucXVlcnlTZWxlY3RvcignLnZiLWZhcV9fYScpLnN0eWxlLm1heEhlaWdodCA9IG51bGw7CiAgICAgIH0pOwogICAgICBpZighb3Blbil7IGl0ZW0uY2xhc3NMaXN0LmFkZCgnb3BlbicpOyBhLnN0eWxlLm1heEhlaWdodCA9IGEuc2Nyb2xsSGVpZ2h0ICsgJ3B4JzsgfQogICAgfSk7CiAgfSk7CgogIC8qIC0tLS0tLS0tLS0gU3RpY2t5IENUQSAtLS0tLS0tLS0tICovCiAgdmFyIHN0aWNreSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2YlN0aWNreScpOwogIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBmdW5jdGlvbigpewogICAgaWYod2luZG93LnNjcm9sbFkgPiA2ODApeyBzdGlja3kuY2xhc3NMaXN0LmFkZCgnc2hvdycpOyB9IGVsc2UgeyBzdGlja3kuY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpOyB9CiAgfSwge3Bhc3NpdmU6dHJ1ZX0pOwoKICAvKiAtLS0tLS0tLS0tIEh1YlNwb3QgTG9hZGVyIC0tLS0tLS0tLS0gKi8KICB2YXIgaHNMb2FkaW5nID0gZmFsc2UsIGhzQ2JzID0gW107CiAgZnVuY3Rpb24gbG9hZEh1YlNwb3QoY2IpewogICAgaWYod2luZG93Lmhic3B0ICYmIHdpbmRvdy5oYnNwdC5mb3Jtcyl7IGNiKHRydWUpOyByZXR1cm47IH0KICAgIGhzQ2JzLnB1c2goY2IpOwogICAgaWYoaHNMb2FkaW5nKSByZXR1cm47CiAgICBoc0xvYWRpbmcgPSB0cnVlOwogICAgdmFyIHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgIHMuc3JjID0gImh0dHBzOi8vanMtZXUxLmhzZm9ybXMubmV0L2Zvcm1zL2VtYmVkL3YyLmpzIjsKICAgIHMuY2hhcnNldCA9ICJ1dGYtOCI7CiAgICBzLm9ubG9hZCA9IGZ1bmN0aW9uKCl7IHZhciBvayA9ICEhKHdpbmRvdy5oYnNwdCAmJiB3aW5kb3cuaGJzcHQuZm9ybXMpOyBoc0Nicy5mb3JFYWNoKGZ1bmN0aW9uKGMpe2Mob2spO30pOyBoc0NicyA9IFtdOyB9OwogICAgcy5vbmVycm9yID0gZnVuY3Rpb24oKXsgaHNDYnMuZm9yRWFjaChmdW5jdGlvbihjKXtjKGZhbHNlKTt9KTsgaHNDYnMgPSBbXTsgfTsKICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQocyk7CiAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7IGlmKCEod2luZG93Lmhic3B0ICYmIHdpbmRvdy5oYnNwdC5mb3JtcykpeyBoc0Nicy5mb3JFYWNoKGZ1bmN0aW9uKGMpe2MoZmFsc2UpO30pOyBoc0NicyA9IFtdOyBoc0xvYWRpbmcgPSBmYWxzZTsgfSB9LCA4MDAwKTsKICB9CgogIHZhciBGT1JNID0geyBwb3J0YWxJZDoiMTQzNDE2NjE1IiwgZm9ybUlkOiJiZjBkOWIxMC04MzVjLTRiNDktOTg4Yi0wZDAyYWQxYWNiODgiLCByZWdpb246ImV1MSIgfTsKCiAgLyogLS0tLS0tLS0tLSBJbmxpbmUgRm9ybSAoRmluYWwgQ1RBKSAtLS0tLS0tLS0tICovCiAgdmFyIGlubGluZUNyZWF0ZWQgPSBmYWxzZTsKICBmdW5jdGlvbiBjcmVhdGVJbmxpbmVGb3JtKCl7CiAgICBpZihpbmxpbmVDcmVhdGVkKSByZXR1cm47CiAgICB2YXIgdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdocy1mb3JtLWZpbmFsJyk7CiAgICBpZighdCkgcmV0dXJuOwogICAgaW5saW5lQ3JlYXRlZCA9IHRydWU7CiAgICB2YXIgaWZiID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hzLWZvcm0tZmluYWwtZmFsbGJhY2snKTsKICAgIGxvYWRIdWJTcG90KGZ1bmN0aW9uKG9rKXsKICAgICAgaWYoIW9rKXsgaWYoaWZiKSBpZmIuc3R5bGUuZGlzcGxheT0nYmxvY2snOyByZXR1cm47IH0KICAgICAgd2luZG93Lmhic3B0LmZvcm1zLmNyZWF0ZSh7IHBvcnRhbElkOkZPUk0ucG9ydGFsSWQsIGZvcm1JZDpGT1JNLmZvcm1JZCwgcmVnaW9uOkZPUk0ucmVnaW9uLCB0YXJnZXQ6IiNocy1mb3JtLWZpbmFsIiB9KTsKICAgIH0pOwogIH0KCiAgdmFyIGZpbmFsU2VjdGlvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy52Yi1maW5hbCcpOwogIGlmKCdJbnRlcnNlY3Rpb25PYnNlcnZlcicgaW4gd2luZG93ICYmIGZpbmFsU2VjdGlvbil7CiAgICB2YXIgaW8gPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oZW50cmllcyl7CiAgICAgIGVudHJpZXMuZm9yRWFjaChmdW5jdGlvbihlKXsgaWYoZS5pc0ludGVyc2VjdGluZyl7IGNyZWF0ZUlubGluZUZvcm0oKTsgaW8uZGlzY29ubmVjdCgpOyB9IH0pOwogICAgfSwge3Jvb3RNYXJnaW46JzYwMHB4IDBweCd9KTsKICAgIGlvLm9ic2VydmUoZmluYWxTZWN0aW9uKTsKICB9IGVsc2UgewogICAgY3JlYXRlSW5saW5lRm9ybSgpOwogIH0KCiAgLyogLS0tLS0tLS0tLSBNb2RhbCBGb3JtIC0tLS0tLS0tLS0gKi8KICB2YXIgbW9kYWwgICAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmJNb2RhbCcpOwogIHZhciBleWVicm93ICA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2Yk1vZGFsRXllYnJvdycpOwogIHZhciB0aXRsZSAgICA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2Yk1vZGFsVGl0bGUnKTsKICB2YXIgaW50cm8gICAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmJNb2RhbEludHJvJyk7CiAgdmFyIGZhbGxiYWNrID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hzLWZvcm0tZmFsbGJhY2snKTsKICB2YXIgbGFzdEZvY3VzID0gbnVsbDsKICB2YXIgbW9kYWxDcmVhdGVkID0gZmFsc2U7CgogIHZhciBDT1BZID0gewogICAgY29udGF0dG86eyBleWVicm93OidHZXQgaW4gdG91Y2gnLCB0aXRsZTonTGV04oCZcyB0YWxrIGFib3V0IHlvdXIgcHJvamVjdCcsCiAgICAgIGludHJvOidGaWxsIGluIHRoZSBmb3JtOiB3ZeKAmWxsIHJlcGx5IHF1aWNrbHksIHdpdGggbm8gb2JsaWdhdGlvbi4nIH0sCiAgICBjYXRhbG9nbzp7IGV5ZWJyb3c6J0dpZnQgQ2F0YWxvZ3VlJywgdGl0bGU6J1JlY2VpdmUgdGhlIGNvcnBvcmF0ZSBnaWZ0IGNhdGFsb2d1ZScsCiAgICAgIGludHJvOidMZWF2ZSB5b3VyIGRldGFpbHM6IHdl4oCZbGwgc2VuZCB5b3UgdGhlIGNhdGFsb2d1ZSBsaW5rIGJ5IGVtYWlsIGltbWVkaWF0ZWx5LiBObyBzYWxlcyBjYWxscyB1bmxlc3MgeW91IHdhbnQgb25lLicgfQogIH07CgogIGZ1bmN0aW9uIHNldENvbnRleHQoY3R4KXsKICAgIHZhciBjID0gQ09QWVtjdHhdIHx8IENPUFkuY29udGF0dG87CiAgICBleWVicm93LnRleHRDb250ZW50ID0gYy5leWVicm93OwogICAgdGl0bGUudGV4dENvbnRlbnQgICA9IGMudGl0bGU7CiAgICBpbnRyby50ZXh0Q29udGVudCAgID0gYy5pbnRybzsKICB9CgogIGZ1bmN0aW9uIGNyZWF0ZU1vZGFsRm9ybSgpewogICAgaWYobW9kYWxDcmVhdGVkKSByZXR1cm47CiAgICBtb2RhbENyZWF0ZWQgPSB0cnVlOwogICAgbG9hZEh1YlNwb3QoZnVuY3Rpb24ob2spewogICAgICBpZighb2speyBmYWxsYmFjay5zdHlsZS5kaXNwbGF5PSdibG9jayc7IG1vZGFsQ3JlYXRlZCA9IGZhbHNlOyByZXR1cm47IH0KICAgICAgd2luZG93Lmhic3B0LmZvcm1zLmNyZWF0ZSh7IHBvcnRhbElkOkZPUk0ucG9ydGFsSWQsIGZvcm1JZDpGT1JNLmZvcm1JZCwgcmVnaW9uOkZPUk0ucmVnaW9uLCB0YXJnZXQ6IiNocy1mb3JtLXRhcmdldCIgfSk7CiAgICB9KTsKICB9CgogIGZ1bmN0aW9uIG9wZW5Nb2RhbChjdHgpewogICAgbGFzdEZvY3VzID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDsKICAgIGNyZWF0ZU1vZGFsRm9ybSgpOwogICAgc2V0Q29udGV4dChjdHgpOwogICAgc2V0VGltZW91dChmdW5jdGlvbigpeyBzZXRDb250ZXh0KGN0eCk7IH0sIDEyMDApOwogICAgbW9kYWwuY2xhc3NMaXN0LmFkZCgnb3BlbicpOwogICAgbW9kYWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsJ2ZhbHNlJyk7CiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbic7CiAgICB2YXIgY2xvc2UgPSBtb2RhbC5xdWVyeVNlbGVjdG9yKCcudmItbW9kYWxfX2Nsb3NlJyk7CiAgICBpZihjbG9zZSkgY2xvc2UuZm9jdXMoKTsKICB9CiAgZnVuY3Rpb24gY2xvc2VNb2RhbCgpewogICAgbW9kYWwuY2xhc3NMaXN0LnJlbW92ZSgnb3BlbicpOwogICAgbW9kYWwuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsJ3RydWUnKTsKICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSAnJzsKICAgIGlmKGxhc3RGb2N1cykgbGFzdEZvY3VzLmZvY3VzKCk7CiAgfQoKICByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLXZiLW9wZW5dJykuZm9yRWFjaChmdW5jdGlvbihidG4pewogICAgYnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKXsgb3Blbk1vZGFsKGJ0bi5nZXRBdHRyaWJ1dGUoJ2RhdGEtdmItb3BlbicpKTsgfSk7CiAgfSk7CiAgbW9kYWwucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtdmItY2xvc2VdJykuZm9yRWFjaChmdW5jdGlvbihlbCl7CiAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGNsb3NlTW9kYWwpOwogIH0pOwogIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBmdW5jdGlvbihlKXsKICAgIGlmKGUua2V5ID09PSAnRXNjYXBlJyAmJiBtb2RhbC5jbGFzc0xpc3QuY29udGFpbnMoJ29wZW4nKSkgY2xvc2VNb2RhbCgpOwogIH0pOwp9KSgpOwo8L3NjcmlwdD4By46y5QM0FpQNAcIBAfohCYYDAZIBA8YBA5sBAYABAccDAf0BA5oDAngBngEBuQEBXgGYAQSVBQS4AQKSAQyCAwHxBAHgAgGDAQGkBAH0BwHbBQE\/Af8EAc0KAeECAYcPAYADAYYCAYYCAYYCAaQCAagJAf4dAYgLAX8BcgGZJDQAA64BAQABAQEDAb4BEAHYpAFspkRkz7MBAQ==\",\"updateId\":73755649}","content-type":"","footnotes":""},"class_list":["post-4113","project","type-project","status-publish","has-post-thumbnail","hentry","tipologia-tematici","tipologia-tematici-en"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>VAIA x Companies | Corporate Gadgets and Events | Partnerships<\/title>\n<meta name=\"description\" content=\"VAIA x Companies is our project dedicated to your company. We can provide corporate gadgets and events with a focus on sustainability.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.vaia.eu\/en\/project\/vaia-4-companies\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"VAIA x Companies | Corporate Gadgets and Events | Partnerships\" \/>\n<meta property=\"og:description\" content=\"VAIA x Companies is our project dedicated to your company. We can provide corporate gadgets and events with a focus on sustainability.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vaia.eu\/en\/project\/vaia-4-companies\/\" \/>\n<meta property=\"og:site_name\" content=\"VAIA\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/therealvaia\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-25T13:49:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2022\/11\/665x755_PROGETTI-Aziende.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"665\" \/>\n\t<meta property=\"og:image:height\" content=\"755\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/en\\\/project\\\/vaia-4-companies\\\/\",\"url\":\"https:\\\/\\\/www.vaia.eu\\\/en\\\/project\\\/vaia-4-companies\\\/\",\"name\":\"VAIA x Companies | Corporate Gadgets and Events | Partnerships\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/en\\\/project\\\/vaia-4-companies\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/en\\\/project\\\/vaia-4-companies\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vaia.eu\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/665x755_PROGETTI-Aziende.jpg\",\"datePublished\":\"2022-11-23T13:49:50+00:00\",\"dateModified\":\"2026-06-25T13:49:31+00:00\",\"description\":\"VAIA x Companies is our project dedicated to your company. We can provide corporate gadgets and events with a focus on sustainability.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/en\\\/project\\\/vaia-4-companies\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.vaia.eu\\\/en\\\/project\\\/vaia-4-companies\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/en\\\/project\\\/vaia-4-companies\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.vaia.eu\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/665x755_PROGETTI-Aziende.jpg\",\"contentUrl\":\"https:\\\/\\\/www.vaia.eu\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/665x755_PROGETTI-Aziende.jpg\",\"width\":665,\"height\":755},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/en\\\/project\\\/vaia-4-companies\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.vaia.eu\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"VAIA 4 companies\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/#website\",\"url\":\"https:\\\/\\\/www.vaia.eu\\\/\",\"name\":\"VAIA - Face what matters\",\"description\":\"Face What Matters\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.vaia.eu\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/#organization\",\"name\":\"VAIA\",\"url\":\"https:\\\/\\\/www.vaia.eu\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.vaia.eu\\\/wp-content\\\/uploads\\\/2023\\\/12\\\/logo-vaia.svg\",\"contentUrl\":\"https:\\\/\\\/www.vaia.eu\\\/wp-content\\\/uploads\\\/2023\\\/12\\\/logo-vaia.svg\",\"width\":1000,\"height\":1000,\"caption\":\"VAIA\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/therealvaia\\\/\",\"https:\\\/\\\/www.instagram.com\\\/therealvaia\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/vaiasrl\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCPtTJEh97yiEMm-vE_Ux3Aw\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"VAIA x Companies | Corporate Gadgets and Events | Partnerships","description":"VAIA x Companies is our project dedicated to your company. We can provide corporate gadgets and events with a focus on sustainability.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.vaia.eu\/en\/project\/vaia-4-companies\/","og_locale":"en_US","og_type":"article","og_title":"VAIA x Companies | Corporate Gadgets and Events | Partnerships","og_description":"VAIA x Companies is our project dedicated to your company. We can provide corporate gadgets and events with a focus on sustainability.","og_url":"https:\/\/www.vaia.eu\/en\/project\/vaia-4-companies\/","og_site_name":"VAIA","article_publisher":"https:\/\/www.facebook.com\/therealvaia\/","article_modified_time":"2026-06-25T13:49:31+00:00","og_image":[{"width":665,"height":755,"url":"https:\/\/www.vaia.eu\/wp-content\/uploads\/2022\/11\/665x755_PROGETTI-Aziende.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vaia.eu\/en\/project\/vaia-4-companies\/","url":"https:\/\/www.vaia.eu\/en\/project\/vaia-4-companies\/","name":"VAIA x Companies | Corporate Gadgets and Events | Partnerships","isPartOf":{"@id":"https:\/\/www.vaia.eu\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vaia.eu\/en\/project\/vaia-4-companies\/#primaryimage"},"image":{"@id":"https:\/\/www.vaia.eu\/en\/project\/vaia-4-companies\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vaia.eu\/wp-content\/uploads\/2022\/11\/665x755_PROGETTI-Aziende.jpg","datePublished":"2022-11-23T13:49:50+00:00","dateModified":"2026-06-25T13:49:31+00:00","description":"VAIA x Companies is our project dedicated to your company. We can provide corporate gadgets and events with a focus on sustainability.","breadcrumb":{"@id":"https:\/\/www.vaia.eu\/en\/project\/vaia-4-companies\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vaia.eu\/en\/project\/vaia-4-companies\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.vaia.eu\/en\/project\/vaia-4-companies\/#primaryimage","url":"https:\/\/www.vaia.eu\/wp-content\/uploads\/2022\/11\/665x755_PROGETTI-Aziende.jpg","contentUrl":"https:\/\/www.vaia.eu\/wp-content\/uploads\/2022\/11\/665x755_PROGETTI-Aziende.jpg","width":665,"height":755},{"@type":"BreadcrumbList","@id":"https:\/\/www.vaia.eu\/en\/project\/vaia-4-companies\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vaia.eu\/en\/"},{"@type":"ListItem","position":2,"name":"VAIA 4 companies"}]},{"@type":"WebSite","@id":"https:\/\/www.vaia.eu\/#website","url":"https:\/\/www.vaia.eu\/","name":"VAIA - Face what matters","description":"Face What Matters","publisher":{"@id":"https:\/\/www.vaia.eu\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vaia.eu\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.vaia.eu\/#organization","name":"VAIA","url":"https:\/\/www.vaia.eu\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.vaia.eu\/#\/schema\/logo\/image\/","url":"https:\/\/www.vaia.eu\/wp-content\/uploads\/2023\/12\/logo-vaia.svg","contentUrl":"https:\/\/www.vaia.eu\/wp-content\/uploads\/2023\/12\/logo-vaia.svg","width":1000,"height":1000,"caption":"VAIA"},"image":{"@id":"https:\/\/www.vaia.eu\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/therealvaia\/","https:\/\/www.instagram.com\/therealvaia\/","https:\/\/www.linkedin.com\/company\/vaiasrl\/","https:\/\/www.youtube.com\/channel\/UCPtTJEh97yiEMm-vE_Ux3Aw"]}]}},"_links":{"self":[{"href":"https:\/\/www.vaia.eu\/en\/wp-json\/wp\/v2\/project\/4113","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vaia.eu\/en\/wp-json\/wp\/v2\/project"}],"about":[{"href":"https:\/\/www.vaia.eu\/en\/wp-json\/wp\/v2\/types\/project"}],"author":[{"embeddable":true,"href":"https:\/\/www.vaia.eu\/en\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":9,"href":"https:\/\/www.vaia.eu\/en\/wp-json\/wp\/v2\/project\/4113\/revisions"}],"predecessor-version":[{"id":58873,"href":"https:\/\/www.vaia.eu\/en\/wp-json\/wp\/v2\/project\/4113\/revisions\/58873"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.vaia.eu\/en\/wp-json\/wp\/v2\/media\/2412"}],"wp:attachment":[{"href":"https:\/\/www.vaia.eu\/en\/wp-json\/wp\/v2\/media?parent=4113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}