{"id":2969,"date":"2025-05-16T15:33:11","date_gmt":"2025-05-16T15:33:11","guid":{"rendered":"https:\/\/rentamac.io\/?page_id=2969"},"modified":"2026-07-10T10:15:05","modified_gmt":"2026-07-10T10:15:05","slug":"%d9%85%d8%a7%d9%83-%d9%85%d8%ae%d8%b5%d8%b5","status":"publish","type":"page","link":"https:\/\/rentamac.io\/ar\/dedicated-mac\/","title":{"rendered":"\u0645\u0627\u0643 \u0645\u062e\u0635\u0635"},"content":{"rendered":"\n<!-- ============================================================\n  Dedicated Mac landing page - rentamac.io\n  Self-contained Gutenberg HTML block: one style block + inline scripts.\n  Every selector is prefixed .mh- so nothing leaks into the theme.\n  Image paths are relative (images\/...); swap to WP media URLs at\n  port time. CTAs: https:\/\/rentamac.io\/pricing - \/demo\n  Design refs: reference\/manifest.md + reference\/user\/manifest.txt\n============================================================= -->\n<style>\n\/* full-bleed: break out of the theme's content container *\/\nbody{overflow-x:clip;}\nbody .mh-page{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}\n\/* Hide the theme page header on this page *\/\n.page-header{display:none!important;}\nhtml,body{margin:0;}  \/* kill default body margin (white edges) when viewed standalone *\/\n\n\/* ---------- tokens ---------- *\/\n.mh-page{\n  --mh-bg:#0a0a0c;\n  --mh-bg2:#0e0e11;\n  --mh-panel:#121215;\n  --mh-card:rgba(255,255,255,.038);\n  --mh-line:rgba(255,255,255,.10);\n  --mh-line-soft:rgba(255,255,255,.06);\n  --mh-text:#f5f5f7;\n  --mh-text2:#a3a3ab;\n  --mh-text3:#7d7d86;\n  --mh-accent:#4a8fd4;           \/* brand blue (matches homepage CTAs) *\/\n  --mh-accent-soft:rgba(74,143,212,.13);\n  --mh-blue:#4a8fd4;           \/* homepage primary CTA blue *\/\n  --mh-blue-hi:#5a9de0;        \/* homepage CTA hover *\/\n  --mh-green:#5bd27d;          \/* machine light only: LED, connected, live *\/\n  --mh-glow:255,196,130;\n  --mh-mono:ui-monospace,\"SF Mono\",SFMono-Regular,Menlo,Consolas,monospace;\n  \/* motion system: one easing family, three durations, nothing else *\/\n  --mh-e:cubic-bezier(.22,1,.36,1);\n  --mh-fast:200ms;\n  --mh-base:450ms;\n  --mh-slow:700ms;\n  --mh-radius:22px;\n  --mh-sec:clamp(96px,13vw,180px);\n  font-family:-apple-system,BlinkMacSystemFont,\"SF Pro Display\",\"SF Pro Text\",\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif;\n  background:var(--mh-bg);\n  color:var(--mh-text);\n  line-height:1.5;\n  font-size:16px;\n  -webkit-font-smoothing:antialiased;\n  text-rendering:optimizeLegibility;\n  overflow-x:clip;\n}\n.mh-page *,.mh-page *::before,.mh-page *::after{box-sizing:border-box;margin:0;padding:0;}\n.mh-page img{display:block;max-width:100%;height:auto;}\n.mh-page a{color:inherit;text-decoration:none;}\n.mh-page button{font-family:inherit;background:none;border:none;color:inherit;cursor:pointer;}\n.mh-page ::selection{background:rgba(74,143,212,.28);color:#fff;}\n\n.mh-wrap{max-width:1240px;margin:0 auto;padding-left:clamp(20px,4vw,40px);padding-right:clamp(20px,4vw,40px);}\n.mh-sec{padding-top:var(--mh-sec);position:relative;}\n.mh-page section{scroll-margin-top:84px;}\n\n\/* ---------- type ---------- *\/\n.mh-label{\n  font-family:var(--mh-mono);font-size:11px;font-weight:500;\n  letter-spacing:.18em;text-transform:uppercase;color:var(--mh-text3);\n  display:flex;align-items:center;gap:12px;\n}\n.mh-label::after{content:\"\";height:1px;width:44px;background:var(--mh-line);}\n.mh-h2{\n  font-size:clamp(38px,5.6vw,76px);line-height:1.02;font-weight:660;\n  letter-spacing:-.032em;color:var(--mh-text);text-wrap:balance;margin-top:22px;\n}\n.mh-h2-sm{font-size:clamp(30px,4vw,52px);}\n.mh-sub{\n  font-size:clamp(16px,1.7vw,19px);line-height:1.6;color:var(--mh-text2);\n  margin-top:20px;max-width:56ch;text-wrap:pretty;\n}\n.mh-head{margin-bottom:clamp(44px,6vw,84px);}\n.mh-mono{font-family:var(--mh-mono);}\n\n\/* ---------- buttons ---------- *\/\n.mh-btn{\n  display:inline-flex;align-items:center;justify-content:center;gap:8px;\n  padding:15px 30px;border-radius:980px;font-size:16px;font-weight:600;\n  letter-spacing:-.01em;line-height:1;white-space:nowrap;\n  transition:transform var(--mh-fast) var(--mh-e),background var(--mh-fast) var(--mh-e),\n    border-color var(--mh-fast) var(--mh-e),box-shadow var(--mh-fast) var(--mh-e),color var(--mh-fast) var(--mh-e);\n}\n.mh-btn:active{transform:scale(.97);}\n\/* button colors mirror the rentamac.io homepage CTAs for brand consistency *\/\n.mh-page .mh-btn-fill,.mh-page .mh-btn-fill:visited{background:var(--mh-blue);color:#fff;}\n.mh-page .mh-btn-fill:hover{background:var(--mh-blue-hi);color:#fff;transform:translateY(-2px);box-shadow:0 8px 30px rgba(74,143,212,.3);}\n.mh-page .mh-btn-line,.mh-page .mh-btn-line:visited{border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.6);background:transparent;}\n.mh-page .mh-btn-line:hover{border-color:rgba(255,255,255,.35);color:var(--mh-text);transform:translateY(-2px);}\n.mh-btn-sm{padding:9px 18px;font-size:13.5px;}\n.mh-page .mh-btn:focus-visible,.mh-page a:focus-visible,.mh-page button:focus-visible{\n  outline:2px solid var(--mh-accent);outline-offset:3px;border-radius:6px;\n}\n.mh-page .mh-btn:focus-visible{border-radius:980px;}\n.mh-ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}\n\n\/* ---------- reveal choreography ---------- *\/\n.mh-js .mh-r{opacity:0;transform:translateY(14px);\n  transition:opacity var(--mh-base) var(--mh-e),transform var(--mh-base) var(--mh-e);\n  transition-delay:var(--d,0s);}\n.mh-js .mh-r.mh-on{opacity:1;transform:none;}\n@media (prefers-reduced-motion:reduce){\n  .mh-js .mh-r{opacity:1;transform:none;transition:none;}\n}\n\n\/* ---------- hero: THE WAKE ---------- *\/\n.mh-hero{padding-top:clamp(40px,5.5vw,84px);min-height:100svh;display:flex;flex-direction:column;\n  position:relative;overflow:hidden;}\n\/* fade the top of the hero into the pure-black header (#000) *\/\n.mh-hero::before{content:\"\";position:absolute;left:0;right:0;top:0;height:clamp(90px,13vh,170px);\n  pointer-events:none;z-index:0;background:linear-gradient(to bottom,#000,transparent);}\n.mh-hero-stage{position:relative;z-index:1;max-width:960px;width:100%;margin:0 auto;flex:0 0 auto;}\n.mh-hero-bloom{position:absolute;inset:-12% -18%;pointer-events:none;\n  background:\n    radial-gradient(42% 46% at 50% 44%,rgba(var(--mh-glow),.17),transparent 68%),\n    radial-gradient(24% 26% at 50% 46%,rgba(var(--mh-glow),.12),transparent 70%);\n  filter:blur(6px);\n  opacity:0;transition:opacity var(--mh-slow) var(--mh-e) 120ms;}\n.mh-hero-img{position:relative;margin:0 auto;width:min(100%,860px);\n  -webkit-mask-image:radial-gradient(74% 74% at 50% 50%,#000 40%,transparent 93%);\n  mask-image:radial-gradient(74% 74% at 50% 50%,#000 40%,transparent 93%);}\n.mh-hero-shade{position:absolute;inset:0;background:var(--mh-bg);opacity:.5;pointer-events:none;\n  -webkit-mask-image:radial-gradient(74% 74% at 50% 50%,#000 40%,transparent 93%);\n  mask-image:radial-gradient(74% 74% at 50% 50%,#000 40%,transparent 93%);\n  transition:opacity var(--mh-slow) var(--mh-e);}\n.mh-awake .mh-hero-shade{opacity:0;}\n.mh-awake .mh-hero-bloom{opacity:1;}\n\/* graceful fallback: if the hero image is missing, collapse to a clean dark\n   stage (bloom + terminal only) instead of showing spilled alt text *\/\n.mh-hero-stage.mh-noimg{min-height:clamp(300px,36vw,500px);}\n.mh-noimg .mh-hero-img,.mh-noimg .mh-hero-shade,.mh-noimg .mh-led{display:none;}\n.mh-led{position:absolute;left:59.55%;top:48.5%;margin:-3.5px 0 0 -3.5px;width:7px;height:7px;border-radius:50%;\n  background:#f7f7f2;pointer-events:none;\n  box-shadow:0 0 10px 2px rgba(255,244,214,.75);\n  animation:mhBreathe 3.4s var(--mh-e) infinite;}\n@keyframes mhBreathe{0%,100%{opacity:.16;}45%{opacity:.95;}60%{opacity:.9;}}\n.mh-awake .mh-led{animation:none;opacity:1;background:var(--mh-green);\n  box-shadow:0 0 9px 2px rgba(91,210,125,.8);\n  transition:opacity var(--mh-slow) var(--mh-e);}\n@media (prefers-reduced-motion:reduce){.mh-led{animation:none;opacity:1;}}\n.mh-term-line{position:absolute;left:50%;bottom:4%;transform:translateX(-50%);\n  font-family:var(--mh-mono);font-size:12.5px;letter-spacing:.01em;white-space:nowrap;\n  color:var(--mh-text2);background:rgba(12,12,15,.72);\n  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);\n  border:1px solid var(--mh-line-soft);border-radius:980px;padding:9px 16px;\n  opacity:0;transition:opacity var(--mh-base) var(--mh-e);}\n.mh-awake .mh-term-line{opacity:1;}\n.mh-term-line .p{color:var(--mh-accent);}\n.mh-term-line .ok{color:var(--mh-green);}\n.mh-caret{display:inline-block;width:7px;height:13px;background:var(--mh-text2);\n  vertical-align:-2px;margin-left:2px;\n  animation:mhCaret 1s steps(1) infinite;}\n@keyframes mhCaret{0%,49%{opacity:1;}50%,100%{opacity:0;}}\n.mh-caret.mh-done{display:none;}\n@media (prefers-reduced-motion:reduce){.mh-caret{animation:none;display:none;}}\n@media(max-width:560px){.mh-term-line{font-size:10.5px;padding:7px 12px;bottom:2%;}}\n\n.mh-hero-head{width:100%;padding-bottom:clamp(24px,3.5vw,44px);flex:0 0 auto;position:relative;z-index:1;}\n.mh-hero .mh-hero-stage{margin-top:auto;margin-bottom:clamp(8px,1.5vw,20px);}\n.mh-h1{font-weight:680;letter-spacing:-.04em;line-height:.96;\n  font-size:clamp(50px,8.6vw,112px);color:var(--mh-text);}\n.mh-hero-rule{margin-top:clamp(26px,3vw,40px);\n  display:flex;align-items:baseline;justify-content:space-between;\n  gap:14px 28px;flex-wrap:wrap;}\n.mh-hero-sub{font-size:clamp(17px,1.9vw,22px);color:var(--mh-text2);font-weight:560;\n  letter-spacing:-.015em;line-height:1.4;max-width:44ch;text-wrap:pretty;}\n.mh-hero-sub b{color:var(--mh-text);font-weight:600;}\n.mh-hero-cta-row{margin-top:clamp(26px,3.5vw,38px);}\n.mh-btn-xl{padding:21px 46px;font-size:18px;}\n.mh-btn-xl svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:2.2;\n  stroke-linecap:round;stroke-linejoin:round;}\n\n\/* ---------- inline section CTAs + risk reducers ---------- *\/\n.mh-cta-block{margin-top:clamp(40px,5vw,64px);display:flex;flex-direction:column;gap:13px;align-items:flex-start;}\n.mh-cta-center{align-items:center;text-align:center;}\n.mh-reduce{font-family:var(--mh-mono);font-size:12px;letter-spacing:.03em;color:var(--mh-text3);}\n.mh-reduce b{color:var(--mh-text2);font-weight:500;}\n\n\/* ---------- mobile sticky CTA bar (shows after hero, hides at final CTA) ---------- *\/\n.mh-stickybar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:none;\n  padding:10px clamp(16px,4vw,20px) calc(12px + env(safe-area-inset-bottom,0px));\n  background:rgba(10,10,12,.9);\n  -webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);\n  border-top:1px solid var(--mh-line-soft);\n  transform:translateY(120%);transition:transform var(--mh-base) var(--mh-e);}\n.mh-stickybar .mh-reduce{display:block;text-align:center;margin-bottom:8px;}\n.mh-stickybar .mh-btn{width:100%;padding:15px 24px;}\n.mh-js .mh-stickybar.mh-vis{transform:translateY(0);}\n.mh-page:not(.mh-js) .mh-stickybar{position:static;transform:none;}\n@media(max-width:820px){.mh-stickybar{display:block;}}\n@media (prefers-reduced-motion:reduce){.mh-stickybar{transition:none;}}\n\n\/* ---------- 01 proof band (ref: user\/stats-band-01) ---------- *\/\n.mh-proof{border-top:1px solid var(--mh-line);border-bottom:1px solid var(--mh-line);\n  margin-top:clamp(20px,4vw,48px);}\n.mh-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);}\n.mh-proof-cell{display:flex;flex-direction:column;justify-content:space-between;\n  min-height:clamp(240px,26vw,340px);padding:clamp(24px,3vw,40px) clamp(20px,2.6vw,36px);\n  border-left:1px solid var(--mh-line-soft);}\n.mh-proof-cell:first-child{border-left:none;padding-left:0;}\n.mh-proof-n{font-size:clamp(44px,5.4vw,84px);font-weight:300;letter-spacing:-.03em;\n  line-height:1;color:var(--mh-text);font-variant-numeric:tabular-nums;white-space:nowrap;}\n.mh-proof-n small{font-size:.5em;font-weight:400;color:var(--mh-text2);letter-spacing:-.01em;}\n.mh-proof-cell b{display:block;font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--mh-text);}\n.mh-proof-cell p{font-size:13px;line-height:1.55;color:var(--mh-text3);margin-top:6px;max-width:26ch;}\n@media(max-width:640px){\n  .mh-proof-grid{grid-template-columns:1fr;}\n  .mh-proof-cell{min-height:150px;border-left:none;padding-left:0;padding-right:0;}\n  .mh-proof-cell:nth-child(n+2){border-top:1px solid var(--mh-line-soft);}\n}\n\n\/* ---------- 03 setup: sticky heading + rows ---------- *\/\n.mh-split{display:grid;grid-template-columns:5fr 7fr;gap:clamp(36px,6vw,96px);align-items:start;}\n.mh-split-head{position:sticky;top:110px;}\n@media(max-width:860px){.mh-split{grid-template-columns:1fr;}.mh-split-head{position:static;}}\n.mh-steps{border-top:1px solid var(--mh-line);}\n.mh-step{display:grid;grid-template-columns:64px 1fr;gap:18px;padding:30px 0 32px;\n  border-bottom:1px solid var(--mh-line-soft);}\n.mh-step i{font-style:normal;font-family:var(--mh-mono);font-size:12px;color:var(--mh-accent);\n  letter-spacing:.08em;padding-top:7px;}\n.mh-step h3{font-size:clamp(19px,2vw,23px);font-weight:600;letter-spacing:-.018em;}\n.mh-step p{font-size:15px;line-height:1.62;color:var(--mh-text2);margin-top:9px;max-width:54ch;}\n@media(max-width:430px){.mh-step{grid-template-columns:44px 1fr;gap:12px;}}\n\n\/* ---------- 04 use cases: editorial ---------- *\/\n.mh-uc-bento{display:grid;grid-template-columns:1.55fr 1fr 1fr;grid-auto-rows:minmax(158px,1fr);gap:14px;}\n.mh-uc-card{position:relative;overflow:hidden;border:1px solid var(--mh-line);border-radius:20px;\n  padding:26px 26px 24px;background:rgba(255,255,255,.018);\n  transition:border-color var(--mh-fast) var(--mh-e),background var(--mh-fast) var(--mh-e),box-shadow var(--mh-fast) var(--mh-e);}\n.mh-uc-card:hover{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.03);box-shadow:0 8px 30px rgba(0,0,0,.35);}\n.mh-js .mh-uc-card.mh-r{transition:opacity var(--mh-base) var(--mh-e),transform var(--mh-base) var(--mh-e),\n  border-color var(--mh-fast) var(--mh-e),background var(--mh-fast) var(--mh-e),box-shadow var(--mh-fast) var(--mh-e);\n  transition-delay:var(--d,0s);}\n.mh-uc-kick{font-family:var(--mh-mono);font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--mh-text3);}\n.mh-uc-card h4{font-size:18px;font-weight:600;letter-spacing:-.01em;margin-top:16px;}\n.mh-uc-desc{color:var(--mh-text2);font-size:14px;line-height:1.55;margin-top:9px;}\n.mh-uc-feat{grid-row:1\/3;display:flex;flex-direction:column;}\n.mh-uc-feat::before{content:\"\";position:absolute;inset:0;pointer-events:none;\n  background:radial-gradient(90% 60% at 12% 0,rgba(74,143,212,.12),transparent 58%);}\n.mh-uc-feat>*{position:relative;}\n.mh-uc-feat .mh-uc-kick{color:var(--mh-blue);}\n.mh-uc-feat h3{font-size:clamp(24px,2.4vw,32px);font-weight:640;letter-spacing:-.02em;margin-top:14px;line-height:1.06;}\n.mh-uc-lead-p{color:var(--mh-text2);font-size:16px;line-height:1.6;margin-top:12px;max-width:42ch;}\n.mh-uc-tags{font-family:var(--mh-mono);font-size:11px;font-weight:600;line-height:1.7;letter-spacing:.08em;\n  text-transform:uppercase;color:var(--mh-text3);margin-top:16px;}\n.mh-uc-feat .mh-runner{margin-top:auto;border-top:1px solid var(--mh-line-soft);padding-top:16px;\n  font-family:var(--mh-mono);font-size:12.5px;line-height:2;color:var(--mh-text2);}\n.mh-runner .ok{color:var(--mh-green);}\n.mh-runner .dim{color:var(--mh-text3);}\n@media(max-width:900px){.mh-uc-bento{grid-template-columns:1fr 1fr;grid-auto-rows:auto;}.mh-uc-feat{grid-column:1 \/ 3;grid-row:auto;}}\n@media(max-width:560px){.mh-uc-bento{grid-template-columns:1fr;}.mh-uc-feat{grid-column:auto;}}\n\n\/* ---------- 06 stack strip ---------- *\/\n.mh-stack-strip{border-top:1px solid var(--mh-line);padding-top:clamp(28px,3.4vw,44px);overflow:hidden;\n  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);\n          mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);}\n.mh-stack-track{display:flex;gap:14px;width:max-content;animation:mhStack 40s linear infinite;}\n.mh-stack-strip:hover .mh-stack-track{animation-play-state:paused;}\n.mh-logo{display:flex;align-items:center;gap:12px;flex-shrink:0;padding:12px 22px;\n  border:1px solid var(--mh-line);border-radius:100px;background:rgba(255,255,255,.02);\n  transition:border-color var(--mh-fast) var(--mh-e),background var(--mh-fast) var(--mh-e);}\n.mh-logo:hover{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.04);}\n.mh-logo img{width:26px;height:26px;border-radius:7px;opacity:.95;}\n.mh-logo span{font-family:var(--mh-mono);font-size:13px;letter-spacing:.04em;color:var(--mh-text2);white-space:nowrap;}\n@keyframes mhStack{from{transform:translateX(0);}to{transform:translateX(-50%);}}\n@media (prefers-reduced-motion:reduce){\n  .mh-stack-track{animation:none;flex-wrap:wrap;justify-content:center;}\n  .mh-stack-track [aria-hidden=\"true\"]{display:none;}\n}\n\n\/* ---------- 10 specs sheet ---------- *\/\n.mh-specs-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,5vw,80px);align-items:start;}\n@media(max-width:920px){.mh-specs-wrap{grid-template-columns:1fr;}}\n.mh-specs-copy p{font-size:clamp(15.5px,1.65vw,17.5px);line-height:1.65;color:var(--mh-text2);\n  margin-top:18px;max-width:52ch;}\n.mh-sheet-grp{margin-bottom:24px;}\n.mh-sheet-grp:last-child{margin-bottom:0;}\n.mh-sheet-gh{font-family:var(--mh-mono);font-size:11px;font-weight:600;letter-spacing:.14em;\n  text-transform:uppercase;color:var(--mh-blue);margin-bottom:2px;}\n.mh-sheet-grp dl{border-top:1px solid var(--mh-line-soft);}\n.mh-sheet-row{display:grid;grid-template-columns:148px 1fr;gap:18px;padding:15px 0;\n  border-bottom:1px solid var(--mh-line-soft);}\n.mh-sheet-row dt{font-size:13.5px;color:var(--mh-text3);font-weight:500;padding-top:2px;}\n.mh-sheet-row dd{font-family:var(--mh-mono);font-size:13.5px;line-height:1.65;color:var(--mh-text);}\n.mh-sheet-row dd small{display:block;color:var(--mh-text3);font-size:12px;margin-top:3px;}\n@media(max-width:430px){.mh-sheet-row{grid-template-columns:104px 1fr;gap:12px;}}\n\n\/* ---------- 11 pricing: commitment slider ---------- *\/\n.mh-dial{border:1px solid var(--mh-line);border-radius:22px;padding:clamp(24px,3.6vw,48px);\n  background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 45%);}\n.mh-dial-top{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end;min-height:150px;}\n.mh-dial-plan{font-family:var(--mh-mono);font-size:12px;font-weight:600;letter-spacing:.14em;\n  text-transform:uppercase;color:var(--mh-blue);}\n.mh-dial-price{font-family:var(--mh-mono);font-weight:600;font-size:clamp(50px,7.5vw,100px);\n  letter-spacing:-.04em;line-height:1;margin-top:14px;font-variant-numeric:tabular-nums;}\n.mh-dial-price small{font-size:clamp(15px,2vw,22px);color:var(--mh-text3);font-weight:400;letter-spacing:0;}\n.mh-dial-note{color:var(--mh-text2);font-size:15px;margin-top:12px;min-height:24px;}\n.mh-dial-side{text-align:right;padding-bottom:6px;}\n.mh-dial-day{font-family:var(--mh-mono);font-size:clamp(21px,2.6vw,30px);font-weight:600;font-variant-numeric:tabular-nums;}\n.mh-dial-day-lb{font-family:var(--mh-mono);font-size:10.5px;font-weight:600;letter-spacing:.13em;\n  text-transform:uppercase;color:var(--mh-text3);margin-top:8px;}\n.mh-dial-save{display:inline-block;font-family:var(--mh-mono);font-size:11px;font-weight:600;color:var(--mh-blue);\n  background:var(--mh-accent-soft);padding:6px 10px;border-radius:980px;margin-top:14px;visibility:hidden;}\n.mh-dial-save.mh-show{visibility:visible;}\n@keyframes mhSwapIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}\n.mh-swap{animation:mhSwapIn .26s var(--mh-e);}\n@media (prefers-reduced-motion:reduce){.mh-swap{animation:none;}}\n\/* the slider: thumb is 26px wide, so label centers track (100% - 26px) * i\/4 + 13px *\/\n.mh-slz{margin-top:clamp(28px,4vw,46px);}\n.mh-sl{-webkit-appearance:none;appearance:none;width:100%;height:36px;background:none;cursor:pointer;display:block;}\n.mh-sl::-webkit-slider-runnable-track{height:6px;border-radius:6px;\n  background:var(--mh-slf,linear-gradient(90deg,var(--mh-blue) 50%,rgba(255,255,255,.09) 50%));}\n.mh-sl::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;margin-top:-10px;\n  background:#fff;border:6px solid var(--mh-blue);\n  box-shadow:0 0 0 5px rgba(74,143,212,.18),0 4px 14px rgba(0,0,0,.5);}\n.mh-sl::-moz-range-track{height:6px;border-radius:6px;background:rgba(255,255,255,.09);}\n.mh-sl::-moz-range-progress{height:6px;border-radius:6px;background:var(--mh-blue);}\n.mh-sl::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:6px solid var(--mh-blue);\n  box-shadow:0 0 0 5px rgba(74,143,212,.18);}\n.mh-sl:focus-visible{outline:2px solid var(--mh-blue-hi);outline-offset:4px;border-radius:8px;}\n.mh-sl-labels{position:relative;height:48px;margin-top:8px;}\n.mh-sl-lb{position:absolute;top:0;transform:translateX(-50%);text-align:center;background:none;border:none;\n  padding:6px 2px;color:var(--mh-text3);font-family:inherit;cursor:pointer;\n  transition:color var(--mh-fast) var(--mh-e);}\n.mh-sl-lb:nth-child(1){left:calc((100% - 26px)*0 + 13px);}\n.mh-sl-lb:nth-child(2){left:calc((100% - 26px)*.25 + 13px);}\n.mh-sl-lb:nth-child(3){left:calc((100% - 26px)*.5 + 13px);}\n.mh-sl-lb:nth-child(4){left:calc((100% - 26px)*.75 + 13px);}\n.mh-sl-lb:nth-child(5){left:calc((100% - 26px)*1 + 13px);}\n.mh-sl-lb b{display:block;font-size:14px;font-weight:600;color:inherit;white-space:nowrap;}\n.mh-sl-lb i{display:block;font-style:normal;font-family:var(--mh-mono);font-size:10.5px;margin-top:5px;white-space:nowrap;}\n.mh-sl-lb.mh-on{color:var(--mh-text);}\n.mh-sl-lb.mh-on i{color:var(--mh-blue);}\n\/* CTA integrated into the card *\/\n.mh-dial-foot{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;\n  margin-top:clamp(26px,3.4vw,40px);padding-top:clamp(20px,2.6vw,28px);border-top:1px solid var(--mh-line-soft);}\n@media(max-width:700px){\n  .mh-dial-top{grid-template-columns:1fr;min-height:0;gap:6px;}\n  .mh-dial-side{text-align:left;padding-bottom:0;display:flex;align-items:baseline;gap:12px;}\n  .mh-dial-day-lb{margin-top:0;}\n  .mh-dial-save{margin-top:0;}\n  .mh-sl-lb b{font-size:11.5px;}\n  .mh-sl-lb i{display:none;}\n  .mh-sl-labels{height:32px;}\n}\n\n\/* ---------- reviews (auto-sliding carousel, homepage style) ---------- *\/\n.mh-reviews{position:relative;overflow:hidden;padding-bottom:clamp(64px,8vw,120px);\n  background:linear-gradient(to bottom,var(--mh-bg),var(--mh-bg2) 16%,var(--mh-bg2) 84%,var(--mh-bg));}\n#mh-demo{padding-top:clamp(60px,7vw,110px);}\n\/* aurora field: a soft, slowly drifting color wash used ONLY where the page\n   needs lift out of flat black (into Reviews, into the final CTA) -- never on\n   every section. Pure CSS, masked so it dissolves at every edge. *\/\n.mh-aurora{position:absolute;left:0;right:0;top:0;height:calc(var(--mh-sec)*1.75);\n  pointer-events:none;z-index:0;overflow:hidden;\n  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 52%,transparent 94%);\n          mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 52%,transparent 94%);}\n.mh-aurora i{position:absolute;display:block;border-radius:50%;will-change:transform;}\n.mh-aurora i:nth-child(1){width:min(880px,78vw);height:440px;left:1%;top:-16%;filter:blur(66px);\n  background:radial-gradient(50% 50% at 50% 50%,rgba(74,143,212,.20),transparent 70%);\n  animation:mhAurA 24s var(--mh-e) infinite alternate;}\n.mh-aurora i:nth-child(2){width:min(700px,64vw);height:400px;right:-4%;top:2%;filter:blur(78px);\n  background:radial-gradient(50% 50% at 50% 50%,rgba(96,120,220,.14),transparent 70%);\n  animation:mhAurB 31s var(--mh-e) infinite alternate;animation-delay:-8s;}\n.mh-aurora i:nth-child(3){width:min(520px,48vw);height:300px;left:38%;top:20%;filter:blur(72px);opacity:.8;\n  background:radial-gradient(50% 50% at 50% 50%,rgba(70,180,220,.10),transparent 70%);\n  animation:mhAurA 37s var(--mh-e) infinite alternate-reverse;animation-delay:-14s;}\n.mh-aurora::after{content:\"\";position:absolute;inset:0;opacity:.05;mix-blend-mode:overlay;\n  background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'\/%3E%3C\/filter%3E%3Crect width='160' height='160' filter='url(%23n)'\/%3E%3C\/svg%3E\");}\n@keyframes mhAurA{from{transform:translate(-3%,0) scale(1);}to{transform:translate(6%,8%) scale(1.15);}}\n@keyframes mhAurB{from{transform:translate(4%,3%) scale(1.1);}to{transform:translate(-5%,-4%) scale(.92);}}\n@media (prefers-reduced-motion:reduce){.mh-aurora i{animation:none!important;}}\n.mh-reviews .mh-wrap{position:relative;z-index:2;}\n.mh-final .mh-wrap{position:relative;z-index:2;}\n\/* breathing room between the pricing CTAs and where the aurora begins *\/\n.mh-reviews .mh-aurora{top:clamp(36px,5vw,72px);}\n.mh-rev-head{margin-bottom:clamp(36px,4.5vw,56px);}\n.mh-rev-src{display:flex;align-items:center;gap:8px;margin-top:18px;font-size:13px;color:var(--mh-text3);}\n.mh-rev-src svg{width:15px;height:15px;flex-shrink:0;}\n.mh-rev-src a{color:var(--mh-text2);text-decoration:underline;text-underline-offset:3px;}\n.mh-rev-src a:hover{color:var(--mh-text);}\n.mh-marq{position:relative;overflow:hidden;\n  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);\n  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);}\n.mh-marq-track{display:flex;gap:16px;width:max-content;animation:mhMarq 48s linear infinite;}\n.mh-marq:hover .mh-marq-track,.mh-marq:focus-within .mh-marq-track{animation-play-state:paused;}\n@keyframes mhMarq{from{transform:translateX(0);}to{transform:translateX(-50%);}}\n.mh-rc{flex:0 0 clamp(280px,32vw,338px);background:var(--mh-card);\n  border:1px solid var(--mh-line-soft);border-radius:18px;padding:24px 24px 26px;}\n.mh-rc-top{display:flex;align-items:center;gap:12px;margin-bottom:13px;}\n.mh-rc-av{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;\n  color:#fff;font-family:var(--mh-mono);font-weight:600;font-size:15px;}\n.mh-rc-nm{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--mh-text);}\n.mh-rc-st{display:flex;gap:2px;margin-bottom:12px;}\n.mh-rc-st svg{width:14px;height:14px;fill:#f5b400;}\n.mh-rc p{font-size:14.5px;line-height:1.62;color:var(--mh-text2);}\n@media (prefers-reduced-motion:reduce){\n  .mh-marq{overflow-x:auto;-webkit-mask-image:none;mask-image:none;}\n  .mh-marq-track{animation:none;}\n}\n\n\/* ---------- 15 demo split ---------- *\/\n.mh-demo-panel{border:1px solid rgba(74,143,212,.28);border-radius:26px;\n  background:linear-gradient(120deg,rgba(74,143,212,.07),rgba(74,143,212,0) 55%),var(--mh-panel);\n  padding:clamp(32px,4.5vw,60px);display:grid;grid-template-columns:1.2fr .8fr;\n  gap:clamp(28px,4vw,60px);align-items:center;\n  box-shadow:0 0 80px rgba(74,143,212,.05),0 40px 90px rgba(0,0,0,.4);}\n.mh-demo-panel .mh-h2{margin-top:14px;}\n.mh-demo-panel .mh-ctas{justify-content:flex-end;}\n@media(max-width:860px){.mh-demo-panel{grid-template-columns:1fr;}\n  .mh-demo-panel .mh-ctas{justify-content:flex-start;}}\n\n\/* ---------- 16 FAQ ---------- *\/\n.mh-faq-wrap{display:grid;grid-template-columns:5fr 7fr;gap:clamp(36px,6vw,96px);align-items:start;}\n@media(max-width:860px){.mh-faq-wrap{grid-template-columns:1fr;}}\n.mh-faq-list{border-top:1px solid var(--mh-line);}\n.mh-faq{border-bottom:1px solid var(--mh-line-soft);}\n.mh-faq-h{margin:0;font-size:inherit;line-height:inherit;}\n.mh-faq-q{display:flex;width:100%;align-items:center;justify-content:space-between;gap:20px;\n  padding:21px 2px;text-align:left;font-size:clamp(15px,1.6vw,17px);font-weight:600;\n  letter-spacing:-.012em;color:var(--mh-text);line-height:1.45;\n  transition:color var(--mh-fast) var(--mh-e);}\n.mh-faq-q:hover{color:var(--mh-text2);}\n.mh-faq-ico{flex-shrink:0;width:18px;height:18px;position:relative;\n  transition:transform var(--mh-base) var(--mh-e);}\n.mh-faq-ico::before,.mh-faq-ico::after{content:\"\";position:absolute;background:var(--mh-text3);\n  border-radius:1px;transition:background var(--mh-fast) var(--mh-e);}\n.mh-faq-ico::before{top:50%;left:2px;right:2px;height:1.5px;transform:translateY(-50%);}\n.mh-faq-ico::after{left:50%;top:2px;bottom:2px;width:1.5px;transform:translateX(-50%);}\n.mh-faq-q[aria-expanded=\"true\"] .mh-faq-ico{transform:rotate(45deg);}\n.mh-faq-q[aria-expanded=\"true\"] .mh-faq-ico::before,\n.mh-faq-q[aria-expanded=\"true\"] .mh-faq-ico::after{background:var(--mh-accent);}\n.mh-page .mh-faq-q,.mh-page .mh-faq-q:hover,.mh-page .mh-faq-q:focus,.mh-page .mh-faq-q:active,\n.mh-page .mh-faq-q:focus-visible{background:none;border:none;color:var(--mh-text);text-decoration:none;box-shadow:none;}\n.mh-faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--mh-base) var(--mh-e);}\n.mh-faq-a>div{overflow:hidden;}\n.mh-faq.mh-open .mh-faq-a{grid-template-rows:1fr;}\n.mh-faq-a p{padding:2px 40px 22px 2px;font-size:15px;line-height:1.65;color:var(--mh-text2);max-width:64ch;}\n@media (prefers-reduced-motion:reduce){.mh-faq-a,.mh-faq-ico{transition:none;}}\n.mh-page:not(.mh-js) .mh-faq-a{grid-template-rows:1fr;}\n\n\/* ---------- 17 final ---------- *\/\n.mh-final{padding-bottom:calc(var(--mh-sec)*1.02);text-align:center;position:relative;overflow:hidden;}\n.mh-final-bloom{position:absolute;left:50%;bottom:-40%;width:120%;max-width:1400px;height:80%;\n  transform:translateX(-50%);pointer-events:none;z-index:1;\n  background:radial-gradient(50% 60% at 50% 100%,rgba(var(--mh-glow),.10),transparent 70%);}\n\/* fade the section into the pure-black footer (page bg #0a0a0c -> #000) *\/\n.mh-final::after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:70%;pointer-events:none;z-index:0;\n  background:linear-gradient(to bottom,transparent,#000 92%);}\n.mh-final .mh-h2{font-size:clamp(44px,7vw,96px);letter-spacing:-.035em;}\n.mh-final .mh-sub{margin-left:auto;margin-right:auto;}\n.mh-final .mh-ctas{justify-content:center;margin-top:36px;}\n\n\/* ==================== live demo player (ports rentamac.io\/demo; canonical source: build-demo-player.py -> rentamac-demo.html; this is a SNAPSHOT, re-sync if the demo changes) ==================== *\/\n.ramac-live{--bg:#000;--panel:#13131d;--card:rgba(255,255,255,.03);--card-h:rgba(255,255,255,.05);--stroke:rgba(255,255,255,.08);--stroke-h:rgba(255,255,255,.16);--text:#f0f2f5;--text-2:#aab0bb;--muted:#7b818d;--accent:#4a8fd4;--accent-2:#5a9de0;--accent-soft:rgba(74,143,212,.14);--accent-ring:rgba(74,143,212,.3);--live:#e82f2f;--ok:#43d15b;--warn:#e0533d}.ramac-live *{box-sizing:border-box}.ramac-live,.ramac-live{margin:0;background:var(--bg)}.ramac-live{color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}.ramac-live .wrap{max-width:980px;margin:0 auto;padding:44px 24px 84px;position:relative}.ramac-live .glow{position:absolute;left:50%;top:230px;transform:translateX(-50%);width:820px;max-width:96vw;height:460px;border-radius:50%;background:radial-gradient(closest-side,rgba(74,143,212,.13),transparent 70%);pointer-events:none}.ramac-live .inner{position:relative}.ramac-live .eyebrow{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}.ramac-live .eyebrow .reddot{width:9px;height:9px;border-radius:50%;background:var(--live);animation:rlpulse 1.6s ease-in-out infinite}@keyframes rlpulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}@keyframes rlbreathe{0%,100%{opacity:1}50%{opacity:.55}}.ramac-live h1.title{font-size:clamp(27px,3.4vw,40px);font-weight:800;letter-spacing:-.025em;line-height:1.1;margin:12px 0 10px;text-align:center}.ramac-live .sub{color:var(--text-2);font-size:clamp(14.5px,1.6vw,16.5px);line-height:1.55;margin:0 auto 28px;max-width:560px;text-align:center}.ramac-live .player{position:relative;border:1px solid var(--stroke);border-radius:10px 10px 0 0;overflow:hidden;background:#0a0a10;aspect-ratio:16\/9}.ramac-live .player video{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;background:#0a0a10}.ramac-live .overlay{position:absolute;inset:0;display:flex;flex-direction:column;gap:7px;align-items:center;justify-content:center;text-align:center;background:rgba(5,6,10,.78);padding:20px}.ramac-live .overlay.hidden{display:none}.ramac-live .overlay .od{width:11px;height:11px;border-radius:50%;background:var(--muted);animation:rlbreathe 2.4s ease-in-out infinite;margin-bottom:4px}.ramac-live .overlay .big{font-size:16px;font-weight:700;letter-spacing:-.01em}.ramac-live .overlay .small{font-size:12.5px;color:var(--text-2);max-width:380px;line-height:1.5}.ramac-live .paused-ov{cursor:pointer;gap:10px;background:rgba(5,6,10,.82);transition:background .15s}.ramac-live .paused-ov:hover{background:rgba(5,6,10,.72)}.ramac-live .paused-ov:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.ramac-live .paused-ov .pic{width:54px;height:54px;border-radius:50%;background:var(--accent);display:grid;place-items:center;color:#fff;box-shadow:0 8px 28px rgba(74,143,212,.45);transition:transform .15s,background .15s;margin-bottom:2px}.ramac-live .paused-ov:hover .pic{transform:scale(1.06);background:var(--accent-2)}.ramac-live .paused-ov .pic svg{width:22px;height:22px;margin-left:3px}.ramac-live .islandbar{position:relative;display:flex;align-items:center;min-height:32px;border:1px solid var(--stroke);border-top:none;border-radius:0 0 10px 10px;background:var(--panel);padding:4px 12px}.ramac-live .coolline{position:absolute;top:-1px;left:0;height:2px;width:0%;background:var(--accent);pointer-events:none}.ramac-live .island{display:inline-flex;align-items:center;gap:8px;max-width:100%;border:1px solid transparent;border-radius:999px;padding:3px 0;transition:border-color .3s,padding .3s,background .3s}.ramac-live .island.expanded{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.03);padding:3px 12px}.ramac-live .island .d{width:8px;height:8px;border-radius:50%;background:var(--live);animation:rlbreathe 2s ease-in-out infinite;flex-shrink:0}.ramac-live .island[data-state=connecting] .d{background:rgba(255,255,255,.5)}.ramac-live .island[data-state=offline] .d,.ramac-live .island[data-state=paused] .d{display:none}.ramac-live .island .w{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;white-space:nowrap}.ramac-live .island[data-state=offline] .w,.ramac-live .island[data-state=paused] .w{color:rgba(255,255,255,.4)}.ramac-live .island .sfx{display:none;font-size:11px;font-weight:600;color:rgba(255,255,255,.5);white-space:nowrap}.ramac-live .island.paused .sfx{display:inline}.ramac-live .island .msg{font-size:12.5px;color:var(--text-2);max-width:0;overflow:hidden;white-space:nowrap;opacity:0;transition:max-width .35s ease,opacity .3s ease}.ramac-live .island.expanded .msg{max-width:560px;opacity:1}.ramac-live .island .msg b{color:var(--accent-2);font-weight:600}.ramac-live .acthead{margin:34px 0 4px;text-align:center}.ramac-live .acthead h2{font-size:19px;font-weight:700;letter-spacing:-.015em;margin:0 0 6px}.ramac-live .acthead p{font-size:13.5px;color:var(--text-2);margin:0;line-height:1.5}.ramac-live .tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:16px}.ramac-live .tiles .tile{grid-column:span 2;min-width:0}.ramac-live .tiles .tile:nth-last-child(-n+2){grid-column:span 3}.ramac-live .tile{position:relative;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;font-family:inherit;border:1px solid var(--stroke-h);border-radius:12px;background:var(--panel);padding:12px 14px;color:var(--text);min-height:64px;transition:background .15s,border-color .15s,opacity .2s}.ramac-live .tile:hover{background:#181826;border-color:var(--accent-ring)}.ramac-live .tile:active{background:#101019}.ramac-live .tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ramac-live .tile .chip{flex-shrink:0;width:30px;height:30px;border-radius:8px;background:var(--accent-soft);display:grid;place-items:center;color:var(--accent);transition:background .15s,color .15s}.ramac-live .tile:hover .chip{background:rgba(74,143,212,.24)}.ramac-live .tile:active .chip,.ramac-live .tile.running .chip{background:var(--accent);color:#fff}.ramac-live .tile .chip svg{width:15px;height:15px}.ramac-live .tile .chip .spin{display:none;width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:rlspin .8s linear infinite}@keyframes rlspin{to{transform:rotate(360deg)}}.ramac-live .tile.running .chip .gl{display:none}.ramac-live .tile.running .chip .spin{display:block}.ramac-live .tile .body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ramac-live .tile .t{font-size:14px;font-weight:600}.ramac-live .tile .s{font-size:11.5px;color:var(--muted);line-height:1.4}.ramac-live .kc{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);border:1px solid var(--stroke-h);border-radius:5px;padding:3px 8px;box-shadow:0 1px 0 rgba(0,0,0,.9);transition:background .15s,color .15s,border-color .15s}.ramac-live .kc svg{width:9px;height:9px}.ramac-live .tile:hover .kc{background:var(--accent);color:#fff;border-color:var(--accent)}.ramac-live .tile:active .kc{box-shadow:none}.ramac-live .tile.running .kc{display:none}.ramac-live .kc.count{font-family:var(--mono);text-transform:none;letter-spacing:0}.ramac-live .tiles.cooling .tile,.ramac-live .tiles.paused .tile{opacity:.45}.ramac-live .tiles.cooling .tile:hover,.ramac-live .tiles.paused .tile:hover{background:var(--panel);border-color:var(--stroke-h)}.ramac-live .tiles.cooling .tile:hover .chip,.ramac-live .tiles.paused .tile:hover .chip{background:var(--accent-soft);color:var(--accent)}.ramac-live .tiles.cooling .tile:hover .kc,.ramac-live .tiles.paused .tile:hover .kc{background:0 0;color:var(--text-2);border-color:var(--stroke-h)}.ramac-live .tile.active{background:#181826;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.ramac-live .tile.active .chip{background:var(--accent);color:#fff}.ramac-live .tile.active .chip .gl,.ramac-live .tile.active .chip .spin{display:none}.ramac-live .tile.active .chip::after{content:\"\";display:block;width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);margin-top:-2px}.ramac-live .tile.active .kc{display:none}.ramac-live .tiles.cooling .tile.running,.ramac-live .tiles.cooling .tile.active,.ramac-live .tiles.paused .tile.running,.ramac-live .tiles.paused .tile.active{opacity:1}.ramac-live .tile.tip{z-index:6}.ramac-live .tile.tip::after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%);white-space:nowrap;background:#0a0a10;color:var(--text);border:1px solid var(--accent-ring);border-radius:7px;padding:6px 10px;font-size:11px;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.55);z-index:6;pointer-events:none;animation:rltip 3.2s ease forwards}.ramac-live .tile.tip::before{content:\"\";position:absolute;left:50%;bottom:calc(100% + 4px);transform:translateX(-50%);border:5px solid transparent;border-top-color:#0a0a10;z-index:6;pointer-events:none;animation:rltip 3.2s ease forwards}@keyframes rltip{0%{opacity:0;transform:translateX(-50%) translateY(5px)}10%{opacity:1;transform:translateX(-50%) translateY(0)}82%{opacity:1;transform:translateX(-50%) translateY(0)}100%{opacity:0;transform:translateX(-50%) translateY(0)}}.ramac-live .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.ramac-live .cta-panel{max-width:600px;margin:48px auto 0;background:var(--panel);border:1px solid var(--stroke);border-radius:20px;padding:36px 32px;text-align:center;position:relative;overflow:hidden}.ramac-live .cta-panel::before{content:\"\";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.ramac-live .cta-panel h2{font-size:23px;font-weight:800;letter-spacing:-.02em;margin:0 0 10px;color:var(--text)}.ramac-live .cta-panel p{color:var(--text-2);font-size:14.5px;line-height:1.55;max-width:440px;margin:0 auto 24px}.ramac-live .cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.ramac-live .cta-rent{display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;font-weight:700;font-size:14.5px!important;color:#fff!important;background:var(--accent)!important;border-radius:12px;padding:13px 26px;min-height:48px;transition:background .2s;transform:none!important;box-shadow:none!important}.ramac-live .cta-rent:hover,.ramac-live .cta-rent:focus{background:#4381bf!important;color:#fff!important}.ramac-live .cta-rent:visited{color:#fff!important}.ramac-live .cta-rent:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ramac-live .cta-faq{display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;font-weight:600;font-size:14px!important;color:var(--text)!important;background:0 0;border:1.5px solid var(--accent-ring);border-radius:12px;padding:12px 24px;min-height:48px;transition:background .15s,border-color .15s}.ramac-live .cta-faq:hover,.ramac-live .cta-faq:focus{background:var(--accent-soft);border-color:var(--accent-ring);color:var(--text)!important}@media (max-width:880px){.ramac-live .tiles{grid-template-columns:repeat(2,1fr)}.ramac-live .tiles .tile,.ramac-live .tiles .tile:nth-last-child(-n+2){grid-column:span 1}}@media (max-width:560px){.ramac-live .wrap{padding:30px 14px 60px}.ramac-live .tiles{grid-template-columns:1fr}.ramac-live .tiles .tile,.ramac-live .tiles .tile:nth-last-child(-n+2){grid-column:span 1}}@media (prefers-reduced-motion:reduce){.ramac-live .eyebrow .reddot,.ramac-live .island .d,.ramac-live .overlay .od,.ramac-live .tile .spin{animation:none}.ramac-live *{transition:none!important}}\n\/* --- embed overrides: sit the demo player inside the section, not full-bleed --- *\/\n.mh-demo-head{margin-bottom:clamp(28px,3.5vw,44px);}\n#mh-demo .mh-demo-head{text-align:center;}\n#mh-demo .mh-demo-head .mh-label{justify-content:center;}\n#mh-demo .mh-demo-head .mh-sub{margin-left:auto;margin-right:auto;}\n#mh-demo .mh-cta-block{align-items:center;text-align:center;}\n.mh-page .ramac-live{background:transparent;--mono:ui-monospace,\"SF Mono\",SFMono-Regular,Menlo,Consolas,monospace;}\n.mh-page .ramac-live .wrap{max-width:900px;padding:0 0 8px;}\n.mh-page .ramac-live .glow{top:-20px;}\n\n\/* centered single-column sections (two-column sections -- setup, specs, FAQ -- stay left-aligned) *\/\n.mh-hero-head,.mh-head,.mh-rev-head{text-align:center;}\n.mh-head .mh-label,.mh-rev-head .mh-label{justify-content:center;}\n.mh-hero-head .mh-sub,.mh-hero-sub,.mh-head .mh-sub{margin-left:auto;margin-right:auto;}\n.mh-hero-head .mh-ctas{justify-content:center;}\n.mh-rev-head .mh-rev-src{justify-content:center;}\n\n<\/style>\n\n<div class=\"mh-page\" id=\"mh-top\">\n\n  <!-- hero: THE WAKE -->\n  <section class=\"mh-hero\" id=\"mh-overview\">\n    <div class=\"mh-wrap mh-hero-head\">\n      <h1 class=\"mh-h1\">A dedicated Mac mini server, all&nbsp;yours.<\/h1>\n      <div class=\"mh-hero-rule\">\n        <p class=\"mh-hero-sub\"><b>A whole Mac mini M4, dedicated to you and no one&nbsp;else.<\/b> Full root, 99.9% uptime, and macOS you reach from anywhere, from $3.30 a&nbsp;day.<\/p>\n      <\/div>\n      <div class=\"mh-ctas mh-hero-cta-row\">\n        <a class=\"mh-btn mh-btn-fill mh-btn-xl\" href=\"https:\/\/rentamac.io\/pricing\">Get your Mac<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg><\/a>\n      <\/div>\n    <\/div>\n    <div class=\"mh-hero-stage\" id=\"mh-stage\">\n      <div class=\"mh-hero-bloom\" aria-hidden=\"true\"><\/div>\n      <img fetchpriority=\"high\" class=\"mh-hero-img\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/07\/dedicated-mac-mini-server.webp\" alt=\"Dedicated Mac mini M4 server waking under a warm halo of light\" width=\"1536\" height=\"1024\" fetchpriority=\"high\" decoding=\"async\">\n      <div class=\"mh-hero-shade\" aria-hidden=\"true\"><\/div>\n      <span class=\"mh-led\" aria-hidden=\"true\"><\/span>\n      <p class=\"mh-term-line\" aria-hidden=\"true\"><span id=\"mh-type\"><\/span><span class=\"mh-caret\" id=\"mh-caret\"><\/span><\/p>\n    <\/div>\n  <\/section>\n\n  <!-- 01 proof band -->\n  <section class=\"mh-proof\" id=\"mh-proof\" aria-label=\"Key features\">\n    <div class=\"mh-wrap\">\n      <div class=\"mh-proof-grid\">\n        <div class=\"mh-proof-cell mh-r\"><span class=\"mh-proof-n\">M4<\/span><div><b>Dedicated hardware<\/b><p>A physical Mac mini M4 kept for you alone. No shared cores, nothing&nbsp;virtual.<\/p><\/div><\/div>\n        <div class=\"mh-proof-cell mh-r\" style=\"--d:.07s\"><span class=\"mh-proof-n\">1<small>&nbsp;Gbps<\/small><\/span><div><b>Gigabit network<\/b><p>A full gigabit line into your dedicated machine, not a shared&nbsp;port.<\/p><\/div><\/div>\n        <div class=\"mh-proof-cell mh-r\" style=\"--d:.14s\"><span class=\"mh-proof-n\">24\/7<\/span><div><b>Always on<\/b><p>Your dedicated server runs around the clock, connected or&nbsp;not.<\/p><\/div><\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- 03 setup -->\n  <section class=\"mh-sec\" id=\"mh-setup\">\n    <div class=\"mh-wrap\">\n      <div class=\"mh-split\">\n        <div class=\"mh-split-head\">\n          <p class=\"mh-label mh-r\">Setup<\/p>\n          <h2 class=\"mh-h2 mh-h2-sm mh-r\" style=\"--d:.08s\">Ready in three&nbsp;steps.<\/h2>\n          <div class=\"mh-ctas mh-r\" style=\"--d:.24s;margin-top:28px;\"><a class=\"mh-btn mh-btn-fill\" href=\"https:\/\/rentamac.io\/pricing\">Get your Mac<\/a><\/div>\n        <\/div>\n        <div class=\"mh-steps\">\n          <div class=\"mh-step mh-r\"><i>01<\/i><div><h3>Pick a plan<\/h3><p>Daily, weekly, or monthly, cancel anytime. Your dedicated Mac mini M4 is ready within minutes of paying.<\/p><\/div><\/div>\n          <div class=\"mh-step mh-r\" style=\"--d:.08s\"><i>02<\/i><div><h3>Connect over DeskIn or SSH<\/h3><p>DeskIn remote desktop is preloaded at no cost and opens the full macOS screen from a laptop or phone. Want a terminal instead? SSH in as root. No dummy HDMI plug, no headless setup to babysit.<\/p><\/div><\/div>\n          <div class=\"mh-step mh-r\" style=\"--d:.16s\"><i>03<\/i><div><h3>Start building<\/h3><p>Install your tools, connect your build pipeline, and compile, test, and ship on real Apple Silicon. The server keeps running 24\/7.<\/p><\/div><\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- 04 use cases: editorial -->\n  <section class=\"mh-sec\" id=\"mh-use-cases\">\n    <div class=\"mh-wrap\">\n      <div class=\"mh-head\">\n        <p class=\"mh-label mh-r\">Use cases<\/p>\n        <h2 class=\"mh-h2 mh-r\" style=\"--d:.08s\">What a dedicated Mac&nbsp;runs.<\/h2>\n      <\/div>\n      <div class=\"mh-uc-bento\">\n        <article class=\"mh-uc-card mh-uc-feat mh-r\">\n          <span class=\"mh-uc-kick\">Flagship<\/span>\n          <h3>CI\/CD and iOS&nbsp;builds<\/h3>\n          <p class=\"mh-uc-lead-p\">Build, test, archive, and sign Xcode projects on Apple Silicon that is yours alone. A private runner with no shared queue and no build minutes to buy.<\/p>\n          <p class=\"mh-uc-tags\">GitHub Actions &middot; Jenkins &middot; GitLab CI &middot; Buildkite<\/p>\n          <p class=\"mh-runner\" aria-hidden=\"true\"><span class=\"dim\">github-runner<\/span>&nbsp;&nbsp;<span class=\"ok\">&#9679; online<\/span><br>last job&nbsp;&nbsp;<span class=\"dim\">ios-app &middot; passed<\/span><br>queue&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"dim\">0 waiting<\/span><\/p>\n        <\/article>\n        <article class=\"mh-uc-card mh-r\" style=\"--d:.06s\"><span class=\"mh-uc-kick\">cron<\/span><h4>Automation &amp; cron<\/h4><p class=\"mh-uc-desc\">Run scheduled jobs and background scripts around the clock, without leaving your own laptop powered on.<\/p><\/article>\n        <article class=\"mh-uc-card mh-r\" style=\"--d:.1s\"><span class=\"mh-uc-kick\">staging<\/span><h4>Dev, test &amp; staging<\/h4><p class=\"mh-uc-desc\">One always-available macOS environment the whole team logs into.<\/p><\/article>\n        <article class=\"mh-uc-card mh-r\" style=\"--d:.14s\"><span class=\"mh-uc-kick\">web<\/span><h4>Apps, sites &amp; databases<\/h4><p class=\"mh-uc-desc\">Keep Node, Nginx, Postgres, or WordPress running and private behind Tailscale.<\/p><\/article>\n        <article class=\"mh-uc-card mh-r\" style=\"--d:.18s\"><span class=\"mh-uc-kick\">release<\/span><h4>App Store Connect<\/h4><p class=\"mh-uc-desc\">Push your finished builds up to TestFlight and out to the App Store.<\/p><\/article>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- 06 stack strip -->\n  <section class=\"mh-sec\" id=\"mh-stack\">\n    <div class=\"mh-wrap\">\n      <div class=\"mh-head\" style=\"margin-bottom:clamp(28px,3.5vw,44px);\">\n        <p class=\"mh-label mh-r\">Any stack<\/p>\n        <h2 class=\"mh-h2 mh-h2-sm mh-r\" style=\"--d:.08s\">Run any server stack you&nbsp;want.<\/h2>\n        <p class=\"mh-sub mh-r\" style=\"--d:.16s\">Administrator rights from the first login. No sandbox, no list of approved apps, nothing locked down.<\/p>\n      <\/div>\n      <div class=\"mh-stack-strip mh-r\">\n        <div class=\"mh-stack-track\">\n          <div class=\"mh-logo\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/xcode.webp\" alt=\"Xcode logo\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>Xcode<\/span><\/div>\n          <div class=\"mh-logo\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/docker.webp\" alt=\"Docker logo\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>Docker<\/span><\/div>\n          <div class=\"mh-logo\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/homebrew.webp\" alt=\"Homebrew logo\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>Homebrew<\/span><\/div>\n          <div class=\"mh-logo\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/vs-code.webp\" alt=\"VS Code logo\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>VS Code<\/span><\/div>\n          <div class=\"mh-logo\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/git.webp\" alt=\"Git logo\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>Git<\/span><\/div>\n          <div class=\"mh-logo\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/nodejs.webp\" alt=\"Node.js logo\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>Node.js<\/span><\/div>\n          <div class=\"mh-logo\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/flutter.webp\" alt=\"Flutter logo\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>Flutter<\/span><\/div>\n          <div class=\"mh-logo\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/cursor.webp\" alt=\"Cursor IDE logo\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>Cursor<\/span><\/div>\n          <div class=\"mh-logo\" aria-hidden=\"true\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/xcode.webp\" alt=\"\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>Xcode<\/span><\/div>\n          <div class=\"mh-logo\" aria-hidden=\"true\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/docker.webp\" alt=\"\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>Docker<\/span><\/div>\n          <div class=\"mh-logo\" aria-hidden=\"true\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/homebrew.webp\" alt=\"\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>Homebrew<\/span><\/div>\n          <div class=\"mh-logo\" aria-hidden=\"true\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/vs-code.webp\" alt=\"\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>VS Code<\/span><\/div>\n          <div class=\"mh-logo\" aria-hidden=\"true\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/git.webp\" alt=\"\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>Git<\/span><\/div>\n          <div class=\"mh-logo\" aria-hidden=\"true\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/nodejs.webp\" alt=\"\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>Node.js<\/span><\/div>\n          <div class=\"mh-logo\" aria-hidden=\"true\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/flutter.webp\" alt=\"\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>Flutter<\/span><\/div>\n          <div class=\"mh-logo\" aria-hidden=\"true\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/cursor.webp\" alt=\"\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>Cursor<\/span><\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- 10 specs sheet -->\n  <section class=\"mh-sec\" id=\"mh-specs\">\n    <div class=\"mh-wrap\">\n      <div class=\"mh-specs-wrap\">\n        <div class=\"mh-specs-copy\">\n          <p class=\"mh-label mh-r\">Access &amp; specs<\/p>\n          <h2 class=\"mh-h2 mh-h2-sm mh-r\" style=\"--d:.08s\">You have full&nbsp;control.<\/h2>\n          <p class=\"mh-r\" style=\"--d:.16s\">Full admin rights from the first login, with nothing sandboxed or pre-approved. Install anything, change any setting, run any service. This dedicated machine is yours to configure.<\/p>\n        <\/div>\n        <div class=\"mh-sheet mh-r\" style=\"--d:.1s\">\n          <div class=\"mh-sheet-grp\">\n            <p class=\"mh-sheet-gh\">The machine<\/p>\n            <dl>\n              <div class=\"mh-sheet-row\"><dt>Hardware<\/dt><dd>Mac mini M4 &middot; 16GB memory &middot; 256GB SSD<\/dd><\/div>\n              <div class=\"mh-sheet-row\"><dt>macOS<\/dt><dd>Tahoe 26.4 or newer<\/dd><\/div>\n              <div class=\"mh-sheet-row\"><dt>Network<\/dt><dd>1 Gbps to your dedicated Mac<\/dd><\/div>\n              <div class=\"mh-sheet-row\"><dt>Uptime<\/dt><dd>99.9% uptime SLA<\/dd><\/div>\n            <\/dl>\n          <\/div>\n          <div class=\"mh-sheet-grp\">\n            <p class=\"mh-sheet-gh\">Access &amp; billing<\/p>\n            <dl>\n              <div class=\"mh-sheet-row\"><dt>Security<\/dt><dd>Two-layer physical &middot; GDPR compliant<\/dd><\/div>\n              <div class=\"mh-sheet-row\"><dt>Access<\/dt><dd>Full root &middot; single tenant<\/dd><\/div>\n              <div class=\"mh-sheet-row\"><dt>Connect<\/dt><dd>DeskIn or SSH<\/dd><\/div>\n              <div class=\"mh-sheet-row\"><dt>Billing<\/dt><dd>Daily, weekly, or monthly &middot; auto-renews until you cancel<\/dd><\/div>\n            <\/dl>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- 11 pricing sheet -->\n  <section class=\"mh-sec\" id=\"mh-pricing\">\n    <div class=\"mh-wrap\">\n      <div class=\"mh-head\">\n        <p class=\"mh-label mh-r\">Pricing<\/p>\n        <h2 class=\"mh-h2 mh-h2-sm mh-r\" style=\"--d:.08s\">Plans and&nbsp;pricing.<\/h2>\n        <p class=\"mh-sub mh-r\" style=\"--d:.16s\">One flat price for the whole period. No usage metering, no egress fees, no surprises at checkout.<\/p>\n      <\/div>\n      <div class=\"mh-dial mh-r\" style=\"--d:.1s\">\n        <div class=\"mh-dial-top\">\n          <div>\n            <p class=\"mh-dial-plan\" id=\"mh-pr-plan\">Monthly<\/p>\n            <p class=\"mh-dial-price\" id=\"mh-pr-price\">$99<small> \/month<\/small><\/p>\n            <p class=\"mh-dial-note\" id=\"mh-pr-note\">The full-time dedicated plan.<\/p>\n          <\/div>\n          <div class=\"mh-dial-side\">\n            <p class=\"mh-dial-day\" id=\"mh-pr-day\">$3.30<\/p>\n            <p class=\"mh-dial-day-lb\">cost per day<\/p>\n            <span class=\"mh-dial-save\" id=\"mh-pr-save\"><\/span>\n          <\/div>\n        <\/div>\n        <div class=\"mh-slz\">\n          <input type=\"range\" class=\"mh-sl\" id=\"mh-pr-slider\" min=\"0\" max=\"4\" step=\"1\" value=\"2\" aria-label=\"Choose a billing period\">\n          <div class=\"mh-sl-labels\">\n            <button class=\"mh-sl-lb\" data-i=\"0\" type=\"button\"><b>Daily<\/b><i>1 day<\/i><\/button>\n            <button class=\"mh-sl-lb\" data-i=\"1\" type=\"button\"><b>Weekly<\/b><i>7 days<\/i><\/button>\n            <button class=\"mh-sl-lb mh-on\" data-i=\"2\" type=\"button\"><b>Monthly<\/b><i>30 days<\/i><\/button>\n            <button class=\"mh-sl-lb\" data-i=\"3\" type=\"button\"><b>3 months<\/b><i>90 days<\/i><\/button>\n            <button class=\"mh-sl-lb\" data-i=\"4\" type=\"button\"><b>6 months<\/b><i>180 days<\/i><\/button>\n          <\/div>\n        <\/div>\n        <div class=\"mh-dial-foot\">\n          <a class=\"mh-btn mh-btn-fill\" href=\"https:\/\/rentamac.io\/pricing\">Get your Mac<\/a>\n          <span class=\"mh-reduce\"><b>Cancel anytime.<\/b><\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- 14 reviews -->\n  <section class=\"mh-sec mh-reviews\" id=\"mh-reviews\">\n    <div class=\"mh-aurora\" aria-hidden=\"true\"><i><\/i><i><\/i><i><\/i><\/div>\n    <div class=\"mh-wrap\">\n      <div class=\"mh-rev-head\">\n        <p class=\"mh-label mh-r\">Reviews<\/p>\n        <h2 class=\"mh-h2 mh-h2-sm mh-r\" style=\"--d:.08s\">What teams say.<\/h2>\n        <p class=\"mh-rev-src mh-r\" style=\"--d:.16s\"><svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\"><path d=\"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 01-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1z\" fill=\"#4285F4\"\/><path d=\"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z\" fill=\"#34A853\"\/><path d=\"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z\" fill=\"#FBBC05\"\/><path d=\"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z\" fill=\"#EA4335\"\/><\/svg><a href=\"https:\/\/maps.app.goo.gl\/iwsyfPoiFETp2JkW9\" target=\"_blank\" rel=\"noopener nofollow\">Google Reviews<\/a><\/p>\n      <\/div>\n      <div class=\"mh-marq mh-r\" style=\"--d:.2s\" aria-label=\"Customer reviews\">\n        <div class=\"mh-marq-track\">\n          <article class=\"mh-rc\">\n            <div class=\"mh-rc-top\"><span class=\"mh-rc-av\" style=\"background:#4a8fd4\" aria-hidden=\"true\">C<\/span><span class=\"mh-rc-nm\">Carlos Mavros<\/span><\/div>\n            <span class=\"mh-rc-st\" role=\"img\" aria-label=\"5 out of 5 stars\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><\/span>\n            <p>&ldquo;The easiest onboarding I&#8217;ve had across many platforms. Professional and proactive team.&rdquo;<\/p>\n          <\/article>\n          <article class=\"mh-rc\">\n            <div class=\"mh-rc-top\"><span class=\"mh-rc-av\" style=\"background:#9b6dd6\" aria-hidden=\"true\">M<\/span><span class=\"mh-rc-nm\">Malak Alwazeer<\/span><\/div>\n            <span class=\"mh-rc-st\" role=\"img\" aria-label=\"5 out of 5 stars\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><\/span>\n            <p>&ldquo;Great pricing, easy setup, outstanding communication. Fast support.&rdquo;<\/p>\n          <\/article>\n          <article class=\"mh-rc\">\n            <div class=\"mh-rc-top\"><span class=\"mh-rc-av\" style=\"background:#e0894a\" aria-hidden=\"true\">A<\/span><span class=\"mh-rc-nm\">Ahmed Monsef<\/span><\/div>\n            <span class=\"mh-rc-st\" role=\"img\" aria-label=\"5 out of 5 stars\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><\/span>\n            <p>&ldquo;Excellent service. Outstanding response time. Support follows up until resolved.&rdquo;<\/p>\n          <\/article>\n          <article class=\"mh-rc\">\n            <div class=\"mh-rc-top\"><span class=\"mh-rc-av\" style=\"background:#35a865\" aria-hidden=\"true\">S<\/span><span class=\"mh-rc-nm\">Suman<\/span><\/div>\n            <span class=\"mh-rc-st\" role=\"img\" aria-label=\"5 out of 5 stars\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><\/span>\n            <p>&ldquo;Performance is awesome. Affordable to code on Mac from my Windows PC.&rdquo;<\/p>\n          <\/article>\n          <article class=\"mh-rc\">\n            <div class=\"mh-rc-top\"><span class=\"mh-rc-av\" style=\"background:#3aa9a0\" aria-hidden=\"true\">S<\/span><span class=\"mh-rc-nm\">Sami Arfaoui<\/span><\/div>\n            <span class=\"mh-rc-st\" role=\"img\" aria-label=\"5 out of 5 stars\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><\/span>\n            <p>&ldquo;Transparent and friendly. Mac instances run stably. Fair prices.&rdquo;<\/p>\n          <\/article>\n          <article class=\"mh-rc\">\n            <div class=\"mh-rc-top\"><span class=\"mh-rc-av\" style=\"background:#d16aa0\" aria-hidden=\"true\">E<\/span><span class=\"mh-rc-nm\">Emama Shakery<\/span><\/div>\n            <span class=\"mh-rc-st\" role=\"img\" aria-label=\"5 out of 5 stars\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><\/span>\n            <p>&ldquo;Super easy to get a Mac. Fast delivery and the machine was in great condition.&rdquo;<\/p>\n          <\/article>\n          <article class=\"mh-rc\" aria-hidden=\"true\">\n            <div class=\"mh-rc-top\"><span class=\"mh-rc-av\" style=\"background:#4a8fd4\" aria-hidden=\"true\">C<\/span><span class=\"mh-rc-nm\">Carlos Mavros<\/span><\/div>\n            <span class=\"mh-rc-st\" role=\"img\" aria-label=\"5 out of 5 stars\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><\/span>\n            <p>&ldquo;The easiest onboarding I&#8217;ve had across many platforms. Professional and proactive team.&rdquo;<\/p>\n          <\/article>\n          <article class=\"mh-rc\" aria-hidden=\"true\">\n            <div class=\"mh-rc-top\"><span class=\"mh-rc-av\" style=\"background:#9b6dd6\" aria-hidden=\"true\">M<\/span><span class=\"mh-rc-nm\">Malak Alwazeer<\/span><\/div>\n            <span class=\"mh-rc-st\" role=\"img\" aria-label=\"5 out of 5 stars\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><\/span>\n            <p>&ldquo;Great pricing, easy setup, outstanding communication. Fast support.&rdquo;<\/p>\n          <\/article>\n          <article class=\"mh-rc\" aria-hidden=\"true\">\n            <div class=\"mh-rc-top\"><span class=\"mh-rc-av\" style=\"background:#e0894a\" aria-hidden=\"true\">A<\/span><span class=\"mh-rc-nm\">Ahmed Monsef<\/span><\/div>\n            <span class=\"mh-rc-st\" role=\"img\" aria-label=\"5 out of 5 stars\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><\/span>\n            <p>&ldquo;Excellent service. Outstanding response time. Support follows up until resolved.&rdquo;<\/p>\n          <\/article>\n          <article class=\"mh-rc\" aria-hidden=\"true\">\n            <div class=\"mh-rc-top\"><span class=\"mh-rc-av\" style=\"background:#35a865\" aria-hidden=\"true\">S<\/span><span class=\"mh-rc-nm\">Suman<\/span><\/div>\n            <span class=\"mh-rc-st\" role=\"img\" aria-label=\"5 out of 5 stars\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><\/span>\n            <p>&ldquo;Performance is awesome. Affordable to code on Mac from my Windows PC.&rdquo;<\/p>\n          <\/article>\n          <article class=\"mh-rc\" aria-hidden=\"true\">\n            <div class=\"mh-rc-top\"><span class=\"mh-rc-av\" style=\"background:#3aa9a0\" aria-hidden=\"true\">S<\/span><span class=\"mh-rc-nm\">Sami Arfaoui<\/span><\/div>\n            <span class=\"mh-rc-st\" role=\"img\" aria-label=\"5 out of 5 stars\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><\/span>\n            <p>&ldquo;Transparent and friendly. Mac instances run stably. Fair prices.&rdquo;<\/p>\n          <\/article>\n          <article class=\"mh-rc\" aria-hidden=\"true\">\n            <div class=\"mh-rc-top\"><span class=\"mh-rc-av\" style=\"background:#d16aa0\" aria-hidden=\"true\">E<\/span><span class=\"mh-rc-nm\">Emama Shakery<\/span><\/div>\n            <span class=\"mh-rc-st\" role=\"img\" aria-label=\"5 out of 5 stars\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><\/span>\n            <p>&ldquo;Super easy to get a Mac. Fast delivery and the machine was in great condition.&rdquo;<\/p>\n          <\/article>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- 15 demo -->\n  <section class=\"mh-sec\" id=\"mh-demo\">\n    <div class=\"mh-wrap\">\n      <div class=\"mh-demo-head mh-r\">\n        <p class=\"mh-label\">Live demo<\/p>\n        <h2 class=\"mh-h2 mh-h2-sm\">See the dedicated Mac&nbsp;live.<\/h2>\n        <p class=\"mh-sub\">This is an actual dedicated Mac mini M4, streamed live. Pick an action and watch it run.<\/p>\n      <\/div>\n      <div class=\"ramac-live mh-r\" style=\"--d:.24s\">\n        <div class=\"wrap\">\n          <div class=\"glow\" aria-hidden=\"true\"><\/div>\n          <div class=\"inner\">\n            <div class=\"player\">\n              <video id=\"rl-video\" autoplay muted playsinline><\/video>\n              <div class=\"overlay\" id=\"rl-overlay\"><span class=\"od\" aria-hidden=\"true\"><\/span><div class=\"big\" id=\"rl-ov-big\">Connecting to the live stream&hellip;<\/div><div class=\"small\" id=\"rl-ov-small\"><\/div><\/div>\n              <div class=\"overlay paused-ov hidden\" id=\"rl-paused\" role=\"button\" tabindex=\"0\" aria-label=\"Resume the live stream\"><span class=\"pic\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M8 5v14l11-7z\"><\/path><\/svg><\/span><div class=\"big\">Stream paused<\/div><div class=\"small\">Tap to resume the live stream<\/div><\/div>\n            <\/div>\n            <div class=\"islandbar\">\n              <div class=\"coolline\" id=\"rl-line\" aria-hidden=\"true\"><\/div>\n              <span class=\"island\" id=\"rl-island\" data-state=\"connecting\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><span class=\"d\" aria-hidden=\"true\"><\/span><span class=\"w\" id=\"rl-word\">Connecting<\/span><span class=\"sfx\" id=\"rl-sfx\">&middot; actions paused<\/span><span class=\"msg\" id=\"rl-msg\"><\/span><\/span>\n            <\/div>\n            <div class=\"acthead\"><h2>Now run something on it<\/h2><p>These buttons send real commands to the Mac above.<\/p><\/div>\n            <div class=\"tiles\" id=\"rl-tiles\">\n              <button class=\"tile\" type=\"button\" data-action=\"simulator\" aria-disabled=\"false\"><span class=\"chip\"><span class=\"gl\"><svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><rect x=\"7\" y=\"2\" width=\"10\" height=\"20\" rx=\"2.5\"><\/rect><path stroke-linecap=\"round\" d=\"M11 18h2\"><\/path><\/svg><\/span><span class=\"spin\" aria-hidden=\"true\"><\/span><\/span><span class=\"body\"><span class=\"t\">Open iOS Simulator<\/span><span class=\"s\">Boot an iPhone on the Mac<\/span><\/span><span class=\"kc\"><svg viewBox=\"0 0 10 10\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M1.5 1l7 4-7 4z\"><\/path><\/svg> Run<\/span><\/button>\n              <button class=\"tile\" type=\"button\" data-action=\"speedtest\" aria-disabled=\"false\"><span class=\"chip\"><span class=\"gl\"><svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" d=\"M4 14a8 8 0 1116 0M12 14l4-5\"><\/path><\/svg><\/span><span class=\"spin\" aria-hidden=\"true\"><\/span><\/span><span class=\"body\"><span class=\"t\">Run Speedtest<\/span><span class=\"s\">Latency, upload and download<\/span><\/span><span class=\"kc\"><svg viewBox=\"0 0 10 10\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M1.5 1l7 4-7 4z\"><\/path><\/svg> Run<\/span><\/button>\n              <button class=\"tile\" type=\"button\" data-action=\"xcode\" aria-disabled=\"false\"><span class=\"chip\"><span class=\"gl\"><svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" d=\"M9 6l-5 6 5 6M15 6l5 6-5 6\"><\/path><\/svg><\/span><span class=\"spin\" aria-hidden=\"true\"><\/span><\/span><span class=\"body\"><span class=\"t\">Launch Xcode<\/span><span class=\"s\">Open the full IDE on screen<\/span><\/span><span class=\"kc\"><svg viewBox=\"0 0 10 10\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M1.5 1l7 4-7 4z\"><\/path><\/svg> Run<\/span><\/button>\n              <button class=\"tile\" type=\"button\" data-action=\"sysinfo\" aria-disabled=\"false\"><span class=\"chip\"><span class=\"gl\"><svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"14\" rx=\"2\"><\/rect><path stroke-linecap=\"round\" d=\"M7 9l3 2.5L7 14M12.5 14H17\"><\/path><\/svg><\/span><span class=\"spin\" aria-hidden=\"true\"><\/span><\/span><span class=\"body\"><span class=\"t\">Show System Info<\/span><span class=\"s\">Hardware specs via Terminal<\/span><\/span><span class=\"kc\"><svg viewBox=\"0 0 10 10\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M1.5 1l7 4-7 4z\"><\/path><\/svg> Run<\/span><\/button>\n              <button class=\"tile\" type=\"button\" data-action=\"reset\" aria-disabled=\"false\"><span class=\"chip\"><span class=\"gl\"><svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" d=\"M4 10a8 8 0 1014-4M4 4v6h6\"><\/path><\/svg><\/span><span class=\"spin\" aria-hidden=\"true\"><\/span><\/span><span class=\"body\"><span class=\"t\">Reset Desktop<\/span><span class=\"s\">Close everything, fresh start<\/span><\/span><span class=\"kc\"><svg viewBox=\"0 0 10 10\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M1.5 1l7 4-7 4z\"><\/path><\/svg> Run<\/span><\/button>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n      <div class=\"mh-cta-block mh-r\"><a class=\"mh-btn mh-btn-fill\" href=\"https:\/\/rentamac.io\/pricing\">Get your Mac<\/a><span class=\"mh-reduce\"><b>Cancel anytime.<\/b> From $3.30 a day.<\/span><\/div>\n    <\/div>\n  <\/section>\n\n  <!-- 16 FAQ -->\n  <section class=\"mh-sec\" id=\"mh-faq\">\n    <div class=\"mh-wrap\">\n      <div class=\"mh-faq-wrap\">\n        <div class=\"mh-split-head mh-faq-side\">\n          <p class=\"mh-label mh-r\">Questions<\/p>\n          <h2 class=\"mh-h2 mh-h2-sm mh-r\" style=\"--d:.08s\">Dedicated Mac FAQ.<\/h2>\n        <\/div>\n        <div class=\"mh-faq-list mh-r\">\n          <div class=\"mh-faq\">\n            <h3 class=\"mh-faq-h\"><button class=\"mh-faq-q\" type=\"button\" aria-expanded=\"false\" aria-controls=\"mh-faq-a1\"><span>Can I run a dedicated Mac mini 24\/7?<\/span><span class=\"mh-faq-ico\" aria-hidden=\"true\"><\/span><\/button><\/h3>\n            <div class=\"mh-faq-a\" id=\"mh-faq-a1\"><div><p>Yes. Your dedicated machine stays online as long as the subscription is active, so it works as a full always-on server. Just do not power it off from inside macOS, or you will lose remote access until the team brings it back.<\/p><\/div><\/div>\n          <\/div>\n          <div class=\"mh-faq\">\n            <h3 class=\"mh-faq-h\"><button class=\"mh-faq-q\" type=\"button\" aria-expanded=\"false\" aria-controls=\"mh-faq-a2\"><span>Is this a real dedicated Mac or a virtual machine?<\/span><span class=\"mh-faq-ico\" aria-hidden=\"true\"><\/span><\/button><\/h3>\n            <div class=\"mh-faq-a\" id=\"mh-faq-a2\"><div><p>It is a real, dedicated Mac mini M4, not a virtual machine. The whole unit is yours, with 16GB of memory and no other tenants on the cores.<\/p><\/div><\/div>\n          <\/div>\n          <div class=\"mh-faq\">\n            <h3 class=\"mh-faq-h\"><button class=\"mh-faq-q\" type=\"button\" aria-expanded=\"false\" aria-controls=\"mh-faq-a3\"><span>Can I use the dedicated Mac as a CI\/CD or iOS build runner?<\/span><span class=\"mh-faq-ico\" aria-hidden=\"true\"><\/span><\/button><\/h3>\n            <div class=\"mh-faq-a\" id=\"mh-faq-a3\"><div><p>Yes. With full root you can install a self-hosted runner for GitHub Actions, Jenkins, GitLab CI, or Buildkite and run Xcode builds, tests, and code signing on real Apple Silicon.<\/p><\/div><\/div>\n          <\/div>\n          <div class=\"mh-faq\">\n            <h3 class=\"mh-faq-h\"><button class=\"mh-faq-q\" type=\"button\" aria-expanded=\"false\" aria-controls=\"mh-faq-a4\"><span>Do I get full root access?<\/span><span class=\"mh-faq-ico\" aria-hidden=\"true\"><\/span><\/button><\/h3>\n            <div class=\"mh-faq-a\" id=\"mh-faq-a4\"><div><p>Yes, full administrator access from the first login, with no restrictions. Install anything, change any setting, run any service on the machine.<\/p><\/div><\/div>\n          <\/div>\n          <div class=\"mh-faq\">\n            <h3 class=\"mh-faq-h\"><button class=\"mh-faq-q\" type=\"button\" aria-expanded=\"false\" aria-controls=\"mh-faq-a5\"><span>Why a dedicated Mac instead of a cheaper Linux server?<\/span><span class=\"mh-faq-ico\" aria-hidden=\"true\"><\/span><\/button><\/h3>\n            <div class=\"mh-faq-a\" id=\"mh-faq-a5\"><div><p>Because Xcode, the iOS and macOS toolchains, code signing, and notarization only run on macOS on Apple hardware. A Linux server cannot do those jobs at any price. Anything that touches Apple platforms needs a real Mac.<\/p><\/div><\/div>\n          <\/div>\n          <div class=\"mh-faq\">\n            <h3 class=\"mh-faq-h\"><button class=\"mh-faq-q\" type=\"button\" aria-expanded=\"false\" aria-controls=\"mh-faq-a6\"><span>Where does the dedicated Mac run, and what uptime can I expect?<\/span><span class=\"mh-faq-ico\" aria-hidden=\"true\"><\/span><\/button><\/h3>\n            <div class=\"mh-faq-a\" id=\"mh-faq-a6\"><div><p>It sits in a datacenter with two-layer physical security and a 99.9% uptime SLA, and it stays online as long as your subscription is active.<\/p><\/div><\/div>\n          <\/div>\n          <div class=\"mh-faq\">\n            <h3 class=\"mh-faq-h\"><button class=\"mh-faq-q\" type=\"button\" aria-expanded=\"false\" aria-controls=\"mh-faq-a8\"><span>Which macOS version runs on it?<\/span><span class=\"mh-faq-ico\" aria-hidden=\"true\"><\/span><\/button><\/h3>\n            <div class=\"mh-faq-a\" id=\"mh-faq-a8\"><div><p>Every dedicated Mac runs macOS Tahoe 26.4 or newer. Downgrading to an older version of macOS is not supported.<\/p><\/div><\/div>\n          <\/div>\n          <div class=\"mh-faq\">\n            <h3 class=\"mh-faq-h\"><button class=\"mh-faq-q\" type=\"button\" aria-expanded=\"false\" aria-controls=\"mh-faq-a9\"><span>Can I connect over SSH, not only remote desktop?<\/span><span class=\"mh-faq-ico\" aria-hidden=\"true\"><\/span><\/button><\/h3>\n            <div class=\"mh-faq-a\" id=\"mh-faq-a9\"><div><p>Yes. SSH is supported, and DeskIn remote desktop ships pre-installed and free. Use the terminal for headless work, or DeskIn when you want the full desktop.<\/p><\/div><\/div>\n          <\/div>\n          <div class=\"mh-faq\">\n            <h3 class=\"mh-faq-h\"><button class=\"mh-faq-q\" type=\"button\" aria-expanded=\"false\" aria-controls=\"mh-faq-a10\"><span>Can I get several dedicated Macs for a team?<\/span><span class=\"mh-faq-ico\" aria-hidden=\"true\"><\/span><\/button><\/h3>\n            <div class=\"mh-faq-a\" id=\"mh-faq-a10\"><div><p>Yes. Volume pricing starts at five machines (5% off) and fifteen or more (10% off), and Thunderbolt clustering is available on orders of fifteen or more.<\/p><\/div><\/div>\n          <\/div>\n          <div class=\"mh-faq\">\n            <h3 class=\"mh-faq-h\"><button class=\"mh-faq-q\" type=\"button\" aria-expanded=\"false\" aria-controls=\"mh-faq-a11\"><span>How does billing work, and can I cancel anytime?<\/span><span class=\"mh-faq-ico\" aria-hidden=\"true\"><\/span><\/button><\/h3>\n            <div class=\"mh-faq-a\" id=\"mh-faq-a11\"><div><p>Plans start at $3.30 a day on the monthly term, with daily and weekly options too. Everything auto-renews until you cancel, which you can do anytime from the dashboard. There is no hourly billing and no free trial.<\/p><\/div><\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- 17 final -->\n  <section class=\"mh-sec mh-final\" id=\"mh-get-started\">\n    <div class=\"mh-aurora\" aria-hidden=\"true\"><i><\/i><i><\/i><i><\/i><\/div>\n    <div class=\"mh-final-bloom\" aria-hidden=\"true\"><\/div>\n    <div class=\"mh-wrap\">\n      <div class=\"mh-r\">\n        <h2 class=\"mh-h2\">Your dedicated Mac, reachable from&nbsp;anywhere.<\/h2>\n        <p class=\"mh-sub\">A dedicated Mac server, online the minute you pay. From $3.30 a day, cancel anytime.<\/p>\n        <div class=\"mh-ctas\">\n          <a class=\"mh-btn mh-btn-fill\" href=\"https:\/\/rentamac.io\/pricing\">Get your Mac<\/a>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- mobile sticky CTA bar -->\n  <div class=\"mh-stickybar\">\n    <span class=\"mh-reduce\"><b>From $3.30\/day.<\/b> Cancel anytime.<\/span>\n    <a class=\"mh-btn mh-btn-fill\" href=\"https:\/\/rentamac.io\/pricing\">Get your Mac<\/a>\n  <\/div>\n<\/div>\n\n<script>\/* base64-wrapped by deploy-page.py *\/eval(new TextDecoder().decode(Uint8Array.from(atob(\"CihmdW5jdGlvbigpewogICJ1c2Ugc3RyaWN0IjsKICB2YXIgcGFnZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWgtdG9wIik7CiAgaWYoIXBhZ2UpcmV0dXJuOwogIHBhZ2UuY2xhc3NMaXN0LmFkZCgibWgtanMiKTsKICB2YXIgcmVkdWNlPXdpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSIpLm1hdGNoZXM7CgogIC8qIC0tLS0tLS0tLS0gVEhFIFdBS0UgLS0tLS0tLS0tLSAqLwogIHZhciBoZXJvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtaC1vdmVydmlldyIpOwogIHZhciBzdGFnZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWgtc3RhZ2UiKTsKICB2YXIgdHlwZUVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtaC10eXBlIik7CiAgdmFyIGNhcmV0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtaC1jYXJldCIpOwogIHZhciBURVJNPVtbInNzaCBtaW5pLTA0LnJlbnRhbWFjIiwicDIiXSxbIiAgLi4uICAiLCIiXSxbImNvbm5lY3RlZCIsIm9rIl0sWyIgIHwgIHVwdGltZSA5OS45JSIsIiJdXTsKICB2YXIgYXdha2U9ZmFsc2U7CgogIGZ1bmN0aW9uIHR5cGVUZXJtaW5hbCgpewogICAgdmFyIHNlZz0wLGNoPTA7CiAgICBmdW5jdGlvbiB0aWNrKCl7CiAgICAgIGlmKHNlZz49VEVSTS5sZW5ndGgpe2NhcmV0LmNsYXNzTGlzdC5hZGQoIm1oLWRvbmUiKTtyZXR1cm47fQogICAgICB2YXIgdHh0PVRFUk1bc2VnXVswXSxjbHM9VEVSTVtzZWddWzFdOwogICAgICBpZihjaD09PTAmJmNscyl7dmFyIHNwPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgICAgICBpZihjbHM9PT0ib2siKXNwLmNsYXNzTmFtZT0ib2siO2lmKGNscz09PSJwMiIpc3AuY2xhc3NOYW1lPSIiOwogICAgICAgIHNwLmlkPSJtaC10c2VnIitzZWc7dHlwZUVsLmFwcGVuZENoaWxkKHNwKTt9CiAgICAgIHZhciB0YXJnZXQ9Y2xzP2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtaC10c2VnIitzZWcpOnR5cGVFbDsKICAgICAgaWYoY2xzKXt0YXJnZXQudGV4dENvbnRlbnQrPXR4dFtjaF07fQogICAgICBlbHNle3R5cGVFbC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0eHRbY2hdKSk7fQogICAgICBjaCsrOwogICAgICBpZihjaD49dHh0Lmxlbmd0aCl7c2VnKys7Y2g9MDtzZXRUaW1lb3V0KHRpY2ssc2VnPT09Mj8zNDA6MTIwKTt9CiAgICAgIGVsc2V7c2V0VGltZW91dCh0aWNrLDM0KTt9CiAgICB9CiAgICB2YXIgbGVhZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7bGVhZC5jbGFzc05hbWU9InAiO2xlYWQudGV4dENvbnRlbnQ9IiQgIjsKICAgIHR5cGVFbC5hcHBlbmRDaGlsZChsZWFkKTsKICAgIHRpY2soKTsKICB9CiAgZnVuY3Rpb24gZnVsbFRlcm1pbmFsKCl7CiAgICB0eXBlRWwuaW5uZXJIVE1MPSc8c3BhbiBjbGFzcz0icCI+JCA8L3NwYW4+c3NoIG1pbmktMDQucmVudGFtYWMgIC4uLiAgPHNwYW4gY2xhc3M9Im9rIj5jb25uZWN0ZWQ8L3NwYW4+ICB8ICB1cHRpbWUgOTkuOSUnOwogICAgY2FyZXQuY2xhc3NMaXN0LmFkZCgibWgtZG9uZSIpOwogIH0KICBmdW5jdGlvbiB3YWtlKCl7CiAgICBpZihhd2FrZSlyZXR1cm47YXdha2U9dHJ1ZTsKICAgIGhlcm8uY2xhc3NMaXN0LmFkZCgibWgtYXdha2UiKTsKICAgIGlmKHJlZHVjZSl7ZnVsbFRlcm1pbmFsKCk7fQogICAgZWxzZXtzZXRUaW1lb3V0KHR5cGVUZXJtaW5hbCw1MjApO30KICB9CgogIC8qIGlmIHRoZSBoZXJvIHBob3RvIGZhaWxzIHRvIGxvYWQsIGRvbid0IHNob3cgYnJva2VuIGFsdCB0ZXh0OiBjb2xsYXBzZSB0aGUKICAgICBzdGFnZSBhbmQgd2FrZSBpbW1lZGlhdGVseSBzbyBpdCByZWFkcyBhcyBhIGNsZWFuIGRhcmsgYmxvb20gKyB0ZXJtaW5hbCAqLwogIHZhciBoZXJvSW1nPXN0YWdlLnF1ZXJ5U2VsZWN0b3IoIi5taC1oZXJvLWltZyIpOwogIGZ1bmN0aW9uIGhlcm9GYWlsKCl7c3RhZ2UuY2xhc3NMaXN0LmFkZCgibWgtbm9pbWciKTt3YWtlKCk7fQogIGlmKGhlcm9JbWcpewogICAgaWYoaGVyb0ltZy5jb21wbGV0ZSYmaGVyb0ltZy5uYXR1cmFsV2lkdGg9PT0wKWhlcm9GYWlsKCk7CiAgICBoZXJvSW1nLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixoZXJvRmFpbCk7CiAgfQoKICAvKiB0aGUgbWFjaGluZSB3YWtlcyBhcyB5b3Ugc2Nyb2xsIGl0IGludG8gdmlldyAqLwogIGlmKHJlZHVjZXx8ISgiSW50ZXJzZWN0aW9uT2JzZXJ2ZXIiIGluIHdpbmRvdykpe3dha2UoKTt9CiAgZWxzZXsKICAgIHZhciB3aW89bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGVudHJpZXMpewogICAgICBlbnRyaWVzLmZvckVhY2goZnVuY3Rpb24oZSl7CiAgICAgICAgaWYoZS5pc0ludGVyc2VjdGluZyl7d2FrZSgpO3dpby5kaXNjb25uZWN0KCk7fQogICAgICB9KTsKICAgIH0se3RocmVzaG9sZDouOH0pOwogICAgd2lvLm9ic2VydmUoc3RhZ2UpOwogIH0KCiAgLyogLS0tLS0tLS0tLSBzY3JvbGwgcmV2ZWFscyAob25jZSkgLS0tLS0tLS0tLSAqLwogIHZhciByZXZlYWxlZD1wYWdlLnF1ZXJ5U2VsZWN0b3JBbGwoIi5taC1yIik7CiAgaWYoIkludGVyc2VjdGlvbk9ic2VydmVyIiBpbiB3aW5kb3cgJiYgIXJlZHVjZSl7CiAgICB2YXIgaW89bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGVudHJpZXMpewogICAgICBlbnRyaWVzLmZvckVhY2goZnVuY3Rpb24oZSl7CiAgICAgICAgaWYoZS5pc0ludGVyc2VjdGluZyl7ZS50YXJnZXQuY2xhc3NMaXN0LmFkZCgibWgtb24iKTtpby51bm9ic2VydmUoZS50YXJnZXQpO30KICAgICAgfSk7CiAgICB9LHt0aHJlc2hvbGQ6LjEyLHJvb3RNYXJnaW46IjBweCAwcHggLTYlIDBweCJ9KTsKICAgIHJldmVhbGVkLmZvckVhY2goZnVuY3Rpb24oZWwpe2lvLm9ic2VydmUoZWwpO30pOwogIH1lbHNlewogICAgcmV2ZWFsZWQuZm9yRWFjaChmdW5jdGlvbihlbCl7ZWwuY2xhc3NMaXN0LmFkZCgibWgtb24iKTt9KTsKICB9CgogIC8qIC0tLS0tLS0tLS0gY291bnQtdXBzOiBydW4gb25jZSB3aGVuIHJldmVhbGVkIC0tLS0tLS0tLS0gKi8KICBmdW5jdGlvbiBjb3VudFVwKGVsKXsKICAgIHZhciB0YXJnZXQ9cGFyc2VGbG9hdChlbC5nZXRBdHRyaWJ1dGUoImRhdGEtY291bnQiKSk7CiAgICB2YXIgZGVjPXBhcnNlSW50KGVsLmdldEF0dHJpYnV0ZSgiZGF0YS1kZWMiKXx8IjAiLDEwKTsKICAgIHZhciB0MD1udWxsLEQ9NzAwOwogICAgZnVuY3Rpb24gZnJhbWUodCl7CiAgICAgIGlmKCF0MCl0MD10OwogICAgICB2YXIgcD1NYXRoLm1pbigxLCh0LXQwKS9EKTsKICAgICAgcD0xLU1hdGgucG93KDEtcCwzKTsgLyogZWFzZS1vdXQgY3ViaWMsIG1hdGNoZXMgdGhlIGZhbWlseSAqLwogICAgICBlbC50ZXh0Q29udGVudD0odGFyZ2V0KnApLnRvRml4ZWQoZGVjKTsKICAgICAgaWYocDwxKXJlcXVlc3RBbmltYXRpb25GcmFtZShmcmFtZSk7CiAgICAgIGVsc2UgZWwudGV4dENvbnRlbnQ9dGFyZ2V0LnRvRml4ZWQoZGVjKTsKICAgIH0KICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShmcmFtZSk7CiAgfQogIHZhciBjb3VudGVycz1wYWdlLnF1ZXJ5U2VsZWN0b3JBbGwoIltkYXRhLWNvdW50XSIpOwogIGlmKCJJbnRlcnNlY3Rpb25PYnNlcnZlciIgaW4gd2luZG93ICYmICFyZWR1Y2UpewogICAgdmFyIGNpbz1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oZW50cmllcyl7CiAgICAgIGVudHJpZXMuZm9yRWFjaChmdW5jdGlvbihlKXsKICAgICAgICBpZihlLmlzSW50ZXJzZWN0aW5nKXtjb3VudFVwKGUudGFyZ2V0KTtjaW8udW5vYnNlcnZlKGUudGFyZ2V0KTt9CiAgICAgIH0pOwogICAgfSx7dGhyZXNob2xkOi42fSk7CiAgICBjb3VudGVycy5mb3JFYWNoKGZ1bmN0aW9uKGVsKXtjaW8ub2JzZXJ2ZShlbCk7fSk7CiAgfQoKCiAgLyogLS0tLS0tLS0tLSBGQVEgYWNjb3JkaW9uIC0tLS0tLS0tLS0gKi8KICB2YXIgZmFxcz1wYWdlLnF1ZXJ5U2VsZWN0b3JBbGwoIi5taC1mYXEiKTsKICBmYXFzLmZvckVhY2goZnVuY3Rpb24oaXRlbSl7CiAgICB2YXIgYnRuPWl0ZW0ucXVlcnlTZWxlY3RvcigiLm1oLWZhcS1xIik7CiAgICBidG4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7CiAgICAgIHZhciBvcGVuPWl0ZW0uY2xhc3NMaXN0LmNvbnRhaW5zKCJtaC1vcGVuIik7CiAgICAgIGZhcXMuZm9yRWFjaChmdW5jdGlvbihvdGhlcil7CiAgICAgICAgb3RoZXIuY2xhc3NMaXN0LnJlbW92ZSgibWgtb3BlbiIpOwogICAgICAgIG90aGVyLnF1ZXJ5U2VsZWN0b3IoIi5taC1mYXEtcSIpLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsImZhbHNlIik7CiAgICAgIH0pOwogICAgICBpZighb3Blbil7CiAgICAgICAgaXRlbS5jbGFzc0xpc3QuYWRkKCJtaC1vcGVuIik7CiAgICAgICAgYnRuLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsInRydWUiKTsKICAgICAgfQogICAgfSk7CiAgfSk7CgogIC8qIC0tLS0tLS0tLS0gbW9iaWxlIHN0aWNreSBDVEE6IHJldmVhbCBhZnRlciB0aGUgaGVybywgaGlkZSBhdCB0aGUgZmluYWwgQ1RBIC0tLS0tLS0tLS0gKi8KICB2YXIgc3RpY2t5PXBhZ2UucXVlcnlTZWxlY3RvcigiLm1oLXN0aWNreWJhciIpOwogIHZhciBmaW5hbEN0YT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWgtZ2V0LXN0YXJ0ZWQiKTsKICBmdW5jdGlvbiBzdGlja3lDaGVjaygpewogICAgaWYoIXN0aWNreSlyZXR1cm47CiAgICB2YXIgcGFzdD13aW5kb3cuc2Nyb2xsWT5oZXJvLm9mZnNldEhlaWdodCouNzI7CiAgICB2YXIgbmVhckZpbmFsPWZpbmFsQ3RhICYmIGZpbmFsQ3RhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCA8IHdpbmRvdy5pbm5lckhlaWdodCowLjkyOwogICAgc3RpY2t5LmNsYXNzTGlzdC50b2dnbGUoIm1oLXZpcyIscGFzdCAmJiAhbmVhckZpbmFsKTsKICB9CiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsc3RpY2t5Q2hlY2sse3Bhc3NpdmU6dHJ1ZX0pOwogIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHN0aWNreUNoZWNrLHtwYXNzaXZlOnRydWV9KTsKICBzdGlja3lDaGVjaygpOwoKICAvKiAtLS0tLS0tLS0tIHByaWNpbmc6IGNvbW1pdG1lbnQgc2xpZGVyIC0tLS0tLS0tLS0gKi8KICB2YXIgcHJTbGlkZXI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1oLXByLXNsaWRlciIpOwogIGlmKHByU2xpZGVyKXsKICAgIHZhciBQUl9QTEFOUz1bCiAgICAgIHtwbGFuOiJEYWlseSIsICAgcHJpY2U6IiQxNSIsICBwZXI6IiAvZGF5IiwgICBub3RlOiJGb3IgYSBzaG9ydCBqb2Igb3IgYSB0ZXN0IHJ1bi4iLCBkYXk6IiQxNS4wMCIsIHNhdmU6IiJ9LAogICAgICB7cGxhbjoiV2Vla2x5IiwgIHByaWNlOiIkNDkiLCAgcGVyOiIgL3dlZWsiLCAgbm90ZToiQSB3ZWVrIG9uIHRoZSBtYWNoaW5lLCBvbmUgcHJpY2UuIiwgICAgICAgZGF5OiIkNy4wMCIsICBzYXZlOiIifSwKICAgICAge3BsYW46Ik1vbnRobHkiLCBwcmljZToiJDk5IiwgIHBlcjoiIC9tb250aCIsIG5vdGU6IlRoZSBmdWxsLXRpbWUgZGVkaWNhdGVkIHBsYW4uIiwgICAgICAgIGRheToiJDMuMzAiLCAgc2F2ZToiIn0sCiAgICAgIHtwbGFuOiIzIG1vbnRocyIscHJpY2U6IiQyODIiLCBwZXI6IiIsICAgICAgICBub3RlOiJBcm91bmQgJDk0IGEgbW9udGguIiwgICAgICAgICAgICAgICAgZGF5OiIkMy4xMyIsICBzYXZlOiJzYXZlIDUlIn0sCiAgICAgIHtwbGFuOiI2IG1vbnRocyIscHJpY2U6IiQ1MzUiLCBwZXI6IiIsICAgICAgICBub3RlOiJBcm91bmQgJDg5IGEgbW9udGguIiwgICAgICAgICAgICAgICAgZGF5OiIkMi45NyIsICBzYXZlOiJzYXZlIDEwJSJ9CiAgICBdOwogICAgdmFyIHByTGFiZWxzPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5taC1zbC1sYiIpOwogICAgZnVuY3Rpb24gcHJQYWludCgpewogICAgICB2YXIgaT0rcHJTbGlkZXIudmFsdWUsIHA9UFJfUExBTlNbaV0sIHBjdD1pLzQqMTAwOwogICAgICBwclNsaWRlci5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1taC1zbGYiLCJsaW5lYXItZ3JhZGllbnQoOTBkZWcsdmFyKC0tbWgtYmx1ZSkgIitwY3QrIiUscmdiYSgyNTUsMjU1LDI1NSwuMDkpICIrcGN0KyIlKSIpOwogICAgICBwckxhYmVscy5mb3JFYWNoKGZ1bmN0aW9uKHgpe3guY2xhc3NMaXN0LnRvZ2dsZSgibWgtb24iLCt4LmRhdGFzZXQuaT09PWkpO30pOwogICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWgtcHItcGxhbiIpLnRleHRDb250ZW50PXAucGxhbjsKICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1oLXByLW5vdGUiKS50ZXh0Q29udGVudD1wLm5vdGU7CiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtaC1wci1kYXkiKS50ZXh0Q29udGVudD1wLmRheTsKICAgICAgdmFyIHBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtaC1wci1wcmljZSIpOwogICAgICBwZS5pbm5lckhUTUw9cC5wcmljZSsiPHNtYWxsPiIrcC5wZXIrIjwvc21hbGw+IjsKICAgICAgcGUuY2xhc3NMaXN0LnJlbW92ZSgibWgtc3dhcCIpO3ZvaWQgcGUub2Zmc2V0V2lkdGg7cGUuY2xhc3NMaXN0LmFkZCgibWgtc3dhcCIpOwogICAgICB2YXIgc3Y9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1oLXByLXNhdmUiKTsKICAgICAgaWYocC5zYXZlKXtzdi50ZXh0Q29udGVudD1wLnNhdmU7c3YuY2xhc3NMaXN0LmFkZCgibWgtc2hvdyIpO31lbHNle3N2LmNsYXNzTGlzdC5yZW1vdmUoIm1oLXNob3ciKTt9CiAgICB9CiAgICBwclNsaWRlci5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIscHJQYWludCk7CiAgICBwckxhYmVscy5mb3JFYWNoKGZ1bmN0aW9uKGIpe2IuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7cHJTbGlkZXIudmFsdWU9Yi5kYXRhc2V0Lmk7cHJQYWludCgpO30pO30pOwogICAgcHJQYWludCgpOwogIH0KCn0pKCk7Cg==\"),function(c){return c.charCodeAt(0)})))<\/script>\n\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[\n{\"@type\":\"Question\",\"name\":\"Can I run a dedicated Mac mini 24\/7?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. Your dedicated machine stays online as long as the subscription is active, so it works as a full always-on server. Just do not power it off from inside macOS, or you will lose remote access until the team brings it back.\"}},\n{\"@type\":\"Question\",\"name\":\"Is this a real dedicated Mac or a virtual machine?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"It is a real, dedicated Mac mini M4, not a virtual machine. The whole unit is yours, with 16GB of memory and no other tenants on the cores.\"}},\n{\"@type\":\"Question\",\"name\":\"Can I use the dedicated Mac as a CI\/CD or iOS build runner?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. With full root you can install a self-hosted runner for GitHub Actions, Jenkins, GitLab CI, or Buildkite and run Xcode builds, tests, and code signing on real Apple Silicon.\"}},\n{\"@type\":\"Question\",\"name\":\"Do I get full root access?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes, full administrator access from the first login, with no restrictions. Install anything, change any setting, run any service on the machine.\"}},\n{\"@type\":\"Question\",\"name\":\"Why a dedicated Mac instead of a cheaper Linux server?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Because Xcode, the iOS and macOS toolchains, code signing, and notarization only run on macOS on Apple hardware. A Linux server cannot do those jobs at any price. Anything that touches Apple platforms needs a real Mac.\"}},\n{\"@type\":\"Question\",\"name\":\"Where does the dedicated Mac run, and what uptime can I expect?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"It sits in a datacenter with two-layer physical security and a 99.9% uptime SLA, and it stays online as long as your subscription is active.\"}},\n{\"@type\":\"Question\",\"name\":\"Which macOS version runs on it?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Every dedicated Mac runs macOS Tahoe 26.4 or newer. Downgrading to an older version of macOS is not supported.\"}},\n{\"@type\":\"Question\",\"name\":\"Can I connect over SSH, not only remote desktop?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. SSH is supported, and DeskIn remote desktop ships pre-installed and free. Use the terminal for headless work, or DeskIn when you want the full desktop.\"}},\n{\"@type\":\"Question\",\"name\":\"Can I get several dedicated Macs for a team?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. Volume pricing starts at five machines (5% off) and fifteen or more (10% off), and Thunderbolt clustering is available on orders of fifteen or more.\"}},\n{\"@type\":\"Question\",\"name\":\"How does billing work, and can I cancel anytime?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Plans start at $3.30 a day on the monthly term, with daily and weekly options too. Everything auto-renews until you cancel, which you can do anytime from the dashboard. There is no hourly billing and no free trial.\"}}\n]}\n<\/script>\n\n<!-- live demo player: SignalR + WHEP (points at api.rentamac.io). SNAPSHOT of rentamac.io\/demo; canonical: build-demo-player.py -> rentamac-demo.html -->\n<script defer src=\"https:\/\/cdn.jsdelivr.net\/npm\/@microsoft\/signalr@8\/dist\/browser\/signalr.min.js\"><\/script>\n<script>\/* base64-wrapped by deploy-page.py *\/eval(new TextDecoder().decode(Uint8Array.from(atob(\"CihmdW5jdGlvbigpewogIGlmICh3aW5kb3cuX19yYW1hY19yYW5fcGxheWVyKSByZXR1cm47CiAgd2luZG93Ll9fcmFtYWNfcmFuX3BsYXllciA9IHRydWU7CiAgdmFyIENPTkZJRyA9IHsKICAgIHNyczogImh0dHA6Ly9zcnMtZGVtby1yZW50YW1hYy5nZXJtYW55d2VzdGNlbnRyYWwuYXp1cmVjb250YWluZXIuaW86MTk4NSIsCiAgICBhcHA6ICJsaXZlIiwKICAgIHN0cmVhbTogImNhbSIsCiAgICBiYWNrZW5kOiAiaHR0cHM6Ly9hcGkucmVudGFtYWMuaW8iCiAgfTsKICB2YXIgQ09PTERPV05fTVMgPSAxMDAwMDsKICAvLyBUaGUgT29rbGEgc3BlZWQgdGVzdCB0YWtlcyB+MjBzIHRvIGFjdHVhbGx5IHJ1biwgYW5kIHRoZSBORVhUIGFjdGlvbiBzdGFydHMgYnkga2lsbGluZyB0aGUgZGVtbyBhcHBzCiAgLy8gKGtpbGxhbGwgU3BlZWR0ZXN0KSwgc28gYSAxMHMgZ2F0ZSB3b3VsZCBsZXQgc29tZW9uZSBjdXQgdGhlIHRlc3Qgb2ZmIG1pZC1ydW4gYmVmb3JlIHRoZSByZXN1bHQgc2hvd3MuCiAgLy8gS2VlcCB0aGUgYnV0dG9ucyAoYW5kIHRoZSBwZXItTWFjIGNvbW1hbmQgZ2F0ZSkgbG9ja2VkIDIwcyBhZnRlciBhIHNwZWVkdGVzdCBzbyBpdCBjYW4gZmluaXNoLgogIHZhciBBQ1RJT05fQ09PTERPV05fTVMgPSB7IHNwZWVkdGVzdDogMjAwMDAgfTsKICBmdW5jdGlvbiBjb29sZG93bkZvcihhKXsgcmV0dXJuIEFDVElPTl9DT09MRE9XTl9NU1thXSB8fCBDT09MRE9XTl9NUzsgfQogIHZhciBMQUJFTFMgPSB7IHNpbXVsYXRvcjoidGhlIGlPUyBTaW11bGF0b3IiLCBzcGVlZHRlc3Q6ImEgc3BlZWR0ZXN0IiwgY2xhdWRlOiJ0aGUgQ2xhdWRlIGFwcCIsIHhjb2RlOiJYY29kZSIsIHN5c2luZm86InRoZSBzeXN0ZW0gaW5mbyIsIHJlc2V0OiJhIGRlc2t0b3AgcmVzZXQiIH07CgogIHZhciAkID0gZnVuY3Rpb24oaWQpeyByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOyB9OwogIHZhciB2aWRlbz0kKCJybC12aWRlbyIpLCBvdmVybGF5PSQoInJsLW92ZXJsYXkiKSwgb3ZCaWc9JCgicmwtb3YtYmlnIiksIG92U21hbGw9JCgicmwtb3Ytc21hbGwiKSwgcGF1c2VkT3Y9JCgicmwtcGF1c2VkIik7CiAgdmFyIGlzbGFuZD0kKCJybC1pc2xhbmQiKSwgd29yZD0kKCJybC13b3JkIiksIG1zZz0kKCJybC1tc2ciKSwgbGluZT0kKCJybC1saW5lIiksIHRpbGVzRWw9JCgicmwtdGlsZXMiKTsKCiAgLyogLS0tLS0tLS0tLSBpc2xhbmQ6IHJlc3RzIGF0IExJVkUsIGV4cGFuZHMgdG8gc3BlYWssIGNvbGxhcHNlcyAtLS0tLS0tLS0tICovCiAgdmFyIG1zZ1RpbWVyPW51bGw7CiAgZnVuY3Rpb24gc3BlYWsoaHRtbCwgbXMpewogICAgaWYoIW1zKXsKICAgICAgdmFyIHdvcmRzPShodG1sLnJlcGxhY2UoLzxbXj5dKz4vZywiIikuc3BsaXQoL1xzKy8pLmxlbmd0aCk7CiAgICAgIG1zID0gMzAwMCArIE1hdGguY2VpbCh3b3Jkcy8zKSoxMDAwOwogICAgfQogICAgbXNnLmlubmVySFRNTCA9IGh0bWw7CiAgICBpc2xhbmQuY2xhc3NMaXN0LmFkZCgiZXhwYW5kZWQiKTsKICAgIGlmKG1zZ1RpbWVyKSBjbGVhclRpbWVvdXQobXNnVGltZXIpOwogICAgbXNnVGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7IGlzbGFuZC5jbGFzc0xpc3QucmVtb3ZlKCJleHBhbmRlZCIpOyB9LCBtcyk7CiAgfQogIGZ1bmN0aW9uIHNldFN0YXRlKHN0YXRlKXsKICAgIGlzbGFuZC5zZXRBdHRyaWJ1dGUoImRhdGEtc3RhdGUiLCBzdGF0ZSk7CiAgICB3b3JkLnRleHRDb250ZW50ID0gc3RhdGU9PT0ibGl2ZSIgPyAiTGl2ZSIgOiBzdGF0ZT09PSJjb25uZWN0aW5nIiA\/ICJDb25uZWN0aW5nIiA6IHN0YXRlPT09InBhdXNlZCIgPyAiUGF1c2VkIiA6ICJPZmZsaW5lIjsKICB9CgogIGZ1bmN0aW9uIHNob3dPdmVybGF5KGJpZywgc21hbGwpeyBvdkJpZy50ZXh0Q29udGVudD1iaWc7IG92U21hbGwudGV4dENvbnRlbnQ9c21hbGx8fCIiOyBvdmVybGF5LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpOyB9CiAgZnVuY3Rpb24gaGlkZU92ZXJsYXkoKXsgb3ZlcmxheS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTsgfQoKICAvKiAtLS0tLS0tLS0tIHByZXNlbmNlIC8gdGlsZXMgLS0tLS0tLS0tLSAqLwogIHZhciBhZ2VudE9ubGluZT1mYWxzZSwgc3RyZWFtVXA9ZmFsc2UsIGlkbGVQYXVzZWQ9ZmFsc2U7CiAgZnVuY3Rpb24gcmVmcmVzaFRpbGVzKCl7CiAgICB2YXIgYmxvY2tlZCA9IGlkbGVQYXVzZWQgfHwgIWFnZW50T25saW5lIHx8IERhdGUubm93KCkgPCBjb29sZG93blVudGlsOwogICAgdGlsZXNFbC5jbGFzc0xpc3QudG9nZ2xlKCJjb29saW5nIiwgRGF0ZS5ub3coKSA8IGNvb2xkb3duVW50aWwpOwogICAgdGlsZXNFbC5jbGFzc0xpc3QudG9nZ2xlKCJwYXVzZWQiLCBpZGxlUGF1c2VkIHx8ICFhZ2VudE9ubGluZSk7CiAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKHRpbGVzRWwucXVlcnlTZWxlY3RvckFsbCgiLnRpbGUiKSwgZnVuY3Rpb24oYil7CiAgICAgIGIuc2V0QXR0cmlidXRlKCJhcmlhLWRpc2FibGVkIiwgYmxvY2tlZCA\/ICJ0cnVlIiA6ICJmYWxzZSIpOwogICAgfSk7CiAgfQogIGZ1bmN0aW9uIHNldFByZXNlbmNlKG9ubGluZSl7CiAgICB2YXIgd2FzID0gYWdlbnRPbmxpbmU7CiAgICBhZ2VudE9ubGluZSA9ICEhb25saW5lOwogICAgaXNsYW5kLmNsYXNzTGlzdC50b2dnbGUoInBhdXNlZCIsICFhZ2VudE9ubGluZSk7CiAgICBpZighYWdlbnRPbmxpbmUgJiYgd2FzKSBzcGVhaygiQWN0aW9ucyBhcmUgcGF1c2VkIG9uIHRoaXMgTWFjIHJpZ2h0IG5vdy4iKTsKICAgIHJlZnJlc2hUaWxlcygpOwogIH0KCiAgLyogLS0tLS0tLS0tLSBzaGFyZWQgY29vbGRvd246IGEgMnB4IGxpbmUgdGhhdCBleGlzdHMgb25seSB3aGlsZSBkcmFpbmluZyAtLS0tLS0tLS0tICovCiAgdmFyIEtDX0hUTUwgPSAnPHN2ZyB2aWV3Qm94PSIwIDAgMTAgMTAiIGZpbGw9ImN1cnJlbnRDb2xvciIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik0xLjUgMWw3IDQtNyA0eiIvPjwvc3ZnPiBSdW4nOwogIHZhciBjb29sZG93blVudGlsID0gMCwgY29vbGRvd25TcGFuID0gQ09PTERPV05fTVMsIHJhZk9uID0gZmFsc2UsIGNkS2MgPSBudWxsOwogIGZ1bmN0aW9uIHJlc3RvcmVLYygpewogICAgaWYoY2RLYyl7IGNkS2MuaW5uZXJIVE1MID0gS0NfSFRNTDsgY2RLYy5jbGFzc0xpc3QucmVtb3ZlKCJjb3VudCIpOyBjZEtjID0gbnVsbDsgfQogIH0KICBmdW5jdGlvbiBwYWludENvb2xkb3duKCl7CiAgICB2YXIgbGVmdCA9IGNvb2xkb3duVW50aWwgLSBEYXRlLm5vdygpOwogICAgaWYobGVmdCA8PSAwKXsgbGluZS5zdHlsZS53aWR0aD0iMCUiOyByYWZPbj1mYWxzZTsgcmVzdG9yZUtjKCk7IHJlZnJlc2hUaWxlcygpOyByZXR1cm47IH0KICAgIGxpbmUuc3R5bGUud2lkdGggPSAobGVmdCAvIGNvb2xkb3duU3BhbiAqIDEwMCkgKyAiJSI7CiAgICBpZihjZEtjKXsgY2RLYy5jbGFzc0xpc3QuYWRkKCJjb3VudCIpOyBjZEtjLnRleHRDb250ZW50ID0gTWF0aC5jZWlsKGxlZnQvMTAwMCkgKyAicyI7IH0KICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShwYWludENvb2xkb3duKTsKICB9CiAgZnVuY3Rpb24gc3RhcnRDb29sZG93bihtcyl7CiAgICBjb29sZG93blNwYW4gPSBtcyB8fCBDT09MRE9XTl9NUzsKICAgIGNvb2xkb3duVW50aWwgPSBEYXRlLm5vdygpICsgY29vbGRvd25TcGFuOwogICAgbGluZS5zdHlsZS53aWR0aCA9ICIxMDAlIjsKICAgIHJlZnJlc2hUaWxlcygpOwogICAgaWYoIXJhZk9uKXsgcmFmT249dHJ1ZTsgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHBhaW50Q29vbGRvd24pOyB9CiAgfQoKICAvKiAtLS0tLS0tLS0tIGFjdGlvbnMgLS0tLS0tLS0tLSAqLwogIC8vIFRpbGUgc3RhdGUgaXMgZHJpdmVuIGJ5IHRoZSBTaWduYWxSIENvbW1hbmRTdGF0dXMgc3RyZWFtIHNvIEVWRVJZIHZpZXdlciBjb252ZXJnZXMgb24gdGhlIHNhbWUgcGljdHVyZToKICAvLyBleGFjdGx5IG9uZSB0aWxlIGlzICJydW5uaW5nIiAobGF1bmNoaW5nKSBvciAiYWN0aXZlIiAob24gc2NyZWVuIG5vdykgYXQgYSB0aW1lLiBUaGlzIGlzIHdoYXQgc3RvcHMgYQogIC8vIHRpbGUgdGhhdCBhbm90aGVyIHZpZXdlciBsZWZ0IG1pZC1ydW4gZnJvbSBzcGlubmluZyBmb3JldmVyIG9uIHlvdXIgc2NyZWVuLgogIHZhciBwZW5kaW5nTWluZSA9IG51bGwsIGFjdGl2ZUFjdGlvbiA9IG51bGw7CiAgZnVuY3Rpb24gdGlsZUZvcihhKXsgcmV0dXJuIHRpbGVzRWwucXVlcnlTZWxlY3RvcignLnRpbGVbZGF0YS1hY3Rpb249IicgKyBhICsgJyJdJyk7IH0KICBmdW5jdGlvbiBjbGVhclRpbGVTdGF0ZXMoKXsKICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwodGlsZXNFbC5xdWVyeVNlbGVjdG9yQWxsKCIudGlsZS5ydW5uaW5nLCAudGlsZS5hY3RpdmUiKSwgZnVuY3Rpb24oYil7CiAgICAgIGIuY2xhc3NMaXN0LnJlbW92ZSgicnVubmluZyIpOyBiLmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZSIpOwogICAgfSk7CiAgfQogIGZ1bmN0aW9uIHNldFJ1bm5pbmcoYSl7IGNsZWFyVGlsZVN0YXRlcygpOyB2YXIgdCA9IHRpbGVGb3IoYSk7IGlmKHQpIHQuY2xhc3NMaXN0LmFkZCgicnVubmluZyIpOyB9CiAgZnVuY3Rpb24gc2V0QWN0aXZlKGEpeyBjbGVhclRpbGVTdGF0ZXMoKTsgYWN0aXZlQWN0aW9uID0gYTsgdmFyIHQgPSB0aWxlRm9yKGEpOyBpZih0KSB0LmNsYXNzTGlzdC5hZGQoImFjdGl2ZSIpOyB9CiAgLy8gQSBicmllZiB0b29sdGlwIGFib3ZlIGEgdGlsZSB3aGVuIEFOT1RIRVIgdmlld2VyIHRyaWdnZXJzIGl0LCBzbyB5b3UgY2FuIHRlbGwgdGhlaXIgYWN0aW9uIGZyb20geW91ciBvd24uCiAgLy8gQ1NTICgudGlsZS50aXApIGZhZGVzIGl0IGluL291dCBvdmVyIH4zLjJzOyB3ZSByZXN0YXJ0IHRoZSBhbmltYXRpb24gdmlhIGEgcmVmbG93IHNvIGl0IHJlcGxheXMgZXZlbiB3aGVuCiAgLy8gdGhlIHNhbWUgdGlsZSBmaXJlcyB0d2ljZSBpbiBhIHJvdy4KICB2YXIgdGlwVGltZXIgPSBudWxsOwogIGZ1bmN0aW9uIHNob3dPdGhlclRpcChhKXsKICAgIHZhciB0ID0gdGlsZUZvcihhKTsgaWYoIXQpIHJldHVybjsKICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwodGlsZXNFbC5xdWVyeVNlbGVjdG9yQWxsKCIudGlsZS50aXAiKSwgZnVuY3Rpb24oYil7IGIuY2xhc3NMaXN0LnJlbW92ZSgidGlwIik7IGIucmVtb3ZlQXR0cmlidXRlKCJkYXRhLXRpcCIpOyB9KTsKICAgIHQuc2V0QXR0cmlidXRlKCJkYXRhLXRpcCIsICJUcmlnZ2VyZWQgYnkgYW5vdGhlciB2aWV3ZXIiKTsKICAgIHZvaWQgdC5vZmZzZXRXaWR0aDsgICAgICAgICAgICAgICAgICAgIC8vIGZvcmNlIHJlZmxvdyBzbyB0aGUgQ1NTIGFuaW1hdGlvbiByZXBsYXlzCiAgICB0LmNsYXNzTGlzdC5hZGQoInRpcCIpOwogICAgaWYodGlwVGltZXIpIGNsZWFyVGltZW91dCh0aXBUaW1lcik7CiAgICB0aXBUaW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKXsgdC5jbGFzc0xpc3QucmVtb3ZlKCJ0aXAiKTsgdC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtdGlwIik7IH0sIDMyMDApOwogIH0KICB0aWxlc0VsLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24oZSl7CiAgICB2YXIgYnRuID0gZS50YXJnZXQuY2xvc2VzdCgiLnRpbGUiKTsKICAgIGlmKCFidG4pIHJldHVybjsKICAgIHZhciBhY3Rpb24gPSBidG4uZ2V0QXR0cmlidXRlKCJkYXRhLWFjdGlvbiIpOwogICAgaWYoaWRsZVBhdXNlZCkgcmV0dXJuOyAgIC8vIHN0cmVhbSBpcyBpZGxlLXBhdXNlZDsgdGhlIGJ1dHRvbnMgYXJlIGRpc2FibGVkIHVudGlsIHRoZSB1c2VyIHRhcHMgdG8gcmVzdW1lCiAgICBpZihEYXRlLm5vdygpIDwgY29vbGRvd25VbnRpbCl7CiAgICAgIHNwZWFrKCJOZXh0IGFjdGlvbiBpbiAiICsgTWF0aC5jZWlsKChjb29sZG93blVudGlsLURhdGUubm93KCkpLzEwMDApICsgInMuIiwgMzAwMCk7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGlmKCFhZ2VudE9ubGluZSl7CiAgICAgIHNwZWFrKCJUaGUgTWFjIGlzIG5vdCBhY2NlcHRpbmcgYWN0aW9ucyByaWdodCBub3cuIik7CiAgICAgIHJldHVybjsKICAgIH0KICAgIHJlc3RvcmVLYygpOwogICAgY2RLYyA9IGJ0bi5xdWVyeVNlbGVjdG9yKCIua2MiKTsKICAgIHN0YXJ0Q29vbGRvd24oY29vbGRvd25Gb3IoYWN0aW9uKSk7CiAgICBidG4uY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIik7CiAgICBidG4uY2xhc3NMaXN0LmFkZCgicnVubmluZyIpOyAgICAgICAgICAvLyBpbnN0YW50IGxvY2FsIGZlZWRiYWNrOyB0aGUgInNlbnQiIHN0YXR1cyB0aGVuIHJlY29uY2lsZXMgZXZlcnkgY2xpZW50CiAgICBwZW5kaW5nTWluZSA9IHsgYWN0aW9uOiBhY3Rpb24sIHVudGlsOiBEYXRlLm5vdygpICsgMjAwMDAgfTsKICAgIHNwZWFrKCI8Yj5Zb3U6PC9iPiBydW5uaW5nICIgKyBMQUJFTFNbYWN0aW9uXSArICIuLi4iKTsKICAgIGZldGNoKENPTkZJRy5iYWNrZW5kICsgIi9hcGkvZGVtby1zdHJlYW0vYWN0aW9ucy8iICsgYWN0aW9uLCB7IG1ldGhvZDoiUE9TVCIgfSkKICAgICAgLnRoZW4oZnVuY3Rpb24ocil7CiAgICAgICAgaWYoci5zdGF0dXMgPT09IDQyOSl7CiAgICAgICAgICBzcGVhaygiVGhlIE1hYyBpcyBub3QgYWNjZXB0aW5nIGFjdGlvbnMgcmlnaHQgbm93LCB5b3UndmUgbWFkZSB0b28gbWFueSBhY3Rpb25zIGluIHRoZSBwYXN0IGZldyBtaW51dGVzLiBJdCBmcmVlcyB1cCBzaG9ydGx5LiIpOwogICAgICAgICAgYnRuLmNsYXNzTGlzdC5yZW1vdmUoInJ1bm5pbmciKTsgcmV0dXJuOwogICAgICAgIH0KICAgICAgICBpZighci5vayl7CiAgICAgICAgICByLmpzb24oKS50aGVuKGZ1bmN0aW9uKGopewogICAgICAgICAgICB2YXIgbT0oai5lcnJvcnMmJmouZXJyb3JzWzBdKXx8ai5kZXRhaWx8fGoudGl0bGV8fCgiRXJyb3IgIityLnN0YXR1cyk7CiAgICAgICAgICAgIHNwZWFrKG0pOwogICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oKXsgc3BlYWsoIkVycm9yICIgKyByLnN0YXR1cyk7IH0pOwogICAgICAgICAgY29vbGRvd25VbnRpbD0wOyBidG4uY2xhc3NMaXN0LnJlbW92ZSgicnVubmluZyIpOyByZWZyZXNoVGlsZXMoKTsgcmV0dXJuOwogICAgICAgIH0KICAgICAgICBzcGVhaygiPGI+WW91OjwvYj4gcnVubmluZyAiICsgTEFCRUxTW2FjdGlvbl0gKyAiLCB3YXRjaCB0aGUgc2NyZWVuLiIpOwogICAgICB9KQogICAgICAuY2F0Y2goZnVuY3Rpb24oKXsKICAgICAgICBzcGVhaygiQ291bGQgbm90IHJlYWNoIHRoZSBkZW1vIGJhY2tlbmQuIik7CiAgICAgICAgY29vbGRvd25VbnRpbD0wOyBidG4uY2xhc3NMaXN0LnJlbW92ZSgicnVubmluZyIpOyByZWZyZXNoVGlsZXMoKTsKICAgICAgfSk7CiAgfSk7CgogIC8qIC0tLS0tLS0tLS0gU2lnbmFsUiAtLS0tLS0tLS0tICovCiAgZnVuY3Rpb24gY29ubmVjdEh1YigpewogICAgaWYodHlwZW9mIHNpZ25hbFIgPT09ICJ1bmRlZmluZWQiKXsgc2V0UHJlc2VuY2UoZmFsc2UpOyByZXR1cm47IH0KICAgIHZhciBjb25uID0gbmV3IHNpZ25hbFIuSHViQ29ubmVjdGlvbkJ1aWxkZXIoKQogICAgICAud2l0aFVybChDT05GSUcuYmFja2VuZCArICIvaHVicy9kZW1vLXN0cmVhbSIpCiAgICAgIC53aXRoQXV0b21hdGljUmVjb25uZWN0KCkKICAgICAgLmJ1aWxkKCk7CiAgICBjb25uLm9uKCJBZ2VudFByZXNlbmNlIiwgZnVuY3Rpb24ob25saW5lKXsgc2V0UHJlc2VuY2UoISFvbmxpbmUpOyB9KTsKICAgIGNvbm4ub24oIkNvbW1hbmRTdGF0dXMiLCBmdW5jdGlvbihzKXsKICAgICAgdmFyIGFjdGlvbiA9IHMuYWN0aW9uICE9IG51bGwgPyBzLmFjdGlvbiA6IHMuQWN0aW9uOwogICAgICB2YXIgc3RhdHVzID0gcy5zdGF0dXMgIT0gbnVsbCA\/IHMuc3RhdHVzIDogcy5TdGF0dXM7CiAgICAgIHZhciBtaW5lID0gcGVuZGluZ01pbmUgJiYgcGVuZGluZ01pbmUuYWN0aW9uID09PSBhY3Rpb24gJiYgRGF0ZS5ub3coKSA8IHBlbmRpbmdNaW5lLnVudGlsOwogICAgICB2YXIgbGFiZWwgPSBMQUJFTFNbYWN0aW9uXSB8fCBhY3Rpb247CiAgICAgIHZhciBzdCA9IChzdGF0dXMgfHwgIiIpLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsKICAgICAgdmFyIGlzRmFpbCA9IHN0LmluZGV4T2YoImZhaWwiKT49MCB8fCBzdC5pbmRleE9mKCJlcnJvciIpPj0wOwogICAgICAvLyBUaGUgTWFjIGFnZW50IG9ubHkgZXZlciBhY2tzICJzdGFydGVkIiAoaXQgbGF1bmNoZXMgYW4gYXBwIHRoYXQgdGhlbiBzdGF5cyBvbiBzY3JlZW4pLCB0aGVyZSBpcyBubwogICAgICAvLyAiZG9uZSIuIFNvICJzdGFydGVkIi9hbnkgc3VjY2VzcyBtZWFucyAidGhpcyBhY3Rpb24gaXMgbm93IHdoYXQncyBvbiBzY3JlZW4iOiBtYXJrIGl0cyB0aWxlIHNlbGVjdGVkLgogICAgICB2YXIgaXNVcCA9ICFpc0ZhaWwgJiYgKHN0LmluZGV4T2YoInN0YXJ0Iik+PTAgfHwgc3QuaW5kZXhPZigiY29tcGxldGUiKT49MCB8fCBzdC5pbmRleE9mKCJkb25lIik+PTAgfHwgc3QuaW5kZXhPZigic3VjY2VzcyIpPj0wKTsKCiAgICAgIC8vIFNoYXJlZCAxMHMgZ2FwOiBldmVyeSB2aWV3ZXIgc3RhcnRzIGNvb2xpbmcgdGhlIG1vbWVudCB0aGUgYmFja2VuZCBhY2NlcHRzIGEgY29tbWFuZCAoInNlbnQiKSwgbm90CiAgICAgIC8vIGp1c3QgdGhlIGNsaWNrZXIsIHNvIG5vIG9uZSBmaXJlcyBhbiBhY3Rpb24gdGhlIGJhY2tlbmQgd291bGQgb25seSByZWplY3QuIEEgbm9uLW1pbmUgInNlbnQiIGlzIGFsc28KICAgICAgLy8gZXhhY3RseSB0aGUgImFub3RoZXIgdmlld2VyIGp1c3QgdHJpZ2dlcmVkIHRoaXMgYnV0dG9uIiBtb21lbnQsIHNvIGZsYXNoIHRoZSB0b29sdGlwIHRoZW4uCiAgICAgIGlmKCFpc0ZhaWwgJiYgIWlzVXAgJiYgIW1pbmUpeyBzdGFydENvb2xkb3duKGNvb2xkb3duRm9yKGFjdGlvbikpOyBzaG93T3RoZXJUaXAoYWN0aW9uKTsgfQoKICAgICAgLy8gcmVzZXQgcmV0dXJucyB0aGUgTWFjIHRvIGEgY2xlYW4gZGVza3RvcCwgbm90aGluZyBpcyAib24gc2NyZWVuIiwgc28gY2xlYXIgZXZlcnkgdGlsZSBvbiBhbGwgY2xpZW50cy4KICAgICAgaWYoYWN0aW9uID09PSAicmVzZXQiKXsKICAgICAgICBjbGVhclRpbGVTdGF0ZXMoKTsgYWN0aXZlQWN0aW9uID0gbnVsbDsKICAgICAgICBpZihpc1VwKSBzcGVhaygobWluZSA\/ICI8Yj5Zb3U6PC9iPiAiIDogIiIpICsgImRlc2t0b3AgcmVzZXQgdG8gYSBjbGVhbiBzY3JlZW4uIik7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGlmKGlzRmFpbCl7CiAgICAgICAgdmFyIGZ0ID0gdGlsZUZvcihhY3Rpb24pOyBpZihmdCl7IGZ0LmNsYXNzTGlzdC5yZW1vdmUoInJ1bm5pbmciKTsgZnQuY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIik7IH0KICAgICAgICBpZihhY3RpdmVBY3Rpb24gPT09IGFjdGlvbikgYWN0aXZlQWN0aW9uID0gbnVsbDsKICAgICAgICBzcGVhayhsYWJlbCArICIgaGl0IGEgc25hZyBvbiB0aGUgTWFjLiBUcnkgYW5vdGhlciBhY3Rpb24uIik7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGlmKGlzVXApewogICAgICAgIC8vIExhdW5jaGVkOiB0aGlzIHRpbGUgYmVjb21lcyB0aGUgc2VsZWN0ZWQvZm9jdXNlZCBjYXJkIG9uIEVWRVJZIHZpZXdlciwgY2xlYXJpbmcgdGhlIHByZXZpb3VzIG9uZS4KICAgICAgICBzZXRBY3RpdmUoYWN0aW9uKTsKICAgICAgICBzcGVhaygobWluZSA\/ICI8Yj5Zb3U6PC9iPiAiIDogIiIpICsgbGFiZWwgKyAiIGlzIG9uIHRoZSBzY3JlZW4gbm93LiIpOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICAvLyBpbml0aWFsICJzZW50IjogYWNjZXB0ZWQgYW5kIGxhdW5jaGluZy4gU2hvdyBpdCBsb2FkaW5nIG9uIGV2ZXJ5IGNsaWVudCwgdGhpcyBpcyBhbHNvIHdoYXQgY2xlYXJzIGEKICAgICAgLy8gdGlsZSBhIGRpZmZlcmVudCB2aWV3ZXIgbGVmdCBzcGlubmluZywgc2luY2UgdGhlaXIgYWN0aW9uIGlzIG5vIGxvbmdlciB0aGUgY3VycmVudCBvbmUuCiAgICAgIHNldFJ1bm5pbmcoYWN0aW9uKTsKICAgICAgc3BlYWsobWluZSA\/ICI8Yj5Zb3U6PC9iPiBydW5uaW5nICIgKyBsYWJlbCArICIuLi4iIDogIlNvbWVvbmUgaXMgcnVubmluZyAiICsgbGFiZWwgKyAiLi4uIik7CiAgICB9KTsKICAgIGNvbm4uc3RhcnQoKS5jYXRjaChmdW5jdGlvbigpeyBzZXRQcmVzZW5jZShmYWxzZSk7IH0pOwogIH0KICBmdW5jdGlvbiBpbml0U3RhdHVzKCl7CiAgICBmZXRjaChDT05GSUcuYmFja2VuZCArICIvYXBpL2RlbW8tc3RyZWFtL3N0YXR1cyIpCiAgICAgIC50aGVuKGZ1bmN0aW9uKHIpeyByZXR1cm4gci5vayA\/IHIuanNvbigpIDogbnVsbDsgfSkKICAgICAgLnRoZW4oZnVuY3Rpb24oail7CiAgICAgICAgaWYoIWopIHJldHVybjsKICAgICAgICB2YXIgdiA9IGoudmFsdWUgIT0gbnVsbCA\/IGoudmFsdWUgOiBqOwogICAgICAgIHNldFByZXNlbmNlKCEhKHYuYWdlbnRPbmxpbmUgIT0gbnVsbCA\/IHYuYWdlbnRPbmxpbmUgOiB2LkFnZW50T25saW5lKSk7CiAgICAgICAgdmFyIGNkID0gKHYuY29vbGRvd25TZWNvbmRzICE9IG51bGwgPyB2LmNvb2xkb3duU2Vjb25kcyA6IHYuQ29vbGRvd25TZWNvbmRzKSB8fCAwOwogICAgICAgIGlmKGNkID4gMCkgc3RhcnRDb29sZG93bihjZCAqIDEwMDApOwogICAgICAgIC8vIExhdGUtam9pbmVyczogc2hvdyB0aGUgdGlsZSB0aGF0J3MgY3VycmVudGx5IG9uIHNjcmVlbiBhcyBzZWxlY3RlZCwgZXZlbiB0aG91Z2ggdGhleSBtaXNzZWQgdGhlIGNsaWNrLgogICAgICAgIHZhciBhY3QgPSB2LmFjdGl2ZUFjdGlvbiAhPSBudWxsID8gdi5hY3RpdmVBY3Rpb24gOiB2LkFjdGl2ZUFjdGlvbjsKICAgICAgICBpZihhY3QpIHNldEFjdGl2ZShhY3QpOwogICAgICB9KQogICAgICAuY2F0Y2goZnVuY3Rpb24oKXt9KTsKICB9CgogIC8qIC0tLS0tLS0tLS0gV0hFUCBwbGF5ZXIgLS0tLS0tLS0tLSAqLwogIHZhciBwYz1udWxsLCByZXRyeVRpbWVyPW51bGwsIGxhc3RUPTAsIGxhc3RBZHZhbmNlPTA7CiAgZnVuY3Rpb24gdGVhcmRvd25QYygpeyBpZihwYyl7IHRyeXtwYy5jbG9zZSgpO31jYXRjaChlKXt9IHBjPW51bGw7IH0gfQogIGZ1bmN0aW9uIHJlbGF5RG93bigpewogICAgaWYoaWRsZVBhdXNlZCkgcmV0dXJuOyAgIC8vIGlkbGUtcGF1c2VkIG9uIHB1cnBvc2UsIGRvbid0IHNob3cgdGhlIHJlY29ubmVjdCBvdmVybGF5IG9yIHJlc3RhcnQgdGhlIGxvb3AKICAgIHN0cmVhbVVwPWZhbHNlOyB0ZWFyZG93blBjKCk7CiAgICBzZXRTdGF0ZSgib2ZmbGluZSIpOwogICAgc2hvd092ZXJsYXkoIlJlY29ubmVjdGluZyB0byB0aGUgTWFjIG1pbmkuLi4iLCAiVGhpcyBtYWNoaW5lIHJ1bnMgMjQvNy4gT3V0YWdlcyBhcmUgcmFyZSBhbmQgYnJpZWYuIik7CiAgICBpZighcmV0cnlUaW1lcikgcmV0cnlUaW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKXsgcmV0cnlUaW1lcj1udWxsOyBzdGFydFdoZXAodHJ1ZSk7IH0sIDUwMDApOwogIH0KICBmdW5jdGlvbiBzdGFydFdoZXAoaXNSZXRyeSl7CiAgICB0ZWFyZG93blBjKCk7IHN0cmVhbVVwPWZhbHNlOwogICAgaWYoIWlzUmV0cnkpeyBzZXRTdGF0ZSgiY29ubmVjdGluZyIpOyBzaG93T3ZlcmxheSgiQ29ubmVjdGluZyB0byB0aGUgbGl2ZSBzdHJlYW0uLi4iLCIiKTsgfQogICAgdmFyIHdoZXAgPSBDT05GSUcuYmFja2VuZCArICIvYXBpL2RlbW8tc3RyZWFtL3doZXAiOwogICAgdmFyIHRoaXNQYyA9IG5ldyBSVENQZWVyQ29ubmVjdGlvbih7IGljZVNlcnZlcnM6W3sgdXJsczoic3R1bjpzdHVuLmwuZ29vZ2xlLmNvbToxOTMwMiIgfV0gfSk7CiAgICBwYyA9IHRoaXNQYzsKICAgIC8vIGlPUyBTYWZhcmkvV2ViS2l0IGRvZXMgTk9UIHJlbGlhYmx5IGhvbm9yIHRoZSBsZWdhY3kgY3JlYXRlT2ZmZXIoe29mZmVyVG9SZWNlaXZlKn0pIG9wdGlvbnMsIHNvIHRoZSBvZmZlcgogICAgLy8gZW5kcyB1cCB3aXRoIG5vIHJlY2VpdmluZyBtLWxpbmVzLCB0aGUgbWVkaWEgbmV2ZXIgYXJyaXZlcywgYW5kIHRoZSBwYWdlIHNpdHMgc3R1Y2sgb24gIlJlY29ubmVjdGluZyAvCiAgICAvLyBPRkZMSU5FIiwgd2hpbGUgQ2hyb21lL0FuZHJvaWQgKHdoaWNoIGRvIGhvbm9yIHRoZSBsZWdhY3kgb3B0aW9ucykgd29yay4gRGVjbGFyZSBleHBsaWNpdCByZWN2b25seQogICAgLy8gdHJhbnNjZWl2ZXJzIGluc3RlYWQgKHRoaXMgaXMgd2hhdCB0aGUgU1JTIHJlZmVyZW5jZSBXSEVQIHBsYXllciBkb2VzLCBhbmQgaXQncyBjcm9zcy1icm93c2VyIGNvcnJlY3QpLgogICAgdHJ5IHsgdGhpc1BjLmFkZFRyYW5zY2VpdmVyKCJ2aWRlbyIsIHsgZGlyZWN0aW9uOiJyZWN2b25seSIgfSk7IHRoaXNQYy5hZGRUcmFuc2NlaXZlcigiYXVkaW8iLCB7IGRpcmVjdGlvbjoicmVjdm9ubHkiIH0pOyB9IGNhdGNoKGUpe30KICAgIHRoaXNQYy5vbnRyYWNrID0gZnVuY3Rpb24oZSl7CiAgICAgIGlmKCF2aWRlby5zcmNPYmplY3QpIHZpZGVvLnNyY09iamVjdCA9IGUuc3RyZWFtc1swXTsKICAgICAgLy8gaU9TIG9ubHkgYXV0b3BsYXlzIG11dGVkK2lubGluZSB2aWRlbzsgcmUtYXNzZXJ0IGl0IGFuZCByZXRyeSBvbmNlIGlmIHRoZSBmaXJzdCBwbGF5KCkgaXMgYmxvY2tlZC4KICAgICAgdmlkZW8ubXV0ZWQgPSB0cnVlOyB2aWRlby5wbGF5c0lubGluZSA9IHRydWU7IHZpZGVvLnNldEF0dHJpYnV0ZSgicGxheXNpbmxpbmUiLCIiKTsKICAgICAgdmFyIHAgPSB2aWRlby5wbGF5KCk7IGlmKHAgJiYgcC5jYXRjaCkgcC5jYXRjaChmdW5jdGlvbigpeyBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7IHRyeXsgdmlkZW8ucGxheSgpOyB9Y2F0Y2goXyl7fSB9LCA0MDApOyB9KTsKICAgIH07CiAgICB0aGlzUGMub25jb25uZWN0aW9uc3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpewogICAgICBpZihwYyAhPT0gdGhpc1BjKSByZXR1cm47CiAgICAgIGlmKHRoaXNQYy5jb25uZWN0aW9uU3RhdGUgPT09ICJjb25uZWN0ZWQiKXsKICAgICAgICBzdHJlYW1VcD10cnVlOyBsYXN0VD12aWRlby5jdXJyZW50VGltZTsgbGFzdEFkdmFuY2U9RGF0ZS5ub3coKTsKICAgICAgICBzZXRTdGF0ZSgibGl2ZSIpOyBoaWRlT3ZlcmxheSgpOwogICAgICB9IGVsc2UgaWYodGhpc1BjLmNvbm5lY3Rpb25TdGF0ZSA9PT0gImZhaWxlZCIpeyByZWxheURvd24oKTsgfQogICAgfTsKICAgIHRoaXNQYy5jcmVhdGVPZmZlcigpCiAgICAgIC50aGVuKGZ1bmN0aW9uKG9mZmVyKXsgcmV0dXJuIHRoaXNQYy5zZXRMb2NhbERlc2NyaXB0aW9uKG9mZmVyKS50aGVuKGZ1bmN0aW9uKCl7IHJldHVybiBvZmZlcjsgfSk7IH0pCiAgICAgIC50aGVuKGZ1bmN0aW9uKG9mZmVyKXsKICAgICAgICByZXR1cm4gZmV0Y2god2hlcCwgeyBtZXRob2Q6IlBPU1QiLCBoZWFkZXJzOnsgIkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL3NkcCIgfSwgYm9keTogb2ZmZXIuc2RwIH0pOwogICAgICB9KQogICAgICAudGhlbihmdW5jdGlvbihyZXNwKXsKICAgICAgICBpZighcmVzcC5vaykgdGhyb3cgbmV3IEVycm9yKCJ3aGVwICIgKyByZXNwLnN0YXR1cyk7CiAgICAgICAgcmV0dXJuIHJlc3AuanNvbigpOwogICAgICB9KQogICAgICAudGhlbihmdW5jdGlvbihqKXsKICAgICAgICB2YXIgc2RwID0gKGogJiYgdHlwZW9mIGogPT09ICJvYmplY3QiKSA\/IChqLnZhbHVlIHx8IGouVmFsdWUgfHwgIiIpIDogajsKICAgICAgICBpZighc2RwKSB0aHJvdyBuZXcgRXJyb3IoImVtcHR5IHdoZXAgYW5zd2VyIik7CiAgICAgICAgaWYocGMgPT09IHRoaXNQYykgcmV0dXJuIHRoaXNQYy5zZXRSZW1vdGVEZXNjcmlwdGlvbih7IHR5cGU6ImFuc3dlciIsIHNkcDpzZHAgfSk7CiAgICAgIH0pCiAgICAgIC5jYXRjaChmdW5jdGlvbigpeyBpZihwYyA9PT0gdGhpc1BjKSByZWxheURvd24oKTsgfSk7CiAgfQogIHNldEludGVydmFsKGZ1bmN0aW9uKCl7CiAgICBpZighc3RyZWFtVXApIHJldHVybjsKICAgIGlmKHZpZGVvLmN1cnJlbnRUaW1lID4gbGFzdFQgKyAwLjA1KXsgbGFzdFQ9dmlkZW8uY3VycmVudFRpbWU7IGxhc3RBZHZhbmNlPURhdGUubm93KCk7IH0KICAgIGVsc2UgaWYoRGF0ZS5ub3coKSAtIGxhc3RBZHZhbmNlID4gNjAwMCl7IHJlbGF5RG93bigpOyB9CiAgfSwgMjAwMCk7CgogIC8qIC0tLS0tLS0tLS0gaWRsZSBhdXRvLXBhdXNlOiBkcm9wIHRoZSBzdHJlYW0gYWZ0ZXIgNjBzIG9mIG5vIGludGVyYWN0aW9uLCByZXN1bWUgb24gdGFwIC0tLS0tLS0tLS0gKi8KICAvLyBTdHJlYW1pbmcgdG8gYSB0YWIgbm9ib2R5IGlzIHRvdWNoaW5nIGp1c3QgYnVybnMgcmVsYXkgYmFuZHdpZHRoLCBzbyBhZnRlciBJRExFX01TIHdpdGggbm8gdXNlciBpbnB1dCB3ZQogIC8vIHRlYXIgdGhlIFdlYlJUQyBzdHJlYW0gZG93biwgZGlzYWJsZSB0aGUgYWN0aW9uIGJ1dHRvbnMsIGFuZCBzaG93IGEgdGFwLXRvLXJlc3VtZSBvdmVybGF5LiBBbnkgcG9pbnRlci9rZXkvCiAgLy8gdG91Y2gvd2hlZWwgaW5wdXQgcmUtYXJtcyB0aGUgY291bnRkb3duOyBwYXNzaXZlIHdhdGNoaW5nIGRvZXMgTk9UIChvbmx5IHJlYWwgaW50ZXJhY3Rpb25zIHJlc2V0IGl0KS4KICB2YXIgSURMRV9NUyA9IDYwMDAwLCBpZGxlVGltZXIgPSBudWxsOwogIGZ1bmN0aW9uIHNob3dQYXVzZWRPdmVybGF5KCl7IGlmKHBhdXNlZE92KSBwYXVzZWRPdi5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKTsgfQogIGZ1bmN0aW9uIGhpZGVQYXVzZWRPdmVybGF5KCl7IGlmKHBhdXNlZE92KSBwYXVzZWRPdi5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTsgfQogIGZ1bmN0aW9uIHBhdXNlU3RyZWFtKCl7CiAgICBpZihpZGxlUGF1c2VkKSByZXR1cm47CiAgICBpZGxlUGF1c2VkID0gdHJ1ZTsKICAgIGlmKGlkbGVUaW1lcil7IGNsZWFyVGltZW91dChpZGxlVGltZXIpOyBpZGxlVGltZXIgPSBudWxsOyB9CiAgICBpZihyZXRyeVRpbWVyKXsgY2xlYXJUaW1lb3V0KHJldHJ5VGltZXIpOyByZXRyeVRpbWVyID0gbnVsbDsgfSAgIC8vIHN0b3AgYW55IHJlY29ubmVjdCBsb29wCiAgICBzdHJlYW1VcCA9IGZhbHNlOwogICAgdGVhcmRvd25QYygpOwogICAgaWYodmlkZW8peyB0cnl7IHZpZGVvLnBhdXNlKCk7IH1jYXRjaChlKXt9IHZpZGVvLnNyY09iamVjdCA9IG51bGw7IH0KICAgIGhpZGVPdmVybGF5KCk7ICAgICAgICAgICAgICAgICAvLyBjbGVhciBhbnkgY29ubmVjdGluZy9yZWNvbm5lY3Rpbmcgb3ZlcmxheSBmaXJzdAogICAgc2V0U3RhdGUoInBhdXNlZCIpOwogICAgc2hvd1BhdXNlZE92ZXJsYXkoKTsKICAgIHJlZnJlc2hUaWxlcygpOyAgICAgICAgICAgICAgICAvLyBkaXNhYmxlcyB0aGUgYWN0aW9uIGJ1dHRvbnMKICB9CiAgZnVuY3Rpb24gcmVzdW1lU3RyZWFtKCl7CiAgICBpZighaWRsZVBhdXNlZCkgcmV0dXJuOwogICAgaWRsZVBhdXNlZCA9IGZhbHNlOwogICAgaGlkZVBhdXNlZE92ZXJsYXkoKTsKICAgIHJlZnJlc2hUaWxlcygpOwogICAgc3RhcnRXaGVwKGZhbHNlKTsgICAgICAgICAgICAgIC8vIHJlY29ubmVjdCAoc2hvd3MgIkNvbm5lY3RpbmcuLi4iIHVudGlsIGxpdmUpCiAgICByZXNldElkbGUoKTsKICB9CiAgZnVuY3Rpb24gcmVzZXRJZGxlKCl7CiAgICBpZihpZGxlUGF1c2VkKSByZXR1cm47ICAgICAgICAgLy8gc3RheXMgcGF1c2VkIHVudGlsIHRoZSB1c2VyIHRhcHMgdG8gcmVzdW1lCiAgICBpZihpZGxlVGltZXIpIGNsZWFyVGltZW91dChpZGxlVGltZXIpOwogICAgaWRsZVRpbWVyID0gc2V0VGltZW91dChwYXVzZVN0cmVhbSwgSURMRV9NUyk7CiAgfQogIGlmKHBhdXNlZE92KXsKICAgIHBhdXNlZE92LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgcmVzdW1lU3RyZWFtKTsKICAgIHBhdXNlZE92LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCBmdW5jdGlvbihlKXsKICAgICAgaWYoZS5rZXkgPT09ICJFbnRlciIgfHwgZS5rZXkgPT09ICIgIiB8fCBlLmtleSA9PT0gIlNwYWNlYmFyIil7IGUucHJldmVudERlZmF1bHQoKTsgcmVzdW1lU3RyZWFtKCk7IH0KICAgIH0pOwogIH0KICBbInBvaW50ZXJkb3duIiwia2V5ZG93biIsInRvdWNoc3RhcnQiLCJ3aGVlbCJdLmZvckVhY2goZnVuY3Rpb24oZXYpewogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldiwgcmVzZXRJZGxlLCB7IHBhc3NpdmU6dHJ1ZSB9KTsKICB9KTsKCiAgcmVmcmVzaFRpbGVzKCk7CgogIC8vIExBTkRJTkctUEFHRSBPTkxZIChub3QgaW4gdGhlIC9kZW1vIHNvdXJjZSk6IHRoZSBkZW1vIHNpdHMgYmVsb3cgdGhlIGZvbGQsIHNvCiAgLy8gZGVmZXIgQUxMIGJhY2tlbmQgY2FsbHMgKHN0YXR1cyBwb2xsLCBTaWduYWxSIGh1YiwgV2ViUlRDIHN0cmVhbSkgdW50aWwgdGhlCiAgLy8gc2VjdGlvbiBpcyBuZWFyIHRoZSB2aWV3cG9ydC4gQW55b25lIHdobyBuZXZlciBzY3JvbGxzIGhlcmUgcGF5cyB6ZXJvIG5ldHdvcmsgLwogIC8vIHNvY2tldCAvIHZpZGVvLWRlY29kZSBjb3N0LgogIGZ1bmN0aW9uIGJvb3RQbGF5ZXIoKXsKICAgIGlmICh3aW5kb3cuX19yYW1hY19ib290ZWQpIHJldHVybjsKICAgIHdpbmRvdy5fX3JhbWFjX2Jvb3RlZCA9IHRydWU7CiAgICBpbml0U3RhdHVzKCk7CiAgICBjb25uZWN0SHViKCk7CiAgICBzdGFydFdoZXAoZmFsc2UpOwogICAgcmVzZXRJZGxlKCk7CiAgfQogIHZhciBkZW1vU2VjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1oLWRlbW8iKTsKICBpZiAoZGVtb1NlYyAmJiAiSW50ZXJzZWN0aW9uT2JzZXJ2ZXIiIGluIHdpbmRvdykgewogICAgdmFyIGJpbyA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihmdW5jdGlvbihlbnRzKXsKICAgICAgaWYgKGVudHMuc29tZShmdW5jdGlvbihlKXsgcmV0dXJuIGUuaXNJbnRlcnNlY3Rpbmc7IH0pKSB7IGJpby5kaXNjb25uZWN0KCk7IGJvb3RQbGF5ZXIoKTsgfQogICAgfSwgeyByb290TWFyZ2luOiAiMjAwcHggMHB4IiB9KTsKICAgIGJpby5vYnNlcnZlKGRlbW9TZWMpOwogIH0gZWxzZSB7CiAgICBib290UGxheWVyKCk7CiAgfQoKfSkoKTsK\"),function(c){return c.charCodeAt(0)})))<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>A dedicated Mac mini server, all&nbsp;yours. A whole Mac mini M4, dedicated to you and no one&nbsp;else. Full root, 99.9% uptime, and macOS you reach from anywhere, from $3.30 a&nbsp;day. Get your Mac M4 Dedicated hardware A physical Mac mini M4 kept for you alone. No shared cores, nothing&nbsp;virtual. 1&nbsp;Gbps Gigabit network A full gigabit [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2969","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/rentamac.io\/ar\/wp-json\/wp\/v2\/pages\/2969","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rentamac.io\/ar\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/rentamac.io\/ar\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/rentamac.io\/ar\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/rentamac.io\/ar\/wp-json\/wp\/v2\/comments?post=2969"}],"version-history":[{"count":9,"href":"https:\/\/rentamac.io\/ar\/wp-json\/wp\/v2\/pages\/2969\/revisions"}],"predecessor-version":[{"id":5250,"href":"https:\/\/rentamac.io\/ar\/wp-json\/wp\/v2\/pages\/2969\/revisions\/5250"}],"wp:attachment":[{"href":"https:\/\/rentamac.io\/ar\/wp-json\/wp\/v2\/media?parent=2969"}],"curies":[{"name":"\u062f\u0628\u0644\u064a\u0648 \u0628\u064a","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}