{"id":18953,"date":"2026-11-14T10:24:21","date_gmt":"2026-11-14T10:24:21","guid":{"rendered":"https:\/\/morvalley.com\/?page_id=18953"},"modified":"2026-11-14T10:24:21","modified_gmt":"2026-11-14T10:24:21","slug":"tienda-morvalley","status":"publish","type":"page","link":"https:\/\/morvalley.com\/es\/tienda-morvalley\/","title":{"rendered":"Tienda"},"content":{"rendered":"<div class=\"product\"><div class=\"product\"><link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\"><link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin><link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Cinzel:wght@500;600&#038;family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,700&#038;family=Italianno&#038;family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600;1,700&#038;display=swap\"><style id=\"mvloja-css\"> \/* Isolamento: o tema e o Elementor n\u00e3o tocam na loja; a loja n\u00e3o toca no site *\/ #mvloja *:not(svg, svg *, img){all:revert;box-sizing:border-box} #mvloja img{box-sizing:border-box} #mvloja{display:block;width:100%;margin:0;padding:0;text-align:left} .page-header,.entry-title{display:none!important} body.page .site-main,body.page main#content,body.page .page-content{max-width:none!important;width:100%!important;padding:0!important;margin:0!important} body.page .page-content > p:empty{display:none} #mvloja{--chao:#EAECDD; --chao-2:#DADDC6; --papel:#121A10; --cinza:#4A5340; --ouro:#715420; --ouro-forte:#5F461A; --fio:#CBD0B6; --vermelho:#C8332B; --f-titulo:\"Playfair Display\", \"Times New Roman\", Georgia, serif; --f-marca:\"Cinzel\", \"Trajan Pro\", Georgia, serif; --f-texto:\"DM Sans\", \"Helvetica Neue\", Arial, sans-serif; --f-pintura:\"Italianno\", \"Snell Roundhand\", cursive; --margem:clamp(16px, 4vw, 64px); --larg:1440px; color-scheme:light;} #mvloja [data-tom]{background:var(--chao);color:var(--papel)} #mvloja [data-tom=\"0\"]{--chao:#EAECDD;--chao-2:#DADDC6;--papel:#121A10;--cinza:#4A5340;--ouro:#715420;--ouro-forte:#5F461A;--fio:#D4D8C3;color-scheme:light} #mvloja [data-tom=\"1\"]{--chao:#E2E5D2;--chao-2:#CED2B7;--papel:#121A10;--cinza:#465039;--ouro:#6E521E;--ouro-forte:#5C4419;--fio:#CCD0B8;color-scheme:light} #mvloja [data-tom=\"2\"]{--chao:#D7DBC3;--chao-2:#C0C6A5;--papel:#10170E;--cinza:#3F4834;--ouro:#654B1B;--ouro-forte:#543E16;--fio:#C2C6AB;color-scheme:light} #mvloja [data-tom=\"3\"]{--chao:#CACFB3;--chao-2:#B0B893;--papel:#0D140B;--cinza:#353D2B;--ouro:#5A4317;--ouro-forte:#4A3712;--fio:#B4BB9C;color-scheme:light} #mvloja [data-tom=\"4\"]{--chao:#BBC2A3;--chao-2:#9FA781;--papel:#0B120A;--cinza:#2C3424;--ouro:#4C3812;--ouro-forte:#3E2D0E;--fio:#A7AE8F;color-scheme:light} #mvloja [data-tom=\"5\"]{--chao:#A7AF90;--chao-2:#88926C;--papel:#0A100A;--cinza:#232A1C;--ouro:#3E2E0E;--ouro-forte:#33260B;--fio:#969E7E;color-scheme:light} #mvloja [data-tom=\"6\"]{--chao:#4C5C46;--chao-2:#43523E;--papel:#FBF8F1;--cinza:#DCE0CE;--ouro:#EAD3A2;--ouro-forte:#F3E2BE;--fio:#62715B;color-scheme:dark} #mvloja [data-tom=\"7\"]{--chao:#2E3B2C;--chao-2:#273326;--papel:#FBF8F1;--cinza:#CDD2BF;--ouro:#E0C38A;--ouro-forte:#ECD3A2;--fio:#435040;color-scheme:dark} #mvloja [data-tom=\"9\"]{--chao:#F6E7DD;--chao-2:#EFD9CB;--papel:#2B1B14;--cinza:#6A5246;--ouro:#9A5B2E;--ouro-forte:#7E4823;--fio:#E6CDBE;color-scheme:light} #mvloja [data-tom=\"8\"]{--chao:#F2EFE3;--chao-2:#E7E3D3;--papel:#141A12;--cinza:#4D5444;--ouro:#76581F;--ouro-forte:#634A19;--fio:#D8D4C2;color-scheme:light} #mvloja *{box-sizing:border-box} html{scroll-behavior:smooth;scroll-padding-top:200px} #mvloja{background:var(--chao);color:var(--papel);font-family:var(--f-texto);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip} #mvloja img{display:block;max-width:100%;height:auto} #mvloja a{color:inherit} #mvloja button,#mvloja input{font:inherit;color:inherit} #mvloja :focus-visible{outline:2px solid var(--ouro);outline-offset:3px} #mvloja .contentor{max-width:var(--larg);margin:0 auto;padding-left:max(var(--margem), env(safe-area-inset-left,0px));padding-right:max(var(--margem), env(safe-area-inset-right,0px))} #mvloja .topo{position:sticky;top:var(--mv-topo,0px);z-index:50;background:var(--chao);color:var(--papel);border-bottom:1px solid var(--fio);transition:background-color .5s ease,color .5s ease,border-color .5s ease} #mvloja .barra{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:14px} #mvloja .logo{display:flex;flex-direction:column;line-height:1;text-decoration:none} #mvloja .logo b{font-family:var(--f-marca);font-weight:600;font-size:22px;letter-spacing:.14em} #mvloja .logo span{font-family:var(--f-marca);font-size:11px;letter-spacing:.42em;color:var(--ouro);margin-top:6px} #mvloja .nav{display:flex;gap:28px;font-size:14px;letter-spacing:.12em;text-transform:uppercase} #mvloja .nav a{text-decoration:none;color:var(--cinza)} #mvloja .nav a[aria-current]{color:var(--papel);border-bottom:1px solid var(--ouro);padding-bottom:3px} #mvloja .carrinho{display:flex;align-items:center;gap:10px;font-size:15px;font-variant-numeric:tabular-nums;border:1px solid var(--fio);padding:9px 16px;background:none;cursor:pointer} #mvloja .carrinho i{font-style:normal;background:var(--ouro);color:var(--chao);font-weight:700;font-size:12px;min-width:22px;height:22px;display:grid;place-items:center;border-radius:11px;padding:0 6px} #mvloja .carrinho.pulso{animation:pulso .6s ease} @keyframes pulso{50%{border-color:var(--ouro)}} #mvloja .regua{position:relative;padding-block:10px 14px} #mvloja .regua-trilho{position:relative;height:22px;margin:0 4px; background: repeating-linear-gradient(90deg,var(--fio) 0 1px,transparent 1px 100%) 0 100%\/calc(100% \/ 70) 8px no-repeat, repeating-linear-gradient(90deg,var(--cinza) 0 1px,transparent 1px 100%) 0 100%\/calc(100% \/ 7) 16px no-repeat; background-repeat:repeat-x; border-bottom:1px solid var(--cinza)} #mvloja .agulha{position:absolute;bottom:-1px;left:0;width:2px;height:30px;background:var(--ouro);transform:translateX(-1px);transition:left .25s ease-out} #mvloja .agulha::after{content:\"\";position:absolute;top:-5px;left:-4px;width:10px;height:10px;background:var(--ouro);transform:rotate(45deg)} #mvloja .paragens{display:grid;grid-template-columns:repeat(8,1fr);margin-top:8px} #mvloja .paragem{background:none;border:0;padding:0 2px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px;color:var(--cinza)} #mvloja .paragem:last-child{text-align:right;align-items:flex-end} #mvloja .paragem b{font-family:var(--f-titulo);font-style:italic;font-weight:400;font-size:17px;line-height:1.15;color:inherit} #mvloja .paragem small{font-size:12px;letter-spacing:.08em;font-variant-numeric:tabular-nums;color:var(--ouro)} #mvloja .paragem[aria-current=\"true\"]{color:var(--papel)} #mvloja .paragem:hover{color:var(--papel)} #mvloja .abertura{padding-block:clamp(56px,8vw,120px) clamp(48px,6vw,88px)} #mvloja .abertura-grelha{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(32px,5vw,96px);align-items:start} #mvloja .abertura-grelha > div:last-child{padding-top:clamp(0px,3.4vw,52px)} #mvloja .sobretitulo{font-family:var(--f-marca);font-size:14px;letter-spacing:.32em;text-transform:uppercase;color:var(--ouro);margin:0 0 28px} #mvloja h1{font-family:var(--f-titulo);font-weight:400;font-size:clamp(56px,8.4vw,138px);line-height:.95;letter-spacing:-.02em;margin:0;text-wrap:balance} #mvloja h1 em{font-style:italic;color:var(--ouro)} #mvloja .abertura p{font-size:clamp(18px,1.4vw,21px);line-height:1.6;margin:0 0 18px;max-width:34ch} #mvloja .abertura .nota{font-size:15px;color:var(--cinza);border-top:1px solid var(--fio);padding-top:18px;margin-top:28px;max-width:none} #mvloja .coord{font-family:var(--f-marca);font-size:13px;letter-spacing:.2em;color:var(--cinza)} #mvloja .atalho{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 24px;align-items:center;text-decoration:none;background:var(--papel);color:var(--chao);padding:22px 28px;margin-top:28px;transition:background .25s} #mvloja .atalho:hover{background:#000} #mvloja .atalho span{font-family:var(--f-marca);font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--chao-2)} #mvloja .atalho b{font-family:var(--f-titulo);font-style:italic;font-weight:400;font-size:clamp(26px,2.2vw,34px);line-height:1.1} #mvloja .atalho small{grid-column:1;font-size:15px;color:var(--chao-2)} #mvloja .atalho i{grid-column:2;grid-row:1 \/ span 3;font-style:normal;font-size:34px;line-height:1;border:1px solid var(--chao-2);width:58px;height:58px;display:grid;place-items:center;transition:transform .3s} #mvloja .atalho:hover i{transform:translateY(4px)} #mvloja .filtros{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:clamp(40px,5vw,64px)} #mvloja .filtros span{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--cinza);margin-right:8px} #mvloja .filtro{border:1px solid var(--fio);background:none;padding:9px 18px;font-size:15px;cursor:pointer;transition:background .2s,border-color .2s,color .2s} #mvloja .filtro:hover{border-color:var(--cinza)} #mvloja .filtro[aria-pressed=\"true\"]{background:var(--papel);color:var(--chao);border-color:var(--papel)} #mvloja .capitulo{padding-block:clamp(36px,4vw,60px);position:relative} #mvloja .cap-cabeca{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,72px);align-items:end;margin-bottom:clamp(40px,5vw,72px)} #mvloja .cap-etiqueta{display:flex;gap:18px;align-items:baseline;font-family:var(--f-marca);font-size:14px;letter-spacing:.28em;text-transform:uppercase;color:var(--ouro);margin-bottom:14px} #mvloja .cap-etiqueta em{font-style:normal;color:var(--cinza);letter-spacing:.14em} #mvloja h2{font-family:var(--f-titulo);font-style:italic;font-weight:400;font-size:clamp(52px,6.6vw,108px);line-height:.98;letter-spacing:-.015em;margin:0;text-wrap:balance} #mvloja .cap-texto{font-size:clamp(18px,1.35vw,21px);max-width:36ch;margin:0;justify-self:end} #mvloja .produto{display:flex;flex-direction:column;gap:18px;min-width:0;transition:opacity .35s ease, filter .35s ease} #mvloja .produto.apagado{opacity:.16;filter:grayscale(1)} #mvloja .produto figure{margin:0;overflow:hidden;background:var(--chao-2);aspect-ratio:2\/3;max-width:100%} #mvloja .produto figure img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)} #mvloja .produto:hover figure img{transform:scale(1.035)} #mvloja .ficha{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;align-items:start} #mvloja .ficha h3{font-family:var(--f-titulo);font-weight:500;font-size:clamp(22px,1.7vw,27px);line-height:1.15;margin:0} #mvloja .ficha .tipo{grid-column:1;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--cinza)} #mvloja .ficha .preco{grid-column:2;grid-row:1;font-family:var(--f-titulo);font-size:clamp(22px,1.7vw,27px);color:var(--ouro);font-variant-numeric:tabular-nums;white-space:nowrap} #mvloja .ficha .iva{grid-column:2;grid-row:2;font-size:13px;color:var(--cinza);text-align:right} #mvloja .quero{justify-self:start;background:none;border:0;border-bottom:1px solid var(--ouro);padding:6px 0;font-size:15px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;color:var(--papel);transition:color .2s} #mvloja .quero:hover{color:var(--ouro)} #mvloja .quero.feito{color:var(--ouro)} #mvloja .escada{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(18px,2.6vw,44px);align-items:start} #mvloja .escada-cabeca{display:flex;flex-direction:column;gap:24px;padding-top:clamp(8px,2vw,32px)} #mvloja .escada-cabeca .cap-texto{justify-self:start} #mvloja .escada .produto:nth-of-type(2){margin-top:clamp(80px,12vw,192px)} #mvloja .mesa{display:grid;grid-template-columns:minmax(0,1.9fr) repeat(2,minmax(0,1fr));grid-template-rows:auto auto;gap:clamp(18px,2.2vw,36px)} #mvloja .mesa .produto:first-child{grid-row:1 \/ span 2} #mvloja .mesa .nota-mesa{grid-column:3;grid-row:2;align-self:center;font-family:var(--f-titulo);font-style:italic;font-size:clamp(24px,2.1vw,34px);line-height:1.3;color:var(--papel);margin:0;padding-left:24px;border-left:1px solid var(--ouro)} #mvloja .mesa .nota-mesa small{display:block;font-family:var(--f-marca);font-style:normal;font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--ouro);margin-top:18px} #mvloja .data{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.2vw,36px)} #mvloja .anos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,96px);align-items:center} #mvloja .numero{font-family:var(--f-titulo);font-weight:400;line-height:.8;letter-spacing:-.05em;color:var(--ouro);font-variant-numeric:lining-nums;margin:0} #mvloja .anos .numero{font-size:clamp(180px,24vw,380px)} #mvloja .anos .numero sup{font-size:.14em;letter-spacing:.02em;vertical-align:top;margin-left:.15em;font-style:italic;color:var(--papel)} #mvloja .anos-texto{display:flex;flex-direction:column;gap:28px;min-width:0} #mvloja .anos-texto h2{font-size:clamp(44px,4.6vw,76px)} #mvloja .anos-texto p{margin:0;font-size:clamp(18px,1.35vw,21px);max-width:38ch} #mvloja .prova{font-family:var(--f-titulo);font-style:italic;font-size:clamp(20px,1.6vw,24px);color:var(--cinza);border-left:1px solid var(--ouro);padding-left:20px} #mvloja .anos .produto figure{aspect-ratio:auto} #mvloja .anos.inverso .anos-foto{order:2} #mvloja .vinte{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:clamp(18px,2.2vw,36px);align-items:end} #mvloja .vinte .produto:nth-child(2) figure{aspect-ratio:1600\/1226} #mvloja .seculo{position:relative;padding-block:clamp(40px,4vw,64px) 0} #mvloja .seculo .numero{font-size:clamp(190px,37vw,600px);text-align:center;color:var(--ouro);user-select:none;line-height:.74;letter-spacing:-.055em;margin:0} #mvloja .seculo-palco{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.78fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:end;margin-top:calc(clamp(190px,37vw,600px) * -0.30);position:relative} #mvloja .seculo-palco .produto figure{box-shadow:0 40px 90px -30px #000} #mvloja .seculo-esq h2{font-size:clamp(48px,5.4vw,92px)} #mvloja .seculo-esq p{font-size:clamp(18px,1.35vw,21px);max-width:30ch;margin:22px 0 0} #mvloja .seculo-dir{display:flex;flex-direction:column;gap:22px;padding-bottom:12px} #mvloja .seculo-dir .preco-grande{font-family:var(--f-titulo);font-size:clamp(48px,5vw,84px);line-height:1;color:var(--ouro);font-variant-numeric:tabular-nums} #mvloja .seculo-dir .preco-grande small{display:block;font-family:var(--f-texto);font-size:14px;color:var(--cinza);letter-spacing:.06em;margin-top:10px} #mvloja .seculo .ficha .preco,#mvloja .seculo .ficha .iva{display:none} #mvloja .estudio{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(32px,5vw,96px);align-items:start} #mvloja .grupo + .grupo{margin-top:clamp(40px,4vw,64px)} #mvloja .grupo-titulo{display:flex;justify-content:space-between;gap:16px;align-items:baseline;font-family:var(--f-marca);font-size:14px;letter-spacing:.28em;text-transform:uppercase;color:var(--ouro);padding-bottom:14px;border-bottom:1px solid var(--fio);margin:0} #mvloja .grupo-titulo em{font-style:normal;font-family:var(--f-texto);letter-spacing:.08em;text-transform:none;color:var(--cinza);font-size:14px} #mvloja .ocasiao{display:grid;grid-template-columns:22px minmax(0,1fr);gap:4px 14px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--fio);padding:16px 0;cursor:pointer;color:var(--papel)} #mvloja .ocasiao::before{content:\"\";grid-row:1 \/ span 2;align-self:center;width:9px;height:9px;transform:rotate(45deg);border:1px solid var(--fio);margin-left:4px;transition:background .2s,border-color .2s} #mvloja .ocasiao b{font-family:var(--f-titulo);font-style:italic;font-weight:400;font-size:clamp(24px,2vw,32px);line-height:1.1;transition:color .2s} #mvloja .ocasiao small{grid-column:2;font-size:15px;color:var(--cinza);line-height:1.4} #mvloja .ocasiao:hover b{color:var(--ouro)} #mvloja .ocasiao[aria-pressed=\"true\"] b{color:var(--ouro)} #mvloja .ocasiao[aria-pressed=\"true\"]::before{background:var(--ouro);border-color:var(--ouro)} #mvloja .painel{position:sticky;top:calc(env(safe-area-inset-top,0px) + 190px);display:flex;flex-direction:column;gap:22px} #mvloja .campos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px} #mvloja .campo.largo{grid-column:1 \/ -1} #mvloja .ficheiro{display:flex;flex-wrap:wrap;align-items:center;gap:16px} #mvloja .ficheiro input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none} #mvloja .ficheiro label.botao-f{border:1px solid var(--cinza);padding:10px 18px;font-size:15px;letter-spacing:.06em;text-transform:none;color:var(--papel);cursor:pointer} #mvloja .ficheiro input:focus-visible + label.botao-f{outline:2px solid var(--ouro);outline-offset:3px} #mvloja .ficheiro span{font-size:15px;color:var(--cinza);overflow-wrap:anywhere} #mvloja .campos-nota{font-size:15px;color:var(--cinza);margin:0} #mvloja .campo{display:flex;flex-direction:column;gap:8px;min-width:0} #mvloja .campo label{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--cinza)} #mvloja .campo input{background:transparent;border:0;border-bottom:1px solid var(--cinza);padding:10px 0;font-family:var(--f-titulo);font-size:26px;min-width:0;width:100%} #mvloja .campo input:focus{outline:none;border-color:var(--ouro)} #mvloja .lema{font-family:var(--f-titulo);font-style:italic;font-size:clamp(22px,1.8vw,28px);color:var(--ouro);margin:36px 0 0} #mvloja .futuro-cta{display:flex;flex-wrap:wrap;gap:24px;align-items:center} #mvloja .botao{display:inline-block;background:var(--ouro);color:var(--chao);text-decoration:none;padding:16px 28px;font-size:15px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;border:0;cursor:pointer} #mvloja .botao:hover{background:var(--ouro-forte)} #mvloja .futuro-cta span{font-size:15px;color:var(--cinza)} #mvloja .vidro{position:relative;aspect-ratio:1;max-width:min(470px, calc(100vh - 470px));min-width:min(300px, calc(100% - 34px));width:calc(100% - 34px);margin:26px 0 30px} #mvloja .vidro-area{position:absolute;inset:0;border:1px solid var(--fio);background:var(--chao);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:8%;overflow:hidden} #mvloja .v-topo{font-family:var(--f-marca);font-size:clamp(13px,1.15vw,17px);letter-spacing:.3em;color:var(--ouro);text-transform:uppercase} #mvloja .v-num{font-family:var(--f-titulo);font-weight:500;font-size:clamp(84px,9.5vw,160px);line-height:.92;color:var(--ouro);font-variant-numeric:lining-nums} #mvloja .v-num small{display:block;font-family:var(--f-titulo);font-style:italic;font-weight:400;font-size:.2em;color:var(--papel);margin-top:4px} #mvloja .v-letra{font-family:var(--f-pintura);font-size:clamp(58px,6.4vw,108px);line-height:.95;color:var(--papel);overflow-wrap:anywhere;max-width:100%} #mvloja .v-letra.ouro{color:var(--ouro)} #mvloja .v-letra.media{font-size:clamp(42px,4.4vw,74px)} #mvloja .v-sub{font-family:var(--f-titulo);font-style:italic;font-size:clamp(17px,1.5vw,23px);color:var(--cinza);overflow-wrap:anywhere;max-width:100%} #mvloja .v-data{font-family:var(--f-marca);font-size:clamp(14px,1.2vw,18px);letter-spacing:.24em;color:var(--papel)} #mvloja .v-ceu{width:62%;height:auto;margin-bottom:6px} #mvloja .v-meio{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;flex:1;min-height:0} #mvloja .v-meio + .v-meio{border-top:1px dashed var(--fio)} #mvloja .v-logo{max-width:70%;max-height:70%;object-fit:contain} #mvloja .v-vazio{border:1px dashed var(--cinza);color:var(--cinza);font-size:14px;letter-spacing:.14em;text-transform:uppercase;padding:18px 26px} #mvloja .v-zona{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--cinza)} #mvloja .cota{position:absolute;font-size:12px;letter-spacing:.14em;color:var(--cinza);display:flex;align-items:center;gap:10px;font-variant-numeric:tabular-nums} #mvloja .cota::before,#mvloja .cota::after{content:\"\";flex:1;height:1px;background:var(--cinza)} #mvloja .cota-h{left:0;right:0;top:-26px} #mvloja .cota-v{top:0;bottom:0;right:-26px;writing-mode:vertical-rl;flex-direction:row} #mvloja .cota-v::before,#mvloja .cota-v::after{width:1px;height:auto} #mvloja .vidro-legenda{position:absolute;left:0;bottom:-30px;font-size:13px;color:var(--cinza);letter-spacing:.06em} #mvloja .servir{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(24px,4vw,72px)} #mvloja .servir h2{font-size:clamp(44px,4.6vw,76px)} #mvloja .lista{border-top:1px solid var(--fio)} #mvloja .linha{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:24px;align-items:baseline;padding-block:22px;border-bottom:1px solid var(--fio)} #mvloja .linha h3{font-family:var(--f-titulo);font-weight:500;font-size:clamp(22px,1.7vw,27px);margin:0} #mvloja .linha p{margin:4px 0 0;font-size:15px;color:var(--cinza)} #mvloja .linha .preco{font-family:var(--f-titulo);font-size:clamp(22px,1.7vw,27px);color:var(--ouro);font-variant-numeric:tabular-nums} #mvloja .produtor{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(32px,5vw,96px);align-items:center} #mvloja .produtor figure{margin:0;max-width:100%} #mvloja .produtor h2{font-size:clamp(46px,5vw,84px)} #mvloja .produtor p{font-size:clamp(18px,1.35vw,21px);max-width:34ch;margin:24px 0 0} #mvloja .assinatura{font-family:var(--f-pintura);font-size:clamp(52px,4.6vw,76px);color:var(--ouro);line-height:1;margin-top:28px} #mvloja .telefone{font-variant-numeric:tabular-nums;font-size:16px;color:var(--cinza);margin-top:6px} #mvloja .rodape{padding-block:48px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;font-size:14px;color:var(--cinza)} @media (max-width:1100px){#mvloja .nav{display:none} #mvloja .paragem b{font-size:15px}} @media (max-width:860px){#mvloja .regua{display:none} html{scroll-padding-top:80px} #mvloja .abertura-grelha,#mvloja .cap-cabeca,#mvloja .anos,#mvloja .vinte,#mvloja .estudio,#mvloja .servir,#mvloja .produtor,#mvloja .seculo-palco{grid-template-columns:minmax(0,1fr)} #mvloja .painel{position:static} #mvloja .cap-texto{justify-self:start} #mvloja .escada,#mvloja .data{grid-template-columns:repeat(2,minmax(0,1fr))} #mvloja .escada-cabeca{grid-column:1 \/ span 2} #mvloja .escada .produto:nth-of-type(2){margin-top:56px} #mvloja .mesa{grid-template-columns:repeat(2,minmax(0,1fr))} #mvloja .mesa .produto:first-child{grid-row:auto;grid-column:1 \/ span 2} #mvloja .mesa .nota-mesa{grid-column:1 \/ span 2;grid-row:auto} #mvloja .anos.inverso .anos-foto{order:0} #mvloja .seculo-palco{margin-top:32px} #mvloja .seculo-palco .produto{max-width:420px;justify-self:center;width:100%}} @media (max-width:480px){#mvloja .escada,#mvloja .data{grid-template-columns:minmax(0,1fr)} #mvloja .escada-cabeca{grid-column:auto} #mvloja .escada .produto:nth-of-type(2){margin-top:0} #mvloja .campos{grid-template-columns:minmax(0,1fr)} #mvloja .linha{grid-template-columns:minmax(0,1fr) auto} #mvloja .linha .quero{grid-column:1 \/ span 2} #mvloja .carrinho b{display:none}} @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} #mvloja *{transition:none!important;animation:none!important}} #mvloja .grelha{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(40px,4vw,64px) clamp(16px,1.8vw,28px);align-items:start} #mvloja .cab{display:flex;flex-direction:column;gap:18px;padding-top:clamp(12px,1.5vw,24px);min-width:0} #mvloja .cab h2{font-size:clamp(46px,4.6vw,78px)} #mvloja .cab .cap-texto{justify-self:start;max-width:28ch} #mvloja .cab-linha{margin-bottom:clamp(28px,3vw,48px)} #mvloja .peca{gap:0} #mvloja .peca .marca{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--papel);margin:0 0 12px;min-height:1.6em;line-height:1.6} #mvloja .peca figure{aspect-ratio:1;background:var(--chao-2);overflow:hidden;margin:0} #mvloja .peca figure img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)} #mvloja .peca:hover figure img{transform:scale(1.03)} #mvloja .peca .ficha{grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;padding-top:16px;border-top:0} #mvloja .peca .ficha h3{font-family:var(--f-texto);font-weight:500;font-size:14px;letter-spacing:.14em;text-transform:uppercase;line-height:1.45} #mvloja .peca .ficha .preco{justify-self:end;text-align:right;font-family:var(--f-texto);font-size:15px;letter-spacing:.04em;color:var(--papel);font-weight:500} #mvloja .peca .ficha .tipo{grid-column:1;font-size:14px;letter-spacing:.02em;text-transform:none;color:var(--cinza)} #mvloja .peca .ficha .quero{grid-column:2;grid-row:2;justify-self:end;font-size:12px;letter-spacing:.18em;padding:0 0 3px;opacity:0;transform:translateY(4px);transition:opacity .3s,transform .3s,color .2s} #mvloja .peca:hover .quero,#mvloja .peca .quero:focus-visible,#mvloja .peca .quero.feito{opacity:1;transform:none} @media (hover:none){#mvloja .peca .ficha .quero{opacity:1;transform:none}} #mvloja .aparte{align-self:center;font-family:var(--f-titulo);font-style:italic;font-size:clamp(24px,2.1vw,34px);line-height:1.3;margin:0;padding-left:24px;border-left:1px solid var(--ouro)} #mvloja .aparte .ir{display:inline-block;margin-top:18px;font-family:var(--f-marca);font-style:normal;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--ouro);text-decoration:none;border-bottom:1px solid var(--ouro);padding-bottom:3px} #mvloja .aparte .ir::after{content:\" \u2192\"} #mvloja .aparte .ir:hover{color:var(--papel);border-color:var(--papel)} #mvloja .aparte{display:flex;flex-direction:column;align-items:flex-start} #mvloja .aparte small{display:block;font-family:var(--f-marca);font-style:normal;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--ouro);margin-top:18px} #mvloja .anos-cab{padding-top:clamp(8px,1vw,16px)} #mvloja .anos-cab .numero{font-size:clamp(150px,15vw,250px);margin:6px 0 4px} #mvloja .anos-cab .numero sup{font-size:.15em;letter-spacing:.02em;vertical-align:top;margin-left:.12em;font-style:italic;color:var(--papel)} #mvloja .nota-prova{align-self:center;display:flex;flex-direction:column;gap:22px;font-size:clamp(18px,1.35vw,21px);max-width:30ch} #mvloja .nota-prova p{margin:0} #mvloja .seculo{padding-block:0} #mvloja .seculo .numero{font-size:clamp(190px,37vw,600px);text-align:center;line-height:.74;letter-spacing:-.055em;color:var(--ouro);margin:0;user-select:none} #mvloja .seculo-grelha{margin-top:calc(clamp(190px,37vw,600px) * -0.26);position:relative;align-items:end} #mvloja .seculo-grelha .cab{padding-top:0} #mvloja .seculo-grelha .nota-prova{align-self:end;padding-bottom:84px} @media (max-width:860px){#mvloja .grelha{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;row-gap:40px} #mvloja .cab,#mvloja .aparte,#mvloja .nota-prova{grid-column:1 \/ -1} #mvloja .nota-prova{max-width:none} #mvloja .seculo-grelha{margin-top:24px} #mvloja .seculo-grelha .nota-prova{padding-bottom:0} #mvloja .peca .ficha{grid-template-columns:minmax(0,1fr)} #mvloja .peca .ficha .preco{grid-column:1;grid-row:auto;justify-self:start;text-align:left} #mvloja .peca .ficha .quero{grid-column:1;grid-row:auto;justify-self:start} #mvloja .peca .ficha h3{font-size:13px;letter-spacing:.1em} #mvloja .peca.so{grid-column:1 \/ -1}} #mvloja .seculo .peca .ficha .preco{display:block} @media (prefers-reduced-motion:reduce){#mvloja .peca figure img{transition:none}} #mvloja .esgotado figure{position:relative} #mvloja .esgotado figure::after{content:attr(data-faixa);position:absolute;left:76%;top:22%;width:80%;transform:translate(-50%,-50%) rotate(38deg);background:var(--papel);color:var(--chao);text-align:center;font-family:var(--f-marca);font-weight:600;font-size:clamp(15px,1.6vw,24px);letter-spacing:.5em;text-transform:uppercase;padding:.7em 0 .7em .5em;box-shadow:0 12px 30px -16px rgba(0,0,0,.5);pointer-events:none} #mvloja .esgotado:hover figure img{transform:none} @media (max-width:860px){#mvloja .esgotado figure::after{font-size:11px;letter-spacing:.32em;left:77%;top:19%;width:96%}} #mvloja .esgotado .ficha h3,#mvloja .esgotado .ficha .preco{opacity:.85} #mvloja .vivo{position:relative} #mvloja .vivo canvas{position:absolute;inset:0;width:100%;height:100%;max-width:100%;opacity:0;transition:opacity .9s ease} #mvloja .vivo.pronto canvas{opacity:1} #mvloja .peca:hover .vivo canvas{transform:none} #mvloja .luz-agora{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px;margin:14px 0 0;padding-top:12px;border-top:1px solid var(--fio);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ouro);font-variant-numeric:tabular-nums} #mvloja .luz-agora button{background:none;border:0;border-bottom:1px solid var(--cinza);padding:0 0 2px;font:inherit;letter-spacing:.14em;color:var(--cinza);cursor:pointer} #mvloja .luz-agora button:hover,#mvloja .luz-agora button[aria-pressed=\"true\"]{color:var(--papel);border-color:var(--ouro)} #mvloja .abertura{position:relative;overflow:hidden;padding-block:clamp(48px,6vw,88px) clamp(56px,6vw,96px)} #mvloja .abertura-luz{position:absolute;inset:0;pointer-events:none; background:linear-gradient(112deg,rgba(255,252,238,0) 18%,rgba(255,252,238,.62) 27%,rgba(255,252,238,.62) 61%,rgba(255,252,238,0) 70%)} #mvloja .abertura-luz::after{content:\"\";position:absolute;inset:-12px -24px; background:url(https:\/\/morvalley.com\/wp-content\/uploads\/2026\/10\/mvloja-ramada.png?v=1) center 18%\/max(1300px,105%) auto no-repeat; animation:brisa 9s ease-in-out infinite alternate} @keyframes brisa{from{transform:translate3d(-8px,0,0) rotate(-.3deg)}to{transform:translate3d(8px,4px,0) rotate(.3deg)}} #mvloja .abertura-centro{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center} #mvloja .abertura-centro .sobretitulo{margin:0 0 24px} #mvloja .abertura-centro h1{font-size:clamp(48px,6.4vw,104px);line-height:1;letter-spacing:-.02em} #mvloja .filete{display:block;width:56px;height:1px;background:var(--ouro);margin:6px auto 28px} #mvloja .abertura .abertura-sub{margin:26px 0 0} #mvloja .convite{display:flex;flex-direction:column;align-items:center;margin-top:clamp(28px,3vw,44px);width:100%} #mvloja .abertura-centro p{max-width:none} #mvloja .abertura .convite-nome{font-family:var(--f-pintura);font-size:clamp(76px,9vw,140px);line-height:1.05;color:var(--ouro);margin:0;min-height:1.05em;max-width:100%;overflow-wrap:anywhere;transition:opacity .25s} #mvloja .convite-linha{display:flex;align-items:stretch;gap:0;border-bottom:1px solid var(--papel);width:min(440px,100%)} #mvloja .convite-linha input{flex:1;min-width:0;background:transparent;border:0;padding:12px 4px;font-family:var(--f-titulo);font-size:22px;color:var(--papel);text-align:left} #mvloja .convite-linha input::placeholder{color:var(--cinza);font-style:italic} #mvloja .convite-linha input:focus{outline:none} #mvloja .convite-linha:focus-within{border-color:var(--ouro)} #mvloja .convite-linha button{background:none;border:0;padding:0 2px 0 16px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--papel);cursor:pointer;white-space:nowrap} #mvloja .convite-linha button::after{content:\" \\2192\"} #mvloja .convite-linha button:hover{color:var(--ouro)} #mvloja .abertura .convite-nota{font-size:14px;color:var(--cinza);margin:14px 0 0} #mvloja .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap} #mvloja .abertura-sub{font-family:var(--f-titulo);font-style:italic;font-size:clamp(20px,1.7vw,26px);color:var(--cinza);margin:0} #mvloja .abertura-centro .filtros{justify-content:center;margin-top:clamp(36px,4vw,56px)} @media (prefers-reduced-motion:reduce){#mvloja .abertura-luz::after{animation:none}} #mvloja .abertura-ir{margin-top:28px;display:inline-flex;align-items:center;gap:18px;padding:10px 26px 10px 14px;background:#5A7052;color:#FBF8F1;text-decoration:none;text-align:left;box-shadow:0 18px 40px -22px rgba(40,56,36,.55);transition:transform .25s,box-shadow .25s} #mvloja .abertura-ir img{height:72px;width:auto} #mvloja .abertura-ir span{display:flex;flex-direction:column;gap:4px;font-family:var(--f-titulo);font-style:italic;font-size:clamp(22px,2vw,28px);line-height:1.05} #mvloja .abertura-ir small{font-family:var(--f-marca);font-style:normal;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#D8B87C} #mvloja .abertura-ir i{font-style:normal;font-size:24px;color:#F0D9AA;margin-left:6px;transition:transform .25s} #mvloja .abertura-ir:hover{background:#4F6448;transform:translateY(-2px);box-shadow:0 24px 46px -22px rgba(18,26,16,.7)} #mvloja .abertura-ir:hover i{transform:translateX(4px)} #mvloja .convite-bloco{display:flex;flex-direction:column;gap:8px;justify-self:end;width:min(460px,100%)} #mvloja .convite-bloco .cap-texto{justify-self:auto} #mvloja .convite-fim{align-items:flex-start;margin-top:8px} #mvloja .convite-fim .convite-nome{font-family:var(--f-pintura);font-size:clamp(68px,6.4vw,112px);line-height:1.05;color:var(--ouro);margin:0;min-height:1.05em;max-width:100%;overflow-wrap:anywhere} #mvloja .convite-fim .filete{margin:4px 0 22px} #mvloja .convite-fim .convite-nota{font-size:14px;color:var(--cinza);margin:14px 0 0} @media (max-width:860px){#mvloja .convite-bloco{justify-self:start}} #mvloja .vida{margin-top:clamp(28px,3vw,44px)} #mvloja .vida-abas{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(28px,3vw,40px)} #mvloja .aba{border:1px solid var(--fio);background:none;padding:10px 20px;font-size:14px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;color:var(--cinza)} #mvloja .aba[aria-pressed=\"true\"]{background:var(--papel);color:var(--chao);border-color:var(--papel)} #mvloja .vida-linha{position:relative;display:flex;align-items:flex-start;gap:clamp(24px,4vw,64px);border-bottom:1px solid var(--cinza);padding-bottom:2px} #mvloja .vida-linha[hidden]{display:none!important} #mvloja .marcos{list-style:none;margin:0;padding:0;display:flex;flex:1;justify-content:space-between;gap:8px;min-width:0} #mvloja .marcos.sempre{flex:0 0 auto;gap:clamp(20px,3vw,48px);padding-left:clamp(20px,3vw,48px);border-left:1px dashed var(--fio)} #mvloja .ocasiao.marco{display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:none;border:0;padding:0 0 18px;cursor:pointer;color:var(--cinza);text-align:left} #mvloja .ocasiao.marco::before{content:none} #mvloja .ocasiao.marco i{width:9px;height:9px;transform:rotate(45deg);border:1px solid var(--cinza);margin:0 0 12px 1px;transition:background .2s,border-color .2s} #mvloja .ocasiao.marco b{font-family:var(--f-titulo);font-style:italic;font-weight:400;font-size:clamp(20px,1.8vw,28px);line-height:1.1;color:var(--papel);transition:color .2s} #mvloja .ocasiao.marco small{grid-column:auto;font-size:13px;letter-spacing:.06em;color:var(--cinza)} #mvloja .ocasiao.marco:hover b{color:var(--ouro)} #mvloja .ocasiao.marco[aria-pressed=\"true\"] b{color:var(--ouro)} #mvloja .ocasiao.marco[aria-pressed=\"true\"] i{background:var(--ouro);border-color:var(--ouro)} #mvloja .agulha-vida{position:absolute;bottom:-2px;left:0;height:3px;width:40px;background:var(--ouro);transition:left .45s cubic-bezier(.3,.7,.2,1),width .45s cubic-bezier(.3,.7,.2,1)} #mvloja .vida-palco{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,72px);align-items:start;margin-top:clamp(32px,4vw,56px)} #mvloja .vida-foto{margin:0;aspect-ratio:4\/5;max-width:100%;overflow:hidden;background:var(--chao-2)} #mvloja .vida-foto img{width:100%;height:100%;object-fit:cover;transition:opacity .35s ease} #mvloja .vida-foto img.troca{opacity:0} #mvloja .vida-foto{position:relative;container-type:inline-size} #mvloja .vf{position:absolute;left:0;top:0;width:100%;aspect-ratio:4\/5;pointer-events:none;transition:opacity .35s ease} #mvloja .vf.troca{opacity:0} #mvloja .vf-l{position:absolute;white-space:nowrap;line-height:1} #mvloja .vf-l b{font-weight:inherit} #mvloja .vida-palco .painel{position:static;gap:16px} #mvloja .editor-titulo{margin:0;display:flex;flex-direction:column;gap:6px} #mvloja .editor-titulo span{font-family:var(--f-marca);font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--ouro)} #mvloja .editor-titulo b{font-family:var(--f-titulo);font-style:italic;font-weight:400;font-size:clamp(40px,4vw,64px);line-height:1} #mvloja .editor-titulo em{font-style:normal;font-size:17px;color:var(--cinza)} #mvloja .vida-palco .vidro{max-width:280px;min-width:0;width:calc(100% - 34px);margin:28px 0 30px} #mvloja .vida-palco .v-num{font-size:clamp(60px,5.6vw,90px)} #mvloja .vida-palco .v-letra{font-size:clamp(38px,3.6vw,60px)} #mvloja .vida-palco .v-letra.media{font-size:clamp(28px,2.6vw,44px)} @media (max-width:860px){#mvloja .vida-linha{overflow-x:auto;scrollbar-width:none;gap:28px} #mvloja .vida-linha::-webkit-scrollbar{display:none} #mvloja .marcos{flex:0 0 auto;gap:28px} #mvloja .ocasiao.marco b{white-space:nowrap} #mvloja .ocasiao.marco small{white-space:nowrap} #mvloja .vida-palco{grid-template-columns:minmax(0,1fr)} #mvloja .vida-foto{max-width:440px}} #mvloja .atelier{border-top:1px solid var(--fio)} #mvloja .atelier .cap-etiqueta,#mvloja .atelier .cap-etiqueta em{color:var(--ouro)} #mvloja .atelier .vida-abas{display:inline-flex;gap:0;padding:4px;background:var(--chao-2);border:1px solid var(--fio)} #mvloja .atelier .aba{border:0;padding:12px 22px;color:var(--cinza);background:none} #mvloja .atelier .aba[aria-pressed=\"true\"]{background:#FFFCF9;color:var(--papel);box-shadow:0 1px 3px rgba(43,27,20,.12)} #mvloja .atelier .vida-linha{border-bottom:0;padding:18px 20px 0;background:#FFFCF9;border:1px solid var(--fio)} #mvloja .atelier .vida-linha::after{content:\"\";position:absolute;left:20px;right:20px;top:29px;height:1px;background:var(--fio);z-index:0} #mvloja .atelier .marcos.sempre{border-left-color:var(--fio)} #mvloja .atelier .ocasiao.marco{position:relative;z-index:1;padding-bottom:16px} #mvloja .atelier .ocasiao.marco i{width:11px;height:11px;transform:rotate(45deg);background:#FFFCF9;border-color:var(--cinza)} #mvloja .atelier .ocasiao.marco b{font-size:clamp(19px,1.6vw,25px)} #mvloja .atelier .agulha-vida{bottom:0;height:3px} #mvloja .atelier .vida-palco{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);margin-top:clamp(20px,2.4vw,32px)} #mvloja .atelier .vida-foto{position:sticky;top:calc(env(safe-area-inset-top,0px) + 190px)} #mvloja .atelier .painel{background:#FFFCF9;border:1px solid var(--fio);padding:clamp(20px,2.6vw,36px);gap:14px;box-shadow:0 30px 60px -40px rgba(43,27,20,.35)} #mvloja .passo{display:flex;align-items:center;gap:12px;margin:10px 0 0;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--papel);font-weight:500} #mvloja .passo:first-child{margin-top:0} #mvloja .passo i{font-style:normal;width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--ouro);color:var(--ouro);font-family:var(--f-titulo);font-size:16px;letter-spacing:0;flex:0 0 auto} #mvloja .passo em{font-style:normal;text-transform:none;letter-spacing:.02em;color:var(--cinza);font-weight:400} #mvloja .atelier .editor-titulo{padding-left:40px} #mvloja .atelier .editor-titulo span{display:none} #mvloja .atelier .editor-titulo b{font-size:clamp(34px,3.2vw,52px)} #mvloja .atelier .vidro{margin:30px 0 32px 40px;max-width:260px;width:calc(100% - 74px)} #mvloja .atelier .vidro-area{background:#20140F;border-color:#20140F;--ouro:#E2C287;--papel:#FBF6EF;--cinza:#CDBBAE;--fio:#4A3A32} #mvloja .atelier .vidro-legenda{display:none} #mvloja .atelier .campos{gap:12px 14px} #mvloja .atelier .campo label{letter-spacing:.12em} #mvloja .atelier .campo input{border:1px solid var(--fio);background:var(--chao);padding:12px 14px;font-size:22px} #mvloja .atelier .ficheiro label.botao-f{border-color:var(--fio);background:var(--chao)} #mvloja .conta{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--fio);padding-top:14px} #mvloja .conta-linha{display:flex;justify-content:space-between;gap:16px;font-size:16px;font-variant-numeric:tabular-nums} #mvloja .conta-linha b{font-family:var(--f-titulo);font-weight:500;font-size:26px} #mvloja .conta-linha.leve{font-size:14px;color:var(--cinza)} #mvloja .atelier .quero-magnum{width:100%;margin-top:10px;padding:18px 24px;font-size:15px;background:var(--papel);color:#FFFCF9} #mvloja .atelier .quero-magnum:hover{background:var(--ouro)} #mvloja .garantias{margin:6px 0 0;font-size:13px;color:var(--cinza);text-align:center} @media (max-width:860px){#mvloja .atelier .vida-palco{grid-template-columns:minmax(0,1fr)} #mvloja .atelier .vida-foto{position:static;max-width:none;aspect-ratio:1} #mvloja .atelier .vida-foto img{object-position:50% 40%} #mvloja .atelier .vida-abas{display:flex} #mvloja .atelier .aba{flex:1;padding:12px 10px;letter-spacing:.08em} #mvloja .atelier .vidro{margin:28px 0 20px;max-width:240px} #mvloja .atelier .vida-linha{padding:16px 16px 0} #mvloja .atelier .vida-linha::after{left:16px;right:16px;top:27px} #mvloja .atelier .editor-titulo{padding-left:0}} @media (min-width:861px){#mvloja #fds .grelha > .cab,#mvloja #data .grelha > .cab{grid-row:span 2}} @media (max-width:860px){#mvloja .atelier .vida-linha{-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent);mask-image:linear-gradient(90deg,#000 82%,transparent)}} #mvloja .ver-ficha{grid-column:1 \/ -1;justify-self:start;display:inline-flex;align-items:center;gap:8px;margin-top:6px;background:none;border:0;padding:4px 0;font:inherit;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--cinza);cursor:pointer;transition:color .2s} #mvloja .ver-ficha i{position:relative;width:15px;height:15px;border:1px solid currentColor;flex:0 0 auto} #mvloja .ver-ficha i::before,#mvloja .ver-ficha i::after{content:\"\";position:absolute;left:50%;top:50%;background:currentColor;transform:translate(-50%,-50%)} #mvloja .ver-ficha i::before{width:7px;height:1px} #mvloja .ver-ficha i::after{width:1px;height:7px;transition:transform .2s} #mvloja .ver-ficha:hover{color:var(--papel)} #mvloja .ver-ficha:hover i::after{transform:translate(-50%,-50%) scaleY(0)} html.sem-scroll,html.sem-scroll body{overflow:hidden} #mvloja .gaveta-fundo{position:fixed;inset:0;z-index:90;background:rgba(18,26,16,.42);opacity:0;transition:opacity .3s} #mvloja .gaveta-fundo.aberta{opacity:1} #mvloja .gaveta{--g-fundo:#FBF8F1;--g-texto:#141A12;--g-cinza:#5A6150;--g-ouro:#7A5B22;--g-fio:#E2DDCD; position:fixed;top:0;right:0;bottom:0;z-index:91;width:min(500px,100%);background:var(--g-fundo);color:var(--g-texto);display:flex;flex-direction:column; transform:translateX(100%);transition:transform .32s cubic-bezier(.3,.7,.2,1);box-shadow:-30px 0 60px -30px rgba(0,0,0,.35); padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-right:env(safe-area-inset-right,0px)} #mvloja .gaveta.aberta{transform:none} #mvloja .g-topo{display:flex;justify-content:space-between;align-items:center;padding:18px 28px;border-bottom:1px solid var(--g-fio)} #mvloja .g-topo span{font-family:var(--f-marca);font-size:13px;letter-spacing:.26em;text-transform:uppercase;color:var(--g-ouro)} #mvloja .g-fechar{background:none;border:1px solid var(--g-fio);padding:8px 14px;font:inherit;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--g-texto);cursor:pointer} #mvloja .g-fechar:hover{border-color:var(--g-texto)} #mvloja .g-corpo{overflow-y:auto;padding:28px 28px 40px;display:flex;flex-direction:column;gap:22px} #mvloja .g-tipo{margin:0;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--g-cinza)} #mvloja .g-nome{margin:-12px 0 0;font-family:var(--f-titulo);font-style:italic;font-weight:400;font-size:clamp(30px,4vw,40px);line-height:1.05;text-wrap:balance} #mvloja .g-citacao{margin:0;padding-left:16px;border-left:1px solid var(--g-ouro);font-family:var(--f-titulo);font-style:italic;font-size:19px;line-height:1.45} #mvloja .g-citacao cite{display:block;margin-top:8px;font-family:var(--f-marca);font-style:normal;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--g-ouro)} #mvloja .g-bloco{border-top:1px solid var(--g-fio);padding-top:16px} #mvloja .g-bloco h4{margin:0 0 8px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--g-ouro);font-weight:500} #mvloja .g-bloco p{margin:0;font-size:16px;line-height:1.6} #mvloja .g-bloco ul{margin:0;padding-left:18px;font-size:16px;line-height:1.7} #mvloja .g-bloco dl{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 18px;font-size:15px} #mvloja .g-bloco dt{color:var(--g-cinza)} #mvloja .g-bloco dd{margin:0} #mvloja .g-dados dd{font-variant-numeric:tabular-nums;text-align:right} #mvloja .g-pdf{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;margin-top:4px;padding:14px 20px;border:1px solid var(--g-texto);color:var(--g-texto);text-decoration:none;font-size:13px;letter-spacing:.16em;text-transform:uppercase} #mvloja .g-pdf::after{content:\"\\2197\"} #mvloja .g-pdf:hover{background:var(--g-texto);color:var(--g-fundo)} @media (prefers-reduced-motion:reduce){#mvloja .gaveta,#mvloja .gaveta-fundo{transition:none}} #mvloja .peca figure{cursor:zoom-in} #mvloja .lupa{position:fixed;inset:0;z-index:95;background:rgba(14,18,12,.86);display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));cursor:zoom-out} #mvloja .lupa[hidden]{display:none} #mvloja .lupa img{max-width:min(1400px,100%);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);width:auto;height:auto;object-fit:contain;box-shadow:0 30px 80px -30px #000} #mvloja .lupa button{position:absolute;top:max(16px,env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px));background:#FBF8F1;border:0;padding:10px 16px;font:inherit;font-size:12px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer} #mvloja .v-letra{font-family:var(--f-titulo);font-style:italic;font-weight:600;letter-spacing:-.01em;line-height:1} #mvloja .vida-palco .v-letra{font-size:clamp(30px,2.9vw,46px)} #mvloja .vida-palco .v-letra.media{font-size:clamp(24px,2.2vw,36px)} #mvloja .v-sub{font-weight:600} #mvloja .v-topo,#mvloja .v-data{font-weight:600} #mvloja .v-conteudo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;height:100%;min-height:0;transform-origin:center center} #mvloja .atelier .campo input{background:#FFFFFF;border:1px solid #CDB6A8;border-radius:0;padding:14px 16px 14px 44px;font-size:21px;color:var(--papel); background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%239A5B2E' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'\/%3E%3Cpath d='M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z'\/%3E%3C\/svg%3E\"); background-repeat:no-repeat;background-position:15px 50%;box-shadow:inset 0 1px 2px rgba(43,27,20,.06)} #mvloja .atelier .campo input::placeholder{color:#A8958A;font-style:italic;opacity:1} #mvloja .atelier .campo input:hover{border-color:var(--ouro)} #mvloja .atelier .campo input:focus{border-color:var(--ouro);background-color:#FFFFFF;box-shadow:0 0 0 3px rgba(154,91,46,.15)} #mvloja .atelier .campo label{color:var(--papel);font-weight:500} #mvloja .atelier .campo label::after{content:\" \u00b7 escriba aqu\u00ed\";text-transform:none;letter-spacing:.02em;color:var(--ouro);font-weight:400} #mvloja .preco .iva{display:inline;margin-left:7px;font-family:var(--f-texto);font-size:11px;font-weight:400;letter-spacing:.08em;text-transform:none;color:var(--cinza);text-align:inherit;grid-column:auto;grid-row:auto} #mvloja .linha .preco .iva,#mvloja .seculo .ficha .preco .iva{display:inline} #mvloja .comprar{grid-column:1 \/ -1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px} #mvloja .peca .comprar .quero{opacity:1;transform:none;justify-self:auto;padding:0 0 3px;font-size:12px;letter-spacing:.18em} #mvloja .qtd{display:inline-flex;align-items:center;gap:2px;height:26px} #mvloja .qtd button{width:24px;height:24px;background:none;border:0;border-radius:50%;font:inherit;font-size:16px;line-height:1;color:var(--cinza);cursor:pointer;transition:color .2s,background .2s} #mvloja .qtd button:hover{color:var(--papel);background:rgba(0,0,0,.05)} #mvloja .qtd output{min-width:22px;text-align:center;font-size:14px;font-weight:500;border-bottom:1px solid var(--fio);padding-bottom:1px;font-variant-numeric:tabular-nums;color:var(--papel)} #mvloja .peca .comprar .quero{white-space:nowrap} #mvloja .peca .comprar .quero.feito{cursor:default;border-bottom-color:var(--ouro)} @media (max-width:860px){#mvloja .peca .comprar .quero{letter-spacing:.1em;font-size:11px} #mvloja .comprar{gap:6px}} #mvloja .aviso-legal{flex-basis:100%;margin:0 0 4px;font-size:14px;color:var(--papel);letter-spacing:.02em} #mvloja .legal{flex-basis:100%;display:flex;flex-wrap:wrap;gap:8px 24px;padding-bottom:20px;border-bottom:1px solid var(--fio)} #mvloja .legal a{color:var(--cinza);text-decoration:none;border-bottom:1px solid transparent} #mvloja .legal a:hover{color:var(--papel);border-color:var(--papel)} #mvloja .peca .ficha h3{font-weight:600;color:var(--papel);letter-spacing:.12em} #mvloja .peca .ficha .preco{font-weight:600} #mvloja .peca .ficha .tipo{color:var(--papel);opacity:.78} #mvloja .preco .iva{color:var(--papel);opacity:.7} #mvloja .ver-ficha{color:var(--papel);opacity:.75} #mvloja .ver-ficha:hover{opacity:1} #mvloja .resultados{padding-block:clamp(28px,3vw,44px) clamp(48px,5vw,72px)} #mvloja .resultados[hidden],#mvloja section.capitulo[hidden]{display:none!important} #mvloja .res-cab{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:clamp(20px,2.4vw,32px);padding-bottom:14px;border-bottom:1px solid var(--fio)} #mvloja .res-cab .cap-etiqueta{margin:0} #mvloja .res-limpar{background:none;border:0;border-bottom:1px solid var(--papel);padding:0 0 3px;font:inherit;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--papel);cursor:pointer} #mvloja .res-grelha{grid-template-columns:repeat(3,minmax(0,1fr))} @media (max-width:860px){#mvloja .res-grelha{grid-template-columns:repeat(2,minmax(0,1fr))}} #mvloja.a-filtrar .agulha{opacity:0} #mvloja.a-filtrar .paragem[aria-current=\"true\"]{color:var(--cinza)} @media (max-width:860px){#mvloja .atelier .vida-foto{position:relative} #mvloja .atelier .vf{top:-10cqw}} #mvloja .quero.a-carregar{opacity:.55;pointer-events:none} #mvloja .comprar.ligacao .qtd{display:none} #mvloja .comprar.ligacao{justify-content:flex-end} #mvloja [hidden]{display:none!important} #mvloja .gaveta-fundo:not(.aberta){pointer-events:none} #mvloja .gaveta-fundo{z-index:2147483000!important} #mvloja .gaveta{z-index:2147483001!important} #mvloja .lupa{z-index:2147483002!important} #mvloja .numero{pointer-events:none} #mvloja #fds .cab{container-type:inline-size} #mvloja #fds .cab h2{font-size:min(clamp(46px,4.6vw,78px),15cqi)} <\/style><style id=\"mvnatal\">\n\/* ===== NATAL 2026 ===== *\/\n#mvloja [data-tom=\"0\"],#mvloja{--chao:#F6F1E7;--chao-2:#ECE3D2;--papel:#1C1410;--cinza:#5B4B3F;--ouro:#7A5A22;--ouro-forte:#654A1B;--fio:#E2D7C4}\n#mvloja [data-tom=\"1\"]{--chao:#F3ECE0;--chao-2:#ECE3D2;--papel:#1C1410;--cinza:#58483C;--ouro:#775820;--ouro-forte:#62481A;--fio:#E0D4BF}\n#mvloja [data-tom=\"2\"]{--chao:#EFE7D9;--chao-2:#E7DCC8;--papel:#1C1410;--cinza:#554538;--ouro:#73551F;--ouro-forte:#5E4519;--fio:#DCCFB8}\n#mvloja [data-tom=\"3\"]{--chao:#EAE1D0;--chao-2:#E1D4BD;--papel:#1A120E;--cinza:#4F4034;--ouro:#6E521E;--ouro-forte:#5A4318;--fio:#D6C8AE}\n#mvloja [data-tom=\"4\"]{--chao:#2C4A39;--chao-2:#3B5E4B;--papel:#FBF6EC;--cinza:#DCE3D5;--ouro:#E3C27E;--ouro-forte:#F0D59E;--fio:#466853;color-scheme:dark}\n#mvloja [data-tom=\"5\"]{--chao:#1F3A2B;--chao-2:#2D4A3A;--papel:#FBF6EC;--cinza:#D3DCCD;--ouro:#E3C27E;--ouro-forte:#F0D59E;--fio:#3A5A47;color-scheme:dark}\n#mvloja [data-tom=\"6\"]{--chao:#6A1A20;--chao-2:#7A252B;--papel:#FBF6EC;--cinza:#F0D9D4;--ouro:#EBCB89;--ouro-forte:#F5DDA8;--fio:#86353B;color-scheme:dark}\n#mvloja [data-tom=\"7\"]{--chao:#3D0F14;--chao-2:#4D1A1F;--papel:#FBF6EC;--cinza:#E9D3CF;--ouro:#E6C584;--ouro-forte:#F2D8A2;--fio:#5C2429;color-scheme:dark}\n#mvloja [data-tom=\"9\"]{--chao:#F7EFE6;--chao-2:#EAE0D0;--papel:#2B1712;--cinza:#6A4E44;--ouro:#8E1B22;--ouro-forte:#741419;--fio:#E8D6C8}\n#mvloja [data-tom=\"8\"]{--chao:#F6F1E7;--chao-2:#ECE3D2;--papel:#1C1410;--cinza:#5B4B3F;--ouro:#7A5A22;--ouro-forte:#654A1B;--fio:#E2D7C4}\n#mvloja .vivo canvas,#mvloja .luz-agora{display:none!important}\n#mvloja .abertura-luz{background:linear-gradient(112deg,#fff0 18%,rgb(255 248 232 \/ .7) 27%,rgb(255 248 232 \/ .7) 61%,#fff0 70%)}\n#mvloja .abertura-luz::after{display:none}\n#mvloja .abertura-ir{background:#1F3A2B;box-shadow:0 18px 40px -22px rgb(20 40 28 \/ .6)}\n.parras{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}\n.parras img{position:absolute;height:auto;filter:drop-shadow(18px 26px 22px rgba(70,45,20,.28)) drop-shadow(3px 5px 4px rgba(70,45,20,.22));\n  transform-origin:var(--ox,50%) var(--oy,0%);animation:folhaBrisa var(--d,11s) ease-in-out infinite alternate;opacity:0;transition:opacity 1.6s ease}\n.parras.on img{opacity:1}\n@keyframes folhaBrisa{from{transform:rotate(calc(var(--r) - 1.2deg)) translateY(-2px)}to{transform:rotate(calc(var(--r) + 1.2deg)) translateY(3px)}}\n#mvloja .abertura-centro{z-index:2}\n.parra-loja{position:absolute;pointer-events:none;height:auto;z-index:2;filter:drop-shadow(14px 20px 16px rgba(40,25,10,.26)) drop-shadow(2px 4px 3px rgba(40,25,10,.2));transform-origin:50% 0;animation:folhaBrisa var(--d,12s) ease-in-out infinite alternate}\n#mvloja .capitulo{overflow:clip}\n#mvloja .barra-natal{position:relative;z-index:5;display:flex;align-items:center;justify-content:center;gap:clamp(14px,2.2vw,36px);max-width:1440px;margin:clamp(18px,2.5vw,40px) auto 0;padding:0 clamp(16px,4vw,64px)}\n#mvloja .barra-natal span{font-family:\"Playfair Display\",Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(34px,4.4vw,70px);line-height:1;color:#721723;letter-spacing:.01em;white-space:nowrap}\n#mvloja .barra-natal img{display:block;flex:0 1 auto;width:min(62vw,880px);height:auto;filter:drop-shadow(4px 8px 7px rgba(40,25,10,.22))}\n#mvloja #dez .barra-natal{margin:0 auto clamp(10px,1.5vw,24px)}\n#mvloja #dez .barra-natal span{color:#F3E2BE}\n@media (max-width:600px){#mvloja .barra-natal{gap:8px;padding:0 12px}#mvloja .barra-natal span{font-size:26px}#mvloja .barra-natal img{width:auto;min-width:0;flex:1 1 0;max-width:60vw}.parras img{width:min(120px,30vw)!important;margin-top:-24px}.parras img:nth-child(2),.parras img:nth-child(4){display:none}}\n<\/style><div id=\"mvloja\"><header class=\"topo\" id=\"topo\"> <div class=\"contentor\"> <div class=\"regua\" aria-label=\"L\u00ednea del tiempo\"> <div class=\"regua-trilho\"><div class=\"agulha\" id=\"agulha\"><\/div><\/div> <div class=\"paragens\" id=\"paragens\"> <button class=\"paragem\" data-alvo=\"noite\"><b>Todos los d\u00edas<\/b><small>54\u20ac<\/small><\/button> <button class=\"paragem\" data-alvo=\"fds\"><b>Fin de semana<\/b><small>desde 22 \u20ac<\/small><\/button> <button class=\"paragem\" data-alvo=\"data\"><b>Una fecha<\/b><small>desde 39,90 \u20ac<\/small><\/button> <button class=\"paragem\" data-alvo=\"dez\"><b>10 a\u00f1os<\/b><small>65\u20ac<\/small><\/button> <button class=\"paragem\" data-alvo=\"vinte\"><b>20 a\u00f1os<\/b><small>desde 125 \u20ac<\/small><\/button> <button class=\"paragem\" data-alvo=\"cinquenta\"><b>50 a\u00f1os<\/b><small>500\u20ac<\/small><\/button> <button class=\"paragem\" data-alvo=\"cem\"><b>100 a\u00f1os<\/b><small>3000\u20ac<\/small><\/button> <button class=\"paragem\" data-alvo=\"ainda\"><b>A\u00fan no ha ocurrido<\/b><small>54,24\u20ac<\/small><\/button> <\/div> <\/div> <\/div> <\/header> <main> <section class=\"abertura\" id=\"inicio\" data-tom=\"0\"> <div class=\"abertura-luz\" aria-hidden=\"true\"><\/div> <div class=\"contentor abertura-centro\"> <p class=\"sobretitulo\">Tienda MorValley \u00b7 Navidad 2026<\/p> <h1>Saludos desde el Duero.<\/h1> <p class=\"abertura-sub\">Bienvenido. Le sugiero que empiece por uno de los emblemas de la casa.<\/p> <a class=\"abertura-ir\" href=\"#fds\"><img decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/10\/mvloja-res-branco-mini.png?v=1\" alt=\"\" width=\"70\" height=\"240\"><span>MorValley Reserva Branco<\/span><i aria-hidden=\"true\">\u2192<\/i><\/a> <div class=\"filtros\" role=\"group\" aria-label=\"Filtrar por estilo\"> <span>Mostrar<\/span> <button class=\"filtro\" aria-pressed=\"true\" data-f=\"todos\">Todo<\/button> <button class=\"filtro\" aria-pressed=\"false\" data-f=\"tinto\">Tinto<\/button> <button class=\"filtro\" aria-pressed=\"false\" data-f=\"branco\">Blanco<\/button> <button class=\"filtro\" aria-pressed=\"false\" data-f=\"porto\">Oporto<\/button> <button class=\"filtro\" aria-pressed=\"false\" data-f=\"caixa\">Cajas y packs<\/button> <\/div> <\/div> <\/section> <!-- I. Todos os dias --> <section class=\"capitulo\" id=\"noite\" data-paragem=\"0\" data-tom=\"1\"> <div class=\"contentor grelha\"> <div class=\"cab\"> <div class=\"cap-etiqueta\">Tiempo I <em>cajas de 6<\/em><\/div> <h2>Todos los d\u00edas.<\/h2> <p class=\"cap-texto\">Un vino de calidad para la mesa de todos los d\u00edas. No necesita ocasi\u00f3n.<\/p> <\/div> <article class=\"produto peca\" data-tags=\"tinto caixa\"> <p class=\"marca\">&nbsp;<\/p> <figure data-zoom=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-ve-tinto-zoom-scaled.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-ve-tinto.webp\" alt=\"Seis botellas de Vale de Escadas Reserva Tinto\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>Vale de Escadas Reserva<\/h3><span class=\"preco\">54\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Tinto \u00b7 caja de 6<\/span><button class=\"quero\" data-id=\"4258\" data-preco=\"54\">Lo quiero<\/button><\/div> <\/article> <article class=\"produto peca\" data-tags=\"branco caixa\"> <p class=\"marca\">&nbsp;<\/p> <figure data-zoom=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-ve-branco-zoom-scaled.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-ve-branco.webp\" alt=\"Seis botellas de Vale de Escadas Reserva Blanco\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>Vale de Escadas Reserva<\/h3><span class=\"preco\">54\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Blanco \u00b7 caja de 6<\/span><button class=\"quero\" data-id=\"4450\" data-preco=\"54\">Lo quiero<\/button><\/div> <\/article> <\/div> <\/section> <!-- II. Fim-de-semana --> <section class=\"capitulo\" id=\"fds\" data-paragem=\"1\" data-tom=\"2\"> <div class=\"contentor grelha\"> <div class=\"cab\"> <div class=\"cap-etiqueta\">Tiempo II <em>desde 22 \u20ac<\/em><\/div> <h2>Un <span style=\"white-space:nowrap\">fin de semana.<\/span><\/h2> <p class=\"cap-texto\">Mesa llena y conversaci\u00f3n larga. Para eso los hago.<\/p> <\/div> <article class=\"produto peca\" data-tags=\"branco\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-res-branco.webp\" alt=\"MorValley Reserva Branco\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MorValley Reserva<\/h3><span class=\"preco\">22\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Blanco \u00b7 2022<\/span><button class=\"quero\" data-id=\"130\" data-preco=\"22\">Lo quiero<\/button><\/div> <\/article> <article class=\"produto peca\" data-tags=\"tinto\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-res-tinto.webp\" alt=\"MorValley Reserva Tinto\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MorValley Reserva<\/h3><span class=\"preco\">22\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Tinto \u00b7 2022<\/span><button class=\"quero\" data-id=\"129\" data-preco=\"22\">Lo quiero<\/button><\/div> <\/article> <article class=\"produto peca esgotado\" data-tags=\"tinto\"> <p class=\"marca\">&nbsp;<\/p> <figure data-faixa=\"Agotado\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-touriga.webp\" alt=\"MorValley Touriga Nacional, agotado\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MorValley Touriga Nacional<\/h3><span class=\"preco\">27,50\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Tinto \u00b7 monovarietal<\/span><\/div> <\/article>  <\/div> <\/section> <!-- III. Uma data --> <section class=\"capitulo\" id=\"data\" data-paragem=\"2\" data-tom=\"3\"> <div class=\"contentor grelha\"> <div class=\"cab\"> <div class=\"cap-etiqueta\">Tiempo III <em>desde 39,90 \u20ac<\/em><\/div> <h2>Una fecha que cuenta.<\/h2> <p class=\"cap-texto\">Busco la perfecci\u00f3n de la regi\u00f3n. Lo que nace de la paciencia t\u00e9cnica.<\/p> <\/div> <article class=\"produto peca\" data-tags=\"tinto\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-gr-tinto.webp\" alt=\"MorValley Grande Reserva Tinto\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MorValley Grande Reserva<\/h3><span class=\"preco\">39,90\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Tinto \u00b7 2016<\/span><button class=\"quero\" data-id=\"127\" data-preco=\"39.9\">Lo quiero<\/button><\/div> <\/article> <article class=\"produto peca\" data-tags=\"branco\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-gr-branco.webp\" alt=\"MorValley Grande Reserva Branco\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MorValley Grande Reserva<\/h3><span class=\"preco\">39,90\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Blanco \u00b7 2016<\/span><button class=\"quero\" data-id=\"126\" data-preco=\"39.9\">Lo quiero<\/button><\/div> <\/article> <article class=\"produto peca\" data-tags=\"tinto\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-mew.webp\" alt=\"MEW Duero 2016 junto a su caja negra\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MEW<\/h3><span class=\"preco\">75\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Tinto \u00b7 Duero 2016<\/span><button class=\"quero\" data-id=\"125\" data-preco=\"75\">Lo quiero<\/button><\/div> <\/article> <article class=\"produto peca esgotado\" data-tags=\"tinto branco caixa\"> <p class=\"marca\">&nbsp;<\/p> <figure data-faixa=\"Agotado\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-collection.webp\" alt=\"Caja MorValley Collection abierta con las seis botellas, agotada\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MorValley Collection<\/h3><span class=\"preco\">209,50\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Colecci\u00f3n en caja<\/span><\/div> <\/article> <\/div> <\/section> <!-- IV. 10 anos --> <section class=\"capitulo\" id=\"dez\" data-paragem=\"3\" data-tom=\"4\"> <div class=\"contentor grelha\"> <div class=\"cab anos-cab\"> <div class=\"cap-etiqueta\">Tiempo IV <em>Oporto<\/em><\/div> <p class=\"numero\" aria-hidden=\"true\">10<sup>a\u00f1os<\/sup><\/p> <h2>Diez a\u00f1os en barrica.<\/h2> <\/div> <article class=\"produto peca so\" data-tags=\"porto\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-myo10.webp\" alt=\"Oporto MYO 10 A\u00f1os junto a su caja blanca\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MYO by MorValley 10 Years Old<\/h3><span class=\"preco\">65\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Oporto<\/span><button class=\"quero\" data-id=\"6719\" data-preco=\"65\">Lo quiero<\/button><\/div> <\/article> <div class=\"nota-prova\"> <p class=\"prova\">Frutos secos, vainilla y especias. Fresco en boca, con un final largo.<\/p> <\/div> <\/div> <\/section> <!-- V. 20 anos --> <section class=\"capitulo\" id=\"vinte\" data-paragem=\"4\" data-tom=\"5\"> <div class=\"contentor grelha\"> <div class=\"cab anos-cab\"> <div class=\"cap-etiqueta\">Tiempo V <em>desde 125 \u20ac<\/em><\/div> <p class=\"numero\" aria-hidden=\"true\">20<sup>a\u00f1os<\/sup><\/p> <h2>Veinte a\u00f1os despu\u00e9s.<\/h2> <p class=\"cap-texto\">A los veinte a\u00f1os, el Oporto ya no tiene ninguna prisa. Quien lo recibe, tampoco.<\/p> <\/div> <article class=\"produto peca\" data-tags=\"porto\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-myo20.webp\" alt=\"Oporto MYO 20 A\u00f1os junto a su caja\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MYO by MorValley 20 Years Old<\/h3><span class=\"preco\">125\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Oporto<\/span><button class=\"quero\" data-id=\"6778\" data-preco=\"125\">Lo quiero<\/button><\/div> <\/article> <article class=\"produto peca\" data-tags=\"porto caixa\"> <p class=\"marca\">Pintada en el cristal<\/p> <figure data-zoom=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-lmd-zoom-scaled.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-lmd.webp\" alt=\"Pack Leva-me ao Douro: la caja de madera con dos copas y la botella pintada de Oporto MYO 20 A\u00f1os\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>Pack Leva-me ao Douro<\/h3><span class=\"preco\">450\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Oporto 20 a\u00f1os \u00b7 botella pintada \u00b7 dos copas<\/span><button class=\"quero\" data-id=\"9659\" data-preco=\"450\">Lo quiero<\/button><\/div> <\/article> <\/div> <\/section> <!-- VI. 50 anos --> <section class=\"capitulo\" id=\"cinquenta\" data-paragem=\"5\" data-tom=\"6\"> <div class=\"contentor grelha\"> <div class=\"cab anos-cab\"> <div class=\"cap-etiqueta\">Tiempo VI <em>Oporto<\/em><\/div> <p class=\"numero\" aria-hidden=\"true\">50<sup>a\u00f1os<\/sup><\/p> <h2>Medio siglo.<\/h2> <\/div> <article class=\"produto peca so\" data-tags=\"porto\"> <p class=\"marca\">&nbsp;<\/p> <figure class=\"vivo\" data-garrafa=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/10\/mvloja-myo50.png?v=1\" data-vinho=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/10\/mvloja-myo50-vinho.png?v=1\" data-fundo=\"#43523E\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-myo50-repouso.webp\" alt=\"Oporto MYO 50 A\u00f1os, iluminado por el sol del valle del Duero a la hora en que ve la p\u00e1gina\" loading=\"lazy\" width=\"1000\" height=\"1000\"><canvas width=\"1000\" height=\"1000\" aria-hidden=\"true\"><\/canvas><\/figure> <div class=\"ficha\"><h3>MYO by MorValley 50 Years Old<\/h3><span class=\"preco\">500\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Oporto<\/span><button class=\"quero\" data-id=\"6781\" data-preco=\"500\">Lo quiero<\/button><\/div> <p class=\"luz-agora\"><span>Luz del Duero, ahora<\/span><button type=\"button\" aria-pressed=\"false\">Ver pasar el d\u00eda<\/button><\/p> <\/article> <div class=\"nota-prova\"> <p>Envejece en barrica hasta el d\u00eda en que se embotella. Ni un d\u00eda antes.<\/p> <p class=\"prova\">Vainilla, naranja, avellana y miel. Pleno y fresco, con especias al final.<\/p> <\/div> <\/div> <\/section> <!-- VII. 100 anos --> <section class=\"capitulo\" id=\"cem\" data-paragem=\"6\" data-tom=\"7\"> <div class=\"contentor seculo\"> <p class=\"numero\" aria-hidden=\"true\">100<\/p> <div class=\"grelha seculo-grelha\"> <div class=\"cab\"> <div class=\"cap-etiqueta\">Tiempo VII <em>Very Very Old<\/em><\/div> <h2>Un siglo.<\/h2> <p class=\"cap-texto\">No hay otra forma de decirlo. Cien a\u00f1os de Duero en una copa.<\/p> <\/div> <article class=\"produto peca so\" data-tags=\"porto\"> <p class=\"marca\">&nbsp;<\/p> <figure class=\"vivo\" data-garrafa=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/10\/mvloja-vvo.png?v=1\" data-vinho=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/10\/mvloja-vvo-vinho.png?v=1\" data-fundo=\"#273326\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-vvo-repouso.webp\" alt=\"Oporto MYO Very Very Old junto a su caja negra, iluminado por el sol del valle del Duero a la hora en que ve la p\u00e1gina\" loading=\"lazy\" width=\"1000\" height=\"1000\"><canvas width=\"1000\" height=\"1000\" aria-hidden=\"true\"><\/canvas><\/figure> <div class=\"ficha\"><h3>MYO by MorValley Very Very Old<\/h3><span class=\"preco\">3000\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Oporto<\/span><button class=\"quero\" data-id=\"6784\" data-preco=\"3000\">Lo quiero<\/button><\/div> <p class=\"luz-agora\"><span>Luz del Duero, ahora<\/span><button type=\"button\" aria-pressed=\"false\">Ver pasar el d\u00eda<\/button><\/p> <\/article> <div class=\"nota-prova\"> <p class=\"prova\">Naranja, caramelo, nuez y miel. Meloso y fresco, con un final largo y avainillado.<\/p> <\/div> <\/div> <\/div> <\/section> <!-- VIII. Ainda n\u00e3o aconteceu --> <section class=\"capitulo futuro atelier\" id=\"ainda\" data-paragem=\"7\" data-tom=\"9\" data-lang=\"pt\"> <div class=\"contentor\"> <div class=\"cap-cabeca\"> <div> <div class=\"cap-etiqueta\">Tiempo VIII <em>Magnum 1,5 L \u00b7 54,24 \u20ac<\/em><\/div> <h2>A\u00fan no ha ocurrido.<\/h2> <\/div> <p class=\"cap-texto\">El taller del Magnum. Elija el momento, escriba los nombres y vea enseguida c\u00f3mo queda pintado en el cristal.<\/p> <\/div> <div class=\"vida\" id=\"estudio\"> <div class=\"vida-abas\" role=\"group\" aria-label=\"Para qui\u00e9n es\"> <button class=\"aba\" type=\"button\" aria-pressed=\"true\" data-aba=\"gosta\">Para alguien<\/button> <button class=\"aba\" type=\"button\" aria-pressed=\"false\" data-aba=\"empresa\">Para la empresa \u00b7 Navidad 2026<\/button> <\/div> <div class=\"vida-linha\" data-aba=\"gosta\"> <ol class=\"marcos\"> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"nascimento\" data-sub=\"El cielo del d\u00eda en que naci\u00f3. Pintado en oro sobre el cristal.\"><i aria-hidden=\"true\"><\/i><b>Nacimiento<\/b><small>el primer d\u00eda<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"true\" data-o=\"aniversario\" data-sub=\"Hay cifras que se celebran. La suya.\"><i aria-hidden=\"true\"><\/i><b>Cumplea\u00f1os<\/b><small>cada a\u00f1o<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"casamento\" data-sub=\"Han dado el s\u00ed. \u00a1Vivan los novios!\"><i aria-hidden=\"true\"><\/i><b>Boda<\/b><small>el s\u00ed<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"casanova\" data-sub=\"Una llave, un lazo. Enhorabuena por su nueva casa.\"><i aria-hidden=\"true\"><\/i><b>Casa nueva<\/b><small>la llave<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"bodas\" data-sub=\"El baile contin\u00faa. A\u00f1o tras a\u00f1o.\"><i aria-hidden=\"true\"><\/i><b>Aniversario de boda<\/b><small>25, 50 a\u00f1os<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"reforma\" data-sub=\"El \u00faltimo ascenso. El mejor de todos.\"><i aria-hidden=\"true\"><\/i><b>Jubilaci\u00f3n<\/b><small>el \u00faltimo ascenso<\/small><\/button><\/li> <\/ol> <ol class=\"marcos sempre\"> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"familia\" data-sub=\"Aqu\u00ed falta una familia. La suya.\"><i aria-hidden=\"true\"><\/i><b>Familia<\/b><small>cada Navidad<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"obrigado\" data-sub=\"Hay cosas que no se pagan. Se agradecen.\"><i aria-hidden=\"true\"><\/i><b>Gracias<\/b><small>cualquier d\u00eda<\/small><\/button><\/li> <\/ol> <span class=\"agulha-vida\" aria-hidden=\"true\"><\/span> <\/div> <div class=\"vida-linha\" data-aba=\"empresa\" hidden> <ol class=\"marcos\"> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"empresaPinhas\" data-sub=\"Hay marcas que se regalan. La suya.\"><i aria-hidden=\"true\"><\/i><b>Empresa \u00b7 Pi\u00f1as<\/b><small>para clientes<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"empresaVideira\" data-sub=\"El Duero en la mesa de sus clientes. Con su firma.\"><i aria-hidden=\"true\"><\/i><b>Empresa \u00b7 Vid<\/b><small>para clientes<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"colabPinhas\" data-sub=\"Cada miembro del equipo. Con su nombre.\"><i aria-hidden=\"true\"><\/i><b>Equipo \u00b7 Pi\u00f1as<\/b><small>para el equipo<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"colabVideira\" data-sub=\"Un a\u00f1o de trabajo. Un brindis con nombre.\"><i aria-hidden=\"true\"><\/i><b>Equipo \u00b7 Vid<\/b><small>para el equipo<\/small><\/button><\/li> <\/ol> <span class=\"agulha-vida\" aria-hidden=\"true\"><\/span> <\/div> <div class=\"vida-palco\"> <figure class=\"vida-foto\"><img fetchpriority=\"high\" decoding=\"async\" class=\"skip-lazy\" id=\"editorFoto\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-m-aniversario-limpa.webp\" alt=\"El Magnum elegido, pintado y en su caja\" width=\"800\" height=\"1000\"><div class=\"vf\" id=\"vfPint\" aria-hidden=\"true\"><\/div><\/figure> <div class=\"painel\"> <p class=\"passo\"><i>1<\/i>El momento<\/p> <p class=\"editor-titulo\"><span>Su Magnum<\/span><b id=\"editorNome\">Cumplea\u00f1os<\/b><em id=\"editorSub\">Hay cifras que se celebran. La suya.<\/em><\/p> <p class=\"passo\"><i>2<\/i>Escriba <em>y vea c\u00f3mo queda en el cristal<\/em><\/p> <div class=\"vidro\" aria-live=\"polite\"> <span class=\"cota cota-h\">10 cm<\/span> <span class=\"cota cota-v\">10 cm<\/span> <div class=\"vidro-area\" id=\"vidro\"><\/div> <span class=\"vidro-legenda\">De cerca \u00b7 la zona pintada en el cristal del Magnum<\/span> <\/div> <div class=\"campos\" id=\"campos\"><\/div> <p class=\"campos-nota\" id=\"camposNota\" hidden><\/p> <p class=\"passo\"><i>3<\/i>Confirme<\/p> <div class=\"conta\"> <div class=\"conta-linha\"><span>Magnum 1,5 L \u00b7 pintura sobre el cristal<\/span><b>54,24\u20ac<\/b><\/div> <div class=\"conta-linha leve\"><span>Caja de regalo<\/span><span>incluida<\/span><\/div> <div class=\"conta-linha leve\"><span>IVA<\/span><span>incluido<\/span><\/div> <button class=\"botao quero-magnum\" data-preco=\"54.24\">Quiero este Magnum<\/button> <p class=\"garantias\">Env\u00edos a toda la Uni\u00f3n Europea \u00b7 Env\u00edo gratuito en Portugal continental<\/p> <\/div> <\/div> <\/div> <\/div> <\/div> <\/section> <!-- Para servir --> <section class=\"capitulo\" id=\"servir\" data-tom=\"8\"> <div class=\"contentor\"> <div class=\"cab cab-linha\"> <div> <div class=\"cap-etiqueta\">Alrededor de la botella<\/div> <h2>Para servir y regalar.<\/h2> <\/div> <\/div> <div class=\"grelha\"> <article class=\"produto peca\" data-tags=\"caixa\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-frape.webp\" alt=\"Cubitera MorValley de madera y acero inoxidable\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>Cubitera<\/h3><span class=\"preco\">175\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Madera y acero inoxidable<\/span><button class=\"quero\" data-id=\"7791\" data-preco=\"175\">Lo quiero<\/button><\/div> <\/article> <article class=\"produto peca\" data-tags=\"caixa\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-selection.webp\" alt=\"Caja Selection Douro Valley para tres botellas\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>Selection Douro Valley<\/h3><span class=\"preco\">20\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Caja premium \u00b7 3 botellas<\/span><button class=\"quero\" data-ligacao=\"https:\/\/morvalley.com\/produto\/caixa-selection\/\" data-preco=\"20\">Lo quiero<\/button><\/div> <\/article> <article class=\"produto peca\" data-tags=\"caixa\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-premium.webp\" alt=\"Caja de madera MorValley Premium para tres botellas\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MorValley Premium<\/h3><span class=\"preco\">15\u20ac<small class=\"iva\">IVA incl.<\/small><\/span><span class=\"tipo\">Caja de madera \u00b7 3 botellas<\/span><button class=\"quero\" data-ligacao=\"https:\/\/morvalley.com\/produto\/caixa-premium\/\" data-preco=\"15\">Lo quiero<\/button><\/div> <\/article> <\/div> <\/div> <\/section> <\/main> <footer class=\"contentor rodape\" data-tom=\"8\"> <p class=\"aviso-legal\">Venta prohibida a menores de 18 a\u00f1os. Sea responsable, beba con moderaci\u00f3n.<\/p> <nav class=\"legal\" aria-label=\"Informaci\u00f3n legal\"> <a href=\"https:\/\/morvalley.com\/es\/terminos-y-condiciones\/\">T\u00e9rminos y condiciones<\/a> <a href=\"https:\/\/morvalley.com\/es\/politica-de-privacidad\/\">Pol\u00edtica de privacidad<\/a> <a href=\"https:\/\/morvalley.com\/es\/terminos-y-condiciones\/\">Env\u00edos y devoluciones<\/a> <a href=\"https:\/\/www.livroreclamacoes.pt\/Inicio\/\" target=\"_blank\" rel=\"noopener\">Libro de reclamaciones<\/a> <\/nav> <span class=\"coord\">41\u00b011\u00b423.79\u201dN \u00b7 7\u00b048\u00b453.9\u201dW<\/span> <span>\u00a9 2026 MorValley Douro Wines \u00b7 Valle del Duero<\/span> <\/footer> <div class=\"lupa\" id=\"lupa\" hidden role=\"dialog\" aria-modal=\"true\" aria-label=\"Fotograf\u00eda ampliada\"><img class=\"skip-lazy\" id=\"lupaImg\" alt=\"\"><button type=\"button\" id=\"lupaFechar\">Cerrar<\/button><\/div> <div class=\"gaveta-fundo\" id=\"gavetaFundo\" hidden><\/div> <aside class=\"gaveta\" id=\"gaveta\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"gavetaTitulo\" hidden> <div class=\"g-topo\"><span>Ficha t\u00e9cnica<\/span><button class=\"g-fechar\" type=\"button\" aria-label=\"Cerrar la ficha t\u00e9cnica\">Cerrar<\/button><\/div> <div class=\"g-corpo\" id=\"gavetaCorpo\"><\/div> <\/aside><\/div><script src=\"data:text\/javascript;base64,KGZ1bmN0aW9uKCl7IGlmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtdmxvamEtZm9udGVzJykpIHJldHVybjsgdmFyIGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpOyBsLmlkPSdtdmxvamEtZm9udGVzJzsgbC5yZWw9J3N0eWxlc2hlZXQnOyBsLmhyZWY9J2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Q2luemVsOndnaHRANTAwOzYwMCZmYW1pbHk9RE0rU2FuczpvcHN6LHdnaHRAOS4uNDAsNDAwOzkuLjQwLDUwMDs5Li40MCw3MDAmZmFtaWx5PUl0YWxpYW5ubyZmYW1pbHk9UGxheWZhaXIrRGlzcGxheTppdGFsLHdnaHRAMCw0MDA7MCw1MDA7MCw2MDA7MSw0MDA7MSw1MDA7MSw2MDA7MSw3MDAmZGlzcGxheT1zd2FwJzsgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChsKTsgfSkoKTsKCi8qIEEgZ2FycmFmYSBkbyBhdGVsaWVyOiBvIHRleHRvIGVzY3JpdG8gcGludGEtc2Ugbm8gdmlkcm8gZGEgZm90b2dyYWZpYSwgcG9yIGNpbWEgZGEgZ2FycmFmYSBsaW1wYS4KICAgQ29vcmRlbmFkYXMgbmEgZm90b2dyYWZpYSBkZSA4MDAgeCAxMDAwOyB0YW1hbmhvcyBlbSBweCBkZXNzYSBmb3RvZ3JhZmlhIChjb252ZXJ0aWRvcyBwYXJhIGNxdykuICovCndpbmRvdy5NVkdhcnJhZmE9KGZ1bmN0aW9uKCl7CiAgY29uc3QgT1VSTz0nI0Q5QjM2QycsIEJSQU5DTz0nI0Y0RUZFNicsIENPQlJFPScjRDQ5QTc4JywgVkVSTUVMSE89JyNEMjNCM0InOwogIGNvbnN0IEZUPXtzZXJpZjonIlBsYXlmYWlyIERpc3BsYXkiLEdlb3JnaWEsc2VyaWYnLCBjYXBzOidDaW56ZWwsIlRyYWphbiBQcm8iLEdlb3JnaWEsc2VyaWYnLCBzY3JpcHQ6J0l0YWxpYW5ubywiU25lbGwgUm91bmRoYW5kIixjdXJzaXZlJywgc2FuczonIkRNIFNhbnMiLEFyaWFsLHNhbnMtc2VyaWYnfTsKICBjb25zdCBlc2M9dD0+U3RyaW5nKHQpLnJlcGxhY2UoL1smPD4iJ10vZyxjPT4oeycmJzonJmFtcDsnLCc8JzonJmx0OycsJz4nOicmZ3Q7JywnIic6JyZxdW90OycsIiciOicmIzM5Oyd9W2NdKSk7CiAgY29uc3QgTUVTRVM9e3B0OlsnZW5lcm8nLCAnZmVicmVybycsICdtYXJ6bycsICdhYnJpbCcsICdtYXlvJywgJ2p1bmlvJywgJ2p1bGlvJywgJ2Fnb3N0bycsICdzZXB0aWVtYnJlJywgJ29jdHVicmUnLCAnbm92aWVtYnJlJywgJ2RpY2llbWJyZSddLAogICAgICAgICAgICAgICBlbjpbJ0phbnVhcnknLCdGZWJydWFyeScsJ01hcmNoJywnQXByaWwnLCdNYXknLCdKdW5lJywnSnVseScsJ0F1Z3VzdCcsJ1NlcHRlbWJlcicsJ09jdG9iZXInLCdOb3ZlbWJlcicsJ0RlY2VtYmVyJ119OwogIGNvbnN0IFNJR05PUz17cHQ6WydDYXByaWNvcm5pbycsICdBY3VhcmlvJywgJ1Bpc2NpcycsICdBcmllcycsICdUYXVybycsICdHw6ltaW5pcycsICdDw6FuY2VyJywgJ0xlbycsICdWaXJnbycsICdMaWJyYScsICdFc2NvcnBpbycsICdTYWdpdGFyaW8nXSwKICAgICAgICAgICAgICAgIGVuOlsnQ2Fwcmljb3JuJywnQXF1YXJpdXMnLCdQaXNjZXMnLCdBcmllcycsJ1RhdXJ1cycsJ0dlbWluaScsJ0NhbmNlcicsJ0xlbycsJ1ZpcmdvJywnTGlicmEnLCdTY29ycGlvJywnU2FnaXR0YXJpdXMnXX07CiAgY29uc3QgQ09SVEU9WzIwLDE5LDIxLDIwLDIxLDIxLDIzLDIzLDIzLDIzLDIyLDIyXTsKICBmdW5jdGlvbiBkYXRhKHQpe2NvbnN0IG09U3RyaW5nKHR8fCcnKS5tYXRjaCgvXihcZHsxLDJ9KVsuXC8tXShcZHsxLDJ9KVsuXC8tXShcZHs0fSkkLyk7IGlmKCFtKSByZXR1cm4gbnVsbDsgY29uc3QgZD0rbVsxXSwgbW09K21bMl0sIGE9K21bM107IGlmKG1tPDF8fG1tPjEyfHxkPDF8fGQ+MzEpIHJldHVybiBudWxsOyByZXR1cm4ge2QsbTptbSxhfTt9CiAgZnVuY3Rpb24gc2lnbm8oZHQsbCl7IGlmKCFkdCkgcmV0dXJuICcnOyBjb25zdCBpPWR0LmQ8Q09SVEVbZHQubS0xXT8oZHQubS0xKTpkdC5tJTEyOyByZXR1cm4gU0lHTk9TW2xdW2ldOyB9CiAgZnVuY3Rpb24gZGF0YUxvbmdhKGR0LGwpeyBpZighZHQpIHJldHVybiAnJzsgcmV0dXJuIGw9PT0nZW4nPyBkdC5kKycgJytNRVNFUy5lbltkdC5tLTFdKycgJytkdC5hIDogZHQuZCsnIGRlICcrTUVTRVMucHRbZHQubS0xXSsnIGRlICcrZHQuYTsgfQogIGZ1bmN0aW9uIGRhdGFDdXJ0YShkdCxsKXsgaWYoIWR0KSByZXR1cm4gJyc7IHJldHVybiBkdC5kKycgJytNRVNFU1tsXVtkdC5tLTFdLnRvVXBwZXJDYXNlKCkrJyAnK2R0LmE7IH0KICAvLyB1bWEgbGluaGE6IHgseSBjZW50cm8gKG91IMOibmNvcmEpLCBmcyBlbSBweCBkYSBmb3RvLCBsYXJndXJhIG3DoXhpbWEgZW0gcHggZGEgZm90bwogIGZ1bmN0aW9uIEwodCx4LHksZnMsbyl7IG89b3x8e307IHJldHVybiBPYmplY3QuYXNzaWduKHt0LHgseSxmcyxmb250OkZULnNlcmlmLGNvcjpCUkFOQ08sd3Q6NDAwLGl0OmZhbHNlLGxzOjAsYWw6J2MnLG1heDoyNDAsaHRtbDpmYWxzZX0sbyk7IH0KICBmdW5jdGlvbiBub21lRHVhcyhuKXsgY29uc3QgcD1TdHJpbmcobikudHJpbSgpLnNwbGl0KC9ccysvKTsgaWYocC5sZW5ndGg8MikgcmV0dXJuIFtuLCcnXTsgcmV0dXJuIFtwWzBdLHAuc2xpY2UoMSkuam9pbignICcpXTsgfQogIGNvbnN0IFQ9ewogICAgcHQ6e3Byb21vOidFbmhvcmFidWVuYSBwb3IgZWwgPGIgc3R5bGU9ImNvbG9yOicrVkVSTUVMSE8rJyI+YXNjZW5zbzwvYj4nLGNhc2FOb3ZhOidFbmhvcmFidWVuYSBwb3Igc3UgbnVldmEgY2FzYScsZmFtaWxpYTonRmFtaWxpYScsZmVsaWM6J011Y2hhcyBmZWxpY2lkYWRlcycsYW5vczonYcOxb3MnLHJlc2VydmE6J1Jlc2VydmEnLG5vaXZvczonZGUgbG9zIG5vdmlvcycsb2JyaWdhZG86J0dyYWNpYXMnLGZhbWlsaWFEZTphPT4nRmFtaWxpYSAnK2F9LAogICAgZW46e3Byb21vOidDb25ncmF0dWxhdGlvbnMgb24gdGhlIDxiIHN0eWxlPSJjb2xvcjonK1ZFUk1FTEhPKyciPnByb21vdGlvbjwvYj4nLGNhc2FOb3ZhOidDb25ncmF0dWxhdGlvbnMgb24geW91ciBuZXcgaG9tZScsZmFtaWxpYTonRmFtaWx5JyxmZWxpYzonRXZlcnkgaGFwcGluZXNzJyxhbm9zOid5ZWFycycscmVzZXJ2YTonUmVzZXJ2ZScsbm9pdm9zOidvZiB0aGUgbmV3bHl3ZWRzJyxvYnJpZ2FkbzonVGhhbmsgeW91JyxmYW1pbGlhRGU6YT0+J1RoZSAnK2ErJyBmYW1pbHknfQogIH07CiAgY29uc3QgRD17CiAgICBhbml2ZXJzYXJpbzoodixsKT0+e2NvbnN0IFthLGJdPW5vbWVEdWFzKHYubm9tZSk7IHJldHVybiBbTCh2LmlkYWRlLDI1NCw1MzgsMTIwLHtmb250OkZULnNlcmlmLHd0OjYwMCxjb3I6T1VSTyxtYXg6MjEwfSksIEwoYSwyNTMsNjMyLDYyLHtmb250OkZULnNjcmlwdCxjb3I6T1VSTyxtYXg6MjIwfSksIEwoYiwyNTMsNjc3LDYyLHtmb250OkZULnNjcmlwdCxjb3I6T1VSTyxtYXg6MjIwfSldO30sCiAgICBuYXNjaW1lbnRvOih2LGwpPT57Y29uc3QgZHQ9ZGF0YSh2LmRhdGEpOyByZXR1cm4gW0woc2lnbm8oZHQsbCkudG9VcHBlckNhc2UoKSwyNjIsNTcxLDkuNSx7Zm9udDpGVC5jYXBzLGNvcjpPVVJPLGxzOi4yOH0pLCBMKFN0cmluZyh2Lm5vbWUpLnRvVXBwZXJDYXNlKCksMjYyLDU5MiwyNC41LHtmb250OkZULmNhcHMsd3Q6NzAwLG1heDoyMTV9KSwgTChkYXRhTG9uZ2EoZHQsbCksMjYyLDYxMyw5LjUse2ZvbnQ6RlQuc2VyaWYsaXQ6dHJ1ZX0pXTt9LAogICAgY2FzYW1lbnRvOih2LGwpPT57Y29uc3QgZHQ9ZGF0YSh2LmRhdGEpOyByZXR1cm4gW0woVFtsXS5yZXNlcnZhLDE4NSw1MDUsMTEse2ZvbnQ6RlQuY2FwcyxhbDonbCcsbHM6LjA0fSksIEwoVFtsXS5ub2l2b3MudG9VcHBlckNhc2UoKSwxODUsNTIwLDguNSx7Zm9udDpGVC5jYXBzLGFsOidsJyxsczouMTJ9KSwKICAgICAgTChTdHJpbmcodi5hKS50b1VwcGVyQ2FzZSgpLDE4NSw1NjAsMzQse2ZvbnQ6RlQuY2Fwcyx3dDo3MDAsYWw6J2wnLG1heDoxMTJ9KSwgTCgnJmFtcDsnLDMwMCw1NzgsNzgse2ZvbnQ6RlQuc2VyaWYsaXQ6dHJ1ZSxjb3I6Q09CUkUsaHRtbDp0cnVlfSksIEwoU3RyaW5nKHYuYikudG9VcHBlckNhc2UoKSwzNDIsNjEyLDM0LHtmb250OkZULmNhcHMsd3Q6NzAwLGFsOidyJyxtYXg6MTUwfSksCiAgICAgIEwoZGF0YUN1cnRhKGR0LGwpLDMzOCw2NjgsMTEse2ZvbnQ6RlQuY2FwcyxhbDoncicsbHM6LjA4fSldO30sCiAgICBjYXNhbm92YToodixsKT0+W0woVFtsXS5jYXNhTm92YSwyNjAsNTgzLDI1LHtmb250OkZULnNjcmlwdCxjb3I6T1VSTyxtYXg6MjMwfSksIEwoVFtsXS5mYW1pbGlhRGUoU3RyaW5nKHYuYXBlbGlkbykpLnRvVXBwZXJDYXNlKCksMjYwLDYwNywxNSx7Zm9udDpGVC5jYXBzLHd0OjYwMCxtYXg6MjMwfSksIEwoVFtsXS5mZWxpYysnIMK3ICcrdi5hbm8sMjYwLDYyNCw3LHtmb250OkZULnNhbnMsY29yOk9VUk99KV0sCiAgICBib2RhczoodixsKT0+e2NvbnN0IG49cGFyc2VJbnQodi5hbm9zLDEwKSwgeT1uZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCk7IHJldHVybiBbTCgnPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OicrRlQuc2VyaWYucmVwbGFjZSgvIi9nLCInIikrJztmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEuOWVtIj4nK2VzYyh2LmFub3MpKyc8L3NwYW4+ICcrVFtsXS5hbm9zLnRvVXBwZXJDYXNlKCksMjU1LDU4OCwxNCx7Zm9udDpGVC5jYXBzLHd0OjYwMCxjb3I6T1VSTyxodG1sOnRydWUsbHM6LjA2fSksCiAgICAgIEwodi5hKycgJiAnK3YuYiwyNTUsNjExLDI0LHtmb250OkZULnNjcmlwdCxjb3I6T1VSTyxtYXg6MjAwfSksIEwoaXNOYU4obik\/Jyc6KHktbikrJyDCtyAnK3ksMjU1LDYyOCw3LjUse2ZvbnQ6RlQuY2FwcyxsczouMX0pXTt9LAogICAgcmVmb3JtYToodixsKT0+W0woVFtsXS5wcm9tby50b1VwcGVyQ2FzZSgpLDI2Miw1MjIsOC41LHtmb250OkZULmNhcHMsd3Q6NjAwLGxzOi4xMixodG1sOnRydWUsbWF4OjIwMH0pLCBMKFN0cmluZyh2Lm5vbWUpLnRvVXBwZXJDYXNlKCksMjYyLDU2NywyMSx7Zm9udDpGVC5jYXBzLHd0OjcwMCxtYXg6MjIwfSksCiAgICAgIEwoJzxpIHN0eWxlPSJkaXNwbGF5OmJsb2NrO3dpZHRoOjQwcHg7aGVpZ2h0OjNweDtiYWNrZ3JvdW5kOicrVkVSTUVMSE8rJyI+PC9pPicsMjYyLDU4NiwxMCx7aHRtbDp0cnVlfSksIEwoU3RyaW5nKHYuY2FyZ28pLnRvVXBwZXJDYXNlKCksMjYyLDYxNiwxNSx7Zm9udDpGVC5jYXBzLHd0OjcwMCxtYXg6MTY1LHF1ZWJyYTp0cnVlfSksIEwoU3RyaW5nKHYuYXNzKS50b1VwcGVyQ2FzZSgpLDI2Miw2NTksOC41LHtmb250OkZULmNhcHMsd3Q6NjAwLGxzOi4xLG1heDoyMjB9KV0sCiAgICBmYW1pbGlhOih2LGwpPT5bTChUW2xdLmZhbWlsaWEsMjU2LDU0MywyNCx7Zm9udDpGVC5zY3JpcHR9KSwgTCh2LmFwZWxpZG8sMjU2LDU3OCw0Mix7Zm9udDpGVC5zY3JpcHQsbWF4OjEwMH0pXSwKICAgIG9icmlnYWRvOih2LGwpPT5bTChUW2xdLm9icmlnYWRvLDI0Niw0NTMsMzQse2ZvbnQ6RlQuc2NyaXB0LGNvcjpPVVJPfSksIEwoU3RyaW5nKHYucGFyYSkudG9VcHBlckNhc2UoKSwyNDYsNDgwLDExLHtmb250OkZULmNhcHMsd3Q6NjAwLG1heDoxODB9KSwgTCh2LnBvcnF1ZSwyNDYsNDk0LDguNSx7Zm9udDpGVC5zZXJpZixpdDp0cnVlLG1heDoyMDB9KV0sCiAgICBjb2xhYlBpbmhhczoodixsKT0+e2NvbnN0IFthLGJdPW5vbWVEdWFzKHYubm9tZSk7IHJldHVybiBbTChhLDI4OCw2NTIsNTYse2ZvbnQ6RlQuc2NyaXB0LGNvcjpPVVJPLG1heDoyMDB9KSwgTChiLDI4OCw3MDAsNTYse2ZvbnQ6RlQuc2NyaXB0LGNvcjpPVVJPLG1heDoyMDB9KV07fSwKICAgIGNvbGFiVmlkZWlyYToodixsKT0+W0wodi5ub21lLDI3OCw2ODUsNDYse2ZvbnQ6RlQuc2NyaXB0LGNvcjpPVVJPLG1heDoyMDV9KV0KICB9OwogIGZ1bmN0aW9uIGRlc2VuaGEoZWwsb2MsdixsKXsKICAgIGw9bD09PSdlbic\/J2VuJzoncHQnOwogICAgaWYoIURbb2NdKXsgZWwuaW5uZXJIVE1MPScnOyBlbC5oaWRkZW49dHJ1ZTsgcmV0dXJuIGZhbHNlOyB9CiAgICBlbC5oaWRkZW49ZmFsc2U7CiAgICBlbC5pbm5lckhUTUw9RFtvY10odixsKS5maWx0ZXIoeD0+eC50IT09JycmJngudCE9bnVsbCkubWFwKHg9PnsKICAgICAgY29uc3QgdHg9eC5hbD09PSdsJz8nMCc6eC5hbD09PSdyJz8nLTEwMCUnOictNTAlJzsKICAgICAgY29uc3Qgc3Q9YGxlZnQ6JHt4LngvOH1jcXc7dG9wOiR7eC55Lzh9Y3F3O2ZvbnQtc2l6ZToke3guZnMvOH1jcXc7Zm9udC1mYW1pbHk6JHt4LmZvbnQucmVwbGFjZSgvIi9nLCInIil9O2NvbG9yOiR7eC5jb3J9O2ZvbnQtd2VpZ2h0OiR7eC53dH07Zm9udC1zdHlsZToke3guaXQ\/J2l0YWxpYyc6J25vcm1hbCd9O2xldHRlci1zcGFjaW5nOiR7eC5sc31lbTt0cmFuc2Zvcm06dHJhbnNsYXRlKCR7dHh9LC01MCUpO3RleHQtYWxpZ246JHt4LmFsPT09J2wnPydsZWZ0Jzp4LmFsPT09J3InPydyaWdodCc6J2NlbnRlcid9OyR7eC5xdWVicmE\/J3doaXRlLXNwYWNlOm5vcm1hbDt3aWR0aDonKyh4Lm1heC84KSsnY3F3O2xpbmUtaGVpZ2h0OjEuMjUnOicnfWA7CiAgICAgIHJldHVybiBgPHNwYW4gY2xhc3M9InZmLWwiIGRhdGEtbWF4PSIke3gubWF4fSIgc3R5bGU9IiR7c3R9Ij4ke3guaHRtbD94LnQ6ZXNjKHgudCl9PC9zcGFuPmA7CiAgICB9KS5qb2luKCcnKTsKICAgIC8vIG8gdGV4dG8gdGVtIGRlIGNhYmVyIG5vIHZpZHJvOiBzZSBmb3IgY29tcHJpZG8sIGVuY29saGUKICAgIGVsLnF1ZXJ5U2VsZWN0b3JBbGwoJy52Zi1sJykuZm9yRWFjaChzPT57CiAgICAgIGlmKHMuc3R5bGUud2hpdGVTcGFjZT09PSdub3JtYWwnKSByZXR1cm47CiAgICAgIGNvbnN0IGxpbT1lbC5jbGllbnRXaWR0aCooK3MuZGF0YXNldC5tYXgvODAwKTsgY29uc3Qgdz1zLnNjcm9sbFdpZHRoOwogICAgICBpZih3PmxpbSYmbGltPjApeyBzLnN0eWxlLmZvbnRTaXplPShwYXJzZUZsb2F0KHMuc3R5bGUuZm9udFNpemUpKmxpbS93KSsnY3F3JzsgfQogICAgfSk7CiAgICByZXR1cm4gdHJ1ZTsKICB9CiAgcmV0dXJuIHtkZXNlbmhhLCB0ZW06b2M9PiEhRFtvY119Owp9KSgpOwoKCihmdW5jdGlvbigpewogIC8qIFLDqWd1YTogYSBhZ3VsaGEgY29ycmUgY29tIGEgbGVpdHVyYSBkYSBww6FnaW5hICovCiAgY29uc3QgY2Fwcz1bLi4uZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtcGFyYWdlbV0nKV07CiAgY29uc3QgcGFyYWdlbnM9Wy4uLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5wYXJhZ2VtJyldOwogIGNvbnN0IGFndWxoYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWd1bGhhJyk7CiAgY29uc3QgdG9wbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9wbycpOwogIGNvbnN0IHRvbnM9Wy4uLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLXRvbV0nKV07CiAgY29uc3QgVkFSUz1bJy0tY2hhbycsJy0tY2hhby0yJywnLS1wYXBlbCcsJy0tY2luemEnLCctLW91cm8nLCctLW91cm8tZm9ydGUnLCctLWZpbyddOwogIGxldCB0b21BdHVhbD1udWxsOwogIGZ1bmN0aW9uIHRvbURvVG9wbygpewogICAgY29uc3QgeT10b3BvLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbSsyOwogICAgbGV0IHNlYz10b25zWzBdOwogICAgZm9yKGNvbnN0IHQgb2YgdG9ucyl7IGlmKHQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wPD15KSBzZWM9dDsgfQogICAgaWYoc2VjPT09dG9tQXR1YWwpIHJldHVybjsKICAgIHRvbUF0dWFsPXNlYzsKICAgIGNvbnN0IGNzPWdldENvbXB1dGVkU3R5bGUoc2VjKTsKICAgIFZBUlMuZm9yRWFjaCh2PT50b3BvLnN0eWxlLnNldFByb3BlcnR5KHYsY3MuZ2V0UHJvcGVydHlWYWx1ZSh2KS50cmltKCkpKTsKICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1mYWl4YScsY3MuZ2V0UHJvcGVydHlWYWx1ZSgnLS1jaGFvJykudHJpbSgpKTsKICB9CiAgY29uc3QgcmFpej1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbXZsb2phJyk7CiAgZnVuY3Rpb24gYWx0dXJhU2l0ZSgpewogICAgbGV0IGZ1bmRvPTA7IGNvbnN0IHJzPVtdOwogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnaGVhZGVyLmVsZW1lbnRvci1sb2NhdGlvbi1oZWFkZXIgKiwgI3dwYWRtaW5iYXInKS5mb3JFYWNoKGU9PnsKICAgICAgY29uc3QgY3M9Z2V0Q29tcHV0ZWRTdHlsZShlKTsgaWYoY3MucG9zaXRpb24hPT0nZml4ZWQnfHxjcy5kaXNwbGF5PT09J25vbmUnfHxjcy52aXNpYmlsaXR5PT09J2hpZGRlbid8fHBhcnNlRmxvYXQoY3Mub3BhY2l0eSk9PT0wKSByZXR1cm47CiAgICAgIGNvbnN0IHI9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsgaWYoIShyLmhlaWdodD4wICYmIHIud2lkdGg+d2luZG93LmlubmVyV2lkdGgqMC41ICYmIHIuaGVpZ2h0PHdpbmRvdy5pbm5lckhlaWdodCowLjUpKSByZXR1cm47IGNvbnN0IHA9ZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludChNYXRoLm1pbih3aW5kb3cuaW5uZXJXaWR0aC0yLE1hdGgubWF4KDIsci5sZWZ0K3Iud2lkdGgvMikpLE1hdGgubWF4KDAsci5ib3R0b20tMykpOyBpZihwJiYocD09PWV8fGUuY29udGFpbnMocCkpKSBycy5wdXNoKHIpOwogICAgfSk7CiAgICBycy5zb3J0KChhLGIpPT5hLnRvcC1iLnRvcCkuZm9yRWFjaChyPT57IGlmKHIudG9wPD1mdW5kbysyKSBmdW5kbz1NYXRoLm1heChmdW5kbyxyLmJvdHRvbSk7IH0pOwogICAgcmFpei5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1tdi10b3BvJyxNYXRoLnJvdW5kKGZ1bmRvKSsncHgnKTsKICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zY3JvbGxQYWRkaW5nVG9wPU1hdGgucm91bmQoZnVuZG8rdG9wby5vZmZzZXRIZWlnaHQrMTIpKydweCc7CiAgfQogIGxldCB0QWx0dXJhPW51bGw7CiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsKCk9PntjbGVhclRpbWVvdXQodEFsdHVyYSk7IHRBbHR1cmE9c2V0VGltZW91dCgoKT0+e2FsdHVyYVNpdGUoKTtwb3NpY2FvKCk7fSw5MCk7fSx7cGFzc2l2ZTp0cnVlfSk7CiAgc2V0VGltZW91dChhbHR1cmFTaXRlLDYwMCk7CiAgZnVuY3Rpb24gcG9zaWNhbygpewogICAgYWx0dXJhU2l0ZSgpOwogICAgdG9tRG9Ub3BvKCk7CiAgICBpZighYWd1bGhhKSByZXR1cm47CiAgICBjb25zdCBsaW5oYT10b3BvLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbSt3aW5kb3cuaW5uZXJIZWlnaHQqMC4yNTsKICAgIGxldCBpZHg9LTEsIGZyYWM9MDsKICAgIGNhcHMuZm9yRWFjaCgoYyxpKT0+ewogICAgICBjb25zdCByPWMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICAgIGlmKHIudG9wPD1saW5oYSl7aWR4PWk7ZnJhYz1NYXRoLm1pbigxLE1hdGgubWF4KDAsKGxpbmhhLXIudG9wKS9yLmhlaWdodCkpO30KICAgIH0pOwogICAgY29uc3Qgbj1jYXBzLmxlbmd0aDsKICAgIGxldCBwb3M7CiAgICBpZihpZHg8MCl7cG9zPTB9CiAgICBlbHNle3Bvcz0oaWR4K2ZyYWMpL259CiAgICBwb3M9TWF0aC5taW4oMSxwb3MpOwogICAgYWd1bGhhLnN0eWxlLmxlZnQ9KHBvcyoxMDApKyclJzsKICAgIHBhcmFnZW5zLmZvckVhY2goKHAsaSk9PnAuc2V0QXR0cmlidXRlKCdhcmlhLWN1cnJlbnQnLGk9PT1pZHg\/J3RydWUnOidmYWxzZScpKTsKICB9CiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcscG9zaWNhbyx7cGFzc2l2ZTp0cnVlfSk7CiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScscG9zaWNhbyk7CiAgcG9zaWNhbygpOwogIHBhcmFnZW5zLmZvckVhY2gocD0+cC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsKCk9PnsKICAgIGNvbnN0IGFsdm89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocC5kYXRhc2V0LmFsdm8pOwogICAgaWYoYWx2bykgYWx2by5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6bWF0Y2hNZWRpYSgnKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSknKS5tYXRjaGVzPydhdXRvJzonc21vb3RoJ30pOwogIH0pKTsKCiAgLyogRmlsdHJvczogb3MgdmluaG9zIGVzY29saGlkb3Mgc29iZW0gcGFyYSBvIHRvcG8sIG51bWEgc8OzIGxpc3RhOyBlbSAiVHVkbyIgdm9sdGEgYSBsb2phIHBlbG8gdGVtcG8gKi8KICBjb25zdCBmaWx0cm9zPVsuLi5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZmlsdHJvJyldOwogIGNvbnN0IGNhcGl0dWxvcz1bLi4uZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnc2VjdGlvbi5jYXBpdHVsb1tkYXRhLXBhcmFnZW1dOm5vdCgjYWluZGEpLCAjc2VydmlyJyldOwogIGNvbnN0IG5vbWVzPXt0aW50bzonVGludG8nLGJyYW5jbzonQmxhbmNvJyxwb3J0bzonT3BvcnRvJyxjYWl4YTonQ2FqYXMgeSBwYWNrcyd9OwogIGNvbnN0IHJlcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzZWN0aW9uJyk7IHJlcy5jbGFzc05hbWU9J2NhcGl0dWxvIHJlc3VsdGFkb3MnOyByZXMuZGF0YXNldC50b209JzEnOyByZXMuaGlkZGVuPXRydWU7CiAgcmVzLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iY29udGVudG9yIj48ZGl2IGNsYXNzPSJyZXMtY2FiIj48cCBjbGFzcz0iY2FwLWV0aXF1ZXRhIiBpZD0icmVzVGl0dWxvIj48L3A+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJyZXMtbGltcGFyIj5WZXIgdG9kYSBsYSB0aWVuZGE8L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJncmVsaGEgcmVzLWdyZWxoYSIgaWQ9InJlc0dyZWxoYSI+PC9kaXY+PC9kaXY+JzsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5pY2lvJykuYWZ0ZXIocmVzKTsKICBjb25zdCBncmVsaGFSPXJlcy5xdWVyeVNlbGVjdG9yKCcjcmVzR3JlbGhhJyksIHRpdHVsb1I9cmVzLnF1ZXJ5U2VsZWN0b3IoJyNyZXNUaXR1bG8nKTsKICBjb25zdCBsdWdhcmVzPW5ldyBNYXAoKTsKICBmdW5jdGlvbiByZXBvcigpewogICAgbHVnYXJlcy5mb3JFYWNoKChtYXJjYSxwKT0+e21hcmNhLnJlcGxhY2VXaXRoKHApO30pOyBsdWdhcmVzLmNsZWFyKCk7CiAgICByZXMuaGlkZGVuPXRydWU7IGNhcGl0dWxvcy5mb3JFYWNoKGM9PmMuaGlkZGVuPWZhbHNlKTsKICB9CiAgZnVuY3Rpb24gYXBsaWNhKHYpewogICAgZmlsdHJvcy5mb3JFYWNoKHg9Pnguc2V0QXR0cmlidXRlKCdhcmlhLXByZXNzZWQnLHguZGF0YXNldC5mPT09dj8ndHJ1ZSc6J2ZhbHNlJykpOwogICAgcmVwb3IoKTsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ212bG9qYScpLmNsYXNzTGlzdC50b2dnbGUoJ2EtZmlsdHJhcicsdiE9PSd0b2RvcycpOwogICAgaWYodj09PSd0b2RvcycpIHJldHVybjsKICAgIGNvbnN0IHNlbD1bLi4uZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnBlY2FbZGF0YS10YWdzXScpXS5maWx0ZXIocD0+cC5kYXRhc2V0LnRhZ3Muc3BsaXQoJyAnKS5pbmNsdWRlcyh2KSAmJiAhcC5jbG9zZXN0KCcjYWluZGEnKSk7CiAgICBzZWwuZm9yRWFjaChwPT57Y29uc3QgbT1kb2N1bWVudC5jcmVhdGVDb21tZW50KCdsdWdhcicpOyBwLnJlcGxhY2VXaXRoKG0pOyBsdWdhcmVzLnNldChwLG0pOyBncmVsaGFSLmFwcGVuZENoaWxkKHApO30pOwogICAgdGl0dWxvUi5pbm5lckhUTUw9bm9tZXNbdl0rJyA8ZW0+JytzZWwubGVuZ3RoKyhzZWwubGVuZ3RoPT09MT8nIHByb2R1Y3RvJzonIHByb2R1Y3RvcycpKyc8L2VtPic7CiAgICBjYXBpdHVsb3MuZm9yRWFjaChjPT5jLmhpZGRlbj10cnVlKTsgcmVzLmhpZGRlbj1mYWxzZTsKICAgIHJlcy5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6bWF0Y2hNZWRpYSgnKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSknKS5tYXRjaGVzPydhdXRvJzonc21vb3RoJyxibG9jazonc3RhcnQnfSk7CiAgfQogIGZpbHRyb3MuZm9yRWFjaChmPT5mLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywoKT0+YXBsaWNhKGYuZGF0YXNldC5mKSkpOwogIC8vIGEgcsOpZ3VhIGRvIHRlbXBvIHZvbHRhIGEgbW9zdHJhciBhIGxvamEgdG9kYSBxdWFuZG8gw6kgdXNhZGEKICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcucGFyYWdlbScpLmZvckVhY2gocGE9PnBhLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywoKT0+eyBpZighcmVzLmhpZGRlbikgYXBsaWNhKCd0b2RvcycpOyB9LHRydWUpKTsKICByZXMucXVlcnlTZWxlY3RvcignLnJlcy1saW1wYXInKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsKCk9PnthcGxpY2EoJ3RvZG9zJyk7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbmljaW8nKS5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6J3Ntb290aCd9KTt9KTsKCiAgLyogQ2FycmluaG8gdmVyZGFkZWlybyBkbyBXb29Db21tZXJjZTogYW8gZXNjb2xoZXIgdW0gdmluaG8gYXBhcmVjZSBhIHF1YW50aWRhZGUsIHF1ZSBzZSBhY2VydGEgY29tIC0gZSArICovCiAgY29uc3QgQVBJPScvd3AtanNvbi93Yy9zdG9yZS92MS8nOyBsZXQgbm9uY2U9bnVsbDsKICBhc3luYyBmdW5jdGlvbiBwZWRlKGNhbWluaG8sZGFkb3MpewogICAgY29uc3QgaD17J0NvbnRlbnQtVHlwZSc6J2FwcGxpY2F0aW9uL2pzb24nfTsgaWYobm9uY2UpIGhbJ05vbmNlJ109bm9uY2U7CiAgICBjb25zdCByPWF3YWl0IGZldGNoKEFQSStjYW1pbmhvLHttZXRob2Q6ZGFkb3M\/J1BPU1QnOidHRVQnLGNyZWRlbnRpYWxzOidzYW1lLW9yaWdpbicsaGVhZGVyczpoLGJvZHk6ZGFkb3M\/SlNPTi5zdHJpbmdpZnkoZGFkb3MpOnVuZGVmaW5lZH0pOwogICAgY29uc3Qgbj1yLmhlYWRlcnMuZ2V0KCdOb25jZScpOyBpZihuKSBub25jZT1uOwogICAgY29uc3Qgaj1hd2FpdCByLmpzb24oKS5jYXRjaCgoKT0+KHt9KSk7CiAgICBpZighci5vaykgdGhyb3cgajsgcmV0dXJuIGo7CiAgfQogIGZ1bmN0aW9uIGF2aXNhU2l0ZSgpewogICAgLy8gbyBjYXJyaW5obyBkbyBjYWJlw6dhbGhvIGRvIHNpdGUgYWN0dWFsaXphLXNlIHNlbSByZWNhcnJlZ2FyIGEgcMOhZ2luYQogICAgZmV0Y2goJy9lcy8\/d2MtYWpheD1nZXRfcmVmcmVzaGVkX2ZyYWdtZW50cycse21ldGhvZDonUE9TVCcsY3JlZGVudGlhbHM6J3NhbWUtb3JpZ2luJ30pLnRoZW4ocj0+ci5qc29uKCkpLnRoZW4oZD0+ewogICAgICBPYmplY3QuZW50cmllcyhkJiZkLmZyYWdtZW50c3x8e30pLmZvckVhY2goKFtzZWwsaHRtbF0pPT57IGlmKCEvXlsuI2Etel0vaS50ZXN0KHNlbCkpIHJldHVybjsgdHJ5eyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbCkuZm9yRWFjaChlbD0+e2VsLm91dGVySFRNTD1odG1sO30pOyB9Y2F0Y2goZSl7fSB9KTsKICAgICAgdHJ5eyBpZih3aW5kb3cualF1ZXJ5KSBqUXVlcnkoZG9jdW1lbnQuYm9keSkudHJpZ2dlcignd2NfZnJhZ21lbnRzX3JlZnJlc2hlZCcpOyB9Y2F0Y2goZSl7fQogICAgfSkuY2F0Y2goKCk9Pnt9KTsKICB9CiAgY29uc3QgYm90b2VzPW5ldyBNYXAoKTsKICBmdW5jdGlvbiBhcGxpY2FDYXJyaW5obyhjKXsKICAgIGNvbnN0IHBvcklkPXt9OyAoYyYmYy5pdGVtc3x8W10pLmZvckVhY2goaT0+e3BvcklkW2kuaWRdPWk7fSk7CiAgICBib3RvZXMuZm9yRWFjaCgoY3RsLGlkKT0+e2NvbnN0IGk9cG9ySWRbaWRdOyBjdGwuZGVmaW5lKGk\/aS5xdWFudGl0eTowLGk\/aS5rZXk6bnVsbCk7fSk7CiAgfQogIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5xdWVybycpLmZvckVhY2goYj0+ewogICAgY29uc3QgY2FpeGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7IGNhaXhhLmNsYXNzTmFtZT0nY29tcHJhcic7CiAgICBjb25zdCBxPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOyBxLmNsYXNzTmFtZT0ncXRkJzsKICAgIHEuaW5uZXJIVE1MPSc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InF0ZC1tZW5vcyIgYXJpYS1sYWJlbD0iVW5hIG1lbm9zIj7iiJI8L2J1dHRvbj48b3V0cHV0IGFyaWEtbGl2ZT0icG9saXRlIj4xPC9vdXRwdXQ+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJxdGQtbWFpcyIgYXJpYS1sYWJlbD0iVW5hIG3DoXMiPis8L2J1dHRvbj4nOwogICAgYi5yZXBsYWNlV2l0aChjYWl4YSk7IGNhaXhhLmFwcGVuZChxLGIpOwogICAgaWYoYi5kYXRhc2V0LmxpZ2FjYW8peyBjYWl4YS5jbGFzc0xpc3QuYWRkKCdsaWdhY2FvJyk7IGIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCgpPT57bG9jYXRpb24uaHJlZj1iLmRhdGFzZXQubGlnYWNhbzt9KTsgcmV0dXJuOyB9CiAgICBjb25zdCBpZD1wYXJzZUludChiLmRhdGFzZXQuaWQsMTApOwogICAgY29uc3Qgb3V0PXEucXVlcnlTZWxlY3Rvcignb3V0cHV0Jyk7IGxldCBuPTEsIG5vQ2FycmluaG89MCwgY2hhdmU9bnVsbCwgb2N1cGFkbz1mYWxzZTsKICAgIGNvbnN0IHRleHRvPWIudGV4dENvbnRlbnQ7CiAgICAvLyBhbnRlcyBkZSBjb21wcmFyOiBlc2NvbGhlLXNlIGEgcXVhbnRpZGFkZSAobcOtbmltbyAxKQogICAgLy8gZGVwb2lzIGRlIGNvbXByYXI6IG8gbsO6bWVybyDDqSBvIHF1ZSBlc3TDoSBubyBjYXJyaW5obzsgYSAwIGEgY29tcHJhIHNhaQogICAgY29uc3QgbW9zdHJhPSgpPT57CiAgICAgIG91dC50ZXh0Q29udGVudD1ub0NhcnJpbmhvP25vQ2FycmluaG86bjsKICAgICAgYi50ZXh0Q29udGVudD1ub0NhcnJpbmhvPydFbiBlbCBjYXJyaXRvJzp0ZXh0bzsKICAgICAgYi5jbGFzc0xpc3QudG9nZ2xlKCdmZWl0bycsbm9DYXJyaW5obz4wKTsKICAgICAgcS5xdWVyeVNlbGVjdG9yKCcucXRkLW1lbm9zJykuc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJyxub0NhcnJpbmhvPT09MT8nUXVpdGFyIGRlbCBjYXJyaXRvJzonVW5hIG1lbm9zJyk7CiAgICAgIGNvbnN0IG1haXM9cS5xdWVyeVNlbGVjdG9yKCcucXRkLW1haXMnKSwgbm9MaW1pdGU9KG5vQ2FycmluaG98fG4pPj1tYXhpbW87CiAgICAgIG1haXMuZGlzYWJsZWQ9bm9MaW1pdGU7IG1haXMuc3R5bGUub3BhY2l0eT1ub0xpbWl0ZT8nLjMnOicnOyBtYWlzLnN0eWxlLmN1cnNvcj1ub0xpbWl0ZT8nZGVmYXVsdCc6Jyc7CiAgICB9OwogICAgbGV0IG1heGltbz05OTsKICAgIGNvbnN0IGZhbGhhPShlKT0+ewogICAgICBjb25zdCBjb2Q9U3RyaW5nKGUmJmUuY29kZXx8JycpOwogICAgICBiLnRleHRDb250ZW50PS9zdG9ja3xlc3RvcXVlL2kudGVzdChjb2QpPydTaW4gZXhpc3RlbmNpYXMnOidJbnTDqW50ZWxvIGRlIG51ZXZvJzsgc2V0VGltZW91dChtb3N0cmEsMjYwMCk7CiAgICB9OwogICAgY29uc3QgY29ycmU9YXN5bmMoZm4pPT57CiAgICAgIGlmKG9jdXBhZG8pIHJldHVybjsgb2N1cGFkbz10cnVlOyBiLmNsYXNzTGlzdC5hZGQoJ2EtY2FycmVnYXInKTsKICAgICAgdHJ5eyBjb25zdCBjPWF3YWl0IGZuKCk7IGFwbGljYUNhcnJpbmhvKGMpOyBhdmlzYVNpdGUoKTsgfWNhdGNoKGUpeyBmYWxoYShlKTsgfQogICAgICBmaW5hbGx5eyBvY3VwYWRvPWZhbHNlOyBiLmNsYXNzTGlzdC5yZW1vdmUoJ2EtY2FycmVnYXInKTsgfQogICAgfTsKICAgIGJvdG9lcy5zZXQoaWQse2RlZmluZToocXQsayk9Pntub0NhcnJpbmhvPXF0OyBjaGF2ZT1rOyBpZighcXQpIG49TWF0aC5tYXgoMSxuKTsgbW9zdHJhKCk7fSwgbGltaXRlOihteCk9PnttYXhpbW89TWF0aC5tYXgoMSxteHx8OTkpOyBuPU1hdGgubWluKG4sbWF4aW1vKTsgbW9zdHJhKCk7fX0pOwogICAgcS5xdWVyeVNlbGVjdG9yKCcucXRkLW1haXMnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsKCk9PnsKICAgICAgaWYobm9DYXJyaW5obyYmY2hhdmUpIGNvcnJlKCgpPT5wZWRlKCdjYXJ0L3VwZGF0ZS1pdGVtJyx7a2V5OmNoYXZlLHF1YW50aXR5Om5vQ2FycmluaG8rMX0pKTsKICAgICAgZWxzZSB7IG49TWF0aC5taW4obWF4aW1vLG4rMSk7IG1vc3RyYSgpOyB9CiAgICB9KTsKICAgIHEucXVlcnlTZWxlY3RvcignLnF0ZC1tZW5vcycpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywoKT0+ewogICAgICBpZihub0NhcnJpbmhvJiZjaGF2ZSl7CiAgICAgICAgaWYobm9DYXJyaW5obz4xKSBjb3JyZSgoKT0+cGVkZSgnY2FydC91cGRhdGUtaXRlbScse2tleTpjaGF2ZSxxdWFudGl0eTpub0NhcnJpbmhvLTF9KSk7CiAgICAgICAgZWxzZSB7IG49MTsgY29ycmUoKCk9PnBlZGUoJ2NhcnQvcmVtb3ZlLWl0ZW0nLHtrZXk6Y2hhdmV9KSk7IH0KICAgICAgfSBlbHNlIHsgbj1NYXRoLm1heCgxLG4tMSk7IG1vc3RyYSgpOyB9CiAgICB9KTsKICAgIGIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCgpPT57CiAgICAgIGlmKG5vQ2FycmluaG8peyBsb2NhdGlvbi5ocmVmPScvZXMvY2Fycml0by8nOyByZXR1cm47IH0KICAgICAgY29ycmUoKCk9PnBlZGUoJ2NhcnQvYWRkLWl0ZW0nLHtpZDppZCxxdWFudGl0eTpufSkpOwogICAgfSk7CiAgfSk7CiAgcGVkZSgnY2FydCcpLnRoZW4oYXBsaWNhQ2FycmluaG8pLmNhdGNoKCgpPT57fSk7CiAgZmV0Y2goQVBJKydwcm9kdWN0cz9wZXJfcGFnZT01MCZpbmNsdWRlPScrWy4uLmJvdG9lcy5rZXlzKCldLmpvaW4oJywnKSx7Y3JlZGVudGlhbHM6J3NhbWUtb3JpZ2luJ30pLnRoZW4ocj0+ci5qc29uKCkpLnRoZW4ocHM9PnsKICAgIChwc3x8W10pLmZvckVhY2gocD0+e2NvbnN0IGM9Ym90b2VzLmdldChwLmlkKTsgaWYoYyYmcC5hZGRfdG9fY2FydCkgYy5saW1pdGUocC5hZGRfdG9fY2FydC5tYXhpbXVtKTt9KTsKICB9KS5jYXRjaCgoKT0+e30pOwogIC8vIGEgTWFnbnVtIHNlZ3VlIHBhcmEgYSBww6FnaW5hIGRvIHByb2R1dG8gZGEgb2Nhc2nDo28gZXNjb2xoaWRhCiAgY29uc3QgTUFHTlVNPXtuYXNjaW1lbnRvOidtYWdudW0tbmFzY2ltZW50bycsYW5pdmVyc2FyaW86J21hZ251bS1hbm9zJyxjYXNhbWVudG86J21hZ251bS1jYXNhbWVudG8nLGNhc2Fub3ZhOidtYWdudW0tY2FzYS1ub3ZhJyxib2RhczonbWFnbnVtLWJvZGFzJyxyZWZvcm1hOidtYWdudW0tcmVmb3JtYScsZmFtaWxpYTonbWFnbnVtLWZhbWlsaWEnLG9icmlnYWRvOidtYWdudW0tb2JyaWdhZG8nLGVtcHJlc2FQaW5oYXM6J21hZ251bS1lbXByZXNhLXBpbmhhcycsZW1wcmVzYVZpZGVpcmE6J21hZ251bS1lbXByZXNhLXZpZGVpcmEnLGNvbGFiUGluaGFzOidtYWdudW0tY29sYWJvcmFkb3ItcGluaGFzJyxjb2xhYlZpZGVpcmE6J21hZ251bS1jb2xhYm9yYWRvci12aWRlaXJhJ307CiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnF1ZXJvLW1hZ251bScpLmZvckVhY2goYj0+Yi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsKCk9PnsKICAgIGNvbnN0IG89KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5vY2FzaWFvW2FyaWEtcHJlc3NlZD0idHJ1ZSJdJyl8fHt9KS5kYXRhc2V0OyBjb25zdCBvYz1vJiZvLm87IGNvbnN0IHM9TUFHTlVNW29jXXx8J21hZ251bS1hbm9zJzsKICAgIC8vIG8gcXVlIG8gY2xpZW50ZSBlc2NyZXZldSBubyBhdGVsaWVyIHNlZ3VlIHBhcmEgYSBww6FnaW5hIGRhIE1hZ251bQogICAgY29uc3Qgdj1pZD0+e2NvbnN0IGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21fJytpZCk7IHJldHVybiBlP2UudmFsdWUudHJpbSgpOicnO307CiAgICBjb25zdCBkYXRhSVNPPXQ9Pntjb25zdCBtPVN0cmluZyh0KS5tYXRjaCgvXihcZHsxLDJ9KVsuXC8tXShcZHsxLDJ9KVsuXC8tXShcZHs0fSkkLyk7IHJldHVybiBtP21bM10rJy0nK21bMl0ucGFkU3RhcnQoMiwnMCcpKyctJyttWzFdLnBhZFN0YXJ0KDIsJzAnKTonJzt9OwogICAgY29uc3QgTUFQQT17YW5pdmVyc2FyaW86e2lkYWRlOidtdl9pZGFkZScsbm9tZTonbXZfbm9tZSd9LG5hc2NpbWVudG86e25vbWU6J212bl9ub21lJyxkYXRhOidtdm5fZGF0YSd9LGNhc2FtZW50bzp7YTonbXZvX2VsYScsYjonbXZvX2VsZScsZGF0YTonbXZvX2RhdGEnfSwKICAgICAgYm9kYXM6e2E6J212bl91bScsYjonbXZuX291dHJvJyxhbm9zOidtdm5fYW5vcyd9LGNhc2Fub3ZhOnthcGVsaWRvOidtdm5fYXBlbGlkbycsYW5vOidtdm5fYW5vJ30sb2JyaWdhZG86e3BhcmE6J212bl9ub21lJyxwb3JxdWU6J212bl9wb3InLGRlOidtdm5fZGUnfSwKICAgICAgcmVmb3JtYTp7bm9tZTonbXZvX25vbWUnLGNhcmdvOidtdm9fY2FyZ28nLGFzczonbXZvX2Fzc2luYXR1cmEnfSxmYW1pbGlhOnthcGVsaWRvOidtdl9hcGVsaWRvJ30sY29sYWJQaW5oYXM6e25vbWU6J212ZV9ub21lcyd9LGNvbGFiVmlkZWlyYTp7bm9tZTonbXZlX25vbWVzJ319OwogICAgY29uc3QgY2FtcG9zPXt9OyBPYmplY3QuZW50cmllcyhNQVBBW29jXXx8e30pLmZvckVhY2goKFtpZCxub21lXSk9PnsgbGV0IHg9dihpZCk7IGlmKCF4KSByZXR1cm47IGlmKGlkPT09J2RhdGEnKSB4PWRhdGFJU08oeCk7IGlmKHgpIGNhbXBvc1tub21lXT14OyB9KTsKICAgIHRyeXsgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnbXZBdGVsaWVyJyxKU09OLnN0cmluZ2lmeSh7c2x1ZzpzLGNhbXBvczpjYW1wb3N9KSk7IH1jYXRjaChlKXt9CiAgICBsb2NhdGlvbi5ocmVmPScvZXMvcHJvZHV0by8nK3MrJy8nOwogIH0pKTsKCiAgLyogTWFnbnVtOiBhcyBkb3plIG9jYXNpw7VlcywgcHLDqS12aXN1YWxpemHDp8OjbyBhbyB2aXZvIGRhIHBpbnR1cmEgKi8KICBjb25zdCBlc2M9dD0+U3RyaW5nKHQpLnJlcGxhY2UoL1smPD4iJ10vZyxjPT4oeycmJzonJmFtcDsnLCc8JzonJmx0OycsJz4nOicmZ3Q7JywnIic6JyZxdW90OycsIiciOicmIzM5Oyd9W2NdKSk7CiAgbGV0IGxvZ29VUkw9bnVsbDsKICBjb25zdCBjZXU9JzxzdmcgY2xhc3M9InYtY2V1IiB2aWV3Qm94PSIwIDAgMjAwIDkwIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGcgZmlsbD0idmFyKC0tb3VybykiPjxjaXJjbGUgY3g9IjE4IiBjeT0iNjAiIHI9IjMuMiIvPjxjaXJjbGUgY3g9IjUyIiBjeT0iMzgiIHI9IjQiLz48Y2lyY2xlIGN4PSI4OCIgY3k9IjUyIiByPSIzIi8+PGNpcmNsZSBjeD0iMTE4IiBjeT0iMjIiIHI9IjQuNCIvPjxjaXJjbGUgY3g9IjE1MCIgY3k9IjQ0IiByPSIzLjQiLz48Y2lyY2xlIGN4PSIxODQiIGN5PSIzMCIgcj0iMyIvPjxjaXJjbGUgY3g9IjcwIiBjeT0iMTIiIHI9IjIiLz48Y2lyY2xlIGN4PSIxNjYiIGN5PSI3OCIgcj0iMiIvPjxjaXJjbGUgY3g9IjM0IiBjeT0iMTYiIHI9IjEuOCIvPjxjaXJjbGUgY3g9IjEzMiIgY3k9Ijc0IiByPSIxLjgiLz48L2c+PHBvbHlsaW5lIHBvaW50cz0iMTgsNjAgNTIsMzggODgsNTIgMTE4LDIyIDE1MCw0NCAxODQsMzAiIGZpbGw9Im5vbmUiIHN0cm9rZT0idmFyKC0tb3VybykiIHN0cm9rZS13aWR0aD0iMi40Ii8+PC9zdmc+JzsKICBjb25zdCBsb2dvSFRNTD0oKT0+bG9nb1VSTD8nPGltZyBjbGFzcz0idi1sb2dvIiBzcmM9IicrbG9nb1VSTCsnIiBhbHQ9IkxvZ290aXBvIGNhcmdhZG8iPic6JzxzcGFuIGNsYXNzPSJ2LXZhemlvIj5TdSBsb2dvdGlwbzwvc3Bhbj4nOwogIGNvbnN0IE89ewogICAgYW5pdmVyc2FyaW86e2NhbXBvczpbWydpZGFkZScsJ0VkYWQnLCc1MCddLFsnbm9tZScsJ05vbWJyZScsJ01hcnRhIEZlcnJlaXJhJ11dLAogICAgICBwaW50YTp2PT5gPGRpdiBjbGFzcz0idi1udW0iPiR7ZXNjKHYuaWRhZGUpfTwvZGl2PjxkaXYgY2xhc3M9InYtbGV0cmEiPiR7ZXNjKHYubm9tZSl9PC9kaXY+PGRpdiBjbGFzcz0idi1zdWIiPkZlbGljaWRhZGVzPC9kaXY+YH0sCiAgICBuYXNjaW1lbnRvOntjYW1wb3M6W1snbm9tZScsJ05vbWJyZSBkZWwgYmViw6knLCdGcmFuY2lzY28nXSxbJ2RhdGEnLCdOYWNpw7MgZWwnLCcxMi4wMy4yMDI2J11dLAogICAgICBwaW50YTp2PT5gJHtjZXV9PGRpdiBjbGFzcz0idi1sZXRyYSI+JHtlc2Modi5ub21lKX08L2Rpdj48ZGl2IGNsYXNzPSJ2LWRhdGEiPiR7ZXNjKHYuZGF0YSl9PC9kaXY+YH0sCiAgICBjYXNhbWVudG86e2NhbXBvczpbWydhJywnVW5vIGRlIGxvcyBub3Zpb3MnLCdJbsOqcyddLFsnYicsJ0VsIG90cm8gbm92aW8nLCdEdWFydGUnXSxbJ2RhdGEnLCdGZWNoYSBkZSBsYSBib2RhJywnMTIuMDYuMjAyNycsMV1dLAogICAgICBwaW50YTp2PT5gPGRpdiBjbGFzcz0idi10b3BvIj5WaXZhbiBsb3Mgbm92aW9zPC9kaXY+PGRpdiBjbGFzcz0idi1sZXRyYSI+JHtlc2Modi5hKX08L2Rpdj48ZGl2IGNsYXNzPSJ2LWxldHJhIG91cm8gbWVkaWEiPiZhbXA7PC9kaXY+PGRpdiBjbGFzcz0idi1sZXRyYSI+JHtlc2Modi5iKX08L2Rpdj48ZGl2IGNsYXNzPSJ2LWRhdGEiPiR7ZXNjKHYuZGF0YSl9PC9kaXY+YH0sCiAgICBib2Rhczp7Y2FtcG9zOltbJ2EnLCdVbm8gZGUgbG9zIGRvcycsJ0FuYSddLFsnYicsJ0VsIG90cm8nLCdSdWknXSxbJ2HDsW9zJywnQcOxb3MgZGUgY2FzYWRvcycsJzQwJywxXV0sCiAgICAgIHBpbnRhOnY9PmA8ZGl2IGNsYXNzPSJ2LW51bSI+JHtlc2Modi5hbm9zKX08c21hbGw+YcOxb3MgYmFpbGFuZG88L3NtYWxsPjwvZGl2PjxkaXYgY2xhc3M9InYtbGV0cmEiPiR7ZXNjKHYuYSl9ICZhbXA7ICR7ZXNjKHYuYil9PC9kaXY+YH0sCiAgICBjYXNhbm92YTp7Y2FtcG9zOltbJ2FwZWxpZG8nLCdBcGVsbGlkbyBkZSBsYSBmYW1pbGlhJywnT2xpdmVpcmEnXSxbJ2FubycsJ0HDsW8gZGUgbGEgbXVkYW56YScsJzIwMjYnXV0sCiAgICAgIHBpbnRhOnY9PmA8ZGl2IGNsYXNzPSJ2LXRvcG8iPkVuaG9yYWJ1ZW5hIHBvciBzdSBudWV2YSBjYXNhPC9kaXY+PGRpdiBjbGFzcz0idi1sZXRyYSI+RmFtaWxpYSAke2VzYyh2LmFwZWxpZG8pfTwvZGl2PjxkaXYgY2xhc3M9InYtZGF0YSI+JHtlc2Modi5hbm8pfTwvZGl2PmB9LAogICAgb2JyaWdhZG86e2NhbXBvczpbWydwYXJhJywnUGFyYSBxdWnDqW4nLCdUZXJlc2EnXSxbJ2RlJywnUXVpw6luIGRhIGxhcyBncmFjaWFzJywnTG9zIGFtaWdvcyddLFsncG9ycXVlJywnUG9yIHF1w6ksIGNvbiBzdXMgcGFsYWJyYXMnLCdQb3IgdG9kbycsMV1dLAogICAgICBwaW50YTp2PT5gPGRpdiBjbGFzcz0idi1sZXRyYSBvdXJvIj5HcmFjaWFzPC9kaXY+PGRpdiBjbGFzcz0idi1sZXRyYSBtZWRpYSI+JHtlc2Modi5wYXJhKX08L2Rpdj48ZGl2IGNsYXNzPSJ2LXN1YiI+JHtlc2Modi5wb3JxdWUpfTwvZGl2PjxkaXYgY2xhc3M9InYtZGF0YSI+JHtlc2Modi5kZSl9PC9kaXY+YH0sCiAgICByZWZvcm1hOntjYW1wb3M6W1snbm9tZScsJ05vbWJyZScsJ01hbnVlbCBTaWx2YSddLFsnY2FyZ28nLCdOdWV2byBjYXJnbycsJ0RpcmVjdG9yIGdlbmVyYWwgZGVsIHRpZW1wbyBsaWJyZSddLFsnYXNzJywnRmlybWEnLCdEZSBsb3MgYW1pZ29zIGRlIHNpZW1wcmUnLDFdXSwKICAgICAgcGludGE6dj0+YDxkaXYgY2xhc3M9InYtdG9wbyI+RWwgw7psdGltbyBhc2NlbnNvPC9kaXY+PGRpdiBjbGFzcz0idi1sZXRyYSI+JHtlc2Modi5ub21lKX08L2Rpdj48ZGl2IGNsYXNzPSJ2LXN1YiI+JHtlc2Modi5jYXJnbyl9PC9kaXY+PGRpdiBjbGFzcz0idi1kYXRhIj4ke2VzYyh2LmFzcyl9PC9kaXY+YH0sCiAgICBmYW1pbGlhOntjYW1wb3M6W1snYXBlbGlkbycsJ0FwZWxsaWRvIGRlIGxhIGZhbWlsaWEnLCdGZXJyZWlyYScsMV1dLAogICAgICBwaW50YTp2PT5gPGRpdiBjbGFzcz0idi10b3BvIj5GYW1pbGlhPC9kaXY+PGRpdiBjbGFzcz0idi1sZXRyYSI+JHtlc2Modi5hcGVsaWRvKX08L2Rpdj48ZGl2IGNsYXNzPSJ2LXN1YiI+RmVsaXogTmF2aWRhZDwvZGl2PjxkaXYgY2xhc3M9InYtZGF0YSI+MjAyNjwvZGl2PmB9LAogICAgZW1wcmVzYVBpbmhhczp7bG9nbzoxLG5vdGE6J0FycmliYSwgbnVlc3RyYSBOYXZpZGFkLiBBYmFqbywgc3UgbWFyY2EuJywKICAgICAgcGludGE6KCk9PmA8ZGl2IGNsYXNzPSJ2LW1laW8iPjxzcGFuIGNsYXNzPSJ2LXpvbmEiPlBpw7FhcyBwaW50YWRhczwvc3Bhbj48ZGl2IGNsYXNzPSJ2LWxldHJhIG91cm8gbWVkaWEiPkZlbGl6IE5hdmlkYWQ8L2Rpdj48ZGl2IGNsYXNzPSJ2LWRhdGEiPjIwMjY8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ2LW1laW8iPiR7bG9nb0hUTUwoKX08L2Rpdj5gfSwKICAgIGVtcHJlc2FWaWRlaXJhOntsb2dvOjEsbm90YTonQXJyaWJhLCBudWVzdHJhIE5hdmlkYWQuIEFiYWpvLCBzdSBtYXJjYS4nLAogICAgICBwaW50YTooKT0+YDxkaXYgY2xhc3M9InYtbWVpbyI+PHNwYW4gY2xhc3M9InYtem9uYSI+VmlkIHBpbnRhZGE8L3NwYW4+PGRpdiBjbGFzcz0idi1sZXRyYSBvdXJvIG1lZGlhIj5GZWxpeiBOYXZpZGFkPC9kaXY+PGRpdiBjbGFzcz0idi1kYXRhIj4yMDI2PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0idi1tZWlvIj4ke2xvZ29IVE1MKCl9PC9kaXY+YH0sCiAgICBjb2xhYlBpbmhhczp7Y2FtcG9zOltbJ25vbWUnLCdOb21icmUgZGVsIGNvbGFib3JhZG9yJywnQW5hIEZlcnJlaXJhJywxXV0sbm90YTonVW4gTWFnbnVtIHBvciBjb2xhYm9yYWRvciwgY2FkYSB1bm8gY29uIHN1IG5vbWJyZS4gSW5kaXF1ZSB0b2RvcyBsb3Mgbm9tYnJlcyBlbiBlbCBwZWRpZG8uJywKICAgICAgcGludGE6dj0+YDxzcGFuIGNsYXNzPSJ2LXpvbmEiPlBpw7FhcyBwaW50YWRhczwvc3Bhbj48ZGl2IGNsYXNzPSJ2LXRvcG8iPkZlbGl6IE5hdmlkYWQgMjAyNjwvZGl2PjxkaXYgY2xhc3M9InYtbGV0cmEiPiR7ZXNjKHYubm9tZSl9PC9kaXY+YH0sCiAgICBjb2xhYlZpZGVpcmE6e2NhbXBvczpbWydub21lJywnTm9tYnJlIGRlbCBjb2xhYm9yYWRvcicsJ0FuYSBGZXJyZWlyYScsMV1dLG5vdGE6J1VuIE1hZ251bSBwb3IgY29sYWJvcmFkb3IsIGNhZGEgdW5vIGNvbiBzdSBub21icmUuIEluZGlxdWUgdG9kb3MgbG9zIG5vbWJyZXMgZW4gZWwgcGVkaWRvLicsCiAgICAgIHBpbnRhOnY9PmA8c3BhbiBjbGFzcz0idi16b25hIj5WaWQgcGludGFkYTwvc3Bhbj48ZGl2IGNsYXNzPSJ2LXRvcG8iPkZlbGl6IE5hdmlkYWQgMjAyNjwvZGl2PjxkaXYgY2xhc3M9InYtbGV0cmEiPiR7ZXNjKHYubm9tZSl9PC9kaXY+YH0KICB9OwogIGNvbnN0IHZmUGludD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmZQaW50JyksIExBTkc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FpbmRhJykuZGF0YXNldC5sYW5nfHwncHQnOwogIGNvbnN0IHZpZHJvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2aWRybycpLCBjYW1wb3M9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NhbXBvcycpLCBub3RhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYW1wb3NOb3RhJyk7CiAgbGV0IGF0dWFsPSdhbml2ZXJzYXJpbycsIHZhbG9yZXM9e307CiAgZnVuY3Rpb24gcGludGEoKXsKICAgIHZpZHJvLmlubmVySFRNTD0nPGRpdiBjbGFzcz0idi1jb250ZXVkbyI+JytPW2F0dWFsXS5waW50YSh2YWxvcmVzKSsnPC9kaXY+JzsKICAgIC8vIGEgcGludHVyYSB0ZW0gZGUgY2FiZXIgbm9zIDEwIGNtOiBzZSBvIHRleHRvIGZvciBsb25nbywgZW5jb2xoZSB0dWRvIHBvciBpZ3VhbAogICAgY29uc3QgYz12aWRyby5maXJzdENoaWxkOyBjLnN0eWxlLnRyYW5zZm9ybT0nJzsKICAgIGNvbnN0IGxpdnJlPWMuY2xpZW50SGVpZ2h0LCBhbHRvPWMuc2Nyb2xsSGVpZ2h0OwogICAgaWYoYWx0bz5saXZyZSkgYy5zdHlsZS50cmFuc2Zvcm09J3NjYWxlKCcrKGxpdnJlL2FsdG8pLnRvRml4ZWQoMykrJyknOwogICAgLy8gZSBhIG1lc21hIHBpbnR1cmEgYXBhcmVjZSBuYSBnYXJyYWZhIGRhIGZvdG9ncmFmaWEKICAgIE1WR2FycmFmYS5kZXNlbmhhKHZmUGludCxhdHVhbCx2YWxvcmVzLExBTkcpOwogIH0KICBmdW5jdGlvbiBtb250YShjaGF2ZSl7CiAgICBhdHVhbD1jaGF2ZTsgY29uc3Qgbz1PW2NoYXZlXTsgdmFsb3Jlcz17fTsgY2FtcG9zLmlubmVySFRNTD0nJzsKICAgIChvLmNhbXBvc3x8W10pLmZvckVhY2goKFtpZCxsYWJlbCxkZWYsbGFyZ29dLGkpPT57CiAgICAgIHZhbG9yZXNbaWRdPWRlZjsKICAgICAgY29uc3QgZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsgZC5jbGFzc05hbWU9J2NhbXBvJysobGFyZ28\/JyBsYXJnbyc6JycpOwogICAgICBkLmlubmVySFRNTD1gPGxhYmVsIGZvcj0ibV8ke2lkfSI+JHtlc2MobGFiZWwpfTwvbGFiZWw+PGlucHV0IGlkPSJtXyR7aWR9IiBtYXhsZW5ndGg9IiR7KGlkPT09J3BvcnF1ZSd8fGlkPT09J2NhcmdvJyk\/NDA6MjR9IiBhdXRvY29tcGxldGU9Im9mZiIgdmFsdWU9IiIgcGxhY2Vob2xkZXI9IkVqLjogJHtlc2MoZGVmKX0iPmA7CiAgICAgIGQucXVlcnlTZWxlY3RvcignaW5wdXQnKS5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsZT0+e3ZhbG9yZXNbaWRdPWUudGFyZ2V0LnZhbHVlLnRyaW0oKXx8ZGVmO3BpbnRhKCk7fSk7CiAgICAgIGNhbXBvcy5hcHBlbmRDaGlsZChkKTsKICAgIH0pOwogICAgaWYoby5sb2dvKXsKICAgICAgY29uc3QgZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsgZC5jbGFzc05hbWU9J2NhbXBvIGxhcmdvJzsKICAgICAgZC5pbm5lckhUTUw9JzxzcGFuIGNsYXNzPSJ2LXpvbmEiIHN0eWxlPSJmb250LXNpemU6MTNweCI+TG9nb3RpcG8gZGUgbGEgZW1wcmVzYTwvc3Bhbj48ZGl2IGNsYXNzPSJmaWNoZWlybyI+PGlucHV0IGlkPSJtX2xvZ28iIHR5cGU9ImZpbGUiIGFjY2VwdD0iaW1hZ2UvKiI+PGxhYmVsIGNsYXNzPSJib3Rhby1mIiBmb3I9Im1fbG9nbyI+Q2FyZ2FyIGFyY2hpdm88L2xhYmVsPjxzcGFuIGlkPSJtX2xvZ29fbm9tZSI+TmluZ8O6biBhcmNoaXZvIHNlbGVjY2lvbmFkbzwvc3Bhbj48L2Rpdj4nOwogICAgICBkLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJyxlPT57CiAgICAgICAgY29uc3QgZj1lLnRhcmdldC5maWxlcyYmZS50YXJnZXQuZmlsZXNbMF07IGlmKCFmKSByZXR1cm47CiAgICAgICAgZC5xdWVyeVNlbGVjdG9yKCcjbV9sb2dvX25vbWUnKS50ZXh0Q29udGVudD1mLm5hbWU7CiAgICAgICAgY29uc3QgZnI9bmV3IEZpbGVSZWFkZXIoKTsgZnIub25sb2FkPSgpPT57bG9nb1VSTD1mci5yZXN1bHQ7cGludGEoKTt9OyBmci5yZWFkQXNEYXRhVVJMKGYpOwogICAgICB9KTsKICAgICAgY2FtcG9zLmFwcGVuZENoaWxkKGQpOwogICAgfQogICAgbm90YS5oaWRkZW49IW8ubm90YTsgbm90YS50ZXh0Q29udGVudD1vLm5vdGF8fCcnOwogICAgcGludGEoKTsKICB9CiAgY29uc3QgZm90bz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZWRpdG9yRm90bycpOwogIGZ1bmN0aW9uIGFndWxoYVZpZGEoYnRuKXsKICAgIGNvbnN0IGxpbmhhPWJ0bi5jbG9zZXN0KCcudmlkYS1saW5oYScpOyBpZighbGluaGF8fGxpbmhhLmhpZGRlbikgcmV0dXJuOwogICAgY29uc3QgYWc9bGluaGEucXVlcnlTZWxlY3RvcignLmFndWxoYS12aWRhJyksIHI9bGluaGEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksIGI9YnRuLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgYWcuc3R5bGUubGVmdD0oYi5sZWZ0LXIubGVmdCtsaW5oYS5zY3JvbGxMZWZ0KSsncHgnOyBhZy5zdHlsZS53aWR0aD1iLndpZHRoKydweCc7CiAgfQogIGZ1bmN0aW9uIGVzY29saGUoYnRuKXsKICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5vY2FzaWFvJykuZm9yRWFjaCh4PT54LnNldEF0dHJpYnV0ZSgnYXJpYS1wcmVzc2VkJyx4PT09YnRuPyd0cnVlJzonZmFsc2UnKSk7CiAgICBtb250YShidG4uZGF0YXNldC5vKTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlZGl0b3JOb21lJykudGV4dENvbnRlbnQ9YnRuLnF1ZXJ5U2VsZWN0b3IoJ2InKS50ZXh0Q29udGVudDsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlZGl0b3JTdWInKS50ZXh0Q29udGVudD1idG4uZGF0YXNldC5zdWJ8fCcnOwogICAgY29uc3Qgbm92bz0naHR0cHM6Ly9tb3J2YWxsZXkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL212bmF0YWwtbS0nK2J0bi5kYXRhc2V0Lm8rKE1WR2FycmFmYS50ZW0oYnRuLmRhdGFzZXQubyk\/Jy1saW1wYSc6JycpKycud2VicCc7CiAgICBpZihmb3RvICYmICFmb3RvLnNyYy5lbmRzV2l0aChub3ZvKSl7CiAgICAgIGZvdG8uY2xhc3NMaXN0LmFkZCgndHJvY2EnKTsgdmZQaW50LmNsYXNzTGlzdC5hZGQoJ3Ryb2NhJyk7CiAgICAgIHNldFRpbWVvdXQoKCk9Pntmb3RvLnNyYz1ub3ZvOyBmb3RvLm9ubG9hZD0oKT0+e2ZvdG8uY2xhc3NMaXN0LnJlbW92ZSgndHJvY2EnKTt2ZlBpbnQuY2xhc3NMaXN0LnJlbW92ZSgndHJvY2EnKTt9OyBzZXRUaW1lb3V0KCgpPT57Zm90by5jbGFzc0xpc3QucmVtb3ZlKCd0cm9jYScpO3ZmUGludC5jbGFzc0xpc3QucmVtb3ZlKCd0cm9jYScpO30sNDAwKTt9LDE4MCk7CiAgICB9CiAgICBhZ3VsaGFWaWRhKGJ0bik7CiAgICBpZihtYXRjaE1lZGlhKCcobWF4LXdpZHRoOjg2MHB4KScpLm1hdGNoZXMpIGJ0bi5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6J3Ntb290aCcsaW5saW5lOidjZW50ZXInLGJsb2NrOiduZWFyZXN0J30pOwogIH0KICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcub2Nhc2lhbycpLmZvckVhY2goYnRuPT5idG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCgpPT5lc2NvbGhlKGJ0bikpKTsKICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuYWJhJykuZm9yRWFjaChhPT5hLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywoKT0+ewogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmFiYScpLmZvckVhY2goeD0+eC5zZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcseD09PWE\/J3RydWUnOidmYWxzZScpKTsKICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy52aWRhLWxpbmhhJykuZm9yRWFjaChsPT5sLmhpZGRlbj1sLmRhdGFzZXQuYWJhIT09YS5kYXRhc2V0LmFiYSk7CiAgICBlc2NvbGhlKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy52aWRhLWxpbmhhW2RhdGEtYWJhPSInK2EuZGF0YXNldC5hYmErJyJdIC5vY2FzaWFvJykpOwogIH0pKTsKICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywoKT0+e2NvbnN0IGI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm9jYXNpYW9bYXJpYS1wcmVzc2VkPSJ0cnVlIl0nKTsgaWYoYikgYWd1bGhhVmlkYShiKTt9KTsKICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pntjb25zdCBiPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5vY2FzaWFvW2FyaWEtcHJlc3NlZD0idHJ1ZSJdJyk7IGlmKGIpIGFndWxoYVZpZGEoYik7fSk7CiAgZG9jdW1lbnQuZm9udHMmJmRvY3VtZW50LmZvbnRzLnJlYWR5LnRoZW4oKCk9Pntjb25zdCBiPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5vY2FzaWFvW2FyaWEtcHJlc3NlZD0idHJ1ZSJdJyk7IGlmKGIpIGFndWxoYVZpZGEoYik7fSk7CiAgbW9udGEoJ2FuaXZlcnNhcmlvJyk7Cn0pKCk7Cg==\"><\/script><script src=\"data:text\/javascript;base64,Ci8qIEx1eiB2aXZhOiBub3MgNTAgYW5vcyBlIG5vIHPDqWN1bG8gYSBsdXogw6kgYSBkbyBzb2wgc29icmUgbyBWYWxlIGRvIERvdXJvLCBhZ29yYS4KICAgQW8gY2hlZ2FyLCBhIHNvbWJyYSBwYXJ0ZSBkYSBwb3Npw6fDo28gZml4YSBkYXMgb3V0cmFzIGdhcnJhZmFzIChhcyBkZXogZGEgbWFuaMOjKSBlIHZhaSBhdMOpIMOgIHZlcmRhZGVpcmEuICovCihmdW5jdGlvbigpewogIGNvbnN0IExBVD00MS4xODk5LCBMT049LTcuODE1MCwgUz0xMDAwOwogIGNvbnN0IHJlZHV6PW1hdGNoTWVkaWEoJyhwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpJykubWF0Y2hlczsKICBjb25zdCByYWQ9TWF0aC5QSS8xODAsIGRheU1zPTg2NDAwMDAwLCBKMTk3MD0yNDQwNTg4LCBKMjAwMD0yNDUxNTQ1OwogIGZ1bmN0aW9uIHNvbChkYXRlKXsKICAgIGNvbnN0IGQ9ZGF0ZS52YWx1ZU9mKCkvZGF5TXMtMC41K0oxOTcwLUoyMDAwOwogICAgY29uc3QgTT1yYWQqKDM1Ny41MjkxKzAuOTg1NjAwMjgqZCk7CiAgICBjb25zdCBDPXJhZCooMS45MTQ4Kk1hdGguc2luKE0pKzAuMDIqTWF0aC5zaW4oMipNKSswLjAwMDMqTWF0aC5zaW4oMypNKSk7CiAgICBjb25zdCBMPU0rQytyYWQqMTAyLjkzNzIrTWF0aC5QSSwgZT1yYWQqMjMuNDM5NzsKICAgIGNvbnN0IGRlYz1NYXRoLmFzaW4oTWF0aC5zaW4oZSkqTWF0aC5zaW4oTCkpOwogICAgY29uc3QgcmE9TWF0aC5hdGFuMihNYXRoLnNpbihMKSpNYXRoLmNvcyhlKSxNYXRoLmNvcyhMKSk7CiAgICBjb25zdCBIPXJhZCooMjgwLjE2KzM2MC45ODU2MjM1KmQpLXJhZCooLUxPTiktcmEsIHBoaT1yYWQqTEFUOwogICAgY29uc3QgYWx0PU1hdGguYXNpbihNYXRoLnNpbihwaGkpKk1hdGguc2luKGRlYykrTWF0aC5jb3MocGhpKSpNYXRoLmNvcyhkZWMpKk1hdGguY29zKEgpKTsKICAgIGNvbnN0IGF6PU1hdGguYXRhbjIoTWF0aC5zaW4oSCksTWF0aC5jb3MoSCkqTWF0aC5zaW4ocGhpKS1NYXRoLnRhbihkZWMpKk1hdGguY29zKHBoaSkpK01hdGguUEk7CiAgICByZXR1cm4ge2FsdDphbHQvcmFkLCBhen07CiAgfQogIGNvbnN0IGZtdD1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCgnZW4tR0InLHt0aW1lWm9uZTonRXVyb3BlL0xpc2JvbicseWVhcjonbnVtZXJpYycsbW9udGg6JzItZGlnaXQnLGRheTonMi1kaWdpdCcsaG91cjonMi1kaWdpdCcsbWludXRlOicyLWRpZ2l0Jyxob3VyQ3ljbGU6J2gyMyd9KTsKICBmdW5jdGlvbiBwYXJ0ZXMoZHQpe2NvbnN0IG89e307Zm10LmZvcm1hdFRvUGFydHMoZHQpLmZvckVhY2gocD0+b1twLnR5cGVdPXAudmFsdWUpO3JldHVybiBvO30KICBmdW5jdGlvbiBkZXN2aW8oZHQpe2NvbnN0IHA9cGFydGVzKGR0KTtyZXR1cm4gKERhdGUuVVRDKCtwLnllYXIsK3AubW9udGgtMSwrcC5kYXksK3AuaG91ciwrcC5taW51dGUpLU1hdGguZmxvb3IoZHQudmFsdWVPZigpLzYwMDAwKSo2MDAwMCkvNjAwMDA7fQogIGNvbnN0IGhvamU9cGFydGVzKG5ldyBEYXRlKCkpOwogIGZ1bmN0aW9uIGluc3RhbnRlKG1pbil7Y29uc3QgZz1EYXRlLlVUQygraG9qZS55ZWFyLCtob2plLm1vbnRoLTEsK2hvamUuZGF5LDAsbWluKTtsZXQgdD1uZXcgRGF0ZShnLWRlc3ZpbyhuZXcgRGF0ZShnKSkqNjAwMDApO3JldHVybiBuZXcgRGF0ZShnLWRlc3Zpbyh0KSo2MDAwMCk7fQogIGZ1bmN0aW9uIG1pbnV0b0Fnb3JhKCl7Y29uc3QgcD1wYXJ0ZXMobmV3IERhdGUoKSk7cmV0dXJuICgrcC5ob3VyKSo2MCsoK3AubWludXRlKTt9CiAgY29uc3QgaGhtbT1tPT5TdHJpbmcoTWF0aC5mbG9vcihtLzYwKSUyNCkucGFkU3RhcnQoMiwnMCcpKyc6JytTdHJpbmcoTWF0aC5mbG9vcihtJTYwKSkucGFkU3RhcnQoMiwnMCcpOwogIGxldCBuYXNjZT00MjAsIHBvZT0xMDgwOwogIGZvcihsZXQgbT0xO208MTQ0MDttKyspe2NvbnN0IGE9c29sKGluc3RhbnRlKG0pKS5hbHQsYj1zb2woaW5zdGFudGUobS0xKSkuYWx0O2lmKGI8LTAuODMzJiZhPj0tMC44MzMpbmFzY2U9bTtpZihiPj0tMC44MzMmJmE8LTAuODMzKXBvZT1tO30KCiAgY29uc3QgbWlzdHVyYT0oYSxiLHQpPT5hLm1hcCgodixpKT0+disoYltpXS12KSp0KTsKICBmdW5jdGlvbiBsdXooYWx0KXsKICAgIGNvbnN0IFA9W1stOCxbODAsMTAwLDE1MF0sMC4xNl0sWy0zLFsxMTAsMTEwLDE2MF0sMC4xOF0sWzAsWzI1NSwxMjAsNjBdLDAuMzVdLFs2LFsyNTUsMTYwLDgwXSwwLjc1XSxbMTUsWzI1NSwxOTgsMTMwXSwwLjk1XSxbMzAsWzI1NSwyMzAsMTkwXSwxLjBdLFs2MCxbMjU1LDI0NSwyMzJdLDEuMF1dOwogICAgaWYoYWx0PD1QWzBdWzBdKSByZXR1cm4ge2NvcjpQWzBdWzFdLGk6UFswXVsyXX07CiAgICBmb3IobGV0IGs9MTtrPFAubGVuZ3RoO2srKykgaWYoYWx0PD1QW2tdWzBdKXtjb25zdCB0PShhbHQtUFtrLTFdWzBdKS8oUFtrXVswXS1QW2stMV1bMF0pO3JldHVybiB7Y29yOm1pc3R1cmEoUFtrLTFdWzFdLFBba11bMV0sdCksaTpQW2stMV1bMl0rKFBba11bMl0tUFtrLTFdWzJdKSp0fTt9CiAgICByZXR1cm4ge2NvcjpQW1AubGVuZ3RoLTFdWzFdLGk6MX07CiAgfQogIC8vIGVzdGFkbyBkYSBsdXogcGFyYSB1bSBtaW51dG86IHZlY3RvciBkYSBzb21icmEsIGNvciwgaW50ZW5zaWRhZGUKICBmdW5jdGlvbiBlc3RhZG8obWluKXsKICAgIGNvbnN0IHthbHQsYXp9PXNvbChpbnN0YW50ZShtaW4pKTsgY29uc3QgTD1sdXooYWx0KTsKICAgIGNvbnN0IG5vaXRlPWFsdDwtNiwgZWxldj1NYXRoLm1heChhbHQsMik7CiAgICBjb25zdCBjb21wPW5vaXRlPzEuMTpNYXRoLm1pbigzLjYsMS9NYXRoLnRhbihlbGV2KnJhZCkpOwogICAgY29uc3QgYXp2PW5vaXRlP01hdGguUEkqMS4yNTpheiwgbGVuPVMqMC4wNzUqY29tcDsKICAgIHJldHVybiB7dng6LU1hdGguc2luKGF6dikqbGVuLCB2eTpNYXRoLmNvcyhhenYpKmxlbiwgY29tcCwgY29yOkwuY29yLCBJOkwuaSwgbm9pdGUsIGFsdH07CiAgfQogIC8vIGEgcG9zacOnw6NvIGZpeGEgZGFzIG91dHJhcyBnYXJyYWZhczogc29sIGRlIGNpbWEgw6AgZXNxdWVyZGEsIHNvbWJyYSBwYXJhIGJhaXhvIMOgIGRpcmVpdGEKICBjb25zdCBmaXhvPXt2eDpTKjAuMTAsIHZ5OlMqMC4wNzUsIGNvbXA6MS40LCBjb3I6WzI1NSwyMjYsMTgwXSwgSTowLjk1LCBub2l0ZTpmYWxzZSwgYWx0OjM1fTsKICBjb25zdCBsaWdhPShhLGIsdCk9Pih7dng6YS52eCsoYi52eC1hLnZ4KSp0LCB2eTphLnZ5KyhiLnZ5LWEudnkpKnQsIGNvbXA6YS5jb21wKyhiLmNvbXAtYS5jb21wKSp0LCBjb3I6bWlzdHVyYShhLmNvcixiLmNvcix0KSwgSTphLkkrKGIuSS1hLkkpKnQsIG5vaXRlOnQ8MC41P2Eubm9pdGU6Yi5ub2l0ZSwgYWx0OmIuYWx0fSk7CgogIC8qIGEgcmFtYWRhOiBmb2xoYXMgZGUgdmlkZWlyYSwgdW1hIHPDsyB2ZXogcGFyYSBhcyBkdWFzIGdhcnJhZmFzICovCiAgY29uc3QgcmFtYWRhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOyByYW1hZGEud2lkdGg9UyoyOyByYW1hZGEuaGVpZ2h0PVMqMjsKICAoZnVuY3Rpb24oKXsKICAgIGNvbnN0IHI9cmFtYWRhLmdldENvbnRleHQoJzJkJyk7IGlmKCdmaWx0ZXInIGluIHIpIHIuZmlsdGVyPSdibHVyKDdweCknOwogICAgY29uc3QgdG1wPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOyB0bXAud2lkdGg9UyoyOyB0bXAuaGVpZ2h0PVMqMjsgY29uc3QgeD10bXAuZ2V0Q29udGV4dCgnMmQnKTsKICAgIGxldCBzZD03OyBjb25zdCBybmQ9KCk9PntzZD0oc2QqMTY4MDcpJTIxNDc0ODM2NDc7cmV0dXJuIHNkLzIxNDc0ODM2NDc7fTsKICAgIGZ1bmN0aW9uIGZvbGhhKGN4LGN5LHQsYW5nKXt4LnNhdmUoKTt4LnRyYW5zbGF0ZShjeCxjeSk7eC5yb3RhdGUoYW5nKTt4LmJlZ2luUGF0aCgpOwogICAgICBmb3IobGV0IGk9MDtpPD0yMDA7aSsrKXtjb25zdCB0aD1pLzIwMCpNYXRoLlBJKjI7bGV0IHJyPTErMC4yKk1hdGguY29zKDUqdGgrTWF0aC5QSS8yKSswLjAzNSpNYXRoLmNvcygxOSp0aCk7Y29uc3QgYng9TWF0aC5jb3ModGgtTWF0aC5QSS8yKTtpZihieD4wLjgyKXJyKj0xLShieC0wLjgyKSozLjI7Y29uc3QgcHg9TWF0aC5jb3ModGgpKnJyKnQscHk9TWF0aC5zaW4odGgpKnJyKnQ7aT94LmxpbmVUbyhweCxweSk6eC5tb3ZlVG8ocHgscHkpO30KICAgICAgeC5jbG9zZVBhdGgoKTt4LmZpbGwoKTt4LmxpbmVXaWR0aD10KjAuMDg7eC5iZWdpblBhdGgoKTt4Lm1vdmVUbygwLHQqMC4yKTt4LmxpbmVUbygwLHQqMS41KTt4LnN0cm9rZSgpO3gucmVzdG9yZSgpO30KICAgIHguZmlsbFN0eWxlPScjMDAwJzt4LnN0cm9rZVN0eWxlPScjMDAwJzsKICAgIHgubGluZVdpZHRoPTY7eC5iZWdpblBhdGgoKTt4Lm1vdmVUbygwLFMqMC41Mik7eC5iZXppZXJDdXJ2ZVRvKFMqMC43LFMqMC40MixTKjEuMyxTKjAuNjIsUyoyLFMqMC41KTt4LnN0cm9rZSgpOwogICAgeC5saW5lV2lkdGg9NDt4LmJlZ2luUGF0aCgpO3gubW92ZVRvKFMqMC4yLDApO3guYmV6aWVyQ3VydmVUbyhTKjAuNSxTKjAuNixTKjAuOSxTKjAuOSxTKjEuNCxTKjIpO3guc3Ryb2tlKCk7CiAgICBbWzAuNDUsMC40Ml0sWzAuNjIsMC41XSxbMC40MiwwLjY4XSxbMS42MiwxLjVdLFsxLjQ1LDEuNjJdLFsxLjcsMS4zXV0uZm9yRWFjaCgoW2N4LGN5XSk9Pntjb25zdCBuPTMrTWF0aC5mbG9vcihybmQoKSozKTtmb3IobGV0IGs9MDtrPG47aysrKWZvbGhhKFMqKGN4KyhybmQoKS0wLjUpKjAuMjgpLFMqKGN5KyhybmQoKS0wLjUpKjAuMjIpLFMqKDAuMDcrcm5kKCkqMC4wMzUpLChybmQoKS0wLjUpKjEuMitNYXRoLlBJKTt9KTsKICAgIHIuZHJhd0ltYWdlKHRtcCwwLDApOwogIH0pKCk7CgogIGNvbnN0IGhleD1oPT5bMSwzLDVdLm1hcChpPT5wYXJzZUludChoLnNsaWNlKGksaSsyKSwxNikpOwoKICBmdW5jdGlvbiBHYXJyYWZhKGZpZyl7CiAgICBjb25zdCBjdj1maWcucXVlcnlTZWxlY3RvcignY2FudmFzJyksIGN0eD1jdi5nZXRDb250ZXh0KCcyZCcpLCB0ZW1GaWx0cm89J2ZpbHRlcicgaW4gY3R4OwogICAgY29uc3QgZnVuZG89aGV4KGZpZy5kYXRhc2V0LmZ1bmRvKSwgYmFzZT1mdW5kby5tYXAodj0+diowLjc4fDApOwogICAgY29uc3QgaW1nPW5ldyBJbWFnZSgpOwogICAgY29uc3QgY2FtYWRhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO2NhbWFkYS53aWR0aD1TO2NhbWFkYS5oZWlnaHQ9Uztjb25zdCBsYz1jYW1hZGEuZ2V0Q29udGV4dCgnMmQnKTsKICAgIGNvbnN0IGdjYW49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyksIGdjPWdjYW4uZ2V0Q29udGV4dCgnMmQnKTsKICAgIGxldCBtYXNjLHZpbmhvLGd3LGdoLCBwcm9udG89ZmFsc2U7CiAgICBjb25zdCBsZWc9ZmlnLnBhcmVudEVsZW1lbnQucXVlcnlTZWxlY3RvcignLmx1ei1hZ29yYSBzcGFuJyksIGJ0PWZpZy5wYXJlbnRFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5sdXotYWdvcmEgYnV0dG9uJyk7CiAgICBsZXQgbW9kbz0nY2hlZ2FkYScsIHQwPTAsIHZpc2l2ZWw9ZmFsc2UsIHVsdGltbz0nJzsKICAgIGNvbnN0IGltZ1Y9bmV3IEltYWdlKCk7IGxldCBjYXJyZWdhZGFzPTA7IGNvbnN0IHRvdGFsPWZpZy5kYXRhc2V0LnZpbmhvPzI6MTsKICAgIGlmKGZpZy5kYXRhc2V0LnZpbmhvKXtpbWdWLm9ubG9hZD0oKT0+e2lmKCsrY2FycmVnYWRhcz09PXRvdGFsKXByZXBhcmEoKTt9O2ltZ1Yuc3JjPWZpZy5kYXRhc2V0LnZpbmhvO30KICAgIGltZy5vbmxvYWQ9KCk9PntpZigrK2NhcnJlZ2FkYXM9PT10b3RhbClwcmVwYXJhKCk7fTsKICAgIGZ1bmN0aW9uIHByZXBhcmEoKXsKICAgICAgZ2g9TWF0aC5yb3VuZChTKjAuNjIpOyBndz1NYXRoLnJvdW5kKGltZy53aWR0aCpnaC9pbWcuaGVpZ2h0KTsKICAgICAgY29uc3QgYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtjLndpZHRoPWd3O2MuaGVpZ2h0PWdoO2NvbnN0IHg9Yy5nZXRDb250ZXh0KCcyZCcpO3guZHJhd0ltYWdlKGltZywwLDAsZ3csZ2gpOwogICAgICBjb25zdCBwPXguZ2V0SW1hZ2VEYXRhKDAsMCxndyxnaCkuZGF0YTsKICAgICAgbGV0IHB2PW51bGw7CiAgICAgIGlmKHRvdGFsPT09Mil7Y29uc3QgY3YyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO2N2Mi53aWR0aD1ndztjdjIuaGVpZ2h0PWdoO2NvbnN0IHgyPWN2Mi5nZXRDb250ZXh0KCcyZCcpO3gyLmRyYXdJbWFnZShpbWdWLDAsMCxndyxnaCk7cHY9eDIuZ2V0SW1hZ2VEYXRhKDAsMCxndyxnaCkuZGF0YTt9CiAgICAgIG1hc2M9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7bWFzYy53aWR0aD1ndzttYXNjLmhlaWdodD1naDtjb25zdCBteD1tYXNjLmdldENvbnRleHQoJzJkJyksbWQ9bXguY3JlYXRlSW1hZ2VEYXRhKGd3LGdoKTsKICAgICAgdmluaG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7dmluaG8ud2lkdGg9Z3c7dmluaG8uaGVpZ2h0PWdoO2NvbnN0IHZ4PXZpbmhvLmdldENvbnRleHQoJzJkJyksdmQ9dnguY3JlYXRlSW1hZ2VEYXRhKGd3LGdoKTsKICAgICAgZm9yKGxldCBpPTA7aTxwLmxlbmd0aDtpKz00KXttZC5kYXRhW2krM109cFtpKzNdOwogICAgICAgIGNvbnN0IHI9cFtpXSxnPXBbaSsxXSxiPXBbaSsyXSxNPU1hdGgubWF4KHIsZyxiKSxtPU1hdGgubWluKHIsZyxiKSxzYXQ9KE0tbSkvKE0rMSk7CiAgICAgICAgY29uc3Qgdz0oIXB2fHxwdltpKzNdPjIwMCkmJnBbaSszXT4yMDAmJnNhdD4wLjQmJk0+MzAmJiEocj4yMDAmJmc+MjAwKT9NYXRoLm1pbigxLChzYXQtMC40KSozKSpNYXRoLm1pbigxLChNLTMwKS82MCk6MDsKICAgICAgICB2ZC5kYXRhW2ldPTI1NTt2ZC5kYXRhW2krMV09MTUwO3ZkLmRhdGFbaSsyXT01NTt2ZC5kYXRhW2krM109TWF0aC5yb3VuZCh3KjI1NSk7fQogICAgICBteC5wdXRJbWFnZURhdGEobWQsMCwwKTt2eC5wdXRJbWFnZURhdGEodmQsMCwwKTtnY2FuLndpZHRoPWd3O2djYW4uaGVpZ2h0PWdoOwogICAgICBwcm9udG89dHJ1ZTsgZGVzZW5oYShmaXhvLHBlcmZvcm1hbmNlLm5vdygpKTsgZmlnLmNsYXNzTGlzdC5hZGQoJ3Byb250bycpOwogICAgfQogICAgaW1nLnNyYz1maWcuZGF0YXNldC5nYXJyYWZhOwogICAgZnVuY3Rpb24gZGVzZW5oYShFLGFnb3JhKXsKICAgICAgY29uc3QgYnJpc2E9cmVkdXo\/MDpNYXRoLnNpbihhZ29yYS8xNzAwKSo2K01hdGguc2luKGFnb3JhLzczMCkqMi41OwogICAgICBjb25zdCB7dngsdnksY29tcCxjb3IsSSxub2l0ZX09RSwgYng9UyowLjUsIGJ5PVMqMC44MCwgYW5nPU1hdGguYXRhbjIodnksdngpOwogICAgICBjb25zdCBjPS0wLjc1KnZ4L2doLCBkPTEtMC43NSp2eS9naDsKICAgICAgY3R4LnNldFRyYW5zZm9ybSgxLDAsMCwxLDAsMCk7Y3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbj0nc291cmNlLW92ZXInO2N0eC5maWx0ZXI9J25vbmUnO2N0eC5nbG9iYWxBbHBoYT0xOwogICAgICBjdHguZmlsbFN0eWxlPWByZ2IoJHtiYXNlfSlgO2N0eC5maWxsUmVjdCgwLDAsUyxTKTsKICAgICAgbGMuc2V0VHJhbnNmb3JtKDEsMCwwLDEsMCwwKTtsYy5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb249J3NvdXJjZS1vdmVyJztsYy5maWx0ZXI9J25vbmUnO2xjLmdsb2JhbEFscGhhPTE7bGMuY2xlYXJSZWN0KDAsMCxTLFMpOwogICAgICBjb25zdCBrPTAuNSpJOwogICAgICBsYy5zYXZlKCk7bGMudHJhbnNsYXRlKGJ4LGJ5LWdoKjAuNSk7bGMucm90YXRlKGFuZyk7aWYodGVtRmlsdHJvKWxjLmZpbHRlcj0nYmx1cig1cHgpJzsKICAgICAgbGMuZmlsbFN0eWxlPWByZ2IoJHtjb3JbMF0qa3wwfSwke2NvclsxXSprfDB9LCR7Y29yWzJdKmt8MH0pYDtjb25zdCBsYXJnPVMqKDAuNTQrMC4wNCpNYXRoLm1pbihjb21wLDMpKTtsYy5maWxsUmVjdCgtUyoxLjUsLWxhcmcvMixTKjMsbGFyZyk7bGMucmVzdG9yZSgpO2xjLmZpbHRlcj0nbm9uZSc7CiAgICAgIGxjLmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbj0nZGVzdGluYXRpb24tb3V0JztsYy5nbG9iYWxBbHBoYT0wLjc7CiAgICAgIGNvbnN0IG94PU1hdGgubWF4KC1TKjAuNCxNYXRoLm1pbihTKjAuNCx2eCoxLjYpKSticmlzYSwgb3k9TWF0aC5tYXgoLVMqMC40LE1hdGgubWluKFMqMC40LHZ5KjEuNikpK2JyaXNhKjAuNDsKICAgICAgbGMuZHJhd0ltYWdlKHJhbWFkYSwtUyowLjUrb3gsLVMqMC41K295KTsKICAgICAgbGMuZ2xvYmFsQWxwaGE9MC45NDtpZih0ZW1GaWx0cm8pbGMuZmlsdGVyPWBibHVyKCR7KDEuNStjb21wKjEuNCkudG9GaXhlZCgxKX1weClgOwogICAgICBsYy5zZXRUcmFuc2Zvcm0oMSwwLGMsZCxieCt2eCowLjI1LGJ5K3Z5KjAuMjUpO2xjLmRyYXdJbWFnZShtYXNjLC1ndy8yLC1naCxndyxnaCk7CiAgICAgIGxjLnNldFRyYW5zZm9ybSgxLDAsMCwxLDAsMCk7bGMuZmlsdGVyPSdub25lJztsYy5nbG9iYWxBbHBoYT0xO2xjLmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbj0nc291cmNlLW92ZXInOwogICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uPSdsaWdodGVyJztjdHguZHJhd0ltYWdlKGNhbWFkYSwwLDApOwogICAgICBpZighbm9pdGUpe2N0eC5zYXZlKCk7aWYodGVtRmlsdHJvKWN0eC5maWx0ZXI9YGJsdXIoJHsoOCtjb21wKjMpLnRvRml4ZWQoMSl9cHgpYDsKICAgICAgICBjdHguc2V0VHJhbnNmb3JtKDEsMCxjLGQsYngrdngqMC4yNSxieSt2eSowLjI1KTsKICAgICAgICBjdHguZ2xvYmFsQWxwaGE9TWF0aC5taW4oMSxJKjEuMSk7Y3R4LmRyYXdJbWFnZSh2aW5obywtZ3cvMiwtZ2gsZ3csZ2gpOwogICAgICAgIGN0eC5nbG9iYWxBbHBoYT1NYXRoLm1pbigwLjYsSSowLjcpO2N0eC5kcmF3SW1hZ2UodmluaG8sLWd3LzIsLWdoLGd3LGdoKTtjdHgucmVzdG9yZSgpO30KICAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbj0nc291cmNlLW92ZXInOwogICAgICBnYy5zZXRUcmFuc2Zvcm0oMSwwLDAsMSwwLDApO2djLmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbj0nc291cmNlLW92ZXInO2djLmNsZWFyUmVjdCgwLDAsZ3csZ2gpO2djLmRyYXdJbWFnZShpbWcsMCwwLGd3LGdoKTsKICAgICAgZ2MuZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uPSdzb3VyY2UtYXRvcCc7CiAgICAgIGNvbnN0IGc9Z2MuY3JlYXRlTGluZWFyR3JhZGllbnQoMCwwLGd3LDApLCBjbGFybz1gcmdiYSgke2NvclswXXwwfSwke2NvclsxXXwwfSwke2NvclsyXXwwfSwkezAuMTYqSX0pYCwgZXNjPWByZ2JhKDAsMCwwLCR7MC4xMiswLjIyKigxLUkpfSlgOwogICAgICBpZigtdng+MCl7Zy5hZGRDb2xvclN0b3AoMCxlc2MpO2cuYWRkQ29sb3JTdG9wKDAuNTUsJ3JnYmEoMCwwLDAsMCknKTtnLmFkZENvbG9yU3RvcCgxLGNsYXJvKTt9ZWxzZXtnLmFkZENvbG9yU3RvcCgwLGNsYXJvKTtnLmFkZENvbG9yU3RvcCgwLjQ1LCdyZ2JhKDAsMCwwLDApJyk7Zy5hZGRDb2xvclN0b3AoMSxlc2MpO30KICAgICAgZ2MuZmlsbFN0eWxlPWc7Z2MuZmlsbFJlY3QoMCwwLGd3LGdoKTsKICAgICAgaWYobm9pdGUpe2djLmZpbGxTdHlsZT0ncmdiYSgyMCwzMCw2MCwwLjI1KSc7Z2MuZmlsbFJlY3QoMCwwLGd3LGdoKTt9CiAgICAgIGN0eC5kcmF3SW1hZ2UoZ2NhbixieC1ndy8yLGJ5LWdoLGd3LGdoKTsKICAgIH0KICAgIGZ1bmN0aW9uIGxlZ2VuZGEobWluLEUpewogICAgICBjb25zdCB0PShFLmFsdD4tNj8nTHV6IGRlbCBEdWVybyc6J0x1bmEgc29icmUgZWwgRHVlcm8nKSsobW9kbz09PSdkaWEnPycsIGEgbGFzICc6JywgYWhvcmEgwrcgJykraGhtbShtaW4pOwogICAgICBpZih0IT09dWx0aW1vKXtsZWcudGV4dENvbnRlbnQ9dDt1bHRpbW89dDt9CiAgICB9CiAgICBmdW5jdGlvbiBwYXNzbyhhZ29yYSl7CiAgICAgIGlmKCFwcm9udG98fCF2aXNpdmVsKSByZXR1cm47CiAgICAgIGxldCBtaW49bWludXRvQWdvcmEoKSwgRTsKICAgICAgaWYobW9kbz09PSdjaGVnYWRhJyl7CiAgICAgICAgY29uc3QgdD1NYXRoLm1pbigxLChhZ29yYS10MCkvMjYwMCksIGU9dDwwLjU\/Mip0KnQ6MS1NYXRoLnBvdygtMip0KzIsMikvMjsKICAgICAgICBFPWxpZ2EoZml4byxlc3RhZG8obWluKSxyZWR1ej8xOmUpOyBpZih0Pj0xKSBtb2RvPSdhZ29yYSc7CiAgICAgIH0gZWxzZSBpZihtb2RvPT09J2RpYScpewogICAgICAgIGNvbnN0IGR1cj0yMjAwMCwgaW5pPU1hdGgubWF4KDAsbmFzY2UtNTApLCBmaW09TWF0aC5taW4oMTQzOSxwb2UrNzApOwogICAgICAgIG1pbj1pbmkrKGZpbS1pbmkpKigoKGFnb3JhLXQwKSVkdXIpL2R1cik7IEU9ZXN0YWRvKG1pbik7CiAgICAgIH0gZWxzZSBFPWVzdGFkbyhtaW4pOwogICAgICBkZXNlbmhhKEUsYWdvcmEpOyBsZWdlbmRhKG1pbixFKTsKICAgIH0KICAgIGJ0LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywoKT0+ewogICAgICBpZihtb2RvPT09J2RpYScpe21vZG89J2Fnb3JhJztidC50ZXh0Q29udGVudD0nVmVyIHBhc2FyIGVsIGTDrWEnO2J0LnNldEF0dHJpYnV0ZSgnYXJpYS1wcmVzc2VkJywnZmFsc2UnKTt9CiAgICAgIGVsc2V7bW9kbz0nZGlhJzt0MD1wZXJmb3JtYW5jZS5ub3coKTtidC50ZXh0Q29udGVudD0nVm9sdmVyIGEgYWhvcmEnO2J0LnNldEF0dHJpYnV0ZSgnYXJpYS1wcmVzc2VkJywndHJ1ZScpO30KICAgIH0pOwogICAgbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGVzPT5lcy5mb3JFYWNoKGVuPT57CiAgICAgIGNvbnN0IGFudGVzPXZpc2l2ZWw7IHZpc2l2ZWw9ZW4uaXNJbnRlcnNlY3Rpbmc7CiAgICAgIGlmKHZpc2l2ZWwmJiFhbnRlcyYmbW9kbz09PSdjaGVnYWRhJykgdDA9cGVyZm9ybWFuY2Uubm93KCk7CiAgICB9KSx7dGhyZXNob2xkOjAuMzV9KS5vYnNlcnZlKGZpZyk7CiAgICByZXR1cm4gcGFzc287CiAgfQogIGNvbnN0IHRvZG9zPVsuLi5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdmaWd1cmUudml2bycpXS5tYXAoR2FycmFmYSk7CiAgKGZ1bmN0aW9uIGNpY2xvKHQpe3RvZG9zLmZvckVhY2goZj0+Zih0KSk7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGNpY2xvKTt9KShwZXJmb3JtYW5jZS5ub3coKSk7Cn0pKCk7Cg==\"><\/script><script src=\"data:text\/javascript;base64,Ci8qIEZpY2hhcyB0w6ljbmljYXM6IGRhZG9zIHRpcmFkb3MgZGFzIGZpY2hhcyBlIGRhcyBkZXNjcmnDp8O1ZXMgZGUgbW9ydmFsbGV5LmNvbSAqLwooZnVuY3Rpb24oKXsKICBjb25zdCBQREY9J2h0dHBzOi8vbW9ydmFsbGV5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvJzsKICBjb25zdCBGPXsKICAgICd2ZS10aW50byc6e25vbWU6J1ZhbGUgZGUgRXNjYWRhcyBSZXNlcnZhJyx0aXBvOidUaW50byDCtyBEdWVybywgc3VicmVnacOzbiBkZWwgQmFpeG8gQ29yZ28nLGNhc3RhczonVG91cmlnYSBGcmFuY2EsIFRpbnRhIFJvcml6LCBUaW50YSBCYXJyb2NhJywKICAgICAgcHJvdmE6J0NvbG9yIHJ1YsOtIG9wYWNvLCBhcm9tYSBpbnRlbnNvIHkgY29tcGxlam8sIGNvbiBmcnV0b3Mgcm9qb3MgbWFkdXJvcyB5IG5vdGFzIGVzcGVjaWFkYXMuIEVuIGJvY2EgZXMgc3VhdmUgeSBkZW5zbywgY29uIHRhbmlub3MgbWFkdXJvcyB5IG1hZGVyYSBiaWVuIGludGVncmFkYS4gTGEgYWNpZGV6IGVxdWlsaWJyYWRhIHkgbGEgZnJ1dGEgbG8gaGFjZW4gZWxlZ2FudGUsIGxhcmdvIHkgYWdyYWRhYmxlLicsCiAgICAgIHNlcnZpcjonMTYgYSAxOCDCukMnLGRhZG9zOltbJ0Nvc2VjaGEnLCcyMDIxJ10sWydPcmlnZW4nLCdEdWVybyBkZSBhbHR1cmEnXSxbJ1ByZXNlbnRhY2nDs24nLCdDYWphIGRlIDYgYm90ZWxsYXMgZGUgNzUgY2wnXV19LAogICAgJ3ZlLWJyYW5jbyc6e25vbWU6J1ZhbGUgZGUgRXNjYWRhcyBSZXNlcnZhJyx0aXBvOidCbGFuY28gwrcgRHVlcm8sIHN1YnJlZ2nDs24gZGVsIEJhaXhvIENvcmdvJyxjYXN0YXM6J01hbHZhc2lhIEZpbmEsIEPDs2RlZ2EsIFJhYmlnYXRvJywKICAgICAgcHJvdmE6J0NvbG9yIGPDrXRyaWNvIGJyaWxsYW50ZS4gQXJvbWEgZmlubyB5IGZyZXNjbywgY29uIG5vdGFzIGPDrXRyaWNhcyB5IHVuIHRvcXVlIGRlIG1hbmRhcmluYS4gUGFsYWRhciBlbGVnYW50ZSB5IHN1YXZlLCBjb24gbGEgYWNpZGV6IGVuIGVxdWlsaWJyaW8gZW50cmUgbGEgZXN0cnVjdHVyYSB5IGxhIGZyZXNjdXJhIG1pbmVyYWwuIEZpbmFsIGxhcmdvIHkgdml2by4nLAogICAgICBzZXJ2aXI6JzggYSAxMCDCukMnLAogICAgICBkYWRvczpbWydDb3NlY2hhJywnMjAyMiddLFsnQWxjb2hvbCcsJzEyLDUgJSddLFsnT3JpZ2VuJywnRHVlcm8gZGUgYWx0dXJhJ10sWydCb3RlbGxhJywnQm9yZ2\/DsWEsIDc1IGNsJ10sWydQcmVzZW50YWNpw7NuJywnQ2FqYSBkZSA2IGJvdGVsbGFzIGRlIDc1IGNsJ11dfSwKICAgICdyZXMtYnJhbmNvJzp7bm9tZTonTW9yVmFsbGV5IFJlc2VydmEnLHRpcG86J0JsYW5jbyDCtyBEdWVybyDCtyAyMDIyJyxjYXN0YXM6J0PDs2RlZ2EsIENlcmNlYWwsIFZpb3NpbmhvLCBSYWJpZ2F0bycsCiAgICAgIHByb3ZhOidDb2xvciBjw610cmljby4gQXJvbWEgZmxvcmFsIGNvbiBub3RhcyBkZSBtYWRlcmEsIHZhaW5pbGxhIHkgZnJ1dG9zIGJsYW5jb3MuIEVuIGJvY2EgZXMgZXF1aWxpYnJhZG8sIGxpZ2VyYW1lbnRlIGR1bGNlIHkgbXV5IGNvbXBsZWpvLCBjb24gdW4gZmluYWwgZnJlc2NvIHkgcGVyc2lzdGVudGUuJywKICAgICAgc2VydmlyOicxMCBhIDEyIMK6QycsZ3VhcmRhcjonVHVtYmFkYSwgYWwgYWJyaWdvIGRlIGxhIGx1eiwgYSB0ZW1wZXJhdHVyYSBjb25zdGFudGUgeSBtb2RlcmFkYS4nLAogICAgICBkYWRvczpbWydDb3NlY2hhJywnMjAyMiddLFsnQWxjb2hvbCcsJzEzICUnXSxbJ0FjaWRleiB0b3RhbCcsJzUsOCBnL2RtwrMnXSxbJ0F6w7pjYXJlcyB0b3RhbGVzJywnPCAyLDQgZy9kbcKzJ10sWydwSCcsJzMsMzInXSxbJ0JvdGVsbGEnLCdCb3Jnb8OxYSwgNzUgY2wnXV0sCiAgICAgIHBkZjonMjAyMy8xMC9mdC1tb3J2YWxsZXktcmVzZXJ2YV9icmFuY28ucGRmJ30sCiAgICAncmVzLXRpbnRvJzp7bm9tZTonTW9yVmFsbGV5IFJlc2VydmEnLHRpcG86J1RpbnRvIMK3IER1ZXJvIMK3IDIwMjInLGNhc3RhczonVG91cmlnYSBOYWNpb25hbCwgVG91cmlnYSBGcmFuY2EnLAogICAgICBwcm92YTonQ29sb3IgcnViw60gb3BhY28sIGFyb21hIGludGVuc28geSBjb21wbGVqbywgY29uIGZydXRvcyByb2pvcyBtYWR1cm9zIHkgbm90YXMgZXNwZWNpYWRhcy4gRW4gYm9jYSBlcyBpbnRlbnNvLCBzdWF2ZSB5IGRlbnNvLCBjb24gdGFuaW5vcyBkZSBjYWxpZGFkIHkgbWFkZXJhIGJpZW4gaW50ZWdyYWRhLiBFbGVnYW50ZSwgbGFyZ28geSBhZ3JhZGFibGUuJywKICAgICAgc2VydmlyOicxNiBhIDE4IMK6QycsbWVzYTonQ2FybmUgcm9qYSwgY2F6YSwgYXNhZG9zIHkgZ3Vpc29zLicsCiAgICAgIGRhZG9zOltbJ0Nvc2VjaGEnLCcyMDIyJ10sWydBbGNvaG9sJywnMTMsNSAlJ10sWydBY2lkZXogdG90YWwnLCc0LDggZy9kbcKzJ10sWydBesO6Y2FyZXMgdG90YWxlcycsJzwgMCw3IGcvZG3CsyddLFsncEgnLCczLDcwJ10sWydFbnZlamVjaW1pZW50bycsJ03DoXMgZGUgNSBhw7FvcyddLFsnQm90ZWxsYScsJ0Jvcmdvw7FhLCA3NSBjbCddXSwKICAgICAgcGRmOicyMDIzLzEwL2Z0LW1vcnZhbGxleS1yZXNlcnZhX3RpbnRvLnBkZid9LAogICAgJ3RvdXJpZ2EnOntub21lOidNb3JWYWxsZXkgVG91cmlnYSBOYWNpb25hbCcsdGlwbzonVGludG8gwrcgRHVlcm8gwrcgbW9ub3ZhcmlldGFsJyxjYXN0YXM6J1RvdXJpZ2EgTmFjaW9uYWwnLAogICAgICBwcm92YTonQ29sb3IgcnViw60gdml2byB5IG9wYWNvLiBBcm9tYSBpbnRlbnNvIHkgY29tcGxlam8sIGNvbiBtb3JhIHkgY2lydWVsYSBtYWR1cmFzLCBub3RhcyBmbG9yYWxlcywgbWVudGEgeSBjaG9jb2xhdGUuIEVuIGJvY2EgZXMgaW50ZW5zbywgZGVuc28geSBzdWF2ZSwgY29uIHRhbmlub3MgcmVkb25kb3MgeSBmcmVzY29zLiBFbGVnYW50ZSwgZ29sb3NvIHkgbGFyZ28uJywKICAgICAgZGFkb3M6W1snQWxjb2hvbCcsJzE0LDUgJSddLFsnQWNpZGV6IHRvdGFsJywnNCw3IGcvZG3CsyddLFsnQXrDumNhcmVzIHRvdGFsZXMnLCc8IDAsNiBnL2RtwrMnXSxbJ3BIJywnMyw3MSddLFsnRW52ZWplY2ltaWVudG8nLCdNw6FzIGRlIDggYcOxb3MnXSxbJ0JvdGVsbGEnLCdCb3Jnb8OxYSwgNzUgY2wnXV0sCiAgICAgIHByZW1pb3M6J0lXQyAyMDE3LCBQbGF0YSDCtyBEZWNhbnRlciAyMDE3LCBCcm9uY2UnLHBkZjonMjAyMy8xMC9mdC1tb3J2YWxsZXktdG91cmlnYS1uYWNpb25hbC10aW50by5wZGYnfSwKICAgICdnci10aW50byc6e25vbWU6J01vclZhbGxleSBHcmFuZGUgUmVzZXJ2YScsdGlwbzonVGludG8gwrcgRHVlcm8gwrcgMjAxNicsY2FzdGFzOidUb3VyaWdhIE5hY2lvbmFsLCBUb3VyaWdhIEZyYW5jYScsCiAgICAgIHZpbmlmaWNhY2FvOidVdmFzIHNlbGVjY2lvbmFkYXMgYSBtYW5vIGVuIG1lc2EgZGUgc2VsZWNjacOzbi4gRmVybWVudGFjacOzbiBlbiBhY2VybyBpbm94aWRhYmxlIGR1cmFudGUgMjAgZMOtYXMsIGEgMjDigJMyMiDCukMuIENyaWFuemEgZGUgMTEgbWVzZXMgZW4gcm9ibGUsIDYwICUgZnJhbmPDqXMgeSA0MCAlIGFtZXJpY2Fuby4nLAogICAgICBwcm92YTonQ29sb3IgcnViw60gaW50ZW5zby4gTGEgZmlybWEgZmxvcmFsIGRlIGxhIFRvdXJpZ2EgTmFjaW9uYWwsIHZpb2xldGFzIHkgbWluZXJhbGVzLCBjb24gdmFpbmlsbGEsIGVzcGVjaWFzLCBjaXJ1ZWxhIHkgYXLDoW5kYW5vLiBFbiBib2NhIGVzIGZpcm1lLCBkZW5zbyB5IHZvbHVtaW5vc28sIGRlIGFjaWRleiBlcXVpbGlicmFkYS4gRmluYWwgbXV5IGxhcmdvLCBmcmVzY28geSBhcm1vbmlvc28uJywKICAgICAgc2VydmlyOicxNiBhIDE4IMK6QyDCtyBkZWNhbnRhciAxIGEgMiBob3JhcyBhbnRlcycsCiAgICAgIGRhZG9zOltbJ0Nvc2VjaGEnLCcyMDE2J10sWydBbGNvaG9sJywnMTMsNSAlJ10sWydBY2lkZXogdG90YWwnLCc1IGcvZG3CsyddLFsnQXrDumNhcmVzIHRvdGFsZXMnLCc0LDQgZy9kbcKzJ10sWydwSCcsJzMsMzInXSxbJ0VudmVqZWNpbWllbnRvJywnTcOhcyBkZSAzIGHDsW9zJ10sWydCb3RlbGxhJywnQm9yZGVsZXNhIHByZXN0aWdlLCA3NSBjbCddXSwKICAgICAgcGRmOicyMDIzLzEwL2Z0LW1vcnZhbGV5LWdyZW5kZS1yZXNlcnZhLXRpbnRvLnBkZid9LAogICAgJ2dyLWJyYW5jbyc6e25vbWU6J01vclZhbGxleSBHcmFuZGUgUmVzZXJ2YScsdGlwbzonQmxhbmNvIMK3IER1ZXJvIMK3IDIwMTYnLGNhc3RhczonVmlvc2luaG8sIFJhYmlnYXRvLCBHb3V2ZWlvLCBBcmludG8nLAogICAgICB2aW5pZmljYWNhbzonRmVybWVudGFjacOzbiBlbiBhY2VybyBpbm94aWRhYmxlIGR1cmFudGUgMzAgZMOtYXMsIGEgMTYgwrpDLiBDcmlhbnphIGRlIDkgbWVzZXMgZW4gcm9ibGUgZnJhbmPDqXMuJywKICAgICAgcHJvdmE6J0NvbG9yIGPDrXRyaWNvLiBBcm9tYSBjb21wbGVqbywgdHJvcGljYWwsIGF2YWluaWxsYWRvIHkgZGUgZnJ1dG9zIGJsYW5jb3MuIEVuIGJvY2EgZXMgY3JlbW9zbyB5IG1hbnRlY29zbywgY29uIGZyZXNjdXJhIHkgYWNpZGV6IGVuIGVxdWlsaWJyaW8uIEVsZWdhbnRlLCBwZXJzaXN0ZW50ZSB5IGFkaWN0aXZvLicsCiAgICAgIHNlcnZpcjonMTAgYSAxMiDCukMnLG1lc2E6J1Blc2NhZG8geSBjYXJuZSBhIGxhIHBhcnJpbGxhLCBjb21pZGFzIGxpZ2VyYXMsIG8gc29sby4nLGd1YXJkYXI6J1R1bWJhZGEsIGFsIGFicmlnbyBkZSBsYSBsdXosIGEgdGVtcGVyYXR1cmEgY29uc3RhbnRlIHkgbW9kZXJhZGEuJywKICAgICAgZGFkb3M6W1snQ29zZWNoYScsJzIwMTYnXSxbJ0FsY29ob2wnLCcxMyw1ICUnXSxbJ0FjaWRleiB0b3RhbCcsJzUgZy9kbcKzJ10sWydBesO6Y2FyZXMgdG90YWxlcycsJzQsNCBnL2RtwrMnXSxbJ3BIJywnMywzMiddLFsnRW52ZWplY2ltaWVudG8nLCdNw6FzIGRlIDMgYcOxb3MnXSxbJ0JvdGVsbGEnLCdCb3JkZWxlc2EgcHJlc3RpZ2UsIDc1IGNsJ11dLAogICAgICBwZGY6JzIwMjMvMTAvZnQtbW9ydmFsbGV5LWdyYW5kZS1yZXNlcnZhX2JyYW5jby5wZGYnfSwKICAgICdtZXcnOntub21lOidNRVcgYnkgTW9yVmFsbGV5Jyx0aXBvOidUaW50byDCtyBEdWVybyAyMDE2JyxjYXN0YXM6J1RvdXJpZ2EgTmFjaW9uYWwsIFRvdXJpZ2EgRnJhbmNhJywKICAgICAgY2l0YWNhbzonRXN0YSBlcyBtaSB2aXNpw7NuIHBlcnNvbmFsIGRlbCBEdWVybywgcHJ1ZWJhIGRlbCBjYXLDoWN0ZXIgZGUgZG9zIGdyYW5kZXMgdmFyaWVkYWRlcy4nLAogICAgICB2aW5pZmljYWNhbzonQ3JpYW56YSBkZSAxOCBtZXNlcyBlbiBtYWRlcmEuJywKICAgICAgcHJvdmE6J0xhIFRvdXJpZ2EgRnJhbmNhIGFwb3J0YSBsYSBlc3RydWN0dXJhIHkgbGEgZnJ1dGEuIExhIFRvdXJpZ2EgTmFjaW9uYWwsIGxhIG5vYmxlemEgZmxvcmFsLiBUb25vcyB2aW9sw6FjZW9zLCBhcm9tYSBjb21wbGVqbyBhIGZydXRvcyByb2pvcywgdmFpbmlsbGEgeSBjaG9jb2xhdGUuIFN1YXZlLCB2b2x1bWlub3NvIHkgbGFyZ28sIGNvbiBmcmVzY3VyYSB5IHRhbmlub3MgZWxlZ2FudGVzLicsCiAgICAgIHNlcnZpcjonRGVjYW50YXIgYW50ZXMgZGUgc2VydmlyOiBlcyB1biB2aW5vIG5hdHVyYWwgeSBwdWVkZSBmb3JtYXIgc2VkaW1lbnRvcy4nLAogICAgICBkYWRvczpbWydDb3NlY2hhJywnMjAxNiddLFsnQWxjb2hvbCcsJzE0ICUnXSxbJ0FjaWRleiB0b3RhbCcsJzUsMSBnL2RtwrMnXSxbJ0F6w7pjYXJlcyB0b3RhbGVzJywnPCAwLDYgZy9kbcKzJ10sWydwSCcsJzMsNzAnXSxbJ0JvdGVsbGEnLCdCb3JkZWxlc2EgaW1wZXJpYWwsIDc1IGNsJ10sWydQcmVzZW50YWNpw7NuJywnQ2FqYSBpbmRpdmlkdWFsJ11dLAogICAgICBwZGY6JzIwMjMvMTAvRlRfTUVXLXRpbnRvLnBkZid9LAogICAgJ2NvbGxlY3Rpb24nOntub21lOidNb3JWYWxsZXkgQ29sbGVjdGlvbicsdGlwbzonU2VpcyB2aW5vcyB5IGxhIGNhamEgQ29sbGVjdGlvbiBkZSBtYWRlcmEnLAogICAgICBwcm92YTonVW5hIHNlbGVjY2nDs24gZGUgbG9zIG1lam9yZXMgdmlub3MgZGUgbGEgY2FzYSwgZW4gdW5hIGNhamEgZGUgbWFkZXJhIHF1ZSBzZSByZWdhbGEgY29uIGVsIHBhY2suJywKICAgICAgbGlzdGE6WydNRVcgVGludG8nLCdNb3JWYWxsZXkgR3JhbmRlIFJlc2VydmEgVGludG8nLCdNb3JWYWxsZXkgR3JhbmRlIFJlc2VydmEgQnJhbmNvJywnTW9yVmFsbGV5IFRvdXJpZ2EgTmFjaW9uYWwnLCdNb3JWYWxsZXkgUmVzZXJ2YSBUaW50bycsJ01vclZhbGxleSBSZXNlcnZhIEJyYW5jbyddfSwKICAgICdteW8xMCc6e25vbWU6J01ZTyBieSBNb3JWYWxsZXkgMTAgWWVhcnMgT2xkJyx0aXBvOidPcG9ydG8gwrcgMTAgYcOxb3MnLAogICAgICBwcm92YTonQ29sb3IgYmxhbmNvIGRvcmFkbyB5IGFyb21hIGludGVuc28sIGRvbmRlIHByZWRvbWluYW4gbG9zIGZydXRvcyBzZWNvcywgbGEgdmFpbmlsbGEgeSBsYXMgZXNwZWNpYXMuIEVuIGJvY2EgZXMgZnJlc2NvLCBjb24gbGEgYWNpZGV6IGJpZW4gaW50ZWdyYWRhIGVuIGVsIGR1bHpvciB5IGxhIG1hZGVyYS4gRmluYWwgbGFyZ28geSBnb2xvc28uJywKICAgICAgc2VydmlyOicxMiBhIDE0IMK6QycsbWVzYTonRnJ1dG9zIHNlY29zLiBDb21vIGRpZ2VzdGl2bywgY29uIHBvc3RyZXMgZnJlc2NvcyB5IGRlIG5hcmFuamEuJyxndWFyZGFyOidEZSBwaWUsIHNpbiBsdXosIGVudHJlIDE0IHkgMTYgwrpDLicsCiAgICAgIGRhZG9zOltbJ1ByZXNlbnRhY2nDs24nLCdDYWphIGluZGl2aWR1YWwnXV19LAogICAgJ215bzIwJzp7bm9tZTonTVlPIGJ5IE1vclZhbGxleSAyMCBZZWFycyBPbGQnLHRpcG86J09wb3J0byDCtyAyMCBhw7FvcycsCiAgICAgIHByb3ZhOidDb2xvciBkb3JhZG8geSBhcm9tYSBpbnRlbnNvLCBjb24gZnJ1dG9zIHNlY29zLCBlc3BlY2lhcyB5IG1hZGVyYS4gRW4gYm9jYSBlcyBmcmVzY28geSBjw610cmljbywgY29uIHVuIHRvcXVlIGRlIG5hcmFuamEuIEZpbmFsIG11eSBsYXJnby4nLAogICAgICBzZXJ2aXI6JzEyIGEgMTQgwrpDJyxtZXNhOidGcnV0b3Mgc2Vjb3MgeSBhbG1lbmRyYXMuIENvbW8gZGlnZXN0aXZvLCBjb24gcG9zdHJlcyB5IGNob2NvbGF0ZXMuJyxndWFyZGFyOidEZSBwaWUsIHNpbiBsdXosIGVudHJlIDEyIHkgMTQgwrpDLicsCiAgICAgIGRhZG9zOltbJ1ByZXNlbnRhY2nDs24nLCdDYWphIGluZGl2aWR1YWwnXV19LAogICAgJ2xtZCc6e25vbWU6J1BhY2sgTGV2YS1tZSBhbyBEb3VybycsdGlwbzonT3BvcnRvIMK3IDIwIGHDsW9zIMK3IGJvdGVsbGEgcGludGFkYScsCiAgICAgIHByb3ZhOidDb2xvciBkb3JhZG8geSBhcm9tYSBpbnRlbnNvLCBjb24gZnJ1dG9zIHNlY29zLCBlc3BlY2lhcyB5IG1hZGVyYSBub2JsZS4gRW4gYm9jYSBlcyBmcmVzY28sIGNvbiB0b3F1ZXMgY8OtdHJpY29zIHkgZGUgbmFyYW5qYS4gRmluYWwgbGFyZ28geSByZWZpbmFkby4gTGEgYm90ZWxsYSBlc3TDoSBwaW50YWRhIGNvbiB1bmEgaWx1c3RyYWNpw7NuIGRlIGxhIGZsb3JhIHkgbGEgZmF1bmEgZGVsIER1ZXJvLicsCiAgICAgIHNlcnZpcjonMTIgYSAxNCDCukMnLG1lc2E6J0ZydXRvcyBzZWNvcywgYWxtZW5kcmFzLCBwb3N0cmVzIHkgY2hvY29sYXRlcy4nLGd1YXJkYXI6J0RlIHBpZSwgYWwgYWJyaWdvIGRlIGxhIGx1eiB5IGRlIGxvcyBjYW1iaW9zIGRlIHRlbXBlcmF0dXJhLicsCiAgICAgIGxpc3RhOlsnQm90ZWxsYSBwaW50YWRhIGRlIE9wb3J0byAyMCBhw7FvcycsJ0RvcyBjb3BhcycsJ0NhamEgZGUgbWFkZXJhIHBpbnRhZGEgeSBncmFiYWRhLCBjb24gaW50ZXJpb3IgZGUgbWFkZXJhJ119LAogICAgJ215bzUwJzp7bm9tZTonTVlPIGJ5IE1vclZhbGxleSA1MCBZZWFycyBPbGQnLHRpcG86J09wb3J0byDCtyA1MCBhw7FvcycsCiAgICAgIHByb3ZhOidDb2xvciBibGFuY28gZG9yYWRvLCBsaWdlcmFtZW50ZSB2ZXJkb3NvLiBBcm9tYSBkZSB2YWluaWxsYSwgbmFyYW5qYSwgYXZlbGxhbmEgeSBtaWVsLiBFbiBib2NhIGVzIHBsZW5vIHkgZnJlc2NvLCBjb24gZXNwZWNpYXMuIEZpbmFsIGxhcmdvLiBFbnZlamVjZSBlbiBiYXJyaWNhIGhhc3RhIGxhIGZlY2hhIGRlIGVtYm90ZWxsYWRvLicsCiAgICAgIHNlcnZpcjonMTQgYSAxNiDCukMnLG1lc2E6J1NvbG8sIGNvbiBwb3N0cmVzIGRlIG5hcmFuamEgbyBkZSBjYXJhbWVsbywgbyBmcnV0b3Mgc2Vjb3MuJyxndWFyZGFyOidEZSBwaWUsIHNpbiBsdXosIGVudHJlIDEyIHkgMTQgwrpDLicsCiAgICAgIGRhZG9zOltbJ1ByZXNlbnRhY2nDs24nLCdDYWphIGluZGl2aWR1YWwnXV19LAogICAgJ3Z2byc6e25vbWU6J01ZTyBieSBNb3JWYWxsZXkgVmVyeSBWZXJ5IE9sZCcsdGlwbzonT3BvcnRvIMK3IDEwMCBhw7FvcycsCiAgICAgIHByb3ZhOidDb2xvciBibGFuY28gZG9yYWRvIHZlcmRvc28uIEFyb21hIGludGVuc28gZGUgbmFyYW5qYSwgdmFpbmlsbGEsIGNhcmFtZWxvLCBudWV6IHkgbWllbC4gRW4gYm9jYSBlcyBwbGVubywgbWVsb3NvIHkgZnJlc2NvLCBjb24gZnJ1dG9zIHNlY29zLCBjYXJhbWVsbyB5IGVzcGVjaWFzLiBGaW5hbCBsYXJnbywgZHVsY2UgeSBhdmFpbmlsbGFkby4nLAogICAgICBzZXJ2aXI6JzE0IGEgMTYgwrpDJyxtZXNhOidTb2xvLCBjb24gcG9zdHJlcyBkZSBuYXJhbmphIG8gZGUgY2FyYW1lbG8sIG8gZnJ1dG9zIHNlY29zLicsZ3VhcmRhcjonRGUgcGllLCBzaW4gbHV6LCBlbnRyZSAxMiB5IDE0IMK6Qy4nLAogICAgICBkYWRvczpbWydQcmVzZW50YWNpw7NuJywnQ2FqYSBjb24gY2ludGEgeSBzZWxsbyBkZSBsYWNyZSddXX0KICB9OwogIGNvbnN0IG1hcGE9eyd2ZS10aW50byc6J3ZlLXRpbnRvJywndmUtYnJhbmNvJzondmUtYnJhbmNvJywncmVzLWJyYW5jbyc6J3Jlcy1icmFuY28nLCdyZXMtdGludG8nOidyZXMtdGludG8nLCd0b3VyaWdhJzondG91cmlnYScsJ2dyLXRpbnRvJzonZ3ItdGludG8nLCdnci1icmFuY28nOidnci1icmFuY28nLCdtZXcnOidtZXcnLCdjb2xsZWN0aW9uJzonY29sbGVjdGlvbicsJ215bzEwJzonbXlvMTAnLCdteW8yMCc6J215bzIwJywnbG1kJzonbG1kJywnbXlvNTAnOidteW81MCcsJ3Z2byc6J3Z2byd9OwogIGNvbnN0IGVzYz10PT5TdHJpbmcodCkucmVwbGFjZSgvWyY8PiInXS9nLGM9Pih7JyYnOicmYW1wOycsJzwnOicmbHQ7JywnPic6JyZndDsnLCciJzonJnF1b3Q7JywiJyI6JyYjMzk7J31bY10pKTsKICBjb25zdCBnPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnYXZldGEnKSwgY29ycG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dhdmV0YUNvcnBvJyksIGZ1bmRvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnYXZldGFGdW5kbycpOwogIGxldCBvcmlnZW09bnVsbDsKICBmdW5jdGlvbiBhYnJlKGssYnRuKXsKICAgIGNvbnN0IGY9RltrXTsgaWYoIWYpIHJldHVybjsgb3JpZ2VtPWJ0bjsKICAgIGxldCBoPWA8cCBjbGFzcz0iZy10aXBvIj4ke2VzYyhmLnRpcG8pfTwvcD48aDMgY2xhc3M9Imctbm9tZSIgaWQ9ImdhdmV0YVRpdHVsbyI+JHtlc2MoZi5ub21lKX08L2gzPmA7CiAgICBpZihmLmNpdGFjYW8pIGgrPWA8YmxvY2txdW90ZSBjbGFzcz0iZy1jaXRhY2FvIj4ke2VzYyhmLmNpdGFjYW8pfTxjaXRlPkpvc8OpIENhcmxvcyBQaW50bzwvY2l0ZT48L2Jsb2NrcXVvdGU+YDsKICAgIGlmKGYuY2FzdGFzKSBoKz1gPGRpdiBjbGFzcz0iZy1ibG9jbyI+PGg0PlZhcmllZGFkZXM8L2g0PjxwPiR7ZXNjKGYuY2FzdGFzKX08L3A+PC9kaXY+YDsKICAgIGgrPWA8ZGl2IGNsYXNzPSJnLWJsb2NvIj48aDQ+RW4gbGEgY2F0YTwvaDQ+PHA+JHtlc2MoZi5wcm92YSl9PC9wPjwvZGl2PmA7CiAgICBpZihmLnZpbmlmaWNhY2FvKSBoKz1gPGRpdiBjbGFzcz0iZy1ibG9jbyI+PGg0PlZpbmlmaWNhY2nDs248L2g0PjxwPiR7ZXNjKGYudmluaWZpY2FjYW8pfTwvcD48L2Rpdj5gOwogICAgaWYoZi5saXN0YSkgaCs9YDxkaXYgY2xhc3M9ImctYmxvY28iPjxoND5JbmNsdXllPC9oND48dWw+JHtmLmxpc3RhLm1hcCh4PT5gPGxpPiR7ZXNjKHgpfTwvbGk+YCkuam9pbignJyl9PC91bD48L2Rpdj5gOwogICAgY29uc3Qgc2Vydj1bXTsgaWYoZi5zZXJ2aXIpIHNlcnYucHVzaChbJ1NlcnZpcicsZi5zZXJ2aXJdKTsgaWYoZi5tZXNhKSBzZXJ2LnB1c2goWydFbiBsYSBtZXNhJyxmLm1lc2FdKTsgaWYoZi5ndWFyZGFyKSBzZXJ2LnB1c2goWydHdWFyZGFyJyxmLmd1YXJkYXJdKTsKICAgIGlmKHNlcnYubGVuZ3RoKSBoKz1gPGRpdiBjbGFzcz0iZy1ibG9jbyI+PGg0PlNlcnZpcjwvaDQ+PGRsPiR7c2Vydi5tYXAoKFthLGJdKT0+YDxkdD4ke2VzYyhhKX08L2R0PjxkZD4ke2VzYyhiKX08L2RkPmApLmpvaW4oJycpfTwvZGw+PC9kaXY+YDsKICAgIGlmKGYuZGFkb3MpIGgrPWA8ZGl2IGNsYXNzPSJnLWJsb2NvIj48aDQ+RGF0b3MgdMOpY25pY29zPC9oND48ZGwgY2xhc3M9ImctZGFkb3MiPiR7Zi5kYWRvcy5tYXAoKFthLGJdKT0+YDxkdD4ke2VzYyhhKX08L2R0PjxkZD4ke2VzYyhiKX08L2RkPmApLmpvaW4oJycpfTwvZGw+PC9kaXY+YDsKICAgIGlmKGYucHJlbWlvcykgaCs9YDxkaXYgY2xhc3M9ImctYmxvY28iPjxoND5QcmVtaW9zPC9oND48cD4ke2VzYyhmLnByZW1pb3MpfTwvcD48L2Rpdj5gOwogICAgaWYoZi5wZGYpIGgrPWA8YSBjbGFzcz0iZy1wZGYiIGhyZWY9IiR7UERGK2YucGRmfSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPkZpY2hhIHTDqWNuaWNhIGVuIFBERjwvYT5gOwogICAgY29ycG8uaW5uZXJIVE1MPWg7IGcuaGlkZGVuPWZhbHNlOyBmdW5kby5oaWRkZW49ZmFsc2U7CiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntnLmNsYXNzTGlzdC5hZGQoJ2FiZXJ0YScpO2Z1bmRvLmNsYXNzTGlzdC5hZGQoJ2FiZXJ0YScpO30pOwogICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3NlbS1zY3JvbGwnKTsKICAgIGcucXVlcnlTZWxlY3RvcignLmctZmVjaGFyJykuZm9jdXMoKTsKICAgIGNvcnBvLnNjcm9sbFRvcD0wOwogIH0KICBmdW5jdGlvbiBmZWNoYSgpewogICAgZy5jbGFzc0xpc3QucmVtb3ZlKCdhYmVydGEnKTsgZnVuZG8uY2xhc3NMaXN0LnJlbW92ZSgnYWJlcnRhJyk7CiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnc2VtLXNjcm9sbCcpOwogICAgc2V0VGltZW91dCgoKT0+e2cuaGlkZGVuPXRydWU7ZnVuZG8uaGlkZGVuPXRydWU7fSwzMjApOwogICAgaWYob3JpZ2VtKSBvcmlnZW0uZm9jdXMoKTsKICB9CiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnBlY2EgZmlndXJlIGltZycpLmZvckVhY2goaW1nPT57CiAgICBjb25zdCBtPWltZy5nZXRBdHRyaWJ1dGUoJ3NyYycpLm1hdGNoKC9tdmxvamEtKFthLXowLTktXSs\/KSg\/Oi1yZXBvdXNvKT9cLndlYnAvKTsgaWYoIW18fCFtYXBhW21bMV1dKSByZXR1cm47CiAgICBjb25zdCBrPW1hcGFbbVsxXV0sIHBlY2E9aW1nLmNsb3Nlc3QoJy5wZWNhJyksIGZpY2hhPXBlY2EucXVlcnlTZWxlY3RvcignLmZpY2hhJyk7IGlmKCFmaWNoYSkgcmV0dXJuOwogICAgY29uc3QgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTsgYi50eXBlPSdidXR0b24nOyBiLmNsYXNzTmFtZT0ndmVyLWZpY2hhJzsgYi5pbm5lckhUTUw9JzxpIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+RmljaGEgdMOpY25pY2EnOwogICAgYi5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGFzcG9wdXAnLCdkaWFsb2cnKTsgYi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsKCk9PmFicmUoayxiKSk7IGZpY2hhLmFwcGVuZENoaWxkKGIpOwogIH0pOwogIGcucXVlcnlTZWxlY3RvcignLmctZmVjaGFyJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZlY2hhKTsKICBmdW5kby5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZmVjaGEpOwogIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLGU9PntpZihlLmtleT09PSdFc2NhcGUnJiYhZy5oaWRkZW4pIGZlY2hhKCk7fSk7Cn0pKCk7Cg==\"><\/script><script src=\"data:text\/javascript;base64,Ci8qIENsaWNhciBuYSBmb3RvZ3JhZmlhIGFicmUtYSBlbSBncmFuZGUsIG5hIHJlc29sdcOnw6NvIGNvbXBsZXRhICovCihmdW5jdGlvbigpewogIGNvbnN0IGw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2x1cGEnKSwgaW09ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2x1cGFJbWcnKTsKICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcucGVjYSBmaWd1cmUnKS5mb3JFYWNoKGY9PmYuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCgpPT57CiAgICBjb25zdCBzcmM9Zi5xdWVyeVNlbGVjdG9yKCdpbWcnKTsgaWYoIXNyYykgcmV0dXJuOwogICAgaW0uc3JjPWYuZGF0YXNldC56b29tfHxzcmMuY3VycmVudFNyY3x8c3JjLnNyYzsgaW0uYWx0PXNyYy5hbHQ7IGwuaGlkZGVuPWZhbHNlOyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnc2VtLXNjcm9sbCcpOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2x1cGFGZWNoYXInKS5mb2N1cygpOwogIH0pKTsKICBjb25zdCBmZWNoYT0oKT0+e2wuaGlkZGVuPXRydWU7IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdzZW0tc2Nyb2xsJyk7fTsKICBsLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmZWNoYSk7CiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsZT0+e2lmKGUua2V5PT09J0VzY2FwZScmJiFsLmhpZGRlbikgZmVjaGEoKTt9KTsKfSkoKTsK\"><\/script><script src=\"data:text\/javascript;base64,CmNvbnN0IE1WTj1mPT4naHR0cHM6Ly9tb3J2YWxsZXkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL212bmF0YWwtJytmLnJlcGxhY2UoL1wucG5nJC8sJy53ZWJwJyk7CihmdW5jdGlvbigpe2NvbnN0IGFsPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNtdmxvamEgLmFiZXJ0dXJhLWx1eicpO2lmKCFhbClyZXR1cm47CiBjb25zdCBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO2QuY2xhc3NOYW1lPSdwYXJyYXMnOwogY29uc3QgRj1bCiAgWydmb2xoYTEucG5nJywnY2FsYyhjbGFtcCgyMzBweCwzMHZ3LDQ0MHB4KSAqIC0wLjQ1KScsJy02MHB4JywnY2xhbXAoMjMwcHgsMzB2dyw0NDBweCknLCctMTRkZWcnLCcxMnMnLCcwcyddLAogIFsnZm9saGE1LnBuZycsJ2NhbGMoY2xhbXAoMjMwcHgsMzB2dyw0NDBweCkgKiAwLjM2KScsJy0xNTBweCcsJ2NsYW1wKDE1MHB4LDIwdncsMzAwcHgpJywnMjJkZWcnLCcxNHMnLCctNHMnXSwKICBbJ2ZvbGhhMy5wbmcnLCdjYWxjKDEwMCUgLSBjbGFtcCgyMjBweCwyOXZ3LDQyMHB4KSAqIDAuNTUpJywnLTYwcHgnLCdjbGFtcCgyMjBweCwyOXZ3LDQyMHB4KScsJzE4ZGVnJywnMTNzJywnLTJzJ10sCiAgWydmb2xoYTIucG5nJywnY2FsYygxMDAlIC0gY2xhbXAoMjIwcHgsMjl2dyw0MjBweCkgKiAwLjU1IC0gY2xhbXAoMTMwcHgsMTZ2dywyNDBweCkgKiAwLjc1KScsJy0xNTBweCcsJ2NsYW1wKDEzMHB4LDE2dncsMjQwcHgpJywnLTI4ZGVnJywnMTBzJywnLTZzJ10sCiBdOwogZC5pbm5lckhUTUw9Ri5tYXAoZj0+YDxpbWcgc3JjPSIke01WTihmWzBdKX0iIGFsdD0iIiBzdHlsZT0ibGVmdDoke2ZbMV19O3RvcDoke2ZbMl19O3dpZHRoOiR7ZlszXX07LS1yOiR7Zls0XX07LS1kOiR7Zls1XX07YW5pbWF0aW9uLWRlbGF5OiR7Zls2XX0iPmApLmpvaW4oJycpOwogYWwuYWZ0ZXIoZCk7c2V0VGltZW91dCgoKT0+ZC5jbGFzc0xpc3QuYWRkKCdvbicpLDE1MCl9KSgpOwooZnVuY3Rpb24oKXsKIGNvbnN0IEY9Wydmb2xoYTYucG5nJywnZm9saGE0LnBuZycsJ2ZvbGhhMS5wbmcnLCdmb2xoYTMucG5nJywnZm9saGE1LnBuZycsJ2ZvbGhhMi5wbmcnLCdmb2xoYTYucG5nJywnZm9saGE0LnBuZycsJ2ZvbGhhMS5wbmcnXTsKIGNvbnN0IFI9Wy0xOCwyNCwtMzAsMTYsLTIyLDMwLC0xMiwyMCwtMjZdOwogY29uc3QgaWRzPVsnbm9pdGUnLCdmZHMnLCdkYXRhJywnZGV6JywndmludGUnLCdjaW5xdWVudGEnLCdjZW0nLCdhaW5kYScsJ3NlcnZpciddOwogZnVuY3Rpb24gbGl2cmUoc2VjLGltLGspewogIGNvbnN0IFM9c2VjLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogIGNvbnN0IGVscz1bLi4uc2VjLnF1ZXJ5U2VsZWN0b3JBbGwoJy52aWRhLWZvdG8sLnZpZHJvLGltZzpub3QoLnBhcnJhLWxvamEpLC5iYXJyYS1uYXRhbCxoMSxoMixoMyxwLGZpZ3VyZSwuZmljaGEsYnV0dG9uLGEsLm51bWVybywubm90YS1wcm92YSwuYXBhcnRlLHNtYWxsLGlucHV0LGxhYmVsLC52aWRhLWxpbmhhLC5wYWluZWwsLm1hcmNhLC5sdXotYWdvcmEsY2FudmFzJyldCiAgICAuZmlsdGVyKGU9PmUub2Zmc2V0UGFyZW50JiYhZS5jbGFzc0xpc3QuY29udGFpbnMoJ3BhcnJhLWxvamEnKSkubWFwKGU9PntsZXQgcj1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKC9eKEgxfEgyfEgzfFB8U01BTEwpJC8udGVzdChlLnRhZ05hbWUpKXtjb25zdCBnPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7Zy5zZWxlY3ROb2RlQ29udGVudHMoZSk7Y29uc3QgcT1nLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKHEud2lkdGgpcj1xO31jb25zdCBwPWUuY2xhc3NMaXN0LmNvbnRhaW5zKCdiYXJyYS1uYXRhbCcpPzcwOjA7aWYoZS5jbGFzc0xpc3QuY29udGFpbnMoJ3ZpZGEtZm90bycpKXtyZXR1cm4ge2w6ci5sZWZ0LVMubGVmdC0zMCx0OjAscjpyLnJpZ2h0LVMubGVmdCszMCxiOlMuaGVpZ2h0fX1yZXR1cm4ge2w6ci5sZWZ0LVMubGVmdC1wLHQ6ci50b3AtUy50b3AtcCxyOnIucmlnaHQtUy5sZWZ0K3AsYjpyLmJvdHRvbS1TLnRvcCtwfX0pLmZpbHRlcihyPT5yLnI+ci5sJiZyLmI+ci50KTsKICBmb3IoY29uc3QgW1cwLG8wXSBvZiBbWzMwMCwuMzJdLFsyNTAsLjMyXSxbMjAwLC4zMl0sWzE3MCwuNDVdLFsxNDAsLjVdLFsxMjAsLjM1XV0pe2NvbnN0IFc9TWF0aC5taW4oVzAsTWF0aC5tYXgoMTIwLGlubmVyV2lkdGgqLjIxKSksSD1XKmltLm5hdHVyYWxIZWlnaHQvaW0ubmF0dXJhbFdpZHRoLG9mZj1XKm8wLE09VzA8MjAwPyhXMDwxMzA\/ODoxNCk6MjY7CiAgIGZvcihjb25zdCBsYWRvIG9mIChrJTI\/WydyJywnbCddOlsnbCcsJ3InXSkpewogICAgY29uc3QgeDA9bGFkbz09PSdsJz8tb2ZmOlMud2lkdGgtVytvZmY7CiAgICBmb3IobGV0IHk9NDA7eTxTLmhlaWdodC1ILTI0O3krPTE2KXtjb25zdCBib3g9e2w6eDAsdDp5LHI6eDArVyxiOnkrSH07CiAgICAgaWYoIWVscy5zb21lKGU9PmUubDxib3gucitNJiZlLnI+Ym94LmwtTSYmZS50PGJveC5iK00mJmUuYj5ib3gudC1NKSl7CiAgICAgIGltLnN0eWxlLmNzc1RleHQ9YHRvcDoke3l9cHg7bGVmdDoke3gwfXB4O3dpZHRoOiR7V31weDstLXI6JHtSW2tdfWRlZzstLWQ6JHsxMStrJTR9czthbmltYXRpb24tZGVsYXk6LSR7ayoxLjd9c2A7cmV0dXJuIHRydWV9fX19CiAgcmV0dXJuIGZhbHNlfQogZnVuY3Rpb24gY29sb2Nhcigpe2lkcy5mb3JFYWNoKChpZCxrKT0+e2NvbnN0IHM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO2lmKCFzKXJldHVybjsKICBpZihnZXRDb21wdXRlZFN0eWxlKHMpLnBvc2l0aW9uPT09J3N0YXRpYycpcy5zdHlsZS5wb3NpdGlvbj0ncmVsYXRpdmUnOwogIGxldCBpbT1zLnF1ZXJ5U2VsZWN0b3IoJy5wYXJyYS1sb2phOm5vdCgucGFycmEtZXh0cmEpJyk7aWYoIWltKXtpbT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTtpbS5zcmM9TVZOKEZba10pO2ltLmFsdD0nJztpbS5jbGFzc05hbWU9J3BhcnJhLWxvamEnO3MuYXBwZW5kQ2hpbGQoaW0pO30KICBjb25zdCBnbz0oKT0+e2ltLnN0eWxlLmRpc3BsYXk9Jyc7aWYoIWxpdnJlKHMsaW0saykpaW0uc3R5bGUuZGlzcGxheT0nbm9uZSd9OwogIGltLmNvbXBsZXRlP2dvKCk6aW0ub25sb2FkPWdvO30pO30KIHNldFRpbWVvdXQoY29sb2Nhciw4MDApO2xldCB0cTthZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCgpPT57Y2xlYXJUaW1lb3V0KHRxKTt0cT1zZXRUaW1lb3V0KGNvbG9jYXIsMjAwKX0pOwp9KSgpOwooZnVuY3Rpb24oKXtjb25zdCBmPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbmljaW8nKTtpZighZilyZXR1cm47Y29uc3QgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtiLmNsYXNzTmFtZT0nYmFycmEtbmF0YWwnOwogYi5pbm5lckhUTUw9JzxzcGFuPk5hdmlkYWQ8L3NwYW4+PGltZyBzcmM9IicrTVZOKCdiYXJyYS1hemV2aW5oby5wbmcnKSsnIiBhbHQ9IiI+PHNwYW4+TmF2aWRhZDwvc3Bhbj4nO2YuYXBwZW5kQ2hpbGQoYik7fSkoKTsKKGZ1bmN0aW9uKCl7Y29uc3QgZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGV6Jyk7aWYoIWQpcmV0dXJuO2NvbnN0IGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Yi5jbGFzc05hbWU9J2JhcnJhLW5hdGFsJzsKIGIuaW5uZXJIVE1MPSc8c3Bhbj5OYXZpZGFkPC9zcGFuPjxpbWcgc3JjPSInK01WTignYmFycmEtYXpldmluaG8ucG5nJykrJyIgYWx0PSIiPjxzcGFuPk5hdmlkYWQ8L3NwYW4+JztkLnByZXBlbmQoYik7fSkoKTsKKGZ1bmN0aW9uKCl7CiBjb25zdCBFWD17ZmRzOltbJ2ZvbGhhMy5wbmcnLDIyXSxbJ2ZvbGhhNS5wbmcnLC0yOF1dfTsKIGZ1bmN0aW9uIG9ic3Qoc2VjKXtjb25zdCBTPXNlYy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKICByZXR1cm4gWy4uLnNlYy5xdWVyeVNlbGVjdG9yQWxsKCcudmlkYS1mb3RvLC52aWRybyxpbWc6bm90KC5wYXJyYS1sb2phKSwuYmFycmEtbmF0YWwsaDEsaDIsaDMscCxmaWd1cmUsLmZpY2hhLGJ1dHRvbixhLC5udW1lcm8sc21hbGwsaW5wdXQsbGFiZWwsLnBhcnJhLWxvamEnKV0KICAgLmZpbHRlcihlPT5lLm9mZnNldFBhcmVudCYmZS5zdHlsZS5kaXNwbGF5IT09J25vbmUnKS5tYXAoZT0+e2NvbnN0IHI9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxwPWUuY2xhc3NMaXN0LmNvbnRhaW5zKCdwYXJyYS1sb2phJyk\/LTEwOihlLmNsYXNzTGlzdC5jb250YWlucygnYmFycmEtbmF0YWwnKT83MDowKTsKICAgcmV0dXJuIHtsOnIubGVmdC1TLmxlZnQtcCx0OnIudG9wLVMudG9wLXAscjpyLnJpZ2h0LVMubGVmdCtwLGI6ci5ib3R0b20tUy50b3ArcH19KS5maWx0ZXIocj0+ci5yPnIubCYmci5iPnIudCl9CiBmdW5jdGlvbiBwb2VFeHRyYSgpe09iamVjdC5lbnRyaWVzKEVYKS5mb3JFYWNoKChbaWQsTF0pPT57Y29uc3Qgc2VjPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtpZighc2VjKXJldHVybjsKICBzZWMucXVlcnlTZWxlY3RvckFsbCgnLnBhcnJhLWV4dHJhJykuZm9yRWFjaChlPT5lLnJlbW92ZSgpKTsKICBMLmZvckVhY2goKFtmLHJvdF0sayk9Pntjb25zdCBpbT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTtpbS5zcmM9TVZOKGYpO2ltLmFsdD0nJztpbS5jbGFzc05hbWU9J3BhcnJhLWxvamEgcGFycmEtZXh0cmEnO3NlYy5hcHBlbmRDaGlsZChpbSk7CiAgIGNvbnN0IGdvPSgpPT57Y29uc3QgUz1zZWMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksZWxzPW9ic3Qoc2VjKTtjb25zdCBNPTcwOwogICAgZm9yKGNvbnN0IFcwIG9mIFsyNzAsMjMwLDE5MF0pe2NvbnN0IFc9TWF0aC5taW4oVzAsaW5uZXJXaWR0aCouMjQpLEg9VyppbS5uYXR1cmFsSGVpZ2h0L2ltLm5hdHVyYWxXaWR0aDsKICAgICBmb3IobGV0IHk9Uy5oZWlnaHQtSC0zMDt5PjQwO3ktPTE4KXtmb3IobGV0IHg9az9TLndpZHRoLVctNDA6Uy53aWR0aCouMzU7az94PlMud2lkdGgqLjM6eDxTLndpZHRoLVctNDA7eCs9az8tMjQ6MjQpewogICAgICBjb25zdCBiPXtsOngsdDp5LHI6eCtXLGI6eStIfTtpZighZWxzLnNvbWUoZT0+ZSE9PWltJiZlLmw8Yi5yK00mJmUucj5iLmwtTSYmZS50PGIuYitNJiZlLmI+Yi50LU0pKXsKICAgICAgIGltLnN0eWxlLmNzc1RleHQ9YHRvcDoke3l9cHg7bGVmdDoke3h9cHg7d2lkdGg6JHtXfXB4Oy0tcjoke3JvdH1kZWc7LS1kOiR7MTIra31zO2FuaW1hdGlvbi1kZWxheTotJHszK2sqMn1zYDtyZXR1cm59fX19CiAgICBpbS5yZW1vdmUoKX07CiAgIGltLmNvbXBsZXRlP2dvKCk6aW0ub25sb2FkPWdvO30pO30pO30KIHNldFRpbWVvdXQocG9lRXh0cmEsMTMwMCk7bGV0IHQ7YWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywoKT0+e2NsZWFyVGltZW91dCh0KTt0PXNldFRpbWVvdXQocG9lRXh0cmEsNDAwKX0pOwp9KSgpOwo=\"><\/script><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Todos los d\u00edas54\u20ac Fin de semanadesde 22 \u20ac Una fechadesde 39,90 \u20ac 10 a\u00f1os65\u20ac 20 a\u00f1osdesde 125 \u20ac 50 a\u00f1os500\u20ac 100 a\u00f1os3000\u20ac A\u00fan no ha ocurrido54,24\u20ac Tienda MorValley \u00b7 Navidad 2026 Saludos desde el Duero. Bienvenido. Le sugiero que empiece por uno de los emblemas de la casa. MorValley Reserva Branco\u2192 Mostrar Todo Tinto Blanco Oporto Cajas y packs Tiempo I cajas de 6 Todos los d\u00edas. Un vino de calidad para la mesa de todos los d\u00edas. No necesita ocasi\u00f3n. &nbsp; Vale de Escadas Reserva 54\u20acIVA incl.Tinto \u00b7 caja de 6Lo quiero &nbsp; Vale de Escadas Reserva 54\u20acIVA incl.Blanco \u00b7 caja de 6Lo quiero Tiempo II desde 22 \u20ac Un fin de semana. Mesa llena y conversaci\u00f3n larga. Para eso los hago. &nbsp; MorValley Reserva 22\u20acIVA incl.Blanco \u00b7 2022Lo quiero &nbsp; MorValley Reserva 22\u20acIVA incl.Tinto \u00b7 2022Lo quiero &nbsp; MorValley Touriga Nacional 27,50\u20acIVA incl.Tinto \u00b7 monovarietal Tiempo III desde 39,90 \u20ac Una fecha que cuenta. Busco la perfecci\u00f3n de la regi\u00f3n. Lo que nace de la paciencia t\u00e9cnica. &nbsp; MorValley Grande Reserva 39,90\u20acIVA incl.Tinto \u00b7 2016Lo quiero &nbsp; MorValley Grande Reserva 39,90\u20acIVA incl.Blanco \u00b7 2016Lo quiero &nbsp; MEW 75\u20acIVA incl.Tinto \u00b7 Duero 2016Lo quiero &nbsp; MorValley Collection 209,50\u20acIVA incl.Colecci\u00f3n en caja Tiempo IV Oporto 10a\u00f1os Diez a\u00f1os en barrica. &nbsp; MYO by MorValley 10 Years Old 65\u20acIVA incl.OportoLo quiero Frutos secos, vainilla y especias. Fresco en boca, con un final largo. Tiempo V desde 125 \u20ac 20a\u00f1os Veinte a\u00f1os despu\u00e9s. A los veinte a\u00f1os, el Oporto ya no tiene ninguna prisa. Quien lo recibe, tampoco. &nbsp; MYO by MorValley 20 Years Old 125\u20acIVA incl.OportoLo quiero Pintada en el cristal Pack Leva-me ao Douro 450\u20acIVA incl.Oporto 20 a\u00f1os \u00b7 botella pintada \u00b7 dos copasLo quiero Tiempo VI Oporto 50a\u00f1os Medio siglo. &nbsp; MYO by MorValley 50 Years Old 500\u20acIVA incl.OportoLo quiero Luz del Duero, ahoraVer pasar el d\u00eda Envejece en barrica hasta el d\u00eda en que se embotella. Ni un d\u00eda antes. Vainilla, naranja, avellana y miel. Pleno y fresco, con especias al final. 100 Tiempo VII Very Very Old Un siglo. No hay otra forma de decirlo. Cien a\u00f1os de Duero en una copa. &nbsp; MYO by MorValley Very Very Old 3000\u20acIVA incl.OportoLo quiero Luz del Duero, ahoraVer pasar el d\u00eda Naranja, caramelo, nuez y miel. Meloso y fresco, con un final largo y avainillado. Tiempo VIII Magnum 1,5 L \u00b7 54,24 \u20ac A\u00fan no ha ocurrido. El taller del Magnum. Elija el momento, escriba los nombres y vea enseguida c\u00f3mo queda pintado en el cristal. Para alguien Para la empresa \u00b7 Navidad 2026 Nacimientoel primer d\u00eda Cumplea\u00f1oscada a\u00f1o Bodael s\u00ed Casa nuevala llave Aniversario de boda25, 50 a\u00f1os Jubilaci\u00f3nel \u00faltimo ascenso Familiacada Navidad Graciascualquier d\u00eda Empresa \u00b7 Pi\u00f1aspara clientes Empresa \u00b7 Vidpara clientes Equipo \u00b7 Pi\u00f1aspara el equipo Equipo \u00b7 Vidpara el equipo 1El momento Su MagnumCumplea\u00f1osHay cifras que se celebran. La suya. 2Escriba y vea c\u00f3mo queda en el cristal 10 cm 10 cm De cerca \u00b7 la zona pintada en el cristal del Magnum 3Confirme Magnum 1,5 L \u00b7 pintura sobre el cristal54,24\u20ac Caja de regaloincluida IVAincluido Quiero este Magnum Env\u00edos a toda la Uni\u00f3n Europea \u00b7 Env\u00edo gratuito en Portugal continental Alrededor de la botella Para servir y regalar. &nbsp; Cubitera 175\u20acIVA incl.Madera y acero inoxidableLo quiero &nbsp; Selection Douro Valley 20\u20acIVA incl.Caja premium \u00b7 3 botellasLo quiero &nbsp; MorValley Premium 15\u20acIVA incl.Caja de madera \u00b7 3 botellasLo quiero Venta prohibida a menores de 18 a\u00f1os. Sea responsable, beba con moderaci\u00f3n. T\u00e9rminos y condiciones Pol\u00edtica de privacidad Env\u00edos y devoluciones Libro de reclamaciones 41\u00b011\u00b423.79\u201dN \u00b7 7\u00b048\u00b453.9\u201dW \u00a9 2026 MorValley Douro Wines \u00b7 Valle del Duero Cerrar Ficha t\u00e9cnicaCerrar<\/p>\n","protected":false},"author":5,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"class_list":["post-18953","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/morvalley.com\/es\/wp-json\/wp\/v2\/pages\/18953","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/morvalley.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/morvalley.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/morvalley.com\/es\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/morvalley.com\/es\/wp-json\/wp\/v2\/comments?post=18953"}],"version-history":[{"count":0,"href":"https:\/\/morvalley.com\/es\/wp-json\/wp\/v2\/pages\/18953\/revisions"}],"wp:attachment":[{"href":"https:\/\/morvalley.com\/es\/wp-json\/wp\/v2\/media?parent=18953"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}