{"id":1586,"date":"2026-09-14T10:05:02","date_gmt":"2026-09-14T10:05:02","guid":{"rendered":"https:\/\/prufio.ravendev.lt\/?page_id=1586"},"modified":"2026-09-14T10:05:04","modified_gmt":"2026-09-14T10:05:04","slug":"qr-kod-otcheta","status":"publish","type":"page","link":"https:\/\/prufio.ravendev.lt\/ru\/qr-kod-otcheta\/","title":{"rendered":"\u0421\u043e\u0437\u0434\u0430\u0442\u044c QR-\u043a\u043e\u0434 \u0434\u043b\u044f \u043e\u0442\u0447\u0451\u0442\u0430 \u043e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 Prufio"},"content":{"rendered":"\n<style>\n#pfqr{\n  --qr:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 21 21' shape-rendering='crispEdges'%3E%3Cpath fill='%23171717' d='M0 0h1v1h-1zM1 0h1v1h-1zM2 0h1v1h-1zM3 0h1v1h-1zM4 0h1v1h-1zM5 0h1v1h-1zM6 0h1v1h-1zM9 0h1v1h-1zM10 0h1v1h-1zM12 0h1v1h-1zM14 0h1v1h-1zM15 0h1v1h-1zM16 0h1v1h-1zM17 0h1v1h-1zM18 0h1v1h-1zM19 0h1v1h-1zM20 0h1v1h-1zM0 1h1v1h-1zM6 1h1v1h-1zM11 1h1v1h-1zM14 1h1v1h-1zM20 1h1v1h-1zM0 2h1v1h-1zM2 2h1v1h-1zM3 2h1v1h-1zM4 2h1v1h-1zM6 2h1v1h-1zM9 2h1v1h-1zM14 2h1v1h-1zM16 2h1v1h-1zM17 2h1v1h-1zM18 2h1v1h-1zM20 2h1v1h-1zM0 3h1v1h-1zM2 3h1v1h-1zM3 3h1v1h-1zM4 3h1v1h-1zM6 3h1v1h-1zM8 3h1v1h-1zM10 3h1v1h-1zM14 3h1v1h-1zM16 3h1v1h-1zM17 3h1v1h-1zM18 3h1v1h-1zM20 3h1v1h-1zM0 4h1v1h-1zM2 4h1v1h-1zM3 4h1v1h-1zM4 4h1v1h-1zM6 4h1v1h-1zM12 4h1v1h-1zM14 4h1v1h-1zM16 4h1v1h-1zM17 4h1v1h-1zM18 4h1v1h-1zM20 4h1v1h-1zM0 5h1v1h-1zM6 5h1v1h-1zM10 5h1v1h-1zM14 5h1v1h-1zM20 5h1v1h-1zM0 6h1v1h-1zM1 6h1v1h-1zM2 6h1v1h-1zM3 6h1v1h-1zM4 6h1v1h-1zM5 6h1v1h-1zM6 6h1v1h-1zM8 6h1v1h-1zM10 6h1v1h-1zM12 6h1v1h-1zM14 6h1v1h-1zM15 6h1v1h-1zM16 6h1v1h-1zM17 6h1v1h-1zM18 6h1v1h-1zM19 6h1v1h-1zM20 6h1v1h-1zM10 7h1v1h-1zM11 7h1v1h-1zM3 8h1v1h-1zM5 8h1v1h-1zM6 8h1v1h-1zM7 8h1v1h-1zM9 8h1v1h-1zM11 8h1v1h-1zM12 8h1v1h-1zM14 8h1v1h-1zM15 8h1v1h-1zM16 8h1v1h-1zM17 8h1v1h-1zM18 8h1v1h-1zM0 9h1v1h-1zM2 9h1v1h-1zM3 9h1v1h-1zM4 9h1v1h-1zM5 9h1v1h-1zM7 9h1v1h-1zM8 9h1v1h-1zM10 9h1v1h-1zM11 9h1v1h-1zM12 9h1v1h-1zM13 9h1v1h-1zM15 9h1v1h-1zM16 9h1v1h-1zM17 9h1v1h-1zM19 9h1v1h-1zM2 10h1v1h-1zM6 10h1v1h-1zM9 10h1v1h-1zM10 10h1v1h-1zM13 10h1v1h-1zM15 10h1v1h-1zM18 10h1v1h-1zM20 10h1v1h-1zM0 11h1v1h-1zM2 11h1v1h-1zM4 11h1v1h-1zM8 11h1v1h-1zM9 11h1v1h-1zM10 11h1v1h-1zM11 11h1v1h-1zM14 11h1v1h-1zM15 11h1v1h-1zM16 11h1v1h-1zM17 11h1v1h-1zM20 11h1v1h-1zM3 12h1v1h-1zM6 12h1v1h-1zM10 12h1v1h-1zM11 12h1v1h-1zM12 12h1v1h-1zM16 12h1v1h-1zM17 12h1v1h-1zM19 12h1v1h-1zM8 13h1v1h-1zM10 13h1v1h-1zM12 13h1v1h-1zM13 13h1v1h-1zM16 13h1v1h-1zM19 13h1v1h-1zM20 13h1v1h-1zM0 14h1v1h-1zM1 14h1v1h-1zM2 14h1v1h-1zM3 14h1v1h-1zM4 14h1v1h-1zM5 14h1v1h-1zM6 14h1v1h-1zM8 14h1v1h-1zM17 14h1v1h-1zM19 14h1v1h-1zM20 14h1v1h-1zM0 15h1v1h-1zM6 15h1v1h-1zM10 15h1v1h-1zM13 15h1v1h-1zM17 15h1v1h-1zM19 15h1v1h-1zM20 15h1v1h-1zM0 16h1v1h-1zM2 16h1v1h-1zM3 16h1v1h-1zM4 16h1v1h-1zM6 16h1v1h-1zM10 16h1v1h-1zM11 16h1v1h-1zM14 16h1v1h-1zM16 16h1v1h-1zM17 16h1v1h-1zM18 16h1v1h-1zM20 16h1v1h-1zM0 17h1v1h-1zM2 17h1v1h-1zM3 17h1v1h-1zM4 17h1v1h-1zM6 17h1v1h-1zM11 17h1v1h-1zM14 17h1v1h-1zM16 17h1v1h-1zM18 17h1v1h-1zM19 17h1v1h-1zM20 17h1v1h-1zM0 18h1v1h-1zM2 18h1v1h-1zM3 18h1v1h-1zM4 18h1v1h-1zM6 18h1v1h-1zM8 18h1v1h-1zM9 18h1v1h-1zM12 18h1v1h-1zM13 18h1v1h-1zM20 18h1v1h-1zM0 19h1v1h-1zM6 19h1v1h-1zM10 19h1v1h-1zM11 19h1v1h-1zM13 19h1v1h-1zM15 19h1v1h-1zM0 20h1v1h-1zM1 20h1v1h-1zM2 20h1v1h-1zM3 20h1v1h-1zM4 20h1v1h-1zM5 20h1v1h-1zM6 20h1v1h-1zM9 20h1v1h-1zM10 20h1v1h-1zM11 20h1v1h-1zM12 20h1v1h-1zM16 20h1v1h-1zM18 20h1v1h-1zM19 20h1v1h-1z'\/%3E%3C\/svg%3E\");\n  --ink:#181D27;--ink-2:#414651;--ink-3:#535862;--ink-4:#717680;\n  --bg:#F7F7F7;--card:#fff;--sep:#E9EAEB;--grey200:#E5E5E5;--grey50:#FAFAFA;\n  --primary:#00604F;--primary-d:#004A3D;--primary-l:#E0ECDE;\n  --err:#B42318;--err-bg:#FEF3F2;--err-line:#FECDCA;\n  --r:12px;--r-lg:16px;\n  --font:'Aeonik',-apple-system,BlinkMacSystemFont,'Helvetica Neue',Helvetica,Arial,sans-serif;\n  max-width:1180px;margin:0 auto;padding:8px 22px 48px;container-type:inline-size;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.5;box-sizing:border-box}\n#pfqr *,#pfqr *::before,#pfqr *::after{box-sizing:border-box}\n#pfqr .cols{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:32px;align-items:start}\n#pfqr .side{display:flex;flex-direction:column;gap:12px;min-width:0}\n#pfqr .picker{margin-top:16px;margin-bottom:0}\n#pfqr .act{background:var(--card);border:1px solid var(--sep);border-radius:var(--r-lg);padding:14px 16px;\n  display:flex;flex-direction:column;gap:12px}\n#pfqr .panel{background:var(--card);border:1px solid var(--sep);border-radius:var(--r-lg);padding:18px}\n#pfqr input[type=text],#pfqr input[type=url]{width:100%;height:44px;padding:0 13px;border:1px solid var(--grey200);\n  border-radius:var(--r);background:#fff;font-family:var(--font);font-size:14.5px;color:var(--ink)}\n#pfqr input:focus{outline:0;border-color:var(--ink)}\n#pfqr input.bad{border-color:var(--err);background:var(--err-bg)}\n#pfqr .drop{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:12px;\n  min-height:58px;padding:10px 14px;border:1.5px dashed var(--grey200);border-radius:var(--r);\n  background:var(--grey50);cursor:pointer;text-align:left;transition:.15s}\n#pfqr .drop__t{min-width:0}\n#pfqr .drop:hover,#pfqr .drop.over{border-color:var(--primary);background:var(--primary-l)}\n#pfqr .drop svg{width:20px;height:20px;color:var(--ink-4);justify-self:center}\n#pfqr .drop b{display:block;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n#pfqr .drop__t>span{display:block;font-size:12.5px;color:var(--ink-4)}\n#pfqr .drop.has{border-style:solid;border-color:var(--primary);background:#fff}\n#pfqr .vars{display:grid;grid-template-columns:1fr 1fr;gap:8px}\n#pfqr .var{border:1.5px solid var(--grey200);border-radius:var(--r);background:#fff;padding:8px;cursor:pointer;text-align:center}\n#pfqr .var.on{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}\n#pfqr .var i{display:block;width:100%;max-width:74px;margin-left:auto;margin-right:auto;aspect-ratio:3\/2;border-radius:8px;background:var(--ink-4);position:relative;overflow:hidden;margin-bottom:8px}\n#pfqr .var i::after{content:'';position:absolute;border-radius:3px;background-color:#fff;\n  background-image:var(--qr);background-repeat:no-repeat;background-position:50% 54%;background-size:56%}\n#pfqr .var--a i::after{left:50%;top:50%;transform:translate(-50%,-50%);height:70%;width:auto;aspect-ratio:100\/113;box-shadow:0 2px 7px rgba(0,0,0,.35)}\n#pfqr .var--b i::after{right:3.34%;bottom:5%;height:28%;width:auto;aspect-ratio:150\/184;\n  background-size:68%;background-position:50% 52%;box-shadow:0 2px 7px rgba(0,0,0,.35)}\n#pfqr .var b{font-size:13px;font-weight:500;display:block}\n#pfqr .var span{font-size:11px;color:var(--ink-4)}\n#pfqr .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 20px;\n  border:0;border-radius:100px;font-family:var(--font);font-size:15px;font-weight:500;cursor:pointer}\n#pfqr .btn--p{background:var(--primary);color:#fff;width:100%}\n#pfqr .btn--p:hover{background:var(--primary-d)}\n#pfqr .btn--p:disabled{opacity:.45;cursor:not-allowed}\n#pfqr .stage{background:var(--card);border:1px solid var(--sep);border-radius:var(--r-lg);padding:18px;\n  display:flex;flex-direction:column;gap:14px}\n#pfqr .stage__c{flex:1 1 auto;display:flex;align-items:center;justify-content:center;\n  background:var(--grey50);border-radius:var(--r);overflow:hidden}\n#pfqr #pf-out{max-width:100%;max-height:560px;height:auto;display:block;border-radius:6px}\n#pfqr .stage__c{position:relative}\n#pfqr .stage__c.load{opacity:.55;transition:opacity .12s}\n#pfqr .demolbl{position:absolute;top:12px;right:12px;margin:0;padding:5px 10px;border-radius:6px;\n  background:rgba(24,29,39,.72);color:#fff;font-size:11px;font-weight:500;letter-spacing:.08em;\n  text-transform:uppercase;white-space:nowrap}\n#pfqr .bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}\n#pfqr .bar .sz{margin-left:auto;font-size:12.5px;color:var(--ink-4)}\n#pfqr .err{margin:14px 0 0;padding:10px 13px;border:1px solid var(--err-line);background:var(--err-bg);\n  border-radius:var(--r);color:var(--err);font-size:13.5px}\n#pfqr .step{margin-bottom:16px}\n#pfqr .step:last-of-type{margin-bottom:0}\n#pfqr .step__t{display:block;margin-bottom:9px;font-size:14.5px;font-weight:500;color:var(--ink)}\n#pfqr .step__n{font-style:normal;color:var(--ink-4);margin-right:5px}\n#pfqr .step__h{display:block;margin-top:6px;font-size:12.5px;color:var(--ink-4)}\n#pfqr .step.done .step__n{color:var(--primary)}\n#pfqr .picker .vars{grid-template-columns:repeat(2,minmax(0,1fr))}\n#pfqr .bar .btn--p{width:auto;padding:0 26px}\n#pfqr .stage__c{min-height:280px}\n#pfqr .vlbl{display:block;margin:0 0 10px;font-size:12.5px;font-weight:500;color:var(--ink-4)}\n#pfqr .status{display:flex;align-items:center;gap:9px;margin:2px 0 0;font-size:13.5px;color:var(--ink-3)}\n#pfqr .status i{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--ink-4)}\n#pfqr .status.ready{color:var(--primary)}\n#pfqr .status.ready i{background:var(--primary)}\n@media (max-width:900px){#pfqr .cols{grid-template-columns:1fr}#pfqr .side{display:contents}#pfqr .panel{order:1}#pfqr .stage{order:2}#pfqr .act{order:3}}\n\n@container (max-width:860px){#pfqr .cols{grid-template-columns:1fr}#pfqr .side{display:contents}#pfqr .panel{order:1}#pfqr .stage{order:2}#pfqr .act{order:3}}\n\n@container (max-width:520px){#pfqr .bar .btn--p{width:100%}}\n\n@container (max-width:520px){#pfqr .bar .sz{margin-left:0}}\n\n@media (max-width:560px){#pfqr{padding:24px 16px 48px}}\n\n@media (max-width:560px){#pfqr h2{font-size:22px}}\n\n@media (max-width:560px){#pfqr .panel{padding:18px}}\n\n@media (max-width:560px){#pfqr .stage{padding:14px}}\n\n@media (max-width:560px){#pfqr .cols{gap:18px}}\n\n\n#pfqr,#pfqr input,#pfqr button,#pfqr label,#pfqr p,#pfqr span,#pfqr b,#pfqr i,#pfqr h2{\n  font-family:var(--font) !important;text-transform:none !important;letter-spacing:normal !important}\n#pfqr p{margin:0}\n#pfqr i{font-style:normal !important}\n#pfqr i,#pfqr b,#pfqr span,#pfqr em,#pfqr strong,#pfqr small{background:none !important;text-shadow:none !important}\n#pfqr .var i{background:var(--ink-4) !important}\n#pfqr .var i::after{background-color:#fff !important}\n#pfqr .status i{background:var(--ink-4) !important}\n#pfqr .status.ready i{background:var(--primary) !important}\n#pfqr input[type=text],#pfqr input[type=url]{\n  width:100% !important;height:44px !important;padding:0 13px !important;margin:0 !important;\n  border:1px solid var(--grey200) !important;border-radius:var(--r) !important;\n  background:#fff !important;color:var(--ink) !important;font-size:14.5px !important;\n  font-weight:400 !important;line-height:normal !important;box-shadow:none !important;outline:0 !important}\n#pfqr input.bad{border-color:var(--err) !important;background:var(--err-bg) !important}\n#pfqr input:focus{border-color:var(--ink) !important}\n#pfqr button{margin:0 !important;box-shadow:none !important;line-height:1 !important;text-shadow:none !important}\n#pfqr .btn--p{height:46px !important;padding:0 26px !important;border:0 !important;border-radius:100px !important;\n  background:var(--primary) !important;color:#fff !important;font-size:15px !important;font-weight:500 !important}\n#pfqr .btn--p:disabled{opacity:.45 !important}\n#pfqr .var{height:auto !important;padding:10px !important;border:1.5px solid var(--grey200) !important;\n  border-radius:var(--r) !important;background:#fff !important;color:var(--ink) !important;font-size:13px !important}\n#pfqr .var.on{border-color:var(--primary) !important;box-shadow:inset 0 0 0 1px var(--primary) !important}\n#pfqr .drop{border:1.5px dashed var(--grey200) !important;background:var(--grey50) !important}\n#pfqr .drop:hover,#pfqr .drop.over{border-color:var(--primary) !important;background:var(--primary-l) !important}\n#pfqr .drop.has{border-style:solid !important;border-color:var(--primary) !important;background:#fff !important}\n#pfqr .drop svg{width:24px !important;height:24px !important;max-width:none !important}\n#pfqr img{max-width:100% !important;height:auto !important;margin:0 !important;padding:0 !important;\n  border:0 !important;border-radius:6px !important;box-shadow:none !important}\n<\/style>\n\n<div id=\"pfqr\" lang=\"ru\">\n  <div class=\"cols\">\n    <div class=\"side\">\n      <div class=\"panel\">\n      <div class=\"step\">\n        <span class=\"step__t\"><i class=\"step__n\">1.<\/i>\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044e<\/span>\n        <label class=\"drop\" id=\"pf-drop\" for=\"pf-file\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 16V4M8.5 7.5 12 4l3.5 3.5M20 16v2a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-2\"\/><\/svg>\n          <span class=\"drop__t\"><b id=\"pf-dropt\">\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0430\u0439\u043b<\/b><span id=\"pf-drops\">\u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0441\u044e\u0434\u0430 \u00b7 JPG, PNG, WEBP<\/span><\/span>\n        <\/label>\n        <input id=\"pf-file\" type=\"file\" accept=\"image\/*\" hidden>\n      <\/div>\n\n      <div class=\"step\">\n        <span class=\"step__t\"><i class=\"step__n\">2.<\/i>\u0412\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443<\/span>\n        <input id=\"pf-url\" type=\"url\" placeholder=\"https:\/\/app.prufio.com\/report\/\u2026\" autocomplete=\"off\">\n        <span class=\"step__h\">\u041f\u043e\u0434\u0445\u043e\u0434\u044f\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0441 app.prufio.com.<\/span>\n      <\/div>\n\n        <p class=\"err\" id=\"pf-err\" hidden><\/p>\n\n        <div class=\"step picker\">\n          <span class=\"step__t\"><i class=\"step__n\">3.<\/i>\u0421\u0442\u0438\u043b\u044c QR-\u043a\u043e\u0434\u0430<\/span>\n          <div class=\"vars\">\n            <button class=\"var var--a on\" type=\"button\" data-v=\"a\"><i><\/i><b>\u041a\u0430\u0440\u0442\u043e\u0447\u043a\u0430<\/b><span>\u043f\u043e \u0446\u0435\u043d\u0442\u0440\u0443<\/span><\/button>\n            <button class=\"var var--b\" type=\"button\" data-v=\"b\"><i><\/i><b>\u0428\u0442\u0430\u043c\u043f<\/b><span>\u0432 \u0443\u0433\u043b\u0443<\/span><\/button>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"act\">\n        <p class=\"status\" id=\"pf-status\"><i><\/i><span><\/span><\/p>\n        <div class=\"bar\">\n          <button class=\"btn btn--p\" id=\"pf-dl\" disabled>\u0421\u043a\u0430\u0447\u0430\u0442\u044c<\/button>\n          <span class=\"sz\" id=\"pf-sz\"><\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"stage\">\n      <div class=\"stage__c\" id=\"pf-stage\"><\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function(){\n  if (window.__pfqrLoaded) return;\n  window.__pfqrLoaded = true;\n  var LIB = 'https:\/\/cdn.jsdelivr.net\/npm\/qr-code-styling@1.6.0-rc.1\/lib\/qr-code-styling.js';\n  function boot(){\n  const CAPTION = 'Scan for the full inspection report';\n  const META    = '38 photographs \u00b7 45-second video';\n\n  const LOGO_PATHS = [\"M38.2257 25.6409H34.411V1.27486H44.5471C49.6334 1.27486 52.9213 4.38122 52.9213 8.90608C52.9213 13.3771 49.6334 16.5552 44.5471 16.5552H38.2257V25.6409ZM38.2257 4.70442V13.1077H44.3837C47.3809 13.1077 48.9431 11.2403 48.9431 8.90608C48.9431 6.53591 47.3809 4.70442 44.3837 4.70442H38.2257Z\", \"M59.5523 25.6409H55.9374V8.40331H59.5523V10.7555C60.5332 8.87016 62.1863 8.0442 64.0936 8.0442C65.456 8.0442 66.4914 8.47514 66.4914 8.47514L66.1099 11.7431C65.9101 11.6713 65.129 11.3481 63.9846 11.3481C62.0591 11.3481 59.5523 12.3536 59.5523 16.25V25.6409Z\", \"M68.9444 8.40331H72.5411V18.1174C72.5411 20.9724 74.1215 22.6243 76.7918 22.6243C79.5347 22.6243 81.6964 20.9724 81.6964 18.1174V8.40331H85.2931V25.6409H81.6782V23.4682C81.0969 24.3481 79.4439 26 76.2287 26C71.4694 26 68.9444 23.0552 68.9444 18.8715V8.40331Z\", \"M91.3973 11.4199H88.1094V8.40331H91.4518V6.53591C91.4518 2.54972 93.9586 0 98.2093 0C99.7533 0 100.789 0.466851 101.098 0.628453L100.716 3.5732C100.226 3.35773 99.281 3.12431 98.3728 3.12431C96.0295 3.12431 94.9395 4.23757 94.9395 6.73343V8.40331H100.08V11.4199H94.994V25.6409H91.3973V11.4199ZM102.969 2.62155C102.969 1.32873 103.877 0.430939 105.185 0.430939C106.493 0.430939 107.419 1.32873 107.419 2.62155C107.419 3.91436 106.493 4.81215 105.185 4.81215C103.877 4.81215 102.969 3.91436 102.969 2.62155ZM103.386 25.6409V8.40331H106.983V25.6409H103.386Z\", \"M119.736 26C114.432 26 110.472 22.0677 110.472 17.0221C110.472 11.9765 114.432 8.0442 119.736 8.0442C125.04 8.0442 129 11.9765 129 17.0221C129 22.0677 125.04 26 119.736 26ZM114.068 17.0221C114.068 20.2003 116.448 22.6602 119.736 22.6602C123.024 22.6602 125.403 20.2003 125.403 17.0221C125.403 13.8439 123.024 11.384 119.736 11.384C116.448 11.384 114.068 13.8439 114.068 17.0221Z\", \"M6.90582 25.0485C6.56534 24.854 6.11845 24.6015 5.92161 24.4911C5.72476 24.3754 5.34704 24.1651 5.08103 24.0126C4.82035 23.8653 4.18194 23.4972 3.67121 23.2027C3.16048 22.903 2.62848 22.6032 2.49015 22.5349L2.23479 22.4086V22.1299C2.23479 21.8828 2.26671 21.8091 2.56996 21.3464C3.03812 20.6417 3.42117 20.1895 4.13406 19.5163C4.78311 18.9011 5.01719 18.717 5.77796 18.2122C6.46425 17.7652 6.75154 17.6127 7.58147 17.2656C8.50185 16.8764 8.86361 16.7713 9.84251 16.5977C10.2681 16.5241 10.715 16.44 10.8427 16.4137C10.965 16.3821 11.529 16.3611 12.0982 16.3611C14.0613 16.3611 15.684 16.7134 17.3172 17.4917C19.142 18.3647 20.7753 19.7845 21.8872 21.4726C22.1532 21.8775 22.1904 21.9617 22.1745 22.1562C22.1585 22.3718 22.1479 22.3824 21.7861 22.5822C21.5839 22.6926 21.2222 22.8977 20.9881 23.0397C20.754 23.1764 20.3124 23.4236 20.0145 23.5866C19.7113 23.7496 19.4346 23.9074 19.4027 23.9389C19.3335 23.9968 18.0567 24.7225 17.4183 25.0643C17.2055 25.1853 16.998 25.3062 16.9608 25.343C16.9235 25.3798 16.7693 25.4061 16.6203 25.4061H16.3383L16.0457 24.9118C15.8808 24.6384 15.7478 24.3965 15.7478 24.3754C15.7478 24.3544 15.6893 24.2597 15.6148 24.1651C15.5403 24.0704 15.4818 23.981 15.4818 23.9652C15.4818 23.9442 15.2477 23.534 14.9657 23.0502C14.6838 22.5664 14.3646 22.0195 14.2582 21.8302C14.1518 21.6409 14.0188 21.4147 13.9602 21.3201C13.774 21.0098 13.3272 20.2263 13.2208 20.0264C12.9388 19.49 12.3961 19.1745 11.9812 19.2955C11.5769 19.4217 11.4758 19.5268 10.9757 20.363C10.715 20.81 10.4437 21.2675 10.3798 21.3832C10.316 21.4989 10.1777 21.7355 10.0713 21.9091C9.96487 22.0826 9.77867 22.4034 9.6563 22.619C9.53394 22.8346 9.29986 23.2395 9.14026 23.513C8.98065 23.7864 8.75721 24.1756 8.64017 24.3754C8.52845 24.5753 8.39012 24.7961 8.33692 24.875C8.28904 24.9486 8.20924 25.0854 8.16668 25.1748C8.00176 25.5271 7.70383 25.4955 6.90582 25.0485Z\", \"M0.0106402 15.3251L0.0266004 12.0226L3.45805 11.9963C5.34668 11.9805 6.93739 11.949 6.99591 11.9227C7.24063 11.8123 7.5758 11.4915 7.67156 11.2706C7.8152 10.9498 7.77264 10.7447 7.45343 10.2031C7.30447 9.96117 7.08103 9.57202 6.95335 9.34064C6.66074 8.81476 6.14469 7.92603 4.99556 6.00133C4.86787 5.78572 4.73487 5.55959 4.70295 5.50174C4.23479 4.66034 4.2401 4.6025 4.78807 4.26594C5.0062 4.12921 5.42648 3.88731 5.71909 3.72954C6.17661 3.47712 7.22467 2.88288 8.24613 2.2939C9.65595 1.47879 9.76235 1.42621 9.98579 1.42621C10.2092 1.42621 10.2146 1.43147 10.3688 1.73121C10.6242 2.23606 11.0711 3.27203 11.1775 3.60859C11.3052 4.01352 11.5073 4.96535 11.6244 5.72787C11.7361 6.44306 11.7095 8.02595 11.5765 8.99882C11.4541 9.85599 11.1562 10.9866 10.9115 11.5178C10.7944 11.7649 10.6402 12.1173 10.5657 12.3013C10.2944 12.9429 9.53359 14.0577 8.84198 14.8203C7.43215 16.3874 5.91593 17.3602 3.82514 18.0491C3.30909 18.2174 2.67068 18.391 2.41532 18.4383C1.88331 18.5277 0.829933 18.6223 0.329845 18.6223H0L0.0106402 15.3251Z\", \"M23.0368 18.5698C22.1856 18.5014 21.5046 18.3594 20.5895 18.0597C19.6213 17.7441 18.9829 17.4654 18.2381 17.0289C16.6101 16.0824 15.0832 14.5573 14.2374 13.0218C14.0777 12.7325 13.9181 12.4643 13.8809 12.4223C13.7 12.2172 13.0882 10.4923 12.902 9.66142C12.5828 8.22052 12.5828 6.09072 12.902 4.68664C13.0882 3.87153 13.4659 2.81452 13.833 2.07829L14.1575 1.42621H14.3863C14.5672 1.42621 14.7055 1.47879 14.9822 1.64707C15.1843 1.76803 15.5301 1.96786 15.7483 2.08881C15.9664 2.2045 16.4611 2.48848 16.8495 2.70934C17.2379 2.93021 17.5677 3.10901 17.5837 3.10901C17.605 3.10901 17.7167 3.17737 17.839 3.25625C17.9614 3.34039 18.3125 3.54549 18.6211 3.71377C18.9297 3.88205 19.318 4.10817 19.4883 4.21861C19.6585 4.32904 19.8394 4.43422 19.8979 4.44999C19.983 4.47629 20.0043 4.52887 20.0043 4.71819C20.0043 4.85492 19.9671 4.98639 19.9192 5.04949C19.8713 5.10208 19.6904 5.40709 19.5202 5.73313C19.3499 6.05391 19.1425 6.41677 19.0573 6.53772C18.9722 6.66393 18.8073 6.94264 18.6956 7.15825C18.5839 7.37386 18.4721 7.56318 18.4562 7.57895C18.4402 7.59473 18.2168 7.97336 17.9561 8.42035C17.7007 8.86735 17.3868 9.40374 17.2645 9.60357C16.8601 10.2714 16.5995 10.7868 16.5995 10.9235C16.5995 11.1181 16.7218 11.3758 16.924 11.6019C17.2645 11.9858 17.0836 11.9648 20.9353 11.9963L24.3934 12.0226L24.4093 15.3251L24.42 18.6223L23.9837 18.6171C23.739 18.6118 23.3134 18.5908 23.0368 18.5698Z\"];\n  const MARK_PATHS = [\"M6.90582 25.0485C6.56534 24.854 6.11845 24.6015 5.92161 24.4911C5.72476 24.3754 5.34704 24.1651 5.08103 24.0126C4.82035 23.8653 4.18194 23.4972 3.67121 23.2027C3.16048 22.903 2.62848 22.6032 2.49015 22.5349L2.23479 22.4086V22.1299C2.23479 21.8828 2.26671 21.8091 2.56996 21.3464C3.03812 20.6417 3.42117 20.1895 4.13406 19.5163C4.78311 18.9011 5.01719 18.717 5.77796 18.2122C6.46425 17.7652 6.75154 17.6127 7.58147 17.2656C8.50185 16.8764 8.86361 16.7713 9.84251 16.5977C10.2681 16.5241 10.715 16.44 10.8427 16.4137C10.965 16.3821 11.529 16.3611 12.0982 16.3611C14.0613 16.3611 15.684 16.7134 17.3172 17.4917C19.142 18.3647 20.7753 19.7845 21.8872 21.4726C22.1532 21.8775 22.1904 21.9617 22.1745 22.1562C22.1585 22.3718 22.1479 22.3824 21.7861 22.5822C21.5839 22.6926 21.2222 22.8977 20.9881 23.0397C20.754 23.1764 20.3124 23.4236 20.0145 23.5866C19.7113 23.7496 19.4346 23.9074 19.4027 23.9389C19.3335 23.9968 18.0567 24.7225 17.4183 25.0643C17.2055 25.1853 16.998 25.3062 16.9608 25.343C16.9235 25.3798 16.7693 25.4061 16.6203 25.4061H16.3383L16.0457 24.9118C15.8808 24.6384 15.7478 24.3965 15.7478 24.3754C15.7478 24.3544 15.6893 24.2597 15.6148 24.1651C15.5403 24.0704 15.4818 23.981 15.4818 23.9652C15.4818 23.9442 15.2477 23.534 14.9657 23.0502C14.6838 22.5664 14.3646 22.0195 14.2582 21.8302C14.1518 21.6409 14.0188 21.4147 13.9602 21.3201C13.774 21.0098 13.3272 20.2263 13.2208 20.0264C12.9388 19.49 12.3961 19.1745 11.9812 19.2955C11.5769 19.4217 11.4758 19.5268 10.9757 20.363C10.715 20.81 10.4437 21.2675 10.3798 21.3832C10.316 21.4989 10.1777 21.7355 10.0713 21.9091C9.96487 22.0826 9.77867 22.4034 9.6563 22.619C9.53394 22.8346 9.29986 23.2395 9.14026 23.513C8.98065 23.7864 8.75721 24.1756 8.64017 24.3754C8.52845 24.5753 8.39012 24.7961 8.33692 24.875C8.28904 24.9486 8.20924 25.0854 8.16668 25.1748C8.00176 25.5271 7.70383 25.4955 6.90582 25.0485Z\", \"M0.0106402 15.3251L0.0266004 12.0226L3.45805 11.9963C5.34668 11.9805 6.93739 11.949 6.99591 11.9227C7.24063 11.8123 7.5758 11.4915 7.67156 11.2706C7.8152 10.9498 7.77264 10.7447 7.45343 10.2031C7.30447 9.96117 7.08103 9.57202 6.95335 9.34064C6.66074 8.81476 6.14469 7.92603 4.99556 6.00133C4.86787 5.78572 4.73487 5.55959 4.70295 5.50174C4.23479 4.66034 4.2401 4.6025 4.78807 4.26594C5.0062 4.12921 5.42648 3.88731 5.71909 3.72954C6.17661 3.47712 7.22467 2.88288 8.24613 2.2939C9.65595 1.47879 9.76235 1.42621 9.98579 1.42621C10.2092 1.42621 10.2146 1.43147 10.3688 1.73121C10.6242 2.23606 11.0711 3.27203 11.1775 3.60859C11.3052 4.01352 11.5073 4.96535 11.6244 5.72787C11.7361 6.44306 11.7095 8.02595 11.5765 8.99882C11.4541 9.85599 11.1562 10.9866 10.9115 11.5178C10.7944 11.7649 10.6402 12.1173 10.5657 12.3013C10.2944 12.9429 9.53359 14.0577 8.84198 14.8203C7.43215 16.3874 5.91593 17.3602 3.82514 18.0491C3.30909 18.2174 2.67068 18.391 2.41532 18.4383C1.88331 18.5277 0.829933 18.6223 0.329845 18.6223H0L0.0106402 15.3251Z\", \"M23.0368 18.5698C22.1856 18.5014 21.5046 18.3594 20.5895 18.0597C19.6213 17.7441 18.9829 17.4654 18.2381 17.0289C16.6101 16.0824 15.0832 14.5573 14.2374 13.0218C14.0777 12.7325 13.9181 12.4643 13.8809 12.4223C13.7 12.2172 13.0882 10.4923 12.902 9.66142C12.5828 8.22052 12.5828 6.09072 12.902 4.68664C13.0882 3.87153 13.4659 2.81452 13.833 2.07829L14.1575 1.42621H14.3863C14.5672 1.42621 14.7055 1.47879 14.9822 1.64707C15.1843 1.76803 15.5301 1.96786 15.7483 2.08881C15.9664 2.2045 16.4611 2.48848 16.8495 2.70934C17.2379 2.93021 17.5677 3.10901 17.5837 3.10901C17.605 3.10901 17.7167 3.17737 17.839 3.25625C17.9614 3.34039 18.3125 3.54549 18.6211 3.71377C18.9297 3.88205 19.318 4.10817 19.4883 4.21861C19.6585 4.32904 19.8394 4.43422 19.8979 4.44999C19.983 4.47629 20.0043 4.52887 20.0043 4.71819C20.0043 4.85492 19.9671 4.98639 19.9192 5.04949C19.8713 5.10208 19.6904 5.40709 19.5202 5.73313C19.3499 6.05391 19.1425 6.41677 19.0573 6.53772C18.9722 6.66393 18.8073 6.94264 18.6956 7.15825C18.5839 7.37386 18.4721 7.56318 18.4562 7.57895C18.4402 7.59473 18.2168 7.97336 17.9561 8.42035C17.7007 8.86735 17.3868 9.40374 17.2645 9.60357C16.8601 10.2714 16.5995 10.7868 16.5995 10.9235C16.5995 11.1181 16.7218 11.3758 16.924 11.6019C17.2645 11.9858 17.0836 11.9648 20.9353 11.9963L24.3934 12.0226L24.4093 15.3251L24.42 18.6223L23.9837 18.6171C23.739 18.6118 23.3134 18.5908 23.0368 18.5698Z\"];\n  const root = document.getElementById('pfqr');\n    const $ = s => root.querySelector(s);\n  let photo = null, variant = 'a';\n  let qrCache = { key:null, img:null };\n  let timer = null, busy = false, again = false;\n  const PREVIEW_MAX = 1400;\n  const DEMO_URL = 'https:\/\/app.prufio.com\/report\/ec53ecd2-46a2-40e0-9d7d-5437a8269b51';\n\n  const drop = $('#pf-drop'), file = $('#pf-file');\n  ['dragenter','dragover'].forEach(e=>drop.addEventListener(e,ev=>{ev.preventDefault();drop.classList.add('over')}));\n  ['dragleave','drop'].forEach(e=>drop.addEventListener(e,ev=>{ev.preventDefault();drop.classList.remove('over')}));\n  drop.addEventListener('drop',ev=>{ if(ev.dataTransfer.files[0]) loadPhoto(ev.dataTransfer.files[0]); });\n  file.addEventListener('change',()=>{ if(file.files[0]) loadPhoto(file.files[0]); });\n\n  function loadPhoto(f){\n    if(!\/^image\\\/\/.test(f.type)) return fail('\u041d\u0443\u0436\u0435\u043d \u0444\u0430\u0439\u043b \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f.');\n    const img = new Image();\n    img.onload = ()=>{ photo = img; drop.classList.add('has');\n      $('#pf-dropt').textContent = f.name.length>34 ? f.name.slice(0,31)+'\u2026' : f.name;\n      $('#pf-drops').textContent = img.naturalWidth+' \u00d7 '+img.naturalHeight+' px';\n      fail(null); preview(); };\n    img.onerror = ()=> fail('\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435.');\n    img.src = URL.createObjectURL(f);\n  }\n  root.querySelectorAll('.var').forEach(b=>b.addEventListener('click',()=>{\n    root.querySelectorAll('.var').forEach(x=>x.classList.remove('on'));\n    b.classList.add('on'); variant = b.dataset.v;\n    preview();\n  }));\n  $('#pf-url').addEventListener('input',sync);\n  function sync(){ schedule(); }\n  function missing(){\n    const u = validUrl(($('#pf-url').value||'').trim());\n    if(!photo && !u) return '\u041f\u0440\u0438\u043c\u0435\u0440. \u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044e \u0438 \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443.';\n    if(!photo)       return '\u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044e.';\n    if(!u)           return '\u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443.';\n    return null;\n  }\n  function markSteps(){\n    const st=root.querySelectorAll('.step');\n    if(st[0]) st[0].classList.toggle('done', !!photo);\n    if(st[1]) st[1].classList.toggle('done', validUrl(($('#pf-url').value||'').trim()));\n  }\n  function fail(m){ const e=$('#pf-err'); if(!m){e.hidden=true;return;} e.textContent=m; e.hidden=false; }\n\n  function qrPng(text, px, dark){\n    const key = text+'|'+px+'|'+dark;\n    if (qrCache.key === key) return Promise.resolve(qrCache.img);\n    return new Promise((res,rej)=>{\n      const q = new QRCodeStyling({\n        width:px, height:px, type:'canvas', data:text, margin:0,\n        qrOptions:{ errorCorrectionLevel:'Q' },\n        dotsOptions:{ type:'dots', color:dark },\n        cornersSquareOptions:{ type:'extra-rounded', color:dark },\n        cornersDotOptions:{ type:'dot', color:dark },\n        backgroundOptions:{ color:'transparent' }\n      });\n      q.getRawData('png').then(b=>{\n        const i=new Image(); i.onload=()=>{ qrCache={key:key,img:i}; res(i); }; i.onerror=rej; i.src=URL.createObjectURL(b);\n      }).catch(rej);\n    });\n  }\n\n  function rr(ctx,x,y,w,h,r){ ctx.beginPath();\n    ctx.moveTo(x+r,y); ctx.arcTo(x+w,y,x+w,y+h,r); ctx.arcTo(x+w,y+h,x,y+h,r);\n    ctx.arcTo(x,y+h,x,y,r); ctx.arcTo(x,y,x+w,y,r); ctx.closePath(); }\n\n  function drawMark(ctx,x,y,size,color){\n\n    ctx.save(); ctx.translate(x,y); ctx.scale(size\/25,size\/25); ctx.fillStyle=color;\n    MARK_PATHS.forEach(d=>ctx.fill(new Path2D(d)));\n    ctx.restore();\n  }\n  function drawLogo(ctx,x,y,scale,color){\n\n    ctx.save(); ctx.translate(x,y); ctx.scale(scale,scale); ctx.fillStyle=color;\n    LOGO_PATHS.forEach(d=>ctx.fill(new Path2D(d)));\n    ctx.restore();\n  }\n\n  const HOST = 'app.prufio.com';\n  function validUrl(v){ try{ const u=new URL(v); return u.protocol==='https:' && u.hostname===HOST; }catch(e){ return false; } }\n\n  async function compose(maxDim){\n    let W, H, ctx, c = document.createElement('canvas');\n    if(photo){\n      const nw = photo.naturalWidth, nh = photo.naturalHeight;\n      const f = Math.min(1, maxDim \/ Math.max(nw, nh));\n      W = Math.round(nw*f); H = Math.round(nh*f);\n      c.width=W; c.height=H; ctx=c.getContext('2d');\n      ctx.drawImage(photo,0,0,W,H);\n    }else{\n\n      W = 1100; H = 760; c.width=W; c.height=H; ctx=c.getContext('2d');\n      ctx.fillStyle='#D5D7DA'; ctx.fillRect(0,0,W,H);\n    }\n    const url = ($('#pf-url').value || '').trim() || DEMO_URL;\n    if(variant==='a') await cardA(ctx,W,H,url); else await stampB(ctx,W,H,url);\n    return c;\n  }\n\n  function schedule(){\n    clearTimeout(timer);\n    timer = setTimeout(preview, 260);\n  }\n\n  async function preview(){\n    const raw = $('#pf-url').value.trim();\n    const stage = $('#pf-stage');\n\n    if(raw && !validUrl(raw)){\n      $('#pf-url').classList.add('bad');\n      fail('\u0421\u0441\u044b\u043b\u043a\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0441 app.prufio.com');\n    } else {\n      $('#pf-url').classList.remove('bad'); fail(null);\n    }\n    markSteps();\n\n    if(busy){ again = true; return; }\n    busy = true; stage.classList.add('load');\n    try{\n      const c = await compose(PREVIEW_MAX);\n      stage.innerHTML='';\n      const im=new Image(); im.id='pf-out'; im.src=c.toDataURL('image\/png');\n      stage.appendChild(im);\n      if(!photo){ const n=document.createElement('p'); n.className='demolbl'; n.textContent='\u041f\u0440\u0438\u043c\u0435\u0440'; stage.appendChild(n); }\n      const left = missing();\n      const st=$('#pf-status');\n      st.classList.toggle('ready', !left);\n      st.lastElementChild.textContent = left || '\u0413\u043e\u0442\u043e\u0432\u043e \u2014 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c.';\n      const ok = !!photo && validUrl(raw);\n      $('#pf-dl').disabled=!ok;\n      $('#pf-sz').textContent = photo ? photo.naturalWidth+' \u00d7 '+photo.naturalHeight+' px' : '';\n    }catch(e){ fail('\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c: '+e.message); }\n    finally{\n      busy=false; stage.classList.remove('load');\n      if(again){ again=false; preview(); }\n    }\n  }\n\n  async function cardA(ctx,W,H,url){\n    const S = Math.min(W,H);\n    const cw = Math.round(S*0.62), ch = Math.round(cw*1.13);\n    const x = Math.round((W-cw)\/2), y = Math.round((H-ch)\/2);\n    const r = Math.round(cw*0.055);\n\n    const off = document.createElement('canvas'); off.width=W; off.height=H;\n    const oc = off.getContext('2d');\n    oc.filter = 'blur('+Math.round(S*0.03)+'px)';\n    oc.drawImage(ctx.canvas,0,0);\n    ctx.save(); rr(ctx,x,y,cw,ch,r); ctx.clip();\n    ctx.drawImage(off,0,0);\n    ctx.fillStyle='rgba(255,255,255,.74)'; ctx.fillRect(x,y,cw,ch);\n    ctx.restore();\n    ctx.save(); rr(ctx,x,y,cw,ch,r);\n    ctx.strokeStyle='rgba(255,255,255,.55)'; ctx.lineWidth=Math.max(1,S*0.002); ctx.stroke();\n    ctx.restore();\n\n    const ink='#171717', mute='#6B7280';\n    const titleSz = Math.round(cw*0.088);\n    const markSz  = Math.round(titleSz*1.15);\n    const gap     = Math.round(cw*0.030);\n\n    ctx.textBaseline='alphabetic'; ctx.textAlign='left';\n    ctx.font='500 '+titleSz+'px Aeonik, Helvetica, Arial, sans-serif';\n    const tw = ctx.measureText('Prufio Verified').width;\n    const rowW = markSz + gap + tw;\n    const rowX = x + (cw-rowW)\/2, rowY = y + Math.round(ch*0.135);\n    drawMark(ctx, rowX, rowY - markSz*0.80, markSz, ink);\n    ctx.fillStyle=ink; ctx.fillText('Prufio Verified', rowX+markSz+gap, rowY);\n\n    const qs = Math.round(cw*0.62);\n    const qi = await qrPng(url, Math.max(420,qs), ink);\n    ctx.drawImage(qi, Math.round(x+(cw-qs)\/2), Math.round(y+ch*0.212), qs, qs);\n\n    ctx.textAlign='center';\n    ctx.font='400 '+Math.round(cw*0.052)+'px Aeonik, Helvetica, Arial, sans-serif';\n    ctx.fillStyle='#3F4650';\n    ctx.fillText(CAPTION, x+cw\/2, y+Math.round(ch*0.866));\n    ctx.font='400 '+Math.round(cw*0.044)+'px Aeonik, Helvetica, Arial, sans-serif';\n    ctx.fillStyle=mute;\n    ctx.fillText(META, x+cw\/2, y+Math.round(ch*0.930));\n  }\n\n  async function stampB(ctx,W,H,url){\n    const S = Math.min(W,H);\n    const CH = Math.round(S*0.28);\n    const k  = CH\/184;\n    const CW = Math.round(150*k);\n    const m  = Math.round(S*0.05);\n    const x  = W - CW - m, y = H - CH - m;\n    const ink='#171717';\n\n    ctx.save();\n    ctx.shadowColor='rgba(0,0,0,.45)';\n    ctx.shadowBlur=28*k*2; ctx.shadowOffsetY=10*k*2;\n    rr(ctx, x+1.5*k, y+1.5*k, 147*k, 181*k, 16*k);\n    ctx.fillStyle='#fff'; ctx.fill();\n    ctx.restore();\n    rr(ctx, x+1.5*k, y+1.5*k, 147*k, 181*k, 16*k);\n    ctx.strokeStyle=ink; ctx.lineWidth=2.6*k; ctx.stroke();\n\n    drawLogo(ctx, x+29*k, y+16.7287*k, 0.7132*k, ink);\n\n    const qs = Math.round(100*k);\n    const qi = await qrPng(url, Math.max(420,qs), ink);\n    ctx.drawImage(qi, Math.round(x+25*k), Math.round(y+48*k), qs, qs);\n\n    const fs = 8.6*k, sp = fs*0.13;\n    ctx.font='500 '+fs+'px Aeonik, Helvetica, Arial, sans-serif';\n    ctx.textAlign='left'; ctx.fillStyle=ink;\n    const t='SCAN THE REPORT';\n    let tot=0; for(const c2 of t) tot += ctx.measureText(c2).width + sp;\n    tot -= sp;\n    let cx = x + 75*k - tot\/2;\n    for(const c2 of t){ ctx.fillText(c2, cx, y+168*k); cx += ctx.measureText(c2).width + sp; }\n  }\n\n  async function save(type,ext,q){\n    if(!photo || !validUrl($('#pf-url').value.trim())) return;\n    const btns=[$('#pf-dl')]; btns.forEach(b=>b.disabled=true);\n    const was=$('#pf-dl').textContent; $('#pf-dl').textContent='\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430\u2026';\n    try{\n      const c = await compose(Infinity);\n      await new Promise(res=>c.toBlob(b=>{\n        const a=document.createElement('a');\n        a.href=URL.createObjectURL(b);\n        a.download='prufio-qr-'+Date.now()+'.'+ext; a.click();\n        setTimeout(()=>URL.revokeObjectURL(a.href),2000); res();\n      }, type, q));\n    }catch(e){ fail('\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c: '+e.message); }\n    btns.forEach(b=>b.disabled=false); $('#pf-dl').textContent=was;\n  }\n  $('#pf-dl').addEventListener('click',()=>save('image\/jpeg','jpg',.92));\n\n  if(document.fonts && document.fonts.load){\n    document.fonts.load('500 40px Aeonik').catch(()=>{}).then(()=>preview());\n  } else { preview(); }\n  }\n  function start(){\n    if (!document.getElementById('pfqr')) return;\n    if (window.QRCodeStyling) { boot(); return; }\n    var s = document.createElement('script');\n    s.src = LIB; s.onload = boot;\n    s.onerror = function(){\n      var e = document.getElementById('pf-err');\n      if (e) { e.textContent = '\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 QR-\u043a\u043e\u0434\u043e\u0432.'; e.hidden = false; }\n    };\n    document.head.appendChild(s);\n  }\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', start);\n  else start();\n})();\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>1.\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044e \u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0430\u0439\u043b\u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0441\u044e\u0434\u0430 \u00b7 JPG, PNG, WEBP 2.\u0412\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u041f\u043e\u0434\u0445\u043e\u0434\u044f\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0441 app.prufio.com. 3.\u0421\u0442\u0438\u043b\u044c QR-\u043a\u043e\u0434\u0430 \u041a\u0430\u0440\u0442\u043e\u0447\u043a\u0430\u043f\u043e \u0446\u0435\u043d\u0442\u0440\u0443 \u0428\u0442\u0430\u043c\u043f\u0432 \u0443\u0433\u043b\u0443 \u0421\u043a\u0430\u0447\u0430\u0442\u044c<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-page-simple.php","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-1586","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u0421\u043e\u0437\u0434\u0430\u0442\u044c QR-\u043a\u043e\u0434 \u0434\u043b\u044f \u043e\u0442\u0447\u0451\u0442\u0430 \u043e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 Prufio - Prufio - Remote Used Car Inspection App<\/title>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"ru_RU\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u0421\u043e\u0437\u0434\u0430\u0442\u044c QR-\u043a\u043e\u0434 \u0434\u043b\u044f \u043e\u0442\u0447\u0451\u0442\u0430 \u043e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 Prufio - Prufio - Remote Used Car Inspection App\" \/>\n<meta property=\"og:description\" content=\"1.\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044e \u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0430\u0439\u043b\u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0441\u044e\u0434\u0430 \u00b7 JPG, PNG, WEBP 2.\u0412\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u041f\u043e\u0434\u0445\u043e\u0434\u044f\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0441 app.prufio.com. 3.\u0421\u0442\u0438\u043b\u044c QR-\u043a\u043e\u0434\u0430 \u041a\u0430\u0440\u0442\u043e\u0447\u043a\u0430\u043f\u043e \u0446\u0435\u043d\u0442\u0440\u0443 \u0428\u0442\u0430\u043c\u043f\u0432 \u0443\u0433\u043b\u0443 \u0421\u043a\u0430\u0447\u0430\u0442\u044c\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prufio.ravendev.lt\/ru\/qr-kod-otcheta\/\" \/>\n<meta property=\"og:site_name\" content=\"Prufio - Remote Used Car Inspection App\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/profile.php?id=61590421012897\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-14T10:05:04+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/prufio.ravendev.lt\\\/ru\\\/qr-kod-otcheta\\\/\",\"url\":\"https:\\\/\\\/prufio.ravendev.lt\\\/ru\\\/qr-kod-otcheta\\\/\",\"name\":\"\u0421\u043e\u0437\u0434\u0430\u0442\u044c QR-\u043a\u043e\u0434 \u0434\u043b\u044f \u043e\u0442\u0447\u0451\u0442\u0430 \u043e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 Prufio - Prufio - Remote Used Car Inspection App\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/prufio.ravendev.lt\\\/ru\\\/#website\"},\"datePublished\":\"2026-09-14T10:05:02+00:00\",\"dateModified\":\"2026-09-14T10:05:04+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/prufio.ravendev.lt\\\/ru\\\/qr-kod-otcheta\\\/#breadcrumb\"},\"inLanguage\":\"ru-RU\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/prufio.ravendev.lt\\\/ru\\\/qr-kod-otcheta\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/prufio.ravendev.lt\\\/ru\\\/qr-kod-otcheta\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/prufio.ravendev.lt\\\/ru\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u0421\u043e\u0437\u0434\u0430\u0442\u044c QR-\u043a\u043e\u0434 \u0434\u043b\u044f \u043e\u0442\u0447\u0451\u0442\u0430 \u043e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 Prufio\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/prufio.ravendev.lt\\\/ru\\\/#website\",\"url\":\"https:\\\/\\\/prufio.ravendev.lt\\\/ru\\\/\",\"name\":\"Prufio\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/prufio.ravendev.lt\\\/ru\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/prufio.ravendev.lt\\\/ru\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ru-RU\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/prufio.ravendev.lt\\\/ru\\\/#organization\",\"name\":\"Prufio\",\"url\":\"https:\\\/\\\/prufio.ravendev.lt\\\/ru\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\\\/\\\/prufio.ravendev.lt\\\/ru\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/prufio.ravendev.lt\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/1775646927593.jpeg\",\"contentUrl\":\"https:\\\/\\\/prufio.ravendev.lt\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/1775646927593.jpeg\",\"width\":200,\"height\":200,\"caption\":\"Prufio\"},\"image\":{\"@id\":\"https:\\\/\\\/prufio.ravendev.lt\\\/ru\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/profile.php?id=61590421012897\",\"https:\\\/\\\/www.instagram.com\\\/prufio_com\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/prufio\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u0421\u043e\u0437\u0434\u0430\u0442\u044c QR-\u043a\u043e\u0434 \u0434\u043b\u044f \u043e\u0442\u0447\u0451\u0442\u0430 \u043e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 Prufio - Prufio - Remote Used Car Inspection App","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"ru_RU","og_type":"article","og_title":"\u0421\u043e\u0437\u0434\u0430\u0442\u044c QR-\u043a\u043e\u0434 \u0434\u043b\u044f \u043e\u0442\u0447\u0451\u0442\u0430 \u043e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 Prufio - Prufio - Remote Used Car Inspection App","og_description":"1.\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044e \u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0430\u0439\u043b\u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0441\u044e\u0434\u0430 \u00b7 JPG, PNG, WEBP 2.\u0412\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u041f\u043e\u0434\u0445\u043e\u0434\u044f\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0441 app.prufio.com. 3.\u0421\u0442\u0438\u043b\u044c QR-\u043a\u043e\u0434\u0430 \u041a\u0430\u0440\u0442\u043e\u0447\u043a\u0430\u043f\u043e \u0446\u0435\u043d\u0442\u0440\u0443 \u0428\u0442\u0430\u043c\u043f\u0432 \u0443\u0433\u043b\u0443 \u0421\u043a\u0430\u0447\u0430\u0442\u044c","og_url":"https:\/\/prufio.ravendev.lt\/ru\/qr-kod-otcheta\/","og_site_name":"Prufio - Remote Used Car Inspection App","article_publisher":"https:\/\/www.facebook.com\/profile.php?id=61590421012897","article_modified_time":"2026-09-14T10:05:04+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/prufio.ravendev.lt\/ru\/qr-kod-otcheta\/","url":"https:\/\/prufio.ravendev.lt\/ru\/qr-kod-otcheta\/","name":"\u0421\u043e\u0437\u0434\u0430\u0442\u044c QR-\u043a\u043e\u0434 \u0434\u043b\u044f \u043e\u0442\u0447\u0451\u0442\u0430 \u043e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 Prufio - Prufio - Remote Used Car Inspection App","isPartOf":{"@id":"https:\/\/prufio.ravendev.lt\/ru\/#website"},"datePublished":"2026-09-14T10:05:02+00:00","dateModified":"2026-09-14T10:05:04+00:00","breadcrumb":{"@id":"https:\/\/prufio.ravendev.lt\/ru\/qr-kod-otcheta\/#breadcrumb"},"inLanguage":"ru-RU","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prufio.ravendev.lt\/ru\/qr-kod-otcheta\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/prufio.ravendev.lt\/ru\/qr-kod-otcheta\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/prufio.ravendev.lt\/ru\/"},{"@type":"ListItem","position":2,"name":"\u0421\u043e\u0437\u0434\u0430\u0442\u044c QR-\u043a\u043e\u0434 \u0434\u043b\u044f \u043e\u0442\u0447\u0451\u0442\u0430 \u043e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 Prufio"}]},{"@type":"WebSite","@id":"https:\/\/prufio.ravendev.lt\/ru\/#website","url":"https:\/\/prufio.ravendev.lt\/ru\/","name":"Prufio","description":"","publisher":{"@id":"https:\/\/prufio.ravendev.lt\/ru\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/prufio.ravendev.lt\/ru\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ru-RU"},{"@type":"Organization","@id":"https:\/\/prufio.ravendev.lt\/ru\/#organization","name":"Prufio","url":"https:\/\/prufio.ravendev.lt\/ru\/","logo":{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/prufio.ravendev.lt\/ru\/#\/schema\/logo\/image\/","url":"https:\/\/prufio.ravendev.lt\/wp-content\/uploads\/2026\/05\/1775646927593.jpeg","contentUrl":"https:\/\/prufio.ravendev.lt\/wp-content\/uploads\/2026\/05\/1775646927593.jpeg","width":200,"height":200,"caption":"Prufio"},"image":{"@id":"https:\/\/prufio.ravendev.lt\/ru\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/profile.php?id=61590421012897","https:\/\/www.instagram.com\/prufio_com\/","https:\/\/www.linkedin.com\/company\/prufio\/"]}]}},"_links":{"self":[{"href":"https:\/\/prufio.ravendev.lt\/ru\/wp-json\/wp\/v2\/pages\/1586","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prufio.ravendev.lt\/ru\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/prufio.ravendev.lt\/ru\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/prufio.ravendev.lt\/ru\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/prufio.ravendev.lt\/ru\/wp-json\/wp\/v2\/comments?post=1586"}],"version-history":[{"count":10,"href":"https:\/\/prufio.ravendev.lt\/ru\/wp-json\/wp\/v2\/pages\/1586\/revisions"}],"predecessor-version":[{"id":1623,"href":"https:\/\/prufio.ravendev.lt\/ru\/wp-json\/wp\/v2\/pages\/1586\/revisions\/1623"}],"wp:attachment":[{"href":"https:\/\/prufio.ravendev.lt\/ru\/wp-json\/wp\/v2\/media?parent=1586"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}