<!DOCTYPE html>
<html class='antialiased' id='page-top' lang='en'>
<head>

<script type="text/javascript" nonce="hExDBv54Q0IobnXWulZXPg==">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net","licenseKey":"NRJS-7b6cbbbb3f8a6302b96","applicationID":"1287915730","transactionName":"cAlWQBBcWl0BQRdeXF4DF10MV1NJ","queueTime":0,"applicationTime":450,"agent":""}</script>
<script type="text/javascript" nonce="hExDBv54Q0IobnXWulZXPg==">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},feature_flags:["soft_nav"],distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"1385980659",accountID:"3583080",trustKey:"3583080",xpid:"VwMPUlZbCBABVllVDgACUVcB",licenseKey:"NRJS-7b6cbbbb3f8a6302b96",applicationID:"1287915730",browserID:"1385980659"};;/*! For license information please see nr-loader-spa-1.312.1.min.js.LICENSE.txt */
(()=>{var e,t,r={384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>a,Zm:()=>c,bQ:()=>u,dV:()=>d,pV:()=>l});var n=r(6154),i=r(1863),s=r(944),o=r(1910);const a={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function d(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket},(0,o.i)(...Object.values(e.o))),e}function u(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length&&(0,s.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:a.beacon,errorBeacon:a.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),d(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>u,K7:()=>c,P3:()=>d,XX:()=>i,Yy:()=>a,df:()=>s,qY:()=>n,v4:()=>o});const n="events",i="jserrors",s="browser/blobs",o="rum",a="browser/logs",c={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations"},d={[c.pageViewEvent]:1,[c.pageViewTiming]:2,[c.metrics]:3,[c.jserrors]:4,[c.softNav]:5,[c.ajax]:6,[c.sessionTrace]:7,[c.sessionReplay]:8,[c.logging]:9,[c.genericEvents]:10},u={[c.pageViewEvent]:o,[c.pageViewTiming]:n,[c.ajax]:n,[c.softNav]:n,[c.metrics]:i,[c.jserrors]:i,[c.sessionTrace]:s,[c.sessionReplay]:s,[c.logging]:a,[c.genericEvents]:"ins"}},944:(e,t,r)=>{"use strict";r.d(t,{R:()=>i});var n=r(3241);function i(e,t){"function"==typeof console.debug&&(console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t),(0,n.W)({drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},993:(e,t,r)=>{"use strict";r.d(t,{A$:()=>s,ET:()=>o,TZ:()=>a,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},s={OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},o="log",a=n.K7.logging},1541:(e,t,r)=>{"use strict";r.d(t,{$5:()=>d,B5:()=>c,Ux:()=>o,YA:()=>a,fQ:()=>i});var n=r(5871);const i={MFE:"MFE",BA:"BA"};function s(e,t){if(!e||!t?.init.api.allow_registered_children)return[];const r=t.runtime.registeredEntities;return r?.filter(t=>t.metadata.timings?.asset?.endsWith(e)).map(e=>e.metadata.target)||[]}function o(e,t){if(!u(t))return{};const r=t.agentRef.runtime.appMetadata.agents[0].entityGuid;return e?e.attributes:{"entity.guid":r,appId:t.agentRef.info.applicationID}}function a(e,t){return c(e,t)?{"child.id":e.id,"child.type":e.type,...o(void 0,t)}:{}}function c(e,t){return!!e&&!!u(t)&&t.agentRef.init.api.duplicate_registered_data}function d(e){if(!e?.init.api.allow_registered_children)return[void 0];const t=[];try{var r=(0,n.AZ)((0,n.QL)());let i=r.length-1;for(;r[i];)t.push(...s(r[i--],e))}catch(e){}return t.length||t.push(void 0),t}function u(e){return 2===e?.harvestEndpointVersion}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>a,Ze:()=>d,x3:()=>c});var n=r(3241),i=r(3606),s=r(860),o=r(2646);function a(e,t){if(!e)return;const r={staged:!1,priority:s.P3[t]||0};e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r&&(r.get(t)&&r.delete(t),l(e,t,!1),r.size&&u(e))}function d(e,t="feature",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,u(e)}}function u(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=>t.staged)&&(t.sort((e,t)=>e[1].priority-t[1].priority),t.forEach(([t])=>{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const s=e.ee,a=i.i.handlers;if(s&&!s.aborted&&s.backlog&&a){if((0,n.W)({type:"lifecycle",name:"drain",feature:t}),r){const e=s.backlog[t],r=a[t];if(r){for(let t=0;e&&t<e.length;++t)f(e[t],r);Object.entries(r).forEach(([e,t])=>{Object.values(t||{}).forEach(t=>{t[0]?.on&&t[0].context()instanceof o.y&&!t[0].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}s.isolatedBacklog||delete a[t],s.backlog[t]=null,s.emit("drain-"+t,[])}}function f(e,t){var r=e[1];Object.values(t[r]||{}).forEach(t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],s=e[2];n.apply(i,s)}})}},1738:(e,t,r)=>{"use strict";r.d(t,{U:()=>f,Y:()=>l});var n=r(3241),i=r(9908),s=r(1863),o=r(944),a=r(3969),c=r(8362),d=r(860),u=r(4261);function l(e,t,r,s){const l=s||r;!l||l[e]&&l[e]!==c.d.prototype[e]||(l[e]=function(){(0,i.p)(a.xV,["API/"+e+"/called"],void 0,d.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:u.Pl+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,o.R)(23,e)}})}function f(e,t,r,n,o){const a=e.info;null===r?delete a.jsAttributes[t]:a.jsAttributes[t]=r,(o||null===r)&&(0,i.p)(u.Pl+n,[(0,s.t)(),t,r],void 0,"session",e.ee)}},1741:(e,t,r)=>{"use strict";r.d(t,{W:()=>s});var n=r(944),i=r(4261);class s{#e(e,...t){if(this[e]!==s.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e(i.$9,e,t)}start(){return this.#e(i.d3)}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},1910:(e,t,r)=>{"use strict";r.d(t,{i:()=>s});var n=r(944);const i=new Map;function s(...e){return e.every(e=>{if(i.has(e))return i.get(e);const t="function"==typeof e?e.toString():"",r=t.includes("[native code]"),s=t.includes("nrWrapper");return r||s||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},2555:(e,t,r)=>{"use strict";r.d(t,{D:()=>a,f:()=>o});var n=r(384),i=r(8122);const s={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function o(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}const a=e=>(0,i.a)(e,s)},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>o,H3:()=>n,g:()=>d,iL:()=>c,tS:()=>a,uh:()=>i,wk:()=>s});const n="NRBA",i="SESSION",s=144e5,o=18e5,a={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},d={OFF:0,FULL:1,ERROR:2}},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},2843:(e,t,r)=>{"use strict";r.d(t,{G:()=>s,u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)},r,i)}function s(e,t,r){(0,n.sp)("pagehide",e,t,r)}},3241:(e,t,r)=>{"use strict";r.d(t,{W:()=>s});var n=r(6154);const i="newrelic";function s(e={}){try{n.gm.dispatchEvent(new CustomEvent(i,{detail:e}))}catch(e){}}},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function s(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},3333:(e,t,r)=>{"use strict";r.d(t,{$v:()=>u,TZ:()=>n,Xh:()=>c,Zp:()=>i,kd:()=>d,mq:()=>a,nf:()=>o,qN:()=>s});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],s=["focus","blur"],o=4,a=1e3,c=2e3,d=["PageAction","UserAction","BrowserPerformance"],u={RESOURCES:"experimental.resources",REGISTER:"register"}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>u});var n=r(7836),i=r(5607),s=r(1541);const o="nr@original:".concat(i.W),a=50;var c=Object.prototype.hasOwnProperty,d=!1;function u(e,t,r){return e||(e=n.ee),i.inPlace=function(e,t,r,n,s,o){r||(r="");const a="-"===r.charAt(0);for(let c=0;c<t.length;c++){const d=t[c],u=e[d];f(u)||(e[d]=i(u,a?d+r:r,n,d,s,o))}},i.flag=o,i;function i(t,n,i,d,h,p){return f(t)?t:(n||(n=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach(function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})}),t}catch(e){l([e],r)}for(var n in e)c.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,c,f,g;let m,v;try{c=this,o=[...arguments],v=p?(0,s.$5)(r):[void 0],f="function"==typeof i?i(o,c):i||{}}catch(t){l([t,"",[o,c,d],f],e)}u(n+"start",[o,c,d,v],f,h);const y=performance.now();let b;try{return g=t.apply(c,o),b=performance.now(),g}catch(e){throw b=performance.now(),u(n+"err",[o,c,e,v],f,h),m=e,m}finally{const e=b-y,t={start:y,end:b,duration:e,isLongTask:e>=a,methodName:d,thrownError:m};t.isLongTask&&u("long-task",[t,c,v],f,h),u(n+"end",[o,c,g,v],f,h)}}}function u(r,n,i,s){if(!d||t){var o=d;d=!0;try{e.emit(r,n,i,t,s)}catch(t){l([t,r,n,i],e)}d=o}}}function l(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function f(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>s});var n=r(9908);s.on=o;var i=s.handlers={};function s(e,t,r,s){o(s||n.d,i,e,t,r)}function o(e,t,r,i,s){s||(s="feature"),e||(e=n.d);var o=t[s]=t[s]||{};(o[r]=o[r]||[]).push([e,i])}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>a,Lc:()=>d,Rz:()=>u,TZ:()=>n,bD:()=>s,d3:()=>o,jx:()=>l,sl:()=>f,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",s="resource",o="-start",a="-end",c="fn"+o,d="fn"+a,u="pushState",l=1e3,f=3e4},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>d});var n=r(9908),i=r(1863),s=r(860),o=r(3969),a=r(993);function c(e,t,r={},c=a.p_.INFO,d=!0,u,l=(0,i.t)()){(0,n.p)(o.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,s.K7.metrics,e),(0,n.p)(a.ET,[l,t,r,c,d,u],void 0,s.K7.logging,e)}function d(e){return"string"==typeof e&&Object.values(a.p_).some(t=>t===e.toUpperCase().trim())}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function s(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>s,jT:()=>n,sp:()=>i})},3962:(e,t,r)=>{"use strict";r.d(t,{AM:()=>o,O2:()=>l,OV:()=>s,Qu:()=>f,TZ:()=>c,ih:()=>h,pP:()=>a,t1:()=>u,tC:()=>i,wD:()=>d});var n=r(860);const i=["click","keydown","submit"],s="popstate",o="api",a="initialPageLoad",c=n.K7.softNav,d=5e3,u=500,l={INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},f={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},h={IP:"in progress",PF:"pending finish",FIN:"finished",CAN:"cancelled"}},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>a,rs:()=>i,xV:()=>o,z_:()=>s});const n=r(860).K7.metrics,i="sm",s="cm",o="storeSupportabilityMetrics",a="storeEventMetrics"},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>i});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},4261:(e,t,r)=>{"use strict";r.d(t,{$9:()=>u,BL:()=>c,CH:()=>p,Dl:()=>R,Fw:()=>w,PA:()=>v,Pl:()=>n,Pv:()=>x,Tb:()=>f,U2:()=>o,V1:()=>A,Wb:()=>T,bt:()=>b,cD:()=>y,d3:()=>E,dT:()=>d,eY:()=>g,fF:()=>h,hG:()=>s,hw:()=>i,k6:()=>a,nb:()=>m,o5:()=>l});const n="api-",i=n+"ixn-",s="addPageAction",o="addToTrace",a="addRelease",c="finished",d="interaction",u="log",l="noticeError",f="pauseReplay",h="recordCustomEvent",p="recordReplay",g="register",m="setApplicationVersion",v="setCurrentRouteName",y="setCustomAttribute",b="setErrorHandler",w="setPageViewName",R="setUserId",E="start",T="wrapLogger",A="measure",x="consent"},5205:(e,t,r)=>{"use strict";r.d(t,{j:()=>x});var n=r(384),i=r(1741);var s=r(2555),o=r(3333);const a=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var c=r(2614),d=r(944),u=r(8122);const l="[data-nr-mask]",f=e=>(0,u.a)(e,(()=>{const e={feature_flags:[],experimental:{allow_registered_children:!1,resources:!1},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0},api:{get allow_registered_children(){return e.feature_flags.includes(o.$v.REGISTER)||e.experimental.allow_registered_children},set allow_registered_children(t){e.experimental.allow_registered_children=t},duplicate_registered_data:!1},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:c.wk,inactiveMs:c.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){a(t)?e.mask_selector="".concat(t,",").concat(l):""===t||null===t?e.mask_selector=l:(0,d.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){a(t)?e.block_selector+=",".concat(t):""!==t&&(0,d.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,d.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]}}})());var h=r(6154),p=r(9324);let g=0;const m={buildEnv:p.F3,distMethod:p.Xs,version:p.xv,originTime:h.WN},v={consented:!1},y={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||v.consented},set consented(e){v.consented=e},customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,harvester:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++g}},b=e=>{const t=(0,u.a)(e,y),r=Object.keys(m).reduce((e,t)=>(e[t]={value:m[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)},w=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};var R=r(7836),E=r(3241);const T={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},A=e=>(0,u.a)(e,T);function x(e,t={},r,o){let{init:a,info:c,loader_config:d,runtime:u={},exposed:l=!0}=t;if(!c){const e=(0,n.pV)();a=e.init,c=e.info,d=e.loader_config}e.init=f(a||{}),e.loader_config=A(d||{}),c.jsAttributes??={},h.bv&&(c.jsAttributes.isWorker=!0),e.info=(0,s.D)(c);const p=e.init;e.runtime??=b(u),p.proxy.assets&&w(p.proxy.assets),e.runtime.configured||(Object.defineProperty(e,"beacons",{get:()=>[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,"denyList",{get:()=>[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,n.pV)();Object.getOwnPropertyNames(i.W.prototype).forEach(r=>{const n=i.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let s=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return s?s(...t):n})})}(e),e.runtime.loaderType=r,e.ee=R.ee.get(e.agentIdentifier),e.exposed=l,(0,E.W)({drained:!!e.runtime.activatedFeatures,type:"lifecycle",name:"initialize",feature:void 0,data:e.config}),e.runtime.configured=!0)}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>o,SR:()=>s,rF:()=>a});var n=r(384),i=r(7767);function s(e){return!!(0,n.dV)().o.MO&&(0,i.V)(e)&&!0===e?.session_trace.enabled}function o(e){return!0===e?.session_replay.preload&&s(e)}function a(e,t){try{if("string"==typeof t?.type){if("password"===t.type.toLowerCase())return"*".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains("nr-unmask"))return e}}catch(e){}return"string"==typeof e?e.replace(/[\S]/g,"*"):"*".repeat(e?.length||0)}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,Qr:()=>c,sB:()=>a});var n=r(3878),i=r(6389);function s(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(s())return e();const r=(0,i.J)(e),o=setInterval(()=>{s()&&(clearInterval(o),r())},500);(0,n.sp)("load",r,t)}function a(e){if(s())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(s())return e();(0,n.sp)("popstate",e)}},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},5871:(e,t,r)=>{"use strict";r.d(t,{AZ:()=>u,QL:()=>l,Qr:()=>f});var n=r(6154),i=r(1863),s=r(9119),o=r(7866);let a;try{a=u(l())[0]}catch(e){a=u(e)[0]}const c=new Set;let d=[];if(n.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{if((e=>"script"===e.initiatorType||["link","fetch"].includes(e.initiatorType)&&e.name.endsWith(".js"))(e)){c.size>250&&c.delete(c.values().next().value),c.add(e);const t=[];d.forEach(({test:r,addedAt:n},s)=>{(r(e)||(0,i.t)()-n>1e4)&&t.push(s)}),d=d.filter((e,r)=>!t.includes(r))}})}).observe({type:"resource",buffered:!0})}function u(e){if(!e||"string"!=typeof e)return[];const t=new Set,r=e.split("\n");for(const e of r){const r=e.match(o.cn)||e.match(o.hB)||e.match(o.fL);if(r&&r[2])t.add((0,s.L)(r[2]));else{const r=e.match(/\(([^)]+\.js):\d+:\d+\)/)||e.match(/^\s+at\s+([^\s(]+\.js):\d+:\d+/);r&&r[1]&&t.add((0,s.L)(r[1]))}}return[...t]}function l(){let e;try{const t=Error.stackTraceLimit;Error.stackTraceLimit=50,e=(new Error).stack,Error.stackTraceLimit=t}catch(t){e=(new Error).stack}return e}function f(){const e={registeredAt:(0,i.t)(),reportedAt:void 0,fetchStart:0,fetchEnd:0,asset:void 0,type:"unknown"},t=l();if(!t)return e;const r=n.gm.performance?.getEntriesByType("navigation")?.[0]?.name||"";try{const o=u(t),f=(o.length>1?o.filter(e=>!a.endsWith(e)&&!e.endsWith(a)):o)[0];if(!f)return e;if(r.includes(f))return e.asset=(0,s.L)(r),e.type="inline",e;const h=performance.getEntriesByType("resource").find(p)||[...c].find(p);function p(e){const t=(0,s.L)(e.name);return t.endsWith(f)||f.endsWith(t)}function g(t){e.fetchStart=Math.floor(t.startTime),e.fetchEnd=Math.floor(t.responseEnd),e.asset=t.name,e.type=t.initiatorType}h?g(h):function(e){if(!e||!n.gm.document)return!1;try{const t=n.gm.document.querySelectorAll('link[rel="preload"][as="script"]');for(const r of t)if((0,s.L)(r.href)===e)return!0}catch(e){}return!1}(f)&&(e.asset=f,e.type="preload",d.push({addedAt:(0,i.t)(),test:e=>!!p(e)&&(g(e),!0)}))}catch(m){}return e}},6154:(e,t,r)=>{"use strict";r.d(t,{OF:()=>d,RI:()=>i,WN:()=>f,bv:()=>s,gm:()=>o,lR:()=>l,m:()=>c,mw:()=>a,sb:()=>u,zk:()=>h});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,s="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),o=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),a=Boolean("hidden"===o?.document?.visibilityState),c=""+o?.location,d=/iPad|iPhone|iPod/.test(o.navigator?.userAgent),u=d&&"undefined"==typeof SharedWorker,l=(()=>{const e=o.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)(),h=()=>{const e=o?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<o.performance.now())return e}},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>u,Qb:()=>l,TZ:()=>i,Ug:()=>o,Vh:()=>s,_s:()=>a,bc:()=>d,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,s="errorDuringReplay",o=.12,a={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},d={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},u=5e3,l={API:"api",RESUME:"resume",SWITCH_TO_FULL:"switchToFull",INITIALIZE:"initialize",PRELOAD:"preload"}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout(()=>{i=clearTimeout(i)},t)),n||(clearTimeout(i),i=setTimeout(()=>{e.apply(this,r)},t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>o,gX:()=>i,iW:()=>s});var n=[];function i(e){if(!e||s(e))return!1;if(0===n.length)return!0;if("*"===n[0].hostname)return!1;for(var t=0;t<n.length;t++){var r=n[t];if(r.hostname.test(e.hostname)&&r.pathname.test(e.pathname))return!1}return!0}function s(e){return void 0===e.hostname}function o(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;if("*"===r)return void(n=[{hostname:"*"}]);0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let s,o;i>0?(s=r.substring(0,i),o=r.substring(i)):(s=r,o="*");let[c]=s.split(":");n.push({hostname:a(c),pathname:a(o,!0)})}}function a(e,t=!1){const r=e.replace(/[.+?^${}()|[\]\\]/g,e=>"\\"+e).replace(/\*/g,".*?");return new RegExp((t?"^":"")+r+"$")}},7485:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},7699:(e,t,r)=>{"use strict";r.d(t,{It:()=>s,KC:()=>a,No:()=>i,qh:()=>o});var n=r(860);const i=16e3,s=1e6,o="SESSION_ERROR",a={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>i});var n=r(6154);const i=e=>n.RI&&!0===e?.privacy.cookies_enabled},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>a,ee:()=>c});var n=r(384),i=r(8990),s=r(2646),o=r(5607);const a="nr@context:".concat(o.W),c=function e(t,r){var n={},o={},u={},l=!1;try{l=16===r.length&&d.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,s){!1!==s&&(s=!0);if(c.aborted&&!i)return;t&&s&&t.emit(e,r,n);var a=h(n);g(e).forEach(e=>{e.apply(a,r)});var d=v()[o[e]];d&&d.push([f,e,r,a]);return a},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach(([e,n])=>{o[n]=t,t in r||(r[t]=[])})},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach(e=>{delete f.backlog[e]})},isBuffering:function(e){return!!v()[o[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof s.y?e:e?(0,i.I)(e,a,()=>new s.y(a)):new s.y(a)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return u[t]=u[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=c)},7866:(e,t,r)=>{"use strict";r.d(t,{Nc:()=>s,cn:()=>a,fL:()=>i,h3:()=>n,hB:()=>o});const n=/function (.+?)\s*\(/,i=/^\s*at .+ \(eval at \S+ \((?:(?:file|http|https):[^)]+)?\)(?:, [^:]*:\d+:\d+)?\)$/i,s=/^\s*at Function code \(Function code:\d+:\d+\)\s*/i,o=/^\s*at (?:((?:\[object object\])?(?:[^(]*\([^)]*\))*[^()]*(?: \[as \S+\])?) )?\(?((?:file|http|https|chrome-extension):.*?)?:(\d+)(?::(\d+))?\)?\s*$/i,a=/^\s*(?:([^@]*)(?:\(.*?\))?@)?((?:file|http|https|chrome|safari-extension).*?):(\d+)(?::(\d+))?\s*$/i},8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),s=0===Object.keys(r).length?e:r;for(let o in s)if(void 0!==e[o])try{if(null===e[o]){r[o]=null;continue}Array.isArray(e[o])&&Array.isArray(t[o])?r[o]=Array.from(new Set([...e[o],...t[o]])):e[o]instanceof Map||e[o]instanceof Set||e[o]instanceof Date||e[o]instanceof RegExp?r[o]=e[o]:"object"==typeof e[o]&&"object"==typeof t[o]?r[o]=i(e[o],t[o]):r[o]=e[o]}catch(e){r[o]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),s=r(8990),o=r(6154);const a={},c=o.gm.XMLHttpRequest,d="addEventListener",u="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(a[t.debugId]++)return t;a[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[d,u],"-",p)}function p(e,t){return e[1]}return"getPrototypeOf"in Object&&(o.RI&&h(document,f),c&&h(c.prototype,f),h(o.gm,f)),t.on(d+"-start",function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)&&"newrelic"!==e[0]){var i=(0,s.I)(n,l,function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n});this.wrapped=e[1]=i}}),t.on(u+"-start",function(e){e[1]=this.wrapped||e[1]}),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,d);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},8362:(e,t,r)=>{"use strict";r.d(t,{d:()=>s});var n=r(9566),i=r(1741);class s extends i.W{agentIdentifier=(0,n.LA)(16)}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},9119:(e,t,r)=>{"use strict";r.d(t,{L:()=>s});var n=/([^?#]*)[^#]*(#[^?]*|$).*/,i=/([^?#]*)().*/;function s(e,t){return e?e.replace(t?n:i,"$1$2"):e}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},9324:(e,t,r)=>{"use strict";r.d(t,{AJ:()=>o,F3:()=>i,Xs:()=>s,Yq:()=>a,xv:()=>n});const n="1.312.1",i="PROD",s="CDN",o="@newrelic/rrweb",a="1.1.0"},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>a,ZF:()=>c,bz:()=>o,el:()=>d});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function s(e,t){return e?15&e[t]:16*Math.random()|0}function o(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map(e=>"x"===e?s(t,r++).toString(16):"y"===e?(3&s()|8).toString(16):e).join("")}function a(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const o=[];for(var a=0;a<e;a++)o.push(s(r,i++).toString(16));return o.join("")}function c(){return a(16)}function d(){return a(32)}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,s){s?(s.buffer([e],i),s.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var s=n[e]={exports:{}};return r[e](s,s.exports,i),s.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce((t,r)=>(i.f[r](e,t),t),[])),i.u=e=>({212:"nr-spa-compressor",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.312.1.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.312.1.PROD:",i.l=(r,n,s,o)=>{if(e[r])e[r].push(n);else{var a,c;if(void 0!==s)for(var d=document.getElementsByTagName("script"),u=0;u<d.length;u++){var l=d[u];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+s){a=l;break}}if(!a){c=!0;var f={478:"sha512-dZhtzLTOyIsYHGHWAipD4+6jjzEIycTqL1F9NwinUiYL8cf0kIXf7WUbskVMB7p/nhDF+zJ9Bfd6LU9PMn0Yhw==",249:"sha512-SJV3E/3SdEyaahYm8FHEFwhJvDQy/nRJJV/o+18MgXENJWR/8tfvIKfc4LE1xV9RniczXT7eQLcZi2G99UlugA==",212:"sha512-dRFaJY5mEo/nxzPqxS/sHnvU66fpkTff91nWUFOafyPR61R+r2GZiy81lT47BWA4MouemCj4tvhHmn8Ofh/UOg=="};(a=document.createElement("script")).charset="utf-8",i.nc&&a.setAttribute("nonce",i.nc),a.setAttribute("data-webpack",t+s),a.src=r,0!==a.src.indexOf(window.location.origin+"/")&&(a.crossOrigin="anonymous"),f[o]&&(a.integrity=f[o])}e[r]=[n];var h=(t,n)=>{a.onerror=a.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),i&&i.forEach(e=>e(n)),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=h.bind(null,a.onerror),a.onload=h.bind(null,a.onload),c&&document.head.appendChild(a)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={38:0,788:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var s=new Promise((r,i)=>n=e[t]=[r,i]);r.push(n[2]=s);var o=i.p+i.u(t),a=new Error;i.l(o,r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var s=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;a.message="Loading chunk "+t+" failed: ("+s+": "+o+")",a.name="ChunkLoadError",a.type=s,a.request=o,n[1](a)}},"chunk-"+t,t)}};var t=(t,r)=>{var n,s,[o,a,c]=r,d=0;if(o.some(t=>0!==e[t])){for(n in a)i.o(a,n)&&(i.m[n]=a[n]);if(c)c(i)}for(t&&t(r);d<o.length;d++)s=o[d],i.o(e,s)&&e[s]&&e[s][0](),e[s]=0},r=self["webpackChunk:NRBA-1.312.1.PROD"]=self["webpackChunk:NRBA-1.312.1.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(8362),t=i(860);const r=Object.values(t.K7);var n=i(5205);var s=i(9908),o=i(1863),a=i(4261),c=i(1738);var d=i(1687),u=i(4234),l=i(5289),f=i(6154),h=i(944),p=i(5270),g=i(7767),m=i(6389),v=i(7699);class y extends u.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=>{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=>{this.ee.on("manual-start-all",(0,m.J)(()=>{(0,d.Ak)(e,this.featureName),t()}))}):(0,d.Ak)(e,t)}importAggregator(e,t,r={}){if(this.featAggregate)return;const n=async()=>{let n;await this.deferred;try{if((0,g.V)(e.init)){const{setupAgentSession:t}=await i.e(478).then(i.bind(i,8766));n=t(e)}}catch(e){(0,h.R)(20,e),this.ee.emit("internal-error",[e]),(0,s.p)(v.qh,[e],void 0,this.featureName,this.ee)}try{if(!this.#t(this.featureName,n,e.init))return(0,d.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:i}=await t();this.featAggregate=new i(e,r),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,h.R)(34,e),this.abortHandler?.(),(0,d.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1),this.ee&&this.ee.abort()}};f.RI?(0,l.GG)(()=>n(),!0):n()}#t(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return(0,p.SR)(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}}var b=i(6630),w=i(2614),R=i(3241);class E extends y{static featureName=b.T;constructor(e){var t;super(e,b.T),this.setupInspectionEvents(),t=e,(0,c.Y)(a.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,s.p)(a.Pl+a.Fw,[(0,o.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>i.e(478).then(i.bind(i,5839)))}setupInspectionEvents(){const e=(e,t)=>{e&&(0,R.W)({timeStamp:e.timeStamp,loaded:"complete"===e.target.readyState,type:"window",name:t,data:e.target.location+""})};(0,l.sB)(t=>{e(t,"DOMContentLoaded")}),(0,l.GG)(t=>{e(t,"load")}),(0,l.Qr)(t=>{e(t,"navigate")}),this.ee.on(w.tS.UPDATE,(e,t)=>{(0,R.W)({type:"lifecycle",name:"session",data:t})})}}var T=i(384);class A extends e.d{constructor(e){var t;(super(),f.gm)?(this.features={},(0,T.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(E),(0,n.j)(this,e,e.loaderType||"agent"),t=this,(0,c.Y)(a.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,c.U)(t,e,r,a.cD,n);(0,h.R)(40,typeof r)}else(0,h.R)(39,typeof e)},t),function(e){(0,c.Y)(a.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,h.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,s.p)(a.Pl+"setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,c.U)(e,"enduser.id",t,a.Dl,!0)},e)}(this),function(e){(0,c.Y)(a.nb,function(t){if("string"==typeof t||null===t)return(0,c.U)(e,"application.version",t,a.nb,!1);(0,h.R)(42,typeof t)},e)}(this),function(e){(0,c.Y)(a.d3,function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,c.Y)(a.Pv,function(t=!0){if("boolean"==typeof t){if((0,s.p)(a.Pl+a.Pv,[t],void 0,"session",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=>{const r=t.featAggregate;e&&!r.sentRum&&r.sendRum()})}}else(0,h.R)(65,typeof t)},e)}(this),this.run()):(0,h.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};return r.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),n=[...this.desiredFeatures];n.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),n.forEach(r=>{if(!e[r.featureName]&&r.featureName!==t.K7.pageViewEvent)return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=>!(e in this.features));n.length>0&&(0,h.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,h.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,T.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var x=i(2843),S=i(782);class _ extends y{static featureName=S.T;constructor(e){super(e,S.T),f.RI&&((0,x.u)(()=>(0,s.p)("docHidden",[(0,o.t)()],void 0,S.T,this.ee),!0),(0,x.G)(()=>(0,s.p)("winPagehide",[(0,o.t)()],void 0,S.T,this.ee)),this.importAggregator(e,()=>i.e(478).then(i.bind(i,9917))))}}var O=i(3969);class P extends y{static featureName=O.TZ;constructor(e){super(e,O.TZ),f.RI&&document.addEventListener("securitypolicyviolation",e=>{(0,s.p)(O.xV,["Generic/CSPViolation/Detected"],void 0,this.featureName,this.ee)}),this.importAggregator(e,()=>i.e(478).then(i.bind(i,6555)))}}var k=i(6774),N=i(3878),D=i(3304);class j{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,D.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return M(e)?e:new j(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic,e?.cause)}function L(e){const t="Unhandled Promise Rejection: ";if(!e?.reason)return;if(M(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return C(e.reason)}const r=C(e.reason);return(r.message||"").startsWith(t)||(r.message=t+r.message),r}function I(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new j(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic,e.cause);return t.name=SyntaxError.name,t}return M(e.error)?e.error:C(e)}function M(e){return e instanceof Error&&!!e.stack}function B(e,r,n,i,a=(0,o.t)()){"string"==typeof e&&(e=new Error(e)),(0,s.p)("err",[e,a,!1,r,n.runtime.isRecording,void 0,i],void 0,t.K7.jserrors,n.ee),(0,s.p)("uaErr",[],void 0,t.K7.genericEvents,n.ee)}var H=i(1541),W=i(993),K=i(3785);function F(e,{customAttributes:t={},level:r=W.p_.INFO}={},n,i,s=(0,o.t)()){(0,K.R)(n.ee,e,t,r,!1,i,s)}function U(e,r,n,i,c=(0,o.t)()){(0,s.p)(a.Pl+a.hG,[c,e,r,i],void 0,t.K7.genericEvents,n.ee)}function V(e,r,n,i,c=(0,o.t)()){const{start:d,end:u,customAttributes:l}=r||{},f={customAttributes:l||{}};if("object"!=typeof f.customAttributes||"string"!=typeof e||0===e.length)return void(0,h.R)(57);const p=(e,t)=>null==e?t:"number"==typeof e?e:e instanceof PerformanceMark?e.startTime:Number.NaN;if(f.start=p(d,0),f.end=p(u,c),Number.isNaN(f.start)||Number.isNaN(f.end))(0,h.R)(57);else{if(f.duration=f.end-f.start,!(f.duration<0))return(0,s.p)(a.Pl+a.V1,[f,e,i],void 0,t.K7.genericEvents,n.ee),f;(0,h.R)(58)}}function G(e,r={},n,i,c=(0,o.t)()){(0,s.p)(a.Pl+a.fF,[c,e,r,i],void 0,t.K7.genericEvents,n.ee)}var z=i(5871),Y=i(9566);const Z=["name","id","type"];function q(e){(0,c.Y)(a.eY,function(t){return X(e,t)},e)}function X(e,r,n){(0,h.R)(54,"newrelic.register"),r||={},r.instance=(0,Y.LA)(8),r.type=H.fQ.MFE,r.licenseKey||=e.info.licenseKey,r.blocked=!1,("object"!=typeof r.tags||null===r.tags||Array.isArray(r.tags))&&(r.tags={}),r.parent=n||{get id(){return e.runtime.appMetadata.agents[0].entityGuid},type:H.fQ.BA};const i=(0,z.Qr)(),a={};Object.defineProperty(r,"attributes",{get:()=>({...a,"source.id":r.id,"source.name":r.name,"source.type":r.type,"parent.type":r.parent?.type||H.fQ.BA,"parent.id":r.parent?.id})}),Object.entries(r.tags).forEach(([e,t])=>{Z.includes(e)||(a["source.".concat(e)]=t)}),r.isolated??=!0;let c=()=>{};const d=e.runtime.registeredEntities;if(!r.isolated){const e=d.find(({metadata:{target:{id:e}}})=>e===r.id&&!r.isolated);if(e)return e}const u=e=>{r.blocked=!0,c=e};function l(e){return"string"==typeof e&&!!e.trim()&&e.trim().length<501}e.init.api.allow_registered_children||u((0,m.J)(()=>(0,h.R)(55))),l(r.id)&&l(r.name)||u((0,m.J)(()=>(0,h.R)(48,r)));const f={addPageAction:(t,n={})=>y(U,[t,{...a,...n},e],r),deregister:()=>{g(),u((0,m.J)(()=>(0,h.R)(68)))},log:(t,n={})=>y(F,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),measure:(t,n={})=>y(V,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),noticeError:(t,n={})=>y(B,[t,{...a,...n},e],r),register:(t={})=>y(X,[e,t],f.metadata.target),recordCustomEvent:(t,n={})=>y(G,[t,{...a,...n},e],r),setApplicationVersion:e=>v("application.version",e),setCustomAttribute:(e,t)=>v(e,t),setUserId:e=>v("enduser.id",e),metadata:{get customAttributes(){return a},target:r,timings:i}},p=()=>(r.blocked&&c(),r.blocked);function g(){i.reportedAt||(i.reportedAt=(0,o.t)(),f.recordCustomEvent("MicroFrontEndTiming",{assetUrl:i.asset,assetType:i.type,timeToLoad:i.registeredAt-i.fetchStart,timeToBeRequested:i.fetchStart,timeToFetch:i.fetchEnd-i.fetchStart,timeToRegister:i.registeredAt-i.fetchEnd,timeAlive:i.reportedAt-i.registeredAt}))}p()||(d.push(f),(0,x.G)(g));const v=(e,t)=>{p()||(a[e]=t)},y=(r,n,i)=>{if(p()&&r!==X)return;const a=(0,o.t)();(0,s.p)(O.xV,["API/register/".concat(r.name,"/called")],void 0,t.K7.metrics,e.ee);try{return r(...n,i,a)}catch(e){(0,h.R)(50,e)}};return f}class Q extends y{static featureName=k.T;constructor(e){var t;super(e,k.T),t=e,(0,c.Y)(a.o5,(e,r)=>B(e,r,t),t),function(e){(0,c.Y)(a.bt,function(t){e.runtime.onerror=t},e)}(e),function(e){let t=0;(0,c.Y)(a.k6,function(e,r){++t>10||(this.runtime.releaseIds[e.slice(-200)]=(""+r).slice(-200))},e)}(e),q(e);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(t,r)=>{this.abortHandler&&(0,s.p)("ierr",[C(t),(0,o.t)(),!0,{},e.runtime.isRecording,r],void 0,this.featureName,this.ee)}),f.gm.addEventListener("unhandledrejection",t=>{this.abortHandler&&(0,s.p)("err",[L(t),(0,o.t)(),!1,{unhandledPromiseRejection:1},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,N.jT)(!1,this.removeOnAbort?.signal)),f.gm.addEventListener("error",t=>{this.abortHandler&&(0,s.p)("err",[I(t),(0,o.t)(),!1,{},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,N.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#r,this.importAggregator(e,()=>i.e(478).then(i.bind(i,2176)))}#r(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var J=i(8990);let ee=1;function te(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===f.gm?0:(0,J.I)(e,"nr@id",function(){return ee++})}function re(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,D.A)(e).length}catch(e){return}}}var ne=i(8139),ie=i(7836),se=i(3434);const oe={},ae=["open","send"];function ce(e,t){var r=e||ie.ee;const n=function(e){return(e||ie.ee).get("xhr")}(r);if(void 0===f.gm.XMLHttpRequest)return n;if(oe[n.debugId]++)return n;oe[n.debugId]=1,(0,ne.u)(r);var i=(0,se.YM)(n),s=f.gm.XMLHttpRequest,o=f.gm.MutationObserver,a=f.gm.Promise,c=f.gm.setInterval,d="readystatechange",u=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],p=f.gm.XMLHttpRequest=function(e){const r=new s(e),o=n.context(r);o.targets=(0,H.$5)(t);try{n.emit("new-xhr",[r],o),r.addEventListener(d,(a=o,function(){var e=this;e.readyState>3&&!a.resolved&&(a.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,u,"fn-",w)}),(0,N.jT)(!1))}catch(e){(0,h.R)(15,e);try{n.emit("internal-error",[e])}catch(e){}}var a;return r};function g(e,t){i.inPlace(t,["onreadystatechange"],"fn-",w)}if(function(e,t){for(var r in e)t[r]=e[r]}(s,p),p.prototype=s.prototype,i.inPlace(p.prototype,ae,"-xhr-",w),n.on("send-xhr-start",function(e,t){g(e,t),function(e){l.push(e),o&&(m?m.then(b):c?c(b):(v=-v,y.data=v))}(t)}),n.on("open-xhr-start",g),o){var m=a&&a.resolve();if(!c&&!a){var v=1,y=document.createTextNode(v);new o(b).observe(y,{characterData:!0})}}else r.on("fn-end",function(e){e[0]&&e[0].type===d||b()});function b(){for(var e=0;e<l.length;e++)g(0,l[e]);l.length&&(l=[])}function w(e,t){return t}return n}var de="fetch-",ue=de+"body-",le=["arrayBuffer","blob","json","text","formData"],fe=f.gm.Request,he=f.gm.Response,pe="prototype";const ge={};function me(e,t){const r=function(e){return(e||ie.ee).get("fetch")}(e);if(!(fe&&he&&f.gm.fetch))return r;if(ge[r.debugId]++)return r;function n(e,n,i){var s=e[n];"function"==typeof s&&(e[n]=function(){var e=[...arguments];const n={},o=(0,H.$5)(t);var a;r.emit(i+"before-start",[e],n),n[ie.P]&&n[ie.P].dt&&(a=n[ie.P].dt);var c=s.apply(this,e);return r.emit(i+"start",[e,a],c),c.then(function(e){return r.emit(i+"end",[null,e,o],c),e},function(e){throw r.emit(i+"end",[e,void 0,o],c),e})})}return ge[r.debugId]=1,le.forEach(e=>{n(fe[pe],e,ue),n(he[pe],e,ue)}),n(f.gm,"fetch",de),r.on(de+"end",function(e,t,n){var i=this;if(i.targets=n||[void 0],t){var s=t.headers.get("content-length");null!==s&&(i.rxSize=s),r.emit(de+"done",[null,t],i)}else r.emit(de+"done",[e],i)}),r}var ve=i(7485);class ye{constructor(e){this.agentRef=e}generateTracePayload(e){const t=this.agentRef.loader_config;if(!this.shouldGenerateTrace(e)||!t)return null;var r=(t.accountID||"").toString()||null,n=(t.agentID||"").toString()||null,i=(t.trustKey||"").toString()||null;if(!r||!n)return null;var s=(0,Y.ZF)(),o=(0,Y.el)(),a=Date.now(),c={spanId:s,traceId:o,timestamp:a};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(c.traceContextParentHeader=this.generateTraceContextParentHeader(s,o),c.traceContextStateHeader=this.generateTraceContextStateHeader(s,a,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(c.newrelicHeader=this.generateTraceHeader(s,o,a,r,n,i)),c}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,s){if(!("function"==typeof f.gm?.btoa))return null;var o={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return s&&n!==s&&(o.d.tk=s),btoa((0,D.A)(o))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing?.enabled&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ve.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.cors_use_tracecontext_headers}}var be=i(9300),we=i(7295);function Re(e){return"string"==typeof e?e:e instanceof(0,T.dV)().o.REQ?e.url:f.gm?.URL&&e instanceof URL?e.href:void 0}var Ee=["load","error","abort","timeout"],Te=Ee.length,Ae=(0,T.dV)().o.REQ,xe=(0,T.dV)().o.XHR;const Se="X-NewRelic-App-Data";class _e extends y{static featureName=be.T;constructor(e){super(e,be.T),this.dt=new ye(e),this.handler=(e,t,r,n)=>(0,s.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};f.gm?.performance?.getEntriesByType("resource").forEach(r=>{if(r.initiatorType in e&&0!==r.responseStatus){const n={status:r.responseStatus},i={rxSize:r.transferSize,duration:Math.floor(r.duration),cbTime:0};Oe(n,r.name),this.handler("xhr",[n,i,r.startTime,r.responseEnd,e[r.initiatorType]],void 0,t.K7.ajax)}})}catch(e){}me(this.ee,e),ce(this.ee,e),function(e,r,n,i){function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=T,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},t.latestLongtaskEnd=0,e.addEventListener("load",function(r){x(t,e)},(0,N.jT)(!1)),f.lR||e.addEventListener("progress",function(e){t.lastSize=e.loaded},(0,N.jT)(!1))}function c(e){this.params={method:e[0]},Oe(this,e[1]),this.metrics={}}function d(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var n=i.generateTracePayload(this.parsedOrigin);if(n){var s=!1;n.newrelicHeader&&(r.setRequestHeader("newrelic",n.newrelicHeader),s=!0),n.traceContextParentHeader&&(r.setRequestHeader("traceparent",n.traceContextParentHeader),n.traceContextStateHeader&&r.setRequestHeader("tracestate",n.traceContextStateHeader),s=!0),s&&(this.dt=n)}}function u(e,t){var n=this.metrics,i=e[0],s=this;if(n&&i){var a=re(i);a&&(n.txSize=a)}this.startTime=(0,o.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||s.loadCaptureCalled||(s.params.aborted=!0),("load"!==e.type||s.called===s.totalCbs&&(s.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof s.end)&&s.end(t)}catch(e){try{r.emit("internal-error",[e])}catch(e){}}};for(var c=0;c<Te;c++)t.addEventListener(Ee[c],this.listener,(0,N.jT)(!1))}function l(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function h(e,t){var r=""+te(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function p(e,t){var r=""+te(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function g(){this.endTime=(0,o.t)()}function m(e,t){t instanceof xe&&"load"===e[0]&&r.emit("xhr-load-added",[e[1],e[2]],t)}function v(e,t){t instanceof xe&&"load"===e[0]&&r.emit("xhr-load-removed",[e[1],e[2]],t)}function y(e,t,r){t instanceof xe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,o.t)()))}function b(e,t){this.xhrCbStart&&r.emit("xhr-cb-time",[(0,o.t)()-this.xhrCbStart,this.onload,t],t)}function w(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&f.RI&&(t=""+f.gm.location.href):e[0]&&e[0].url?t=e[0].url:f.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,ve.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=i.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)a(e[0].headers,n)&&(this.dt=n);else{var s={};for(var o in r)s[o]=r[o];s.headers=new Headers(r.headers||{}),a(s.headers,n)&&(this.dt=n),e.length>1?e[1]=s:e.push(s)}}function a(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function R(e,t){this.params={},this.metrics={},this.startTime=(0,o.t)(),this.dt=t;let[r,n={}]=e;Oe(this,Re(r));const i=(""+(r&&r instanceof Ae&&r.method||n.method||"GET")).toUpperCase();this.params.method=i,this.body=n.body,this.txSize=re(n.body)||0}function E(e,t){if(this.endTime=(0,o.t)(),this.params||(this.params={}),(0,we.iW)(this.params))return;let r;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(r=+this.rxSize);const n={txSize:this.txSize,rxSize:r,duration:(0,o.t)()-this.startTime},i=[this.params,n,this.startTime,this.endTime,"fetch"];this.targets.forEach(e=>A(i,this,e))}function T(e){const t=this.params,r=this.metrics;if(this.ended)return;this.ended=!0;for(let t=0;t<Te;t++)e.removeEventListener(Ee[t],this.listener,!1);if(t.aborted)return;if((0,we.iW)(t))return;r.duration=(0,o.t)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):x(this,e),r.cbTime=this.cbTime;const n=[t,r,this.startTime,this.endTime,"xhr"];this.targets.forEach(e=>A(n,this,e))}function A(e,r,i){n("xhr",[...e,i],r,t.K7.ajax)}function x(e,n){e.params.status=n.status;var i=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?re(e.response):"text"===r||""===r||void 0===r?re(e.responseText):void 0}(n,e.lastSize);if(i&&(e.metrics.rxSize=i),e.sameOrigin&&n.getAllResponseHeaders().indexOf(Se)>=0){var o=n.getResponseHeader(Se);o&&((0,s.p)(O.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,t.K7.metrics,r),e.params.cat=o.split(", ").pop())}e.loadCaptureCalled=!0}r.on("new-xhr",a),r.on("open-xhr-start",c),r.on("open-xhr-end",d),r.on("send-xhr-start",u),r.on("xhr-cb-time",l),r.on("xhr-load-added",h),r.on("xhr-load-removed",p),r.on("xhr-resolved",g),r.on("addEventListener-end",m),r.on("removeEventListener-end",v),r.on("fn-end",b),r.on("fetch-before-start",w),r.on("fetch-start",R),r.on("fn-start",y),r.on("fetch-done",E)}(e,this.ee,this.handler,this.dt),this.importAggregator(e,()=>i.e(478).then(i.bind(i,3845)))}}function Oe(e,t){var r=(0,ve.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const Pe={},ke=["pushState","replaceState"];function Ne(e){const t=function(e){return(e||ie.ee).get("history")}(e);return!f.RI||Pe[t.debugId]++||(Pe[t.debugId]=1,(0,se.YM)(t).inPlace(window.history,ke,"-")),t}var De=i(3738);function je(e){(0,c.Y)(a.BL,function(r=Date.now()){const n=r-f.WN;n<0&&(0,h.R)(62,r),(0,s.p)(O.XG,[a.BL,{time:n}],void 0,t.K7.metrics,e.ee),e.addToTrace({name:a.BL,start:r,origin:"nr"}),(0,s.p)(a.Pl+a.hG,[n,a.BL],void 0,t.K7.genericEvents,e.ee)},e)}const{He:Ce,bD:Le,d3:Ie,Kp:Me,TZ:Be,Lc:He,uP:We,Rz:Ke}=De;class Fe extends y{static featureName=Be;constructor(e){var r;super(e,Be),r=e,(0,c.Y)(a.U2,function(e){if(!(e&&"object"==typeof e&&e.name&&e.start))return;const n={n:e.name,s:e.start-f.WN,e:(e.end||e.start)-f.WN,o:e.origin||"",t:"api"};n.s<0||n.e<0||n.e<n.s?(0,h.R)(61,{start:n.s,end:n.e}):(0,s.p)("bstApi",[n],void 0,t.K7.sessionTrace,r.ee)},r),je(e);if(!(0,g.V)(e.init))return void this.deregisterDrain();const n=this.ee;let d;Ne(n),this.eventsEE=(0,ne.u)(n),this.eventsEE.on(We,function(e,t){this.bstStart=(0,o.t)()}),this.eventsEE.on(He,function(e,r){(0,s.p)("bst",[e[0],r,this.bstStart,(0,o.t)()],void 0,t.K7.sessionTrace,n)}),n.on(Ke+Ie,function(e){this.time=(0,o.t)(),this.startPath=location.pathname+location.hash}),n.on(Ke+Me,function(e){(0,s.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,t.K7.sessionTrace,n)});try{d=new PerformanceObserver(e=>{const r=e.getEntries();(0,s.p)(Ce,[r],void 0,t.K7.sessionTrace,n)}),d.observe({type:Le,buffered:!0})}catch(e){}this.importAggregator(e,()=>i.e(478).then(i.bind(i,6974)),{resourceObserver:d})}}var Ue=i(6344);class Ve extends y{static featureName=Ue.TZ;#n;recorder;constructor(e){var r;let n;super(e,Ue.TZ),r=e,(0,c.Y)(a.CH,function(){(0,s.p)(a.CH,[],void 0,t.K7.sessionReplay,r.ee)},r),function(e){(0,c.Y)(a.Tb,function(){(0,s.p)(a.Tb,[],void 0,t.K7.sessionReplay,e.ee)},e)}(e);try{n=JSON.parse(localStorage.getItem("".concat(w.H3,"_").concat(w.uh)))}catch(e){}(0,p.SR)(e.init)&&this.ee.on(a.CH,()=>this.#i()),this.#s(n)&&this.importRecorder().then(e=>{e.startRecording(Ue.Qb.PRELOAD,n?.sessionReplayMode)}),this.importAggregator(this.agentRef,()=>i.e(478).then(i.bind(i,6167)),this),this.ee.on("err",e=>{this.blocked||this.agentRef.runtime.isRecording&&(this.errorNoticed=!0,(0,s.p)(Ue.Vh,[e],void 0,this.featureName,this.ee))})}#s(e){return e&&(e.sessionReplayMode===w.g.FULL||e.sessionReplayMode===w.g.ERROR)||(0,p.Aw)(this.agentRef.init)}importRecorder(){return this.recorder?Promise.resolve(this.recorder):(this.#n??=Promise.all([i.e(478),i.e(249)]).then(i.bind(i,4866)).then(({Recorder:e})=>(this.recorder=new e(this),this.recorder)).catch(e=>{throw this.ee.emit("internal-error",[e]),this.blocked=!0,e}),this.#n)}#i(){this.blocked||(this.featAggregate?this.featAggregate.mode!==w.g.FULL&&this.featAggregate.initializeRecording(w.g.FULL,!0,Ue.Qb.API):this.importRecorder().then(()=>{this.recorder.startRecording(Ue.Qb.API,w.g.FULL)}))}}var Ge=i(3962);class ze extends y{static featureName=Ge.TZ;constructor(e){if(super(e,Ge.TZ),function(e){const r=e.ee.get("tracer");function n(){}(0,c.Y)(a.dT,function(e){return(new n).get("object"==typeof e?e:{})},e);const i=n.prototype={createTracer:function(n,i){var a={},c=this,d="function"==typeof i;return(0,s.p)(O.xV,["API/createTracer/called"],void 0,t.K7.metrics,e.ee),function(){if(r.emit((d?"":"no-")+"fn-start",[(0,o.t)(),c,d],a),d)try{return i.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw r.emit("fn-err",[arguments,this,t],a),t}finally{r.emit("fn-end",[(0,o.t)()],a)}}}};["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach(r=>{c.Y.apply(this,[r,function(){return(0,s.p)(a.hw+r,[performance.now(),...arguments],this,t.K7.softNav,e.ee),this},e,i])}),(0,c.Y)(a.PA,function(){(0,s.p)(a.hw+"routeName",[performance.now(),...arguments],void 0,t.K7.softNav,e.ee)},e)}(e),!f.RI||!(0,T.dV)().o.MO)return;const r=Ne(this.ee);try{this.removeOnAbort=new AbortController}catch(e){}Ge.tC.forEach(e=>{(0,N.sp)(e,e=>{l(e)},!0,this.removeOnAbort?.signal)});const n=()=>(0,s.p)("newURL",[(0,o.t)(),""+window.location],void 0,this.featureName,this.ee);r.on("pushState-end",n),r.on("replaceState-end",n),(0,N.sp)(Ge.OV,e=>{l(e),(0,s.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)},!0,this.removeOnAbort?.signal);let d=!1;const u=new((0,T.dV)().o.MO)((e,t)=>{d||(d=!0,requestAnimationFrame(()=>{(0,s.p)("newDom",[(0,o.t)()],void 0,this.featureName,this.ee),d=!1}))}),l=(0,m.s)(e=>{"loading"!==document.readyState&&((0,s.p)("newUIEvent",[e],void 0,this.featureName,this.ee),u.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0}))},100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),u.disconnect(),this.abortHandler=void 0},this.importAggregator(e,()=>i.e(478).then(i.bind(i,4393)),{domObserver:u})}}var Ye=i(3333),Ze=i(9119);const qe={},Xe=new Set;function $e(e){return"string"==typeof e?{type:"string",size:(new TextEncoder).encode(e).length}:e instanceof ArrayBuffer?{type:"ArrayBuffer",size:e.byteLength}:e instanceof Blob?{type:"Blob",size:e.size}:e instanceof DataView?{type:"DataView",size:e.byteLength}:ArrayBuffer.isView(e)?{type:"TypedArray",size:e.byteLength}:{type:"unknown",size:0}}class Qe{constructor(e,t){this.timestamp=(0,o.t)(),this.currentUrl=(0,Ze.L)(window.location.href),this.socketId=(0,Y.LA)(8),this.requestedUrl=(0,Ze.L)(e),this.requestedProtocols=Array.isArray(t)?t.join(","):t||"",this.openedAt=void 0,this.protocol=void 0,this.extensions=void 0,this.binaryType=void 0,this.messageOrigin=void 0,this.messageCount=0,this.messageBytes=0,this.messageBytesMin=0,this.messageBytesMax=0,this.messageTypes=void 0,this.sendCount=0,this.sendBytes=0,this.sendBytesMin=0,this.sendBytesMax=0,this.sendTypes=void 0,this.closedAt=void 0,this.closeCode=void 0,this.closeReason="unknown",this.closeWasClean=void 0,this.connectedDuration=0,this.hasErrors=void 0}}class Je extends y{static featureName=Ye.TZ;constructor(e){super(e,Ye.TZ);const r=e.init.feature_flags.includes("websockets"),n=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.performance.resources.enabled,e.init.user_actions.enabled,r];var d;let u,l;if(d=e,(0,c.Y)(a.hG,(e,t)=>U(e,t,d),d),function(e){(0,c.Y)(a.fF,(t,r)=>G(t,r,e),e)}(e),je(e),q(e),function(e){(0,c.Y)(a.V1,(t,r)=>V(t,r,e),e)}(e),r&&(l=function(e){if(!(0,T.dV)().o.WS)return e;const t=e.get("websockets");if(qe[t.debugId]++)return t;qe[t.debugId]=1,(0,x.G)(()=>{const e=(0,o.t)();Xe.forEach(r=>{r.nrData.closedAt=e,r.nrData.closeCode=1001,r.nrData.closeReason="Page navigating away",r.nrData.closeWasClean=!1,r.nrData.openedAt&&(r.nrData.connectedDuration=e-r.nrData.openedAt),t.emit("ws",[r.nrData],r)})});class r extends WebSocket{static name="WebSocket";static toString(){return"function WebSocket() { [native code] }"}toString(){return"[object WebSocket]"}get[Symbol.toStringTag](){return r.name}#o(e){(e.__newrelic??={}).socketId=this.nrData.socketId,this.nrData.hasErrors??=!0}constructor(...e){super(...e),this.nrData=new Qe(e[0],e[1]),this.addEventListener("open",()=>{this.nrData.openedAt=(0,o.t)(),["protocol","extensions","binaryType"].forEach(e=>{this.nrData[e]=this[e]}),Xe.add(this)}),this.addEventListener("message",e=>{const{type:t,size:r}=$e(e.data);this.nrData.messageOrigin??=(0,Ze.L)(e.origin),this.nrData.messageCount++,this.nrData.messageBytes+=r,this.nrData.messageBytesMin=Math.min(this.nrData.messageBytesMin||1/0,r),this.nrData.messageBytesMax=Math.max(this.nrData.messageBytesMax,r),(this.nrData.messageTypes??"").includes(t)||(this.nrData.messageTypes=this.nrData.messageTypes?"".concat(this.nrData.messageTypes,",").concat(t):t)}),this.addEventListener("close",e=>{this.nrData.closedAt=(0,o.t)(),this.nrData.closeCode=e.code,e.reason&&(this.nrData.closeReason=e.reason),this.nrData.closeWasClean=e.wasClean,this.nrData.connectedDuration=this.nrData.closedAt-this.nrData.openedAt,Xe.delete(this),t.emit("ws",[this.nrData],this)})}addEventListener(e,t,...r){const n=this,i="function"==typeof t?function(...e){try{return t.apply(this,e)}catch(e){throw n.#o(e),e}}:t?.handleEvent?{handleEvent:function(...e){try{return t.handleEvent.apply(t,e)}catch(e){throw n.#o(e),e}}}:t;return super.addEventListener(e,i,...r)}send(e){if(this.readyState===WebSocket.OPEN){const{type:t,size:r}=$e(e);this.nrData.sendCount++,this.nrData.sendBytes+=r,this.nrData.sendBytesMin=Math.min(this.nrData.sendBytesMin||1/0,r),this.nrData.sendBytesMax=Math.max(this.nrData.sendBytesMax,r),(this.nrData.sendTypes??"").includes(t)||(this.nrData.sendTypes=this.nrData.sendTypes?"".concat(this.nrData.sendTypes,",").concat(t):t)}try{return super.send(e)}catch(e){throw this.#o(e),e}}close(...e){try{super.close(...e)}catch(e){throw this.#o(e),e}}}return f.gm.WebSocket=r,t}(this.ee)),f.RI){if(me(this.ee,e),ce(this.ee,e),u=Ne(this.ee),e.init.user_actions.enabled){function h(t){const r=(0,ve.D)(t);return e.beacons.includes(r.hostname+":"+r.port)}function p(){u.emit("navChange")}Ye.Zp.forEach(e=>(0,N.sp)(e,e=>(0,s.p)("ua",[e],void 0,this.featureName,this.ee),!0)),Ye.qN.forEach(e=>{const t=(0,m.s)(e=>{(0,s.p)("ua",[e],void 0,this.featureName,this.ee)},500,{leading:!0});(0,N.sp)(e,t)}),f.gm.addEventListener("error",()=>{(0,s.p)("uaErr",[],void 0,t.K7.genericEvents,this.ee)},(0,N.jT)(!1,this.removeOnAbort?.signal)),this.ee.on("open-xhr-start",(e,r)=>{h(e[1])||r.addEventListener("readystatechange",()=>{2===r.readyState&&(0,s.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)})}),this.ee.on("fetch-start",e=>{e.length>=1&&!h(Re(e[0]))&&(0,s.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)}),u.on("pushState-end",p),u.on("replaceState-end",p),window.addEventListener("hashchange",p,(0,N.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",p,(0,N.jT)(!0,this.removeOnAbort?.signal))}if(e.init.performance.resources.enabled&&f.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{(0,s.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)})}).observe({type:"resource",buffered:!0})}}r&&l.on("ws",e=>{(0,s.p)("ws-complete",[e],void 0,this.featureName,this.ee)});try{this.removeOnAbort=new AbortController}catch(g){}this.abortHandler=()=>{this.removeOnAbort?.abort(),this.abortHandler=void 0},n.some(e=>e)?this.importAggregator(e,()=>i.e(478).then(i.bind(i,8019))):this.deregisterDrain()}}var et=i(2646);const tt=new Map;function rt(e,t,r,n,i=!0,s){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,h.R)(29);const o=function(e){return(e||ie.ee).get("logger")}(e),a=(0,se.YM)(o,void 0,s),c=new et.y(ie.P);c.level=n.level,c.customAttributes=n.customAttributes,c.autoCaptured=i;const d=t[r]?.[se.Jt]||t[r];return tt.set(d,c),a.inPlace(t,[r],"wrap-logger-",()=>tt.get(d),void 0,!0),o}var nt=i(1910);class it extends y{static featureName=W.TZ;constructor(e){var t;super(e,W.TZ),t=e,(0,c.Y)(a.$9,(e,r)=>F(e,r,t),t),function(e){(0,c.Y)(a.Wb,(t,r,{customAttributes:n={},level:i=W.p_.INFO}={})=>{rt(e.ee,t,r,{customAttributes:n,level:i},!1,e)},e)}(e),q(e);const r=this.ee;["log","error","warn","info","debug","trace"].forEach(t=>{(0,nt.i)(f.gm.console[t]),rt(r,f.gm.console,t,{level:"log"===t?"info":t},void 0,e)}),this.ee.on("wrap-logger-end",function([e],t,n,i=[]){const{level:s,customAttributes:o,autoCaptured:a}=this;i.forEach(t=>{(0,K.R)(r,e,o,s,a,t)})}),this.importAggregator(e,()=>i.e(478).then(i.bind(i,5288)))}}new A({features:[_e,E,_,Fe,Ve,P,Q,Je,it,ze],loaderType:"spa"})})()})();</script>
<meta charset='utf-8'>
<title>
HTML to PDF API - High-Quality PDF Conversion with PrinceXML
</title>
<meta content='Free and powerful HTML to PDF converter with CSS Paged Media support. SOC2 and HIPAA compliant with guaranteed uptime.' name='description'>
<meta content='Expected Behavior' name='author'>
<meta content='width=device-width, initial-scale=1' name='viewport'>
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="0kkL0tNybZ3MPonsVebOrlBXI3BmTUAnoQDwXL6gA3K6M7PdrKoCrAcSwNKs3Dd4QwZotvrSzr_kX14FekppfA" />
<meta as='font' href='https://d1030xxn62fyyb.cloudfront.net/assets/MyriadPro/myriadpro-regular-6fa8fd81c22379981b3be64f3d4dafc34555392bf44d7036effe70d0618ce446.woff2' rel='preload' type='font/woff2'>
<meta as='font' href='https://d1030xxn62fyyb.cloudfront.net/assets/MyriadPro/myriadpro-semibold-efd54b42a7b6b48f59b61951f70609e2a0c5214ad1a91647b341a8e2f31c2a84.woff2' rel='preload' type='font/woff2'>
<meta as='font' href='https://d1030xxn62fyyb.cloudfront.net/assets/MyriadPro/myriadpro-bold-dea0172749b417f406c1a244484380cb111e79d4befc0121ddf27bb1c3ba87d0.woff2' rel='preload' type='font/woff2'>

<link rel="stylesheet" href="https://d1030xxn62fyyb.cloudfront.net/assets/tailwind-20ea30e35624a242b040a7368f036c4a43ac41e6b70e963bcd811ff2ffaa5d85.css" />
<script src="https://www.googletagmanager.com/gtag/js?id=UA-12100138-9" async="async" nonce="hExDBv54Q0IobnXWulZXPg=="></script>
<script nonce="hExDBv54Q0IobnXWulZXPg==">
//<![CDATA[
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());

gtag('config', 'UA-12100138-9');

gtag('config', 'AW-968431047');



//]]>
</script><script nonce="hExDBv54Q0IobnXWulZXPg==">
//<![CDATA[
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-NRRPPGPM');

//]]>
</script>

<link href='/favicon.ico' rel='shortcut icon' type='image/x-icon'>
</head>
<body class='bg-gray-190 text-gray-550 home'>
<noscript>
<iframe height='0' src='https://www.googletagmanager.com/ns.html?id=GTM-NRRPPGPM' style='display:none;visibility:hidden' width='0'></iframe>
</noscript>

<div id='flash'>

</div>

<div class='container header'>
<div class='flex items-center justify-between lg:space-x-8 -mx-2 px-2'>
<div>
<a class='inline-block p-2 lg:-ml-2 rounded-lg dr-focus-ring text-white' href='/'>
<svg alt='DocRaptor HTML TO PDF API' aria-labelledby='logo-title' class='fill-current' height='45' viewBox='0 0 58 45' width='58' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>
<title id='logo-title'>
DocRaptor HTML TO PDF API
</title>
<g stroke='#D6D6D6' stroke-width='.5' transform='translate(1 1)'>
<path d='M37.674 13.96 34.482 31.019 23.328 42.408 23.219 23.71z'></path>
<path d='M8.725 30.009 18.005 37.895 16.692 28.496 8.725 30.009'></path>
<path d='M23.328 42.408 35.736 42.408 28.525 37.102 23.328 42.408'></path>
<path d='M47.024 0 56 5.759 56 7.953 39.11 5.759 47.024 0'></path>
<path d='M49.581 25.322 48.423 30.35 46.686 26.933 49.581 25.322'></path>
<path d='M37.674 13.96 0 1.802 23.219 23.71 37.674 13.96'></path>
<path d='M51.127 17.181 41.251 27.843 36.166 26.993 39.11 5.759 48.567 6.988z'></path>
<path d='M49.581 25.322 44.353 17.159 36.619 14.497 34.292 27.23 43.316 28.808 49.581 25.322'></path>
<path d='M23.24 27.252 8.725 30.009 17.716 18.517 23.219 23.71 23.24 27.252'></path>
</g>
</svg>
</a>
</div>
<nav class='lg:flex-1 lg:z-20' data-controller='nav' data-nav-active-value='false' data-nav-closed-class='translate-x-full' data-nav-invisible-class='invisible' data-nav-open-class='translate-x-0'>
<button class='p-2 rounded-lg dr-focus-ring text-white lg:hidden' data-action='click-&gt;nav#toggle click@window-&gt;nav#hide' data-nav-target='toggle' id='menu-toggle' type='button'>

<svg class="w-6 h-auto fill-current" width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1664 1344v128q0 26-19 45t-45 19h-1408q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1408q26 0 45 19t19 45zm0-512v128q0 26-19 45t-45 19h-1408q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1408q26 0 45 19t19 45zm0-512v128q0 26-19 45t-45 19h-1408q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1408q26 0 45 19t19 45z"/></svg>
<span class='sr-only'>Toggle menu</span>
</button>
<div class='invisible fixed z-40 inset-0 bg-gray-600 bg-opacity-75 lg:hidden lg:invisisble' data-action='click-&gt;nav#toggle' data-nav-target='backdrop'></div>
<div class='z-50 lg:z-auto h-screen lg:h-auto fixed lg:static bg-white lg:bg-transparent translate-x-full lg:translate-x-0 top-0 right-0 text-md transform-gpu transition-transform duration-500 ease-in-out' data-nav-target='nav'>
<button class='absolute invisible -left-10 top-0 p-2 rounded-lg dr-focus-ring text-white lg:invisisble lg:hidden' data-action='click-&gt;nav#toggle' data-nav-target='close' type='button'>

<svg class="w-6 h-auto fill-current" width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1490 1322q0 40-28 68l-136 136q-28 28-68 28t-68-28l-294-294-294 294q-28 28-68 28t-68-28l-136-136q-28-28-28-68t28-68l294-294-294-294q-28-28-28-68t28-68l136-136q28-28 68-28t68 28l294 294 294-294q28-28 68-28t68 28l136 136q28 28 28 68t-28 68l-294 294 294 294q28 28 28 68z"/></svg>
<span class='sr-only'>Close menu</span>
</button>
<ul class='grid grid-flow-row lg:flex h-full lg:h-auto lg:justify-end py-4 px-2 lg:p-0 place-content-start overflow-y-auto lg:overflow-visible'>
<li class='self-center'>
<a class='dr-nav-link dr-focus-ring pl-3 lg:pl-4 lg:m-0 lg:hidden' href='/' id='nav-home'>
Home
</a>
</li>
<li class='self-center'>
<a class='dr-nav-link dr-focus-ring pl-3 lg:pl-4 lg:m-0' href='/try_it_out' id='nav-demo'>
Demo
</a>
</li>
<li class='self-center'>
<a class='dr-nav-link dr-focus-ring pl-3 lg:pl-4 lg:m-0' href='/samples' id='nav-samples'>
Samples
</a>
</li>
<li class='self-center'>
<a class='dr-nav-link dr-focus-ring pl-3 lg:pl-4 lg:m-0' href='/free-templates' id='nav-free-templates'>
Free Templates
</a>
</li>
<li class='self-center'>
<a class='dr-nav-link dr-focus-ring pl-3 lg:pl-4 lg:m-0' href='/customers' id='nav-customers'>
Our Customers
</a>
</li>
<li class='lg:hidden self-center'>
<a class='dr-nav-link dr-focus-ring pl-3 lg:pl-4 lg:m-0' href='/documentation' id='nav-documentation'>
Documentation
</a>
</li>
<li class='hidden lg:block pb-20 lg:pb-0 lg:row-start-auto relative self-center' data-controller='nav' data-nav-closed-class='lg:hidden' data-nav-invisible-class='hidden' data-nav-open-class='lg:grid' id='header-nav-documentation-csp'><button class='hidden lg:flex dr-nav-link dr-focus-ring lg:m-0 lg:pr-2' data-action='click-&gt;nav#toggle click@window-&gt;nav#hide' data-nav-target='toggle' id='documentation-headline' type='button'>Documentation

<svg class="hidden lg:inline-block w-4 h-auto ml-1 fill-current" width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1408 704q0 26-19 45l-448 448q-19 19-45 19t-45-19l-448-448q-19-19-19-45t19-45 45-19h896q26 0 45 19t19 45z"/></svg>
</button>
<svg class="hidden w-8 h-auto fill-current text-white z-20 absolute -bottom-5 right-1/2 -mr-4" data-nav-target="close" width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1408 1216q0 26-19 45t-45 19h-896q-26 0-45-19t-19-45 19-45l448-448q19-19 45-19t45 19l448 448q19 19 19 45z"/></svg>
<ul aria-labelledby='documentation-headline' class='lg:hidden lg:p-2 lg:py-6 lg:mt-2 lg:bg-white lg:absolute lg:-right-1/3 lg:shadow lg:top-full lg:grid-cols-2 lg:gap-y-4 lg:gap-x-10 lg:w-max lg:rounded-md' data-nav-target='nav' role='group'>
<li class='col-start-1 my-4 lg:my-0'>
<span class='dr-nav-heading lg:mb-1 ml-3'>
Getting Started
</span>
<ul class='mt-1 lg:mt-0'>
<li>
<a class='dr-nav-link dr-focus-ring lg:dr-sub-nav-link' href='/documentation'>
Installation
</a>
</li>
<li>
<a class='dr-nav-link dr-focus-ring lg:dr-sub-nav-link' href='/documentation/getting_started/key_concepts'>
Key Concepts
</a>
</li>
<li>
<a class='dr-nav-link dr-focus-ring lg:dr-sub-nav-link' href='/documentation/getting_started/integrations'>
Integrations
</a>
</li>
<li>
<a class='dr-nav-link dr-focus-ring lg:dr-sub-nav-link' href='/documentation/account_and_billing'>
Account &amp; Billing
</a>
</li>
<li>
<a class='dr-nav-link dr-focus-ring lg:dr-sub-nav-link' href='/security-and-privacy'>
Security &amp; Privacy
</a>
</li>
</ul>
</li>
<li class='col-start-1 mb-4 lg:mb-0'>
<span class='dr-nav-heading lg:mb-1 ml-3'>
PDF Generation
</span>
<ul class='mt-1 lg:mt-0'>
<li>
<a class='dr-nav-link dr-focus-ring lg:dr-sub-nav-link' href='/documentation/pdf_generation/reference'>
Reference
</a>
</li>
<li>
<a class='dr-nav-link dr-focus-ring lg:dr-sub-nav-link' href='/documentation/pdf_generation/tutorials'>
Tutorials
</a>
</li>
<li>
<a class='dr-nav-link dr-focus-ring lg:dr-sub-nav-link' href='/documentation/pdf_generation/troubleshooting'>
Troubleshooting
</a>
</li>
</ul>
</li>
<li class='col-start-1 mb-4 lg:mb-0'>
<span class='dr-nav-heading lg:mb-1 ml-3'>
Excel Generation
</span>
<ul class='mt-1 lg:mt-0'>
<li>
<a class='dr-nav-link dr-focus-ring lg:dr-sub-nav-link' href='/documentation/excel_generation/reference'>
Reference
</a>
</li>
<li>
<a class='dr-nav-link dr-focus-ring lg:dr-sub-nav-link' href='/documentation/excel_generation/troubleshooting'>
Troubleshooting
</a>
</li>
</ul>
</li>
<li class='col-start-1 mb-4 lg:mb-0'>
<a class='dr-nav-link dr-focus-ring lg:dr-sub-nav-link lg:mb-1' href='/documentation/changelog'>
<span class='dr-nav-heading'>
Changelog
</span>
</a>
</li>
<li class='row-start-1 row-span-3 col-start-2 mb-4 lg:mb-0'>
<span class='dr-nav-heading lg:mb-1 ml-3'>
API Reference
</span>
<ul class='mt-1 lg:mt-0'>
<li>
<a class='dr-nav-link dr-focus-ring lg:dr-sub-nav-link' href='/documentation/api/making_documents'>
Authentication
</a>
</li>
<li>
<a class='dr-nav-link dr-focus-ring lg:dr-sub-nav-link' href='/documentation/api/making_documents#making_a_document'>
Making a Document
</a>
</li>
<li>
<a class='dr-nav-link dr-focus-ring lg:dr-sub-nav-link' href='/documentation/api'>
API Parameters
</a>
</li>
<li>
<a class='dr-nav-link dr-focus-ring lg:dr-sub-nav-link' href='/documentation/api/status_codes'>
HTTP Status Codes
</a>
</li>
<li>
<a class='dr-nav-link dr-focus-ring lg:dr-sub-nav-link' href='/documentation/api/limits'>
Limits
</a>
</li>
<li>
<a class='dr-nav-link dr-focus-ring lg:dr-sub-nav-link' href='/documentation/api/test_documents'>
Test Documents
</a>
</li>
<li>
<a class='dr-nav-link dr-focus-ring lg:dr-sub-nav-link' href='/documentation/api/support'>
Support &amp; Debugging
</a>
</li>
<li>
<a class='dr-nav-link dr-focus-ring lg:dr-sub-nav-link' href='/documentation/api/hosted_documents'>
Hosted Documents
</a>
</li>
<li>
<a class='dr-nav-link dr-focus-ring lg:dr-sub-nav-link' href='/documentation/api/referrer_based_documents'>
Referrer-Based Documents
</a>
</li>
<li>
<a class='dr-nav-link dr-focus-ring lg:dr-sub-nav-link' href='/documentation/api/document_listing'>
Document Listing API
</a>
</li>
<li>
<a class='dr-nav-link dr-focus-ring lg:dr-sub-nav-link' href='/documentation/api/ip_listing'>
IP Listing API
</a>
</li>
</ul>
</li>
</ul>
</li>
<li class='self-center'>
<a class='dr-nav-link dr-focus-ring pl-3 lg:pl-4 lg:m-0' href='/login' id='nav-login'>
Sign In
</a>
</li>
<li class='mt-2 lg:mt-0 self-center'>
<a class='text-gray-100 dr-focus-ring text-center block rounded-lg lg:rounded-full font-semibold bg-docraptor-blue focus:bg-docraptor-orange hover:bg-docraptor-orange focus:ring-0 px-5 py-2' href='/signup' id='nav-signup'>
Pricing &amp; Free Signup
</a>
</li>
</ul>
</div>
</nav>
</div>

<div class='grid grid-cols-12 gap-dr text-white pb-8 md:py-14'>
<div class='col-span-12 md:col-span-6 col-start-1 row-start-1 pt-8 md:pr-6 text-center md:text-left'>
<span class='block text-xl md:text-2xl font-semibold'>The World's Most Advanced</span>
<h1 class='text-4xl md:text-5xl font-extrabold'>HTML to PDF API</h1>
<div class='mt-4 mx-auto text-lg sm:text-xl md:max-w-3xl px-3 md:px-0 text-left py-5 md:py-0'>
DocRaptor is the only HTML to PDF API that uses the <a class="font-bold" href="/prince">Prince PDF generator</a>, has a <strong>99.99% uptime guarantee</strong>, and is both <strong>SOC2</strong> and <strong>HIPAA compliant</strong>.
</div>
<div class='mt-8 md:mt-10 mb-1 md:mb-0 flex justify-center md:justify-start'>
<div class='rounded-full shadow overflow-hidden'>
<a class='w-full flex items-center justify-center px-12 py-2 md:py-2 border border-transparent text-lg font-bold text-white diagonal-button-background bg-docraptor-orange hover:bg-docraptor-blue md:text-lg shadow py-1.5' href='/signup' id='home-free-trial'>
Sign Up For Free
</a>
</div>
</div>
</div>
<div class='hidden md:block col-span-4 col-start-7 row-start-1 relative'>
<svg alt="HTML document" class="absolute w-full h-auto rounded-md shadow-lg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 275 347"><defs><path id="a" d="M0 0h275v347H0z"/></defs><g fill="none" fill-rule="evenodd"><mask id="b" fill="#fff"><use xlink:href="#a"/></mask><use xlink:href="#a" fill="#292929"/><g font-family="Courier" font-size="7.047" mask="url(#b)"><text transform="translate(1.014 17.395)">
          <tspan x="8.028" y="6" fill="#D3DAE0">&lt;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="12.261" y="6" fill="#94E400">style</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="33.466" y="6" fill="#D3DAE0">&gt;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="16.495" y="16.062" fill="#FF0071">@page</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="37.698" y="16.062" fill="#D3DAE0" style="white-space:pre"> {</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="7.96" y="26.124" fill="#FFF" style="white-space:pre">    size: US-Letter landscape;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="24.975" y="36.186" fill="#FF0071">@top</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="41.932" y="36.186" fill="#D3DAE0" style="white-space:pre"> {</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="33.444" y="46.248" fill="#8ACCFF">content</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="63.128" y="46.248" fill="#D3DAE0">: </tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="71.6" y="46.248" fill="#FF0071">flow</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="88.529" y="46.248" fill="#FFF">(header-flow);</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="8.019" y="56.31" fill="#D3DAE0" style="white-space:pre">    }</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="8.024" y="66.372" fill="#D3DAE0" style="white-space:pre">  }</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="16.493" y="76.434" fill="#94E400">header</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="41.932" y="76.434" fill="#D3DAE0" style="white-space:pre"> {</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="24.975" y="86.496" fill="#8ACCFF">flow</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="41.932" y="86.496" fill="#D3DAE0">: </tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="50.4" y="86.496" fill="#FF0071">static</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="75.81" y="86.496" fill="#FFF">(header-flow);</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="8.024" y="96.558" fill="#D3DAE0" style="white-space:pre">  }</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="8.026" y="106.62" fill="#D3DAE0">&lt;/</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="16.495" y="106.62" fill="#94E400">style</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="37.7" y="106.62" fill="#D3DAE0">&gt;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="8.028" y="116.682" fill="#D3DAE0">&lt;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="12.259" y="116.682" fill="#94E400">header</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="37.7" y="116.682" fill="#D3DAE0">&gt;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="16.505" y="126.744" fill="#D3DAE0">&lt;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="20.742" y="126.744" fill="#94E400">div</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="37.699" y="126.744" fill="#8ACCFF">class</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="58.904" y="126.744" fill="#D3DAE0">=</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="63.118" y="126.744" fill="#B3DEFF">&quot;header-logo&quot;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="118.24" y="126.744" fill="#D3DAE0">&gt;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="24.981" y="136.806" fill="#D3DAE0">&lt;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="29.219" y="136.806" fill="#94E400">svg</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="46.175" y="136.806" fill="#8ACCFF">xmlns</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="67.38" y="136.806" fill="#D3DAE0">=</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="71.559" y="136.806" fill="#B3DEFF">&quot;http://www.w3.org/2000/svg&quot;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="194.506" y="136.806" fill="#8ACCFF">xmlns:xlink</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="241.148" y="136.806" fill="#D3DAE0">=</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="245.326" y="136.806" fill="#B3DEFF">&quot;http://www.w3.org/1999/xlin</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="16.502" y="146.868" fill="#D3DAE0">&lt;/</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="24.977" y="146.868" fill="#94E400">div</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="37.7" y="146.868" fill="#D3DAE0">&gt;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="16.505" y="156.93" fill="#D3DAE0">&lt;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="20.742" y="156.93" fill="#94E400">div</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="37.699" y="156.93" fill="#8ACCFF">class</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="58.904" y="156.93" fill="#D3DAE0">=</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="63.118" y="156.93" fill="#B3DEFF">&quot;header-text&quot;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="118.24" y="156.93" fill="#D3DAE0">&gt;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="122.409" y="156.93" fill="#FFF">Account Statement - January 2018</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="258.091" y="156.93" fill="#D3DAE0">&lt;/</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="266.565" y="156.93" fill="#8DE899">div</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="16.505" y="166.992" fill="#D3DAE0">&lt;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="20.742" y="166.992" fill="#94E400">div</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="37.699" y="166.992" fill="#8ACCFF">class</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="58.904" y="166.992" fill="#D3DAE0">=</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="63.101" y="166.992" fill="#B3DEFF">&quot;header-page-number&quot;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="147.905" y="166.992" fill="#D3DAE0">&gt;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="152.145" y="166.992" fill="#D3DAE0">&lt;/</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="160.619" y="166.992" fill="#94E400">div</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="173.342" y="166.992" fill="#D3DAE0">&gt;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="8.026" y="177.054" fill="#D3DAE0">&lt;/</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="16.493" y="177.054" fill="#94E400">header</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="41.935" y="177.054" fill="#D3DAE0">&gt;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="8.028" y="187.116" fill="#D3DAE0">&lt;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="12.266" y="187.116" fill="#94E400">div</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="29.229" y="187.116" fill="#8ACCFF">id</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="37.708" y="187.116" fill="#D3DAE0">=</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="41.925" y="187.116" fill="#B3DEFF">&quot;title-page&quot;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="97.043" y="187.116" fill="#8ACCFF">class</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="118.248" y="187.116" fill="#D3DAE0">=</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="122.445" y="187.116" fill="#B3DEFF">&quot;page portrait-page&quot;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="207.249" y="187.116" fill="#D3DAE0">&gt;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="16.505" y="197.178" fill="#D3DAE0">&lt;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="20.745" y="197.178" fill="#94E400">h1</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="29.224" y="197.178" fill="#D3DAE0">&gt;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="33.284" y="197.178" fill="#FFF">We thank you for your business and look forward to serving you and your future</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="16.981" y="208.364" fill="#D3DAE0">&lt;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="21.219" y="208.364" fill="#94E400">div</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="38.182" y="208.364" fill="#8ACCFF">id</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="46.661" y="208.364" fill="#D3DAE0">=</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="50.882" y="208.364" fill="#B3DEFF">&quot;piechart&quot;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="97.52" y="208.364" fill="#8ACCFF">class</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="118.725" y="208.364" fill="#D3DAE0">=</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="122.946" y="208.364" fill="#B3DEFF">&quot;box-body&quot;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="165.35" y="208.364" fill="#D3DAE0">&gt;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="169.59" y="208.364" fill="#D3DAE0">&lt;/</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="178.065" y="208.364" fill="#94E400">div</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="190.788" y="208.364" fill="#D3DAE0">&gt;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="16.981" y="218.426" fill="#D3DAE0">&lt;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="21.212" y="218.426" fill="#94E400">script</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="50.889" y="218.426" fill="#8ACCFF">type</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="67.849" y="218.426" fill="#D3DAE0">=</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="72.054" y="218.426" fill="#B3DEFF">&quot;text/javascript&quot;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="144.139" y="218.426" fill="#D3DAE0">&gt;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="0" y="228.488" fill="#FFF" style="white-space:pre">      google.</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="55.111" y="228.488" fill="#FFF">charts</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="80.552" y="228.488" fill="#D3DAE0">.</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="84.788" y="228.488" fill="#DBBAFF">load</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="101.748" y="228.488" fill="#D3DAE0">(</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="105.971" y="228.488" fill="#B3DEFF">&apos;current&apos;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="144.127" y="228.488" fill="#D3DAE0">, {</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="156.829" y="228.488" fill="#B3DEFF">&apos;packages&apos;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="199.231" y="228.488" fill="#D3DAE0">:[</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="207.686" y="228.488" fill="#B3DEFF">&apos;corechart&apos;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="254.321" y="228.488" fill="#D3DAE0">]});</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="0" y="238.55" fill="#FFF" style="white-space:pre">      google.</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="55.111" y="238.55" fill="#FFF">charts</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="80.552" y="238.55" fill="#D3DAE0">.</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="84.757" y="238.55" fill="#DBBAFF">setOnLoadCallback</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="156.809" y="238.55" fill="#FFF">(drawPieChart);</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="25.442" y="248.612" fill="#FF0071">function</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="63.581" y="248.612" fill="#DBBAFF">drawPieChart</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="114.467" y="248.612" fill="#D3DAE0">(</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="118.704" y="248.612" fill="#D3DAE0">) {</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="33.93" y="258.674" fill="#FF0071">var</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="46.62" y="258.674" fill="#FFF" style="white-space:pre"> data = google.</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="110.196" y="258.674" fill="#FFF">visualization</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="165.319" y="258.674" fill="#D3DAE0">.</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="169.526" y="258.674" fill="#DBBAFF">arrayToDataTable</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="237.364" y="258.674" fill="#D3DAE0">([</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x=".004" y="268.736" fill="#D3DAE0" style="white-space:pre">          [</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="46.634" y="268.736" fill="#B3DEFF">&apos;Task&apos;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="72.073" y="268.736" fill="#D3DAE0">, </tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="80.519" y="268.736" fill="#B3DEFF">&apos;Hours per Day&apos;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="144.121" y="268.736" fill="#D3DAE0">],</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x=".004" y="278.797" fill="#D3DAE0" style="white-space:pre">          [</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="46.634" y="278.797" fill="#B3DEFF">&apos;Work&apos;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="72.064" y="278.797" fill="#D3DAE0">, </tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="97.503" y="278.797" fill="#8ACCFF">11</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="105.98" y="278.797" fill="#D3DAE0">],</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x=".004" y="288.859" fill="#D3DAE0" style="white-space:pre">          [</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="46.636" y="288.859" fill="#B3DEFF">&apos;Eat&apos;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="67.827" y="288.859" fill="#D3DAE0">, </tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="97.513" y="288.859" fill="#8ACCFF">2</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="101.753" y="288.859" fill="#D3DAE0">],</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x=".004" y="298.921" fill="#D3DAE0" style="white-space:pre">          [</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="46.627" y="298.921" fill="#B3DEFF">&apos;Commute&apos;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="84.782" y="298.921" fill="#D3DAE0">, </tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="97.506" y="298.921" fill="#8ACCFF">2</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="101.746" y="298.921" fill="#D3DAE0">],</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x=".004" y="308.983" fill="#D3DAE0" style="white-space:pre">          [</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="46.624" y="308.983" fill="#B3DEFF">&apos;Watch TV&apos;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="89.027" y="308.983" fill="#D3DAE0">, </tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="97.506" y="308.983" fill="#8ACCFF">2</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="101.746" y="308.983" fill="#D3DAE0">],</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x=".004" y="319.045" fill="#D3DAE0" style="white-space:pre">          [</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="46.632" y="319.045" fill="#B3DEFF">&apos;Sleep&apos;</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="76.308" y="319.045" fill="#D3DAE0">, </tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="97.513" y="319.045" fill="#8ACCFF">7</tspan>
        </text><text transform="translate(1.014 17.395)">
          <tspan x="101.756" y="319.045" fill="#D3DAE0">]</tspan>
        </text></g><g mask="url(#b)"><g transform="translate(267 8)"><path fill="#292929" d="M0 0h12v318H0z"/><rect width="4" height="27" x="2" y="45" fill="#636363" rx="2"/></g></g><g mask="url(#b)"><g transform="translate(5 4)"><circle cx="3" cy="3" r="3" fill="#FF625A"/><circle cx="11" cy="3" r="3" fill="#FEC32F"/><circle cx="19" cy="3" r="3" fill="#2BCA41"/></g></g></g></svg>
</div>
<div class='hidden md:block col-span-4 col-start-9 row-start-1 relative top-32'>
<div class='statementPDF absolute w-full h-auto rounded-md shadow-lg'>
<svg alt="HTML document" class="statementPDF__background" width="275" height="340" viewBox="0 0 275 340" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="statement-page_svg__a" d="M0 0h275v340H0z"/></defs><g fill="none" fill-rule="evenodd"><mask id="statement-page_svg__b" fill="#fff"><use xlink:href="#statement-page_svg__a"/></mask><use fill="#FFF" xlink:href="#statement-page_svg__a"/><path fill="#ECECEC" mask="url(#statement-page_svg__b)" d="M0 14h279v369H0z"/><g mask="url(#statement-page_svg__b)" fill="#636363"><rect width="4" height="27" rx="2" transform="translate(269 53)"/></g><g mask="url(#statement-page_svg__b)"><g transform="translate(5 4)"><circle fill="#FF625A" cx="3" cy="3" r="3"/><circle fill="#FEC32F" cx="11" cy="3" r="3"/><circle fill="#2BCA41" cx="19" cy="3" r="3"/></g></g></g></svg>
<img class="statementPDF__mainImage1" src="https://d1030xxn62fyyb.cloudfront.net/assets/content/samples/responsive/statement-page1_539-0cd73d0550662962988d715a3b2c66ab2463743b07e37e47a633ada3a1e23101.webp" />
<img class="statementPDF__mainImage2" src="https://d1030xxn62fyyb.cloudfront.net/assets/content/samples/responsive/statement-page2_278-b544c1cd005f5aeac8492f5cb1c3e470700c86d59f106de0db1e592caf29e68f.webp" />
<img class="statementPDF__image1" src="https://d1030xxn62fyyb.cloudfront.net/assets/content/samples/responsive/statement-page1_539-0cd73d0550662962988d715a3b2c66ab2463743b07e37e47a633ada3a1e23101.webp" />
<img class="statementPDF__image2" src="https://d1030xxn62fyyb.cloudfront.net/assets/content/samples/responsive/statement-page2_278-b544c1cd005f5aeac8492f5cb1c3e470700c86d59f106de0db1e592caf29e68f.webp" />
<img class="statementPDF__image3" src="https://d1030xxn62fyyb.cloudfront.net/assets/content/samples/responsive/statement-page3_278-b75b10fed6876be00665601db2e49e668bcd637ced6743ba5bf59005f8bea4f1.webp" />
<img class="statementPDF__image4" src="https://d1030xxn62fyyb.cloudfront.net/assets/content/samples/responsive/statement-page4_278-3a8402e5c2355d26be86487ee68e66f52141c63ccbe8e9d610d0241d4f971579.webp" />
</div>
</div>
</div>

</div>
<div class='container angles-background pt-16 sm:pt-20'>
<h3 class='text-3xl font-bold mt-14 mb-6'>Unique Functionality</h3>
<div class='text-xl sm:text-2xl lg:w-3/5'>Prince's powerful PDF rendering engine provides HTML-to-PDF conversion capabilities that other APIs can't match.</div>
<div class='grid grid-cols-12 gap-dr gap-y-16 mt-12 px-4 sm:px-0'>
<div class='text_block col-span-12 md:col-span-6 lg:col-span-4'>
<div class='text_block__icon'>
<svg xmlns="http://www.w3.org/2000/svg" width="107" height="41"><g fill="none" fill-rule="evenodd"><path fill="#FFF" d="M49.336 0H52a2 2 0 012 2v37a2 2 0 01-2 2H39a2 2 0 01-2-2V12.386a2 2 0 01.582-1.411L47.92.589A2 2 0 0149.336 0z"/><path fill="#9AABB9" d="M48.505 0L37 11.56h9.505a2 2 0 002-2V0z"/><path fill="#FFF" d="M12.336 1H25a2 2 0 012 2v36a2 2 0 01-2 2H2a2 2 0 01-2-2V13.386a2 2 0 01.582-1.411L10.92 1.589A2 2 0 0112.336 1z"/><path fill="#9AABB9" d="M11.505 1L0 12.56h9.505a2 2 0 002-2V1z"/><path fill="#FFF" d="M76.336 15H105a2 2 0 012 2v22a2 2 0 01-2 2H66a2 2 0 01-2-2V27.386a2 2 0 01.582-1.411L74.92 15.589A2 2 0 0176.336 15z"/><path fill="#9AABB9" d="M75.505 15L64 26.56h9.505a2 2 0 002-2V15z"/></g></svg>
</div>
<h4 class='text_block__title'>Page Flexibility</h4>
<div class='text_block__body'>
Only DocRaptor lets you mix and match different page sizes, styles, and headers and footers all within the same PDF document.
</div>
</div>
<div class='text_block col-span-12 md:col-span-6 lg:col-span-4'>
<div class='text_block__icon'>
<svg xmlns="http://www.w3.org/2000/svg" width="34" height="41"><g fill="none" fill-rule="evenodd"><path fill="#FFF" d="M12.336 0H32a2 2 0 012 2v37a2 2 0 01-2 2H2a2 2 0 01-2-2V12.386a2 2 0 01.582-1.411L10.92.589A2 2 0 0112.336 0z"/><g stroke-linecap="square" stroke-width="2"><path stroke="#656565" d="M17 13.75a2.75 2.75 0 00-2.75 2.75v11A2.75 2.75 0 0017 30.25m-5.5-16.5a2.75 2.75 0 012.75 2.75v11a2.75 2.75 0 01-2.75 2.75"/><path stroke="#9AABB9" d="M17.917 17.417h6.416c.507 0 .917.41.917.916v7.334c0 .506-.41.916-.917.916h-6.416m-7.334-9.166h-.916a.917.917 0 00-.917.916v7.334c0 .506.41.916.917.916h.916"/><path stroke="#656565" d="M21.583 22h.009m-3.675 0h.009"/></g><path fill="#9AABB9" d="M11.505 0L0 11.56h9.505a2 2 0 002-2V0z"/></g></svg>
</div>
<h4 class='text_block__title'>PDF Forms</h4>
<div class='text_block__body'>
Automatically convert your raw HTML forms into PDF forms, including accessible forms for screen readers.
</div>
</div>
<div class='text_block col-span-12 md:col-span-6 lg:col-span-4'>
<div class='text_block__icon'>
<svg xmlns="http://www.w3.org/2000/svg" width="34" height="41"><g fill="none" fill-rule="evenodd"><path fill="#FFF" d="M12.336 0H32a2 2 0 012 2v37a2 2 0 01-2 2H2a2 2 0 01-2-2V12.386a2 2 0 01.582-1.411L10.92.589A2 2 0 0112.336 0z"/><path fill="#44C400" fill-rule="nonzero" stroke="#44C400" stroke-linecap="round" stroke-linejoin="round" stroke-width=".8" d="M21 15.072a8 8 0 11-11.996 7.187L9 21.999l.004-.259a8 8 0 0111.995-6.668h0zm.804 4.08c-.481-.428-1.245-.47-1.782-.1l-.127.1-4.446 3.95-1.745-1.55-.127-.1c-.537-.37-1.3-.328-1.782.1-.48.427-.529 1.106-.112 1.583l.112.113 2.7 2.4.127.1a1.485 1.485 0 001.655 0l.127-.1 5.4-4.8.112-.113c.417-.477.369-1.156-.112-1.584h0z"/><path fill="#9AABB9" d="M11.505 0L0 11.56h9.505a2 2 0 002-2V0z"/></g></svg>
</div>
<h4 class='text_block__title'>Accessible PDFs</h4>
<div class='text_block__body'>
DocRaptor's automatic tagging and CSS-based tagging features make it easy to create PDF files that meet WCAG 2.0, Section 508, and ISO-14289 accessibility standards.
</div>
</div>
<div class='text_block col-span-12 md:col-span-6 lg:col-span-4'>
<div class='text_block__icon'>
<svg xmlns="http://www.w3.org/2000/svg" width="34" height="41"><g fill="none" fill-rule="evenodd"><path fill="#FFF" d="M12.336 0H32a2 2 0 012 2v37a2 2 0 01-2 2H2a2 2 0 01-2-2V12.386a2 2 0 01.582-1.411L10.92.589A2 2 0 0112.336 0z"/><g stroke-linecap="square" stroke-width="2"><path fill="#D8D8D8" stroke="#D8D8D8" d="M20.875 6.172A1.18 1.18 0 0122.063 5h4.75A1.18 1.18 0 0128 6.172v4.69a1.18 1.18 0 01-1.188 1.172h-4.75a1.18 1.18 0 01-1.187-1.172v-4.69z"/><path stroke="#656565" d="M8 34.414h19"/></g><path fill="#9AABB9" d="M11.505 0L0 11.56h9.505a2 2 0 002-2V0z"/></g></svg>
</div>
<h4 class='text_block__title'>Integrated Headers & Footers</h4>
<div class='text_block__body'>
Use simple CSS and HTML to define repeating (or non-repeating!) headers and footers within your HTML file.
</div>
</div>
<div class='text_block col-span-12 md:col-span-6 lg:col-span-4'>
<div class='text_block__icon'>
<svg xmlns="http://www.w3.org/2000/svg" width="34" height="41"><g fill="none" fill-rule="evenodd"><path fill="#FFF" d="M12.336 0H32a2 2 0 012 2v37a2 2 0 01-2 2H2a2 2 0 01-2-2V12.386a2 2 0 01.582-1.411L10.92.589A2 2 0 0112.336 0z"/><g stroke-linecap="square" stroke-linejoin="bevel" stroke-width="2"><path fill="#D8D8D8" stroke="#D8D8D8" d="M19.875 16.172A1.18 1.18 0 0121.063 15h4.75A1.18 1.18 0 0127 16.172v4.69a1.18 1.18 0 01-1.188 1.172h-4.75a1.18 1.18 0 01-1.187-1.172v-4.69z"/><path stroke="#656565" d="M8 17.345h7.125M8 22.034h7.125M8 26.724h19m-19 4.69h19"/></g><path fill="#9AABB9" d="M11.505 0L0 11.56h9.505a2 2 0 002-2V0z"/></g></svg>
</div>
<h4 class='text_block__title'>Advanced Floats</h4>
<div class='text_block__body'>
Your content, including footnotes, charts, and images, can be floated to the top or bottom of pages or the inside/outside of books with left and right pages.
</div>
</div>
<div class='text_block col-span-12 md:col-span-6 lg:col-span-4'>
<div class='text_block__icon'>
<svg xmlns="http://www.w3.org/2000/svg" width="34" height="41"><g fill="none" fill-rule="evenodd"><path fill="#FFF" d="M12.336 0H32a2 2 0 012 2v37a2 2 0 01-2 2H2a2 2 0 01-2-2V12.386a2 2 0 01.582-1.411L10.92.589A2 2 0 0112.336 0z"/><path d="M7 13h20v20H7z"/><path stroke="#656565" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19.5 23h.008M17 23h.008M14.5 23h.008"/><path stroke="#9AABB9" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 28.833c-.92 0-1.667-.746-1.667-1.666v-3.334L9.5 23l.833-.833v-3.334c0-.92.747-1.666 1.667-1.666m10 11.666c.92 0 1.667-.746 1.667-1.666v-3.334L24.5 23l-.833-.833v-3.334c0-.92-.747-1.666-1.667-1.666"/><path fill="#9AABB9" d="M11.505 0L0 11.56h9.505a2 2 0 002-2V0z"/></g></svg>
</div>
<h4 class='text_block__title'>PDF-Specific JavaScript</h4>
<div class='text_block__body'>
Prince's JavaScript provides advanced PDF scripting opportunities, including direct access to PDF objects and multiple rendering passes.
</div>
</div>
<div class='text_block col-span-12 md:col-span-6 lg:col-span-4 md:col-start-4 lg:col-start-5'>
<div class='text_block__icon'>
<svg xmlns="http://www.w3.org/2000/svg" width="34" height="41"><g fill="none" fill-rule="evenodd"><path fill="#FFF" d="M12.336 0H32a2 2 0 012 2v37a2 2 0 01-2 2H2a2 2 0 01-2-2V12.386a2 2 0 01.582-1.411L10.92.589A2 2 0 0112.336 0z"/><path d="M6 12h22v22H6z"/><path stroke="#D70079" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20.667 28.5c1.012 0 1.833.82 1.833 1.833 0-1.012.82-1.833 1.833-1.833a1.833 1.833 0 01-1.833-1.833c0 1.012-.82 1.833-1.833 1.833zm0-11c1.012 0 1.833.82 1.833 1.833 0-1.012.82-1.833 1.833-1.833a1.833 1.833 0 01-1.833-1.833c0 1.012-.82 1.833-1.833 1.833zm-6.417 11a5.5 5.5 0 015.5-5.5 5.5 5.5 0 01-5.5-5.5 5.5 5.5 0 01-5.5 5.5 5.5 5.5 0 015.5 5.5z"/><path fill="#9AABB9" d="M11.505 0L0 11.56h9.505a2 2 0 002-2V0z"/></g></svg>
</div>
<h4 class='text_block__title'>And more…</h4>
<div class='text_block__body'>
Add crop marks, specify PDF bookmarks, use TIFF images, convert to CMYK, include printer's marks, and more!
</div>
<a class='inline-block mt-2 font-bold text-docraptor-orange' href='/samples'>
See Code Samples

<svg class="icon icon--small" width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1363 877l-742 742q-19 19-45 19t-45-19l-166-166q-19-19-19-45t19-45l531-531-531-531q-19-19-19-45t19-45l166-166q19-19 45-19t45 19l742 742q19 19 19 45t-19 45z"/></svg>
</a>
</div>
</div>
</div>
<div class='container container--gradient pb-24 sm:pb-40'>
<div class='text-3xl sm:text-4xl font-semibold mb-3 sm:text-center'>
Get
<div class='inline-block relative'>
Started
<div class='absolute -left-0 -right-0.5 top-1/2'>
<svg class="w-full" xmlns="http://www.w3.org/2000/svg" width="122.92" height="9.193"><path fill="none" stroke="#1C578D" stroke-width="4" d="M0 7.193c41.294 0 81.748-4.276 122.875-5.193" opacity=".8"/></svg>
</div>
</div>
Finished Fast
</div>
<div class='text-xl sm:text-2xl max-w-2xl mx-auto sm:text-center'>DocRaptor’s HTML-to-PDF API and supporting resources are designed to help developers quickly create a high-quality PDF.</div>
<div class='grid grid-cols-12 gap-dr gap-y-16 mt-12 px-4 sm:px-0'>
<div class='text_block col-span-12 md:col-span-6 lg:col-span-4 lg:col-start-3'>
<div class='text_block__icon md:h-12 flex items-end'>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="232" height="32.102"><defs><linearGradient id="languages_svg__a" x1="3.515%" x2="72.797%" y1="0%" y2="64.11%"><stop offset="0%" stop-color="#5A9FD4"/><stop offset="100%" stop-color="#306998"/></linearGradient><linearGradient id="languages_svg__c" x1="50%" x2="25.585%" y1="82.276%" y2="44.914%"><stop offset="0%" stop-color="#FFD43B"/><stop offset="100%" stop-color="#FFE873"/></linearGradient><linearGradient id="languages_svg__e" x1="49.997%" x2="49.997%" y1="-19.516%" y2="129.625%"><stop offset="0%" stop-color="#0994DC"/><stop offset="35.001%" stop-color="#66CEF5"/><stop offset="35.001%" stop-color="#66CEF5"/><stop offset="84.616%" stop-color="#127BCA"/><stop offset="84.616%" stop-color="#127BCA"/><stop offset="100%" stop-color="#127BCA"/></linearGradient><linearGradient id="languages_svg__f" x1="50.001%" x2="50.001%" y1="-19.516%" y2="129.624%"><stop offset="0%" stop-color="#0E76BC"/><stop offset="36%" stop-color="#36AEE8"/><stop offset="36%" stop-color="#36AEE8"/><stop offset="84.616%" stop-color="#00ADEF"/><stop offset="84.616%" stop-color="#00ADEF"/><stop offset="100%" stop-color="#00ADEF"/></linearGradient><linearGradient id="languages_svg__g" x1="49.999%" x2="49.999%" y1="110.922%" y2="-6.214%"><stop offset="0%" stop-color="#1C63B7"/><stop offset="50%" stop-color="#33BDF2"/><stop offset="100%" stop-color="#33BDF2" stop-opacity=".42"/></linearGradient><linearGradient id="languages_svg__h" x1="50.001%" x2="50.001%" y1="-19.515%" y2="129.627%"><stop offset="0%" stop-color="#166AB8"/><stop offset="39.999%" stop-color="#36AEE8"/><stop offset="39.999%" stop-color="#36AEE8"/><stop offset="84.616%" stop-color="#0798DD"/><stop offset="84.616%" stop-color="#0798DD"/><stop offset="100%" stop-color="#0798DD"/></linearGradient><linearGradient id="languages_svg__i" x1="49.999%" x2="49.999%" y1="-19.521%" y2="129.627%"><stop offset="0%" stop-color="#124379"/><stop offset="39%" stop-color="#1487CB"/><stop offset="39%" stop-color="#1487CB"/><stop offset="78.023%" stop-color="#165197"/><stop offset="78.023%" stop-color="#165197"/><stop offset="100%" stop-color="#165197"/></linearGradient><linearGradient id="languages_svg__j" x1="0%" x2="100%" y1="50.001%" y2="50.001%"><stop offset="0%" stop-color="#33BDF2" stop-opacity=".698"/><stop offset="100%" stop-color="#1DACD8"/></linearGradient><linearGradient id="languages_svg__k" x1="50.01%" x2="50.01%" y1="94.686%" y2="-3.025%"><stop offset="0%" stop-color="#136AB4"/><stop offset="60%" stop-color="#59CAF5" stop-opacity=".549"/><stop offset="100%" stop-color="#59CAF5" stop-opacity=".235"/></linearGradient><linearGradient id="languages_svg__l" x1="-.001%" x2="99.999%" y1="50%" y2="50%"><stop offset="0%" stop-color="#05A1E6" stop-opacity=".247"/><stop offset="100%" stop-color="#05A1E6"/></linearGradient><linearGradient id="languages_svg__m" x1="49.998%" x2="49.998%" y1="124.314%" y2="-9.421%"><stop offset="0%" stop-color="#318ED5"/><stop offset="100%" stop-color="#38A7E4"/></linearGradient><linearGradient id="languages_svg__n" x1="49.999%" x2="49.999%" y1="91.2%" y2="-76.785%"><stop offset="0%" stop-color="#05A1E6"/><stop offset="100%" stop-color="#05A1E6" stop-opacity=".549"/></linearGradient><linearGradient id="languages_svg__o" x1="50%" x2="50%" y1="100.01%" y2=".01%"><stop offset="0%" stop-color="#1959A6"/><stop offset="50%" stop-color="#05A1E6"/><stop offset="50%" stop-color="#05A1E6"/><stop offset="91.759%" stop-color="#7EC5EA"/><stop offset="100%" stop-color="#7EC5EA"/></linearGradient><linearGradient id="languages_svg__p" x1="59.542%" x2="38.78%" y1="94.568%" y2="5.755%"><stop offset="0%" stop-color="#165096"/><stop offset="100%" stop-color="#0D82CA"/></linearGradient><linearGradient id="languages_svg__q" x1="49.995%" x2="49.995%" y1="76.998%" y2="-3.299%"><stop offset="0%" stop-color="#05A1E6"/><stop offset="87.363%" stop-color="#0495D6"/><stop offset="100%" stop-color="#0495D6"/></linearGradient><linearGradient id="languages_svg__r" x1="64.854%" x2="34.684%" y1="-4.161%" y2="105.844%"><stop offset="0%" stop-color="#38A7E4" stop-opacity=".329"/><stop offset="96.153%" stop-color="#0E88D3"/><stop offset="96.153%" stop-color="#0E88D3"/><stop offset="100%" stop-color="#0E88D3"/></linearGradient><linearGradient id="languages_svg__s" x1="50.017%" x2="50.017%" y1="-.296%" y2="101.882%"><stop offset="0%" stop-color="#168CD4"/><stop offset="50%" stop-color="#1C87CC"/><stop offset="100%" stop-color="#154B8D"/></linearGradient><linearGradient id="languages_svg__t" x1="16.674%" x2="87.813%" y1="209.845%" y2="-21.758%"><stop offset="0%" stop-color="#97D6EE"/><stop offset="70.329%" stop-color="#55C1EA"/><stop offset="100%" stop-color="#55C1EA"/></linearGradient><linearGradient id="languages_svg__u" x1="6.89%" x2="75.783%" y1="5.098%" y2="118.608%"><stop offset="0%" stop-color="#7ACCEC"/><stop offset="100%" stop-color="#3FB7ED"/></linearGradient><linearGradient id="languages_svg__v" x1="49.997%" x2="49.997%" y1="6.363%" y2="127.961%"><stop offset="0%" stop-color="#1DA7E7"/><stop offset="100%" stop-color="#37ABE7" stop-opacity="0"/></linearGradient><path id="languages_svg__b" d="M12.845 0a17.446 17.446 0 00-2.997.263c-2.653.482-3.135 1.49-3.135 3.348v2.455h6.271v.819H4.36C2.537 6.885.941 8.01.441 10.15c-.575 2.454-.6 3.985 0 6.547.446 1.907 1.51 3.265 3.333 3.265h2.157V17.02c0-2.127 1.79-4.002 3.917-4.002h6.264c1.744 0 3.136-1.475 3.136-3.273V3.61c0-1.745-1.434-3.057-3.136-3.348A19.055 19.055 0 0012.845 0zM9.454 1.975c.648 0 1.177.552 1.177 1.23 0 .677-.53 1.225-1.177 1.225-.65 0-1.177-.548-1.177-1.224 0-.68.527-1.231 1.177-1.231z"/><path id="languages_svg__d" d="M20.03 6.885v2.86c0 2.217-1.83 4.084-3.918 4.084H9.848c-1.715 0-3.135 1.508-3.135 3.273v6.134c0 1.745 1.478 2.772 3.135 3.273 1.986.6 3.89.708 6.264 0 1.58-.47 3.136-1.415 3.136-3.273V20.78h-6.264v-.819h9.4c1.822 0 2.501-1.305 3.135-3.265.655-2.018.627-3.958 0-6.547-.45-1.863-1.31-3.265-3.135-3.265H20.03zm-3.523 15.532c.65 0 1.177.547 1.177 1.224 0 .679-.527 1.231-1.177 1.231-.648 0-1.177-.552-1.177-1.231 0-.677.53-1.224 1.177-1.224z"/></defs><g fill="none" fill-rule="evenodd"><path fill="#83CD29" d="M137.88 6.165c.383-.22.855-.22 1.238 0l10.262 5.881c.384.22.62.626.62 1.066v11.771c0 .44-.236.846-.62 1.066l-10.261 5.886c-.384.22-.856.22-1.24 0l-10.26-5.886a1.23 1.23 0 01-.619-1.066V13.111c0-.44.236-.845.62-1.065l10.26-5.881"/><g transform="translate(43 5)"><use fill="url(#languages_svg__a)" xlink:href="#languages_svg__b"/><use fill="#306998" xlink:href="#languages_svg__b"/><use fill="url(#languages_svg__c)" xlink:href="#languages_svg__d"/><use fill="#FFD43B" xlink:href="#languages_svg__d"/></g><g transform="translate(82 10)"><ellipse cx="16" cy="8.5" fill="#6C7EB7" rx="16" ry="8.5"/><path fill="#FFF" d="M4.236 13.98l1.753-9.059h4.055c1.753.112 2.63 1.007 2.63 2.572 0 2.685-2.082 4.25-3.945 4.139H6.756l-.438 2.348H4.236zm2.959-4.026l.548-3.355h1.424c.767 0 1.315.335 1.315 1.006-.11 1.902-.986 2.237-1.972 2.349H7.195zm5.737 1.678l1.753-9.06h2.082l-.438 2.35H18.3c1.754.11 2.411 1.006 2.192 2.124l-.767 4.586h-2.192l.767-4.139c.11-.559.11-.894-.657-.894H16l-.986 5.033h-2.082zm7.38 2.348l1.754-9.059h4.054c1.754.112 2.63 1.007 2.63 2.572 0 2.685-2.082 4.25-3.945 4.139h-1.972l-.439 2.348h-2.082zm2.959-4.026l.548-3.355h1.425c.767 0 1.315.335 1.315 1.006-.11 1.902-.987 2.237-1.973 2.349h-1.315z"/></g><path fill="#C73030" d="M5.003 6L0 13.262l14.896 18.84 14.003-18.84-5.145-7.175z"/><path fill="#FFF" opacity=".282" d="M.093 13.36h9.432L5.052 6.213zM10.163 13.341h8.947l-4.474-7.297zM19.328 13.341H29l-5.198-7.297z"/><path fill="#000" opacity=".223" d="M9.864 13.341l5.059 18.643L.234 13.341z"/><path fill="#000" opacity=".223" d="M19.54 13.341l-4.685 18.643 13.878-18.643z"/><g fill-rule="nonzero"><path fill="#3092C4" d="M180.708 10.654a2.587 2.587 0 00-.678-.088l1.502.006c-.273 0-.549.027-.824.082"/><path fill="url(#languages_svg__e)" d="M12.503 3.227c1.298 4.022 1.79 11.197 5.583 11.197.29 0 .58-.03.874-.086-3.449-.815-3.858-7.911-5.962-11.586-.165.152-.329.31-.495.475" transform="translate(164 10)"/><path fill="url(#languages_svg__f)" d="M12.998 2.752c2.104 3.675 2.513 10.771 5.962 11.586.27-.05.542-.126.814-.223-3.095-1.537-3.95-8.428-6.34-11.746-.146.123-.29.25-.436.383" transform="translate(164 10)"/><path fill="#14559A" d="M180.03 10.567c-.288 0-.58.028-.874.085-.768.146-1.548.481-2.334.988.215.215.42.461.611.73.8-.673 1.594-1.17 2.386-1.469.297-.111.593-.195.89-.25a2.706 2.706 0 00-.679-.084"/><path fill="url(#languages_svg__g)" d="M22.191 12.698c.317-.255.634-.537.952-.845-1.318-4.003-1.79-11.28-5.61-11.28-.274 0-.55.025-.825.077 3.48.877 3.926 8.552 5.483 12.048" transform="translate(164 10)"/><path fill="#1969BC" d="M186.124 23.549a5.702 5.702 0 01-.43-.472c-.643.461-1.283.81-1.92 1.038a2.929 2.929 0 001.326.309c.713 0 1.278-.086 1.758-.32a3.344 3.344 0 01-.734-.555"/><path fill="url(#languages_svg__h)" d="M15.818.902c3.118 1.652 3.389 9.136 5.876 12.175.166-.12.331-.246.496-.379C20.634 9.202 20.188 1.527 16.71.65c-.297.056-.594.14-.89.252" transform="translate(164 10)"/><path fill="url(#languages_svg__i)" d="M13.433 2.37c2.39 3.317 3.246 10.208 6.341 11.745.637-.227 1.277-.577 1.92-1.038-2.487-3.04-2.758-10.523-5.876-12.175-.79.298-1.585.795-2.385 1.467" transform="translate(164 10)"/><path fill="url(#languages_svg__j)" d="M10.974 3.13c-.374.86-.757 1.988-1.22 3.46.92-1.313 1.838-2.445 2.75-3.363-.126-.391-.261-.752-.406-1.074-.373.29-.75.616-1.124.978" transform="translate(164 10)"/><path fill="#2B74B1" d="M176.43 11.906c-.11.08-.22.161-.332.248.145.321.28.682.405 1.073.166-.164.33-.323.495-.475a6.659 6.659 0 00-.568-.846"/><path fill="#125A9E" d="M176.822 11.64c-.13.084-.261.173-.392.266.203.254.391.538.568.847.145-.134.29-.262.436-.384a5.85 5.85 0 00-.612-.729"/><path fill="url(#languages_svg__k)" d="M34.083.26c-1.763 6.892-5.445 12.427-8.532 13.823h-.006l-.166.072-.02.008-.048.018c-.008.005-.015.006-.022.009-.026.01-.051.017-.077.028l-.031.011a.383.383 0 01-.039.013l-.037.013c-.01.004-.022.006-.033.011l-.066.02c-.009 0-.018.005-.027.008l-.045.012c-.01.005-.02.006-.03.009a.96.96 0 01-.049.012c-.02.005-.04.01-.059.013.14.053.285.079.442.079 2.927 0 5.879-5.318 10.762-14.16h-1.917V.26z" transform="translate(164 10)"/><path fill="url(#languages_svg__l)" d="M9.119.846c.002 0 .004-.004.005-.004.002 0 .006 0 .007-.005h.004l.047-.018c.004 0 .007 0 .01-.005.004 0 .008-.005.012-.005l.05-.019h.003c.04-.011.075-.026.113-.04.005 0 .01-.004.016-.004.016-.005.032-.011.049-.015.007-.004.015-.004.022-.007L9.505.71c.007 0 .014-.005.019-.005.054-.015.107-.03.16-.043.008 0 .015-.004.023-.005a.304.304 0 01.047-.01c.007-.004.015-.004.023-.006.015-.005.03-.005.047-.01h.011l.098-.018h.02c.015-.004.03-.005.045-.008.008 0 .017-.004.025-.004.015 0 .03-.005.044-.007.007 0 .015 0 .024-.005.034-.004.069-.006.105-.009a3.209 3.209 0 00-.312-.016c-3.296 0-7.838 6.2-9.884 14.23h.394a116.79 116.79 0 001.781-3.355C3.608 5.75 6.527 1.873 9.12.845" transform="translate(164 10)"/><path fill="#0D82CA" d="M174.974 13.13c.375-.361.75-.687 1.124-.977a5.403 5.403 0 00-.268-.524c-.302.371-.577.86-.856 1.502"/><path fill="#0D82CA" d="M175.245 10.893c.216.183.408.435.585.737a2.64 2.64 0 01.17-.193 3.305 3.305 0 00-.755-.544"/><path fill="url(#languages_svg__m)" d="M2.175 11.44C5.181 5.567 6.605 1.851 9.119.845 6.527 1.874 3.608 5.753 2.175 11.439" transform="translate(164 10)"/><path fill="#127BCA" d="M176 11.436c-.058.06-.114.124-.17.194.094.16.182.334.268.524.111-.087.222-.168.332-.248a4.552 4.552 0 00-.43-.47"/><path fill="url(#languages_svg__n)" d="M3.54 14.767c-.019.005-.038.005-.055.007h-.01c-.016 0-.032.005-.047.005h-.007c-.038.004-.075.004-.11.007h-.012c3.042-.086 4.433-1.63 5.123-3.87.524-1.697.955-3.127 1.333-4.328C8.48 8.407 7.2 10.574 5.913 13.002c-.62 1.17-1.564 1.659-2.373 1.763" transform="translate(164 10)"/><path fill="url(#languages_svg__o)" d="M3.54 14.766c.809-.104 1.753-.592 2.373-1.763C7.2 10.575 8.481 8.408 9.754 6.59c.463-1.474.845-2.602 1.22-3.46C8.437 5.577 5.89 9.648 3.54 14.764" transform="translate(164 10)"/><path fill="#05A1E6" d="M166.175 21.44a116.672 116.672 0 01-1.781 3.354h1.147a28.76 28.76 0 01.634-3.354"/><path fill="url(#languages_svg__p)" d="M10.09.592c-.009 0-.016.005-.024.005-.014.005-.028.005-.043.006-.008 0-.017 0-.025.005-.016.005-.03.005-.045.008-.007 0-.014 0-.02.005l-.098.017h-.011a.38.38 0 01-.047.01c-.009.004-.017.004-.024.006-.016.005-.031.006-.047.01-.008.004-.014.004-.022.004a5.107 5.107 0 00-.16.043c-.006 0-.012.004-.019.005a2.8 2.8 0 00-.049.015c-.007.004-.015.004-.022.006l-.048.015c-.006 0-.011.004-.017.004-.037.015-.074.029-.112.04l-.05.018c-.008.005-.014.006-.022.01-.016.004-.033.01-.048.017-.005.005-.011.005-.015.008C6.608 1.854 5.184 5.57 2.178 11.442a28.635 28.635 0 00-.634 3.354h.16c.454 0 .582-.005 1.104-.005h.505c.036-.004.073-.004.11-.007h.008c.015 0 .031-.005.046-.005h.011c.017 0 .036-.005.054-.007 2.35-5.116 4.898-9.187 7.435-11.635.28-.641.554-1.13.855-1.5a2.835 2.835 0 00-.584-.738s-.006 0-.006-.005c-.012-.005-.024-.01-.036-.017l-.035-.018a.381.381 0 01-.035-.017c-.015-.005-.027-.011-.04-.018L11.064.81a1.345 1.345 0 01-.067-.028l-.028-.01a.938.938 0 01-.05-.02c-.008-.005-.017-.006-.027-.01l-.069-.024h-.005c-.027-.009-.053-.015-.08-.023-.007-.004-.012-.004-.018-.005l-.067-.02c-.006 0-.011-.004-.016-.004a2.35 2.35 0 00-.167-.037c-.006 0-.012-.005-.018-.005a.976.976 0 00-.072-.012c-.006-.004-.01-.004-.014-.004a1.904 1.904 0 00-.086-.012h-.015c-.023-.004-.045-.005-.066-.007l-.106.01" transform="translate(164 10)"/><path fill="url(#languages_svg__q)" d="M27.197 4.075c-.578 1.878-1.047 3.428-1.454 4.702C27.33 6.564 28.893 3.78 30.38.565c-1.736.553-2.662 1.819-3.184 3.51" transform="translate(164 10)"/><path fill="url(#languages_svg__r)" d="M25.793 13.965a4.956 4.956 0 01-.242.118c3.087-1.396 6.77-6.931 8.532-13.823h-.357c-4.05 7.334-5.353 12.244-7.933 13.705" transform="translate(164 10)"/><path fill="#079AE1" d="M187.777 23.349c.672-.83 1.22-2.243 1.966-4.572-.861 1.2-1.729 2.231-2.597 3.072 0 .005 0 .005-.004.008.19.575.397 1.082.634 1.492"/><path fill="#1969BC" d="M187.777 23.349c-.228.283-.47.498-.74.658-.058.035-.118.067-.179.097.284.156.595.26.942.301.05.006.101.01.154.014h.01c.023 0 .048 0 .073.005h.252c.009 0 .019 0 .028-.005.018 0 .037 0 .055-.005h.027c.02 0 .04-.004.061-.006h.005c.006 0 .012-.005.018-.005.021-.005.044-.007.064-.01h.02l.072-.012h.011c.049-.01.096-.019.144-.031-.398-.148-.731-.496-1.019-.993"/><path fill="#1E5CB3" d="M182.086 24.424c.29 0 .581-.029.874-.086.27-.05.542-.126.815-.222a2.934 2.934 0 001.325.308h-3.014z"/><path fill="#1E5CB3" d="M185.1 24.424c.713 0 1.278-.086 1.758-.32.284.156.595.26.942.301.051.006.101.01.154.014h.01c.023 0 .048 0 .073.005h.087-3.026.002z"/><path fill="#1D60B5" d="M188.126 24.428h.165c.01 0 .019 0 .028-.005.018 0 .037 0 .056-.005H188.403c.019 0 .04-.005.06-.007h.004c.006 0 .012-.005.018-.005.022-.005.044-.007.065-.01.007 0 .012 0 .02-.005l.072-.013h.012c.048-.01.096-.02.144-.032.14.055.285.083.441.083l-1.112.004-.001-.005z"/><path fill="#175FAB" d="M187.144 21.857v-.005c-.318.308-.635.59-.952.846-.166.133-.33.26-.497.378.14.17.281.328.43.472.227.223.47.41.734.556a2.757 2.757 0 00.92-.755c-.237-.41-.445-.918-.634-1.493"/><path fill="url(#languages_svg__s)" d="M32.595.26H30.797c-.097.005-.192.008-.285.014-.044.096-.09.192-.133.288-1.488 3.214-3.051 5.998-4.638 8.212-.746 2.328-1.294 3.74-1.966 4.572.287.496.622.845 1.019.993.011-.005.02-.005.03-.007h.007c.007 0 .015-.005.022-.005.017-.004.034-.007.05-.012.01-.005.02-.005.03-.009l.044-.012c.01-.004.019-.006.028-.008l.066-.02a.191.191 0 01.033-.011c.013-.005.026-.008.037-.014.013-.004.027-.007.038-.012.01-.005.022-.007.032-.012l.077-.027c.007 0 .014-.007.022-.008.015-.007.031-.012.047-.02.006-.004.013-.004.02-.007.055-.023.11-.046.167-.072h.006c.08-.036.16-.076.241-.117 2.58-1.462 3.883-6.371 7.934-13.705h-1.132.002z" transform="translate(164 10)"/><path fill="#7DCBEC" d="M174.196 10.583c.006 0 .012 0 .018.004.016 0 .032 0 .047.005h.016c.028.005.057.007.086.012a1.767 1.767 0 00.087.017c.005 0 .012.004.017.004.056.011.113.023.167.038.005 0 .01.004.015.004l.067.02c.007 0 .012.004.019.005.027.007.053.014.08.023 0 0 .002 0 .005.005l.07.024.026.009.05.02c.01 0 .018.007.028.01.022.01.044.02.066.028l.033.015a.284.284 0 00.04.017l.035.017.035.018c.287.143.552.334.797.565a2.6 2.6 0 01.282-.26 3.082 3.082 0 00-2.086-.593"/><path fill="#5EC5ED" d="M176 11.436c.15.142.294.3.43.47.131-.093.261-.182.392-.265a4.156 4.156 0 00-.54-.465 2.54 2.54 0 00-.282.26"/><path fill="url(#languages_svg__t)" d="M.311.9A3.086 3.086 0 002.398.305c.565.451 1.248.61 2.197.61H0C.106.915.21.908.311.898" transform="matrix(1 0 0 -1 173.884 11.482)"/><path fill="url(#languages_svg__u)" d="M2.197 1.147C1.248 1.147.565.99 0 .537A4.19 4.19 0 00.54.074c.786.507 1.566.843 2.334.99.293.056.585.084.874.084h-1.55z" transform="matrix(1 0 0 -1 176.282 11.714)"/><path fill="url(#languages_svg__v)" d="M25.743 8.779c.408-1.276.875-2.825 1.455-4.704.522-1.692 1.447-2.957 3.183-3.51.046-.094.089-.191.134-.287-2.83.172-4.154 1.631-4.82 3.793-1.164 3.773-1.87 6.22-2.548 7.778.867-.84 1.734-1.872 2.596-3.07" transform="translate(164 10)"/></g><g fill="#E76F00"><path d="M221.964 25.396c2.708 2.95-.712 5.604-.712 5.604s6.874-3.358 3.716-7.564c-2.947-3.921-5.21-5.87 7.032-12.588 0 0-19.212 4.545-10.036 14.55"/><path d="M224.968 0s5.833 5.52-5.529 14.008c-9.11 6.812-2.077 10.694-.003 15.13-5.316-4.54-9.218-8.539-6.6-12.26 3.842-5.461 14.486-8.11 12.132-16.878"/></g></g></svg>
</div>
<h4 class='text_block__title'>Libraries & Example Code</h4>
<div class='text_block__body'>
Easy-to-use libraries and code examples are available in every major programming language, including
<a class="link" href="/documentation/dotnet">C#</a>,
<a class="link" href="/documentation/java">Java</a>,
<a class="link" href="/documentation/jquery">JavaScript</a>,
<a class="link" href="/documentation/jquery">jQuery</a>,
<a class="link" href="/documentation/dotnet">.NET</a>,
<a class="link" href="/documentation/node">Node</a>,
<a class="link" href="/documentation/php">PHP</a>,
<a class="link" href="/documentation/python">Python</a>,
<a class="link" href="/documentation/ruby">Rails</a>,
<a class="link" href="/documentation/ruby">Ruby</a>,
and more.
</div>
</div>
<div class='text_block col-span-12 md:col-span-6 lg:col-span-4'>
<div class='text_block__icon md:h-12 flex items-end'>
<svg xmlns="http://www.w3.org/2000/svg" width="37" height="44"><g fill="none" fill-rule="evenodd"><path fill="#FFF" d="M13.409 0H34.84A2.16 2.16 0 0137 2.16v39.68A2.16 2.16 0 0134.84 44H2.16A2.16 2.16 0 010 41.84V13.306c0-.576.23-1.128.64-1.534L11.889.626c.404-.401.95-.626 1.52-.626z"/><path fill="#9AABB9" d="M12.52 0L0 12.406h10.36a2.16 2.16 0 002.16-2.16V0z"/><path stroke="#154E8C" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.4" d="M15.346 22.465a4.81 4.81 0 00-5.328-1.084C8.191 22.154 7 23.978 7 26s1.191 3.846 3.018 4.62a4.81 4.81 0 005.328-1.085A12.471 12.471 0 0018 26a12.471 12.471 0 012.654-3.535 4.81 4.81 0 015.328-1.084C27.809 22.154 29 23.978 29 26s-1.191 3.846-3.018 4.62a4.81 4.81 0 01-5.328-1.085A12.471 12.471 0 0118 26a12.471 12.471 0 00-2.654-3.535"/></g></svg>
</div>
<h4 class='text_block__title'>Free Test Documents</h4>
<div class='text_block__body'>
Every account includes unlimited watermarked test documents. Test your document content and styling as much as you need, without worrying about extra charges.
</div>
</div>
<div class='text_block col-span-12 md:col-span-6 lg:col-span-4 lg:col-start-3'>
<div class='text_block__icon md:h-12 flex items-end'>
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="29"><g fill="none" fill-rule="evenodd"><path fill="#282922" d="M0 3.625C0 1.623 1.592 0 3.556 0h24.888C30.408 0 32 1.623 32 3.625v21.75C32 27.377 30.408 29 28.444 29H3.556C1.592 29 0 27.377 0 25.375V3.625Z"/><path stroke="#FFF" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.4" d="m8.889 9.063 5.333 5.437-5.333 5.438m8.889 0h5.333"/></g></svg>
</div>
<h4 class='text_block__title'>No-Signup Required</h4>
<div class='text_block__body'>
Our <a class="link" href="/try_it_out">demo</a> lets you try the API without signing up, and all of our HTML-to-PDF source code examples include our public and free test-mode key, <code>YOUR_API_KEY_HERE</code>.
</div>
</div>
<div class='text_block col-span-12 md:col-span-6 lg:col-span-4'>
<div class='text_block__icon md:h-12 flex items-end'>
<svg xmlns="http://www.w3.org/2000/svg" width="40" height="45"><path fill="#154E8C" fill-rule="evenodd" d="M0 31.5h12V45H0zM14 17h12v28H14zM28 0h12v45H28z"/></svg>
</div>
<h4 class='text_block__title'>Instant Scalability</h4>
<div class='text_block__body'>
DocRaptor infrastructure is ready to handle any throughput or size requirements. We have no limits on document input or output size; and all documents cost the same, regardless of their size or generation time.
</div>
</div>
<div class='text_block col-span-12 md:col-span-6 lg:col-span-4 lg:col-start-3'>
<div class='text_block__icon md:h-12 flex items-end'>
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="48"><g fill="none" fill-rule="evenodd"><path fill="#1C578D" d="M32 37v7.857h-.098C31.017 46.626 24.235 48 16 48S.983 46.625.098 44.858H0V37h32Z"/><ellipse cx="16" cy="36.5" fill="#5690C6" rx="16" ry="3.5"/><path fill="#1C578D" d="M32 26v7.857h-.098C31.017 35.626 24.235 37 16 37S.983 35.625.098 33.858H0V26h32Z"/><ellipse cx="16" cy="25.5" fill="#5690C6" rx="16" ry="3.5"/><path fill="#1C578D" d="M32 15v7.857h-.098C31.017 24.626 24.235 26 16 26S.983 24.625.098 22.858H0V15h32Z"/><ellipse cx="16" cy="14.5" fill="#5690C6" rx="16" ry="3.5"/><path fill="#1C578D" d="M32 4v7.857h-.098C31.017 13.626 24.235 15 16 15S.983 13.625.098 11.858H0V4h32Z"/><ellipse cx="16" cy="3.5" fill="#5690C6" rx="16" ry="3.5"/></g></svg>
</div>
<h4 class='text_block__title'>Document Hosting</h4>
<div class='text_block__body'>
DocRaptor can <a class="link" href="/document-hosting">host your PDFs</a> at an unbranded URL, which you can provide to your end-users or input to third-party tools like Zapier and Salesforce.
</div>
</div>
<div class='text_block col-span-12 md:col-span-6 lg:col-span-4'>
<div class='text_block__icon md:h-12 flex items-end'>
<svg xmlns="http://www.w3.org/2000/svg" width="48" height="35"><g fill="none" fill-rule="evenodd"><path fill="#154E8C" d="M21.308 0C23.899 0 26 2.1 26 4.692v11.656c0 2.591-2.1 4.692-4.692 4.692h-9.304L6.486 26v-4.96H4.692A4.692 4.692 0 010 16.348V4.692C0 2.101 2.1 0 4.692 0h16.616zm-8.22 13.452c-.21 0-.409.038-.596.114a1.46 1.46 0 00-.81.802 1.517 1.517 0 00-.117.59 1.517 1.517 0 00.439 1.071c.138.136.3.243.488.32.187.076.386.114.595.114.21 0 .409-.038.596-.115a1.46 1.46 0 00.81-.802 1.5 1.5 0 00.117-.589 1.517 1.517 0 00-.439-1.072 1.48 1.48 0 00-.488-.319 1.564 1.564 0 00-.596-.114zm.215-8.968c-1.159 0-2.107.303-2.846.908-.74.606-1.17 1.487-1.29 2.643l2.547.164c.033-.404.185-.748.455-1.031.27-.284.665-.426 1.183-.426.342 0 .626.101.852.303.226.202.34.483.34.843a.995.995 0 01-.158.532c-.105.169-.25.349-.438.54-.188.19-.411.395-.67.613-.26.218-.544.475-.852.77-.21.196-.359.409-.447.638a2.331 2.331 0 00-.132.834v.72h2.481v-.474c0-.186.044-.371.133-.557.088-.185.259-.376.513-.572.397-.306.725-.587.984-.843.26-.257.469-.51.629-.761.16-.251.273-.505.339-.761.066-.257.1-.543.1-.86 0-.523-.1-.987-.299-1.39a2.938 2.938 0 00-.81-1.015 3.528 3.528 0 00-1.183-.614 4.877 4.877 0 00-1.431-.204z"/><path fill="#44C400" d="M43.308 9C45.899 9 48 11.1 48 13.692v11.656c0 2.591-2.1 4.692-4.692 4.692h-8.471V35l-5.518-4.96h-2.627a4.692 4.692 0 01-4.687-4.477L22 25.348V13.692C22 11.101 24.1 9 26.692 9zm-8.22 13.452c-.21 0-.409.038-.596.114a1.46 1.46 0 00-.81.802 1.517 1.517 0 00-.117.59 1.517 1.517 0 00.439 1.071c.138.136.3.243.488.32.187.076.386.114.595.114.21 0 .409-.038.596-.115a1.46 1.46 0 00.81-.802 1.5 1.5 0 00.117-.589 1.517 1.517 0 00-.439-1.072 1.48 1.48 0 00-.488-.319 1.564 1.564 0 00-.596-.114zm.215-8.968c-1.159 0-2.107.303-2.846.908-.74.606-1.17 1.487-1.29 2.643l2.547.164c.033-.404.185-.748.455-1.031.27-.284.665-.426 1.183-.426.342 0 .626.101.852.303.226.202.34.483.34.843a.995.995 0 01-.158.532c-.105.169-.25.349-.438.54-.188.19-.411.395-.67.613-.26.218-.544.475-.852.77-.21.196-.359.409-.447.638a2.331 2.331 0 00-.132.834v.72h2.481v-.474c0-.186.044-.371.133-.557.088-.185.259-.376.513-.572.397-.306.725-.587.984-.843.26-.257.469-.51.629-.761.16-.251.273-.505.339-.761.066-.257.1-.543.1-.86 0-.523-.1-.987-.299-1.39a2.938 2.938 0 00-.81-1.015 3.528 3.528 0 00-1.183-.614 4.877 4.877 0 00-1.431-.204z"/></g></svg>
</div>
<h4 class='text_block__title'>Professional Support</h4>
<div class='text_block__body'>
High-quality PDFs can be surprisingly tricky to develop. Our support team has years of experience helping to create the perfect PDF and only an email or chat away.
</div>
</div>
</div>
<div class='text-center mt-8'>
<a class='inline-block mt-2 font-bold text-docraptor-orange' href='/try_it_out'>
See Example Code

<svg class="icon icon--small" width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1363 877l-742 742q-19 19-45 19t-45-19l-166-166q-19-19-19-45t19-45l531-531-531-531q-19-19-19-45t19-45l166-166q19-19 45-19t45 19l742 742q19 19 19 45t-19 45z"/></svg>
</a>
</div>
<div class='grid grid-cols-12 gap-dr mt-24 sm:mt-40 -mx-6 sm:mx-0'>
<div class='col-span-12 lg:col-span-6 bg-white lg:rounded-xl p-8'>
<div class='flex gap-3 sm:gap-dr'>
<div class='flex-shrink-0 flex-grow-0 relative sm:w-36'>
<svg class="sm:hidden w-10" xmlns="http://www.w3.org/2000/svg" width="39" height="74"><g fill="none"><path fill="#E10000" d="M10.912 29.553h17.772L32.606 74l-12.808-7.237L6.194 74z"/><path fill="#FFB000" d="M39 19.464a6.691 6.691 0 00-4.35-6.264 6.682 6.682 0 00-1.364-7.496 6.712 6.712 0 00-7.51-1.362A6.703 6.703 0 0019.5 0a6.703 6.703 0 00-6.276 4.342 6.712 6.712 0 00-7.51 1.362A6.682 6.682 0 004.35 13.2 6.692 6.692 0 000 19.465a6.692 6.692 0 004.35 6.265 6.682 6.682 0 001.364 7.495 6.712 6.712 0 007.51 1.362A6.703 6.703 0 0019.5 38.93a6.703 6.703 0 006.277-4.342 6.712 6.712 0 007.51-1.362 6.682 6.682 0 001.364-7.495A6.692 6.692 0 0039 19.464zM27.97 16.1l-9.978 9.885a.839.839 0 01-1.185-.005l-5.767-5.803a.835.835 0 01.004-1.183l1.982-1.962a.839.839 0 011.184.005l3.21 3.23 7.405-7.33a.839.839 0 011.184.004l1.968 1.977a.835.835 0 01-.007 1.182z"/><path fill="#FFF" d="M28.045 16.175l-9.978 9.885a.839.839 0 01-1.185-.006l-5.767-5.804a.835.835 0 01.005-1.182l1.98-1.962a.839.839 0 011.187.005l3.209 3.231 7.404-7.33a.839.839 0 011.185.003l1.967 1.977a.835.835 0 01-.005 1.183h-.002z"/></g></svg>
<svg class="hidden absolute sm:block h-full w-auto sm:h-auto sm:bottom-0" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="305.786" height="262.2"><defs><path id="b" d="M29.425 0h98.392l-20.876 21.301L0 22.037z"/><path id="c" d="m.509 21.779 106.877-.792v25.741H.509z"/><path id="d" d="M98.098 24.074h3.608v19.259h-3.608z"/><path id="e" d="M6.706 24.074h3.608v19.259H6.706z"/><path id="f" d="M107.099 20.909 127.744 0v25.741l-20.645 21.044z"/><path id="g" d="M29.425 0h98.392l-20.876 21.301L0 22.037z"/><path id="h" d="m.509 21.779 106.877-.792v25.741H.509z"/><path id="i" d="M98.098 24.074h3.608v19.259h-3.608z"/><path id="j" d="M6.706 24.074h3.608v19.259H6.706z"/><path id="k" d="M107.099 20.909 127.744 0v25.741l-20.645 21.044z"/><path id="l" d="M29.425 0h98.392l-20.876 21.301L0 22.037z"/><path id="m" d="m.509 21.779 106.877-.792v25.741H.509z"/><path id="n" d="M98.098 24.074h3.608v19.259h-3.608z"/><path id="o" d="M6.706 24.074h3.608v19.259H6.706z"/><path id="p" d="M107.099 20.909 127.744 0v25.741l-20.645 21.044z"/><path id="q" d="M29.425 0h98.392l-20.876 21.301L0 22.037z"/><path id="r" d="m.509 21.779 106.877-.792v25.741H.509z"/><path id="s" d="M98.098 24.074h3.608v19.259h-3.608z"/><path id="t" d="M6.706 24.074h3.608v19.259H6.706z"/><path id="u" d="M107.099 20.909 127.744 0v25.741l-20.645 21.044z"/><path id="v" d="M29.425 0h98.392l-20.876 21.301L0 22.037z"/><path id="w" d="m.509 21.779 106.877-.792v25.741H.509z"/><path id="x" d="M98.098 24.074h3.608v19.259h-3.608z"/><path id="y" d="M6.706 24.074h3.608v19.259H6.706z"/><path id="z" d="M107.099 20.909 127.744 0v25.741l-20.645 21.044z"/><path id="A" d="M29.425 0h98.392l-20.876 21.301L0 22.037z"/><path id="B" d="m.509 21.779 106.877-.792v25.741H.509z"/><path id="C" d="M98.098 24.074h3.608v19.259h-3.608z"/><path id="D" d="M6.706 24.074h3.608v19.259H6.706z"/><path id="E" d="M107.099 20.909 127.744 0v25.741l-20.645 21.044z"/><path id="F" d="M29.425 0h98.392l-20.876 21.301L0 22.037z"/><path id="G" d="m.509 21.779 106.877-.792v25.741H.509z"/><path id="H" d="M98.098 24.074h3.608v19.259h-3.608z"/><path id="I" d="M6.706 24.074h3.608v19.259H6.706z"/><path id="J" d="M107.099 20.909 127.744 0v25.741l-20.645 21.044z"/><path id="K" d="M29.425 0h98.392l-20.876 21.301L0 22.037z"/><path id="L" d="m.509 21.779 106.877-.792v25.741H.509z"/><path id="M" d="M98.098 24.074h3.608v19.259h-3.608z"/><path id="N" d="M6.706 24.074h3.608v19.259H6.706z"/><path id="O" d="M107.099 20.909 127.744 0v25.741l-20.645 21.044z"/><filter id="a" width="104.9%" height="152.2%" x="-2.5%" y="-26.1%" filterUnits="objectBoundingBox"><feGaussianBlur in="SourceGraphic" stdDeviation="2.4"/></filter></defs><g fill="none" fill-rule="evenodd"><path fill="#DEDEDE" d="M293 230.637 242.119 255 1.614 251.174l75.185-23.74z" filter="url(#a)" opacity=".2" transform="translate(5.586)"/><g transform="translate(6.095 207.61)"><path fill="#6A6A6A" stroke="#2A2A2A" stroke-width="1.2" d="m126.389.6-19.702 20.102-104.868.722L29.625.6h96.764Z"/><path fill="#000" d="M46.532 4.815h46.613a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.601H44.127a.318.318 0 0 1-.143-.601 5.691 5.691 0 0 1 2.548-.602zm-2.405 2.407H90.74a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H41.721a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.548-.602zM41.72 9.63h46.614a.318.318 0 0 1 .143.601 5.691 5.691 0 0 1-2.548.602H39.316a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.601zm-2.405 2.407H85.93a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H36.911a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602zm-2.405 2.407h46.614a.318.318 0 0 1 .142.602 5.691 5.691 0 0 1-2.547.602H34.506a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602z"/><path fill="#474747" stroke="#2A2A2A" stroke-width="1.2" d="M106.787 21.592v24.536H1.109V22.374l105.678-.782Z"/><path fill="#000" d="M98.098 24.074h3.608v19.259h-3.608zm-91.392 0h3.608v19.259H6.706z"/><path fill="#383838" stroke="#2A2A2A" stroke-width="1.2" d="M127.144 1.462v24.033L107.7 45.317V21.155l19.445-19.693Z"/><ellipse cx="18.13" cy="34.305" fill="#D8D8D8" stroke="#262626" stroke-width="1.2" rx="3.006" ry="3.009"/><ellipse cx="28.352" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="31.959" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="35.567" cy="34.907" fill="#EFDD00" rx="1.203" ry="1.204"/><path fill="#333" d="M19.333 34.398c0-.352-.176-.676-.481-.887a.21.21 0 0 0-.28.036.176.176 0 0 0 .039.26.719.719 0 0 1 .32.59c0 .409-.36.742-.8.742-.442 0-.803-.333-.803-.741a.72.72 0 0 1 .321-.592.176.176 0 0 0 .04-.259.21.21 0 0 0-.28-.036 1.072 1.072 0 0 0-.481.887c0 .612.54 1.11 1.202 1.11.662 0 1.203-.498 1.203-1.11Zm-1.002-1.111c0-.102-.091-.185-.2-.185-.11 0-.201.083-.201.185v.926c0 .1.09.185.2.185.11 0 .2-.084.2-.185v-.926Z"/><use xlink:href="#b" fill="#5690C6"/><use xlink:href="#b" fill="#6A6A6A"/><path fill="#000" d="M46.532 4.815h46.613a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.601H44.127a.318.318 0 0 1-.143-.601 5.691 5.691 0 0 1 2.548-.602zm-2.405 2.407H90.74a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H41.721a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.548-.602zM41.72 9.63h46.614a.318.318 0 0 1 .143.601 5.691 5.691 0 0 1-2.548.602H39.316a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.601zm-2.405 2.407H85.93a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H36.911a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602zm-2.405 2.407h46.614a.318.318 0 0 1 .142.602 5.691 5.691 0 0 1-2.547.602H34.506a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602z"/><use xlink:href="#c" fill="#3877B1"/><use xlink:href="#c" fill="#474747"/><path fill="#FFF" d="m47.556 29.302 9.66 3.102-.041.215.083.029.326-2.337 2.425.314.656 2.6-1.025 1.102.629.976-.297 1.283-.445-.872-.864.479-2.092-.364-.174.928-1.527 1.552 1.849 1.354h-3.182l-.022-3.867-1.68.317.338 2.399-2.38-2.013 2.306-2.932-4.543-4.265Zm12.057-.46 2.302 1.47v.56l-4.331-.56 2.03-1.47Z"/><use xlink:href="#d" fill="#154068"/><use xlink:href="#d" fill="#000"/><use xlink:href="#e" fill="#154068"/><use xlink:href="#e" fill="#000"/><use xlink:href="#f" fill="#1C578D"/><use xlink:href="#f" fill="#151515"/><ellipse cx="18.13" cy="34.305" fill="#D8D8D8" stroke="#154068" stroke-width="1.2" rx="3.006" ry="3.009"/><ellipse cx="28.352" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="31.959" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="35.567" cy="34.907" fill="#EFDD00" rx="1.203" ry="1.204"/><path fill="#333" d="M19.333 34.398c0-.352-.176-.676-.481-.887a.21.21 0 0 0-.28.036.176.176 0 0 0 .039.26.719.719 0 0 1 .32.59c0 .409-.36.742-.8.742-.442 0-.803-.333-.803-.741a.72.72 0 0 1 .321-.592.176.176 0 0 0 .04-.259.21.21 0 0 0-.28-.036 1.072 1.072 0 0 0-.481.887c0 .612.54 1.11 1.202 1.11.662 0 1.203-.498 1.203-1.11Zm-1.002-1.111c0-.102-.091-.185-.2-.185-.11 0-.201.083-.201.185v.926c0 .1.09.185.2.185.11 0 .2-.084.2-.185v-.926Z"/></g><g transform="translate(6.095 183.536)"><path fill="#6A6A6A" stroke="#2A2A2A" stroke-width="1.2" d="m126.389.6-19.702 20.102-104.868.722L29.625.6h96.764Z"/><path fill="#000" d="M46.532 4.815h46.613a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.601H44.127a.318.318 0 0 1-.143-.601 5.691 5.691 0 0 1 2.548-.602zm-2.405 2.407H90.74a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H41.721a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.548-.602zM41.72 9.63h46.614a.318.318 0 0 1 .143.601 5.691 5.691 0 0 1-2.548.602H39.316a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.601zm-2.405 2.407H85.93a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H36.911a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602zm-2.405 2.407h46.614a.318.318 0 0 1 .142.602 5.691 5.691 0 0 1-2.547.602H34.506a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602z"/><path fill="#474747" stroke="#2A2A2A" stroke-width="1.2" d="M106.787 21.592v24.536H1.109V22.374l105.678-.782Z"/><path fill="#000" d="M98.098 24.074h3.608v19.259h-3.608zm-91.392 0h3.608v19.259H6.706z"/><path fill="#383838" stroke="#2A2A2A" stroke-width="1.2" d="M127.144 1.462v24.033L107.7 45.317V21.155l19.445-19.693Z"/><ellipse cx="18.13" cy="34.305" fill="#D8D8D8" stroke="#262626" stroke-width="1.2" rx="3.006" ry="3.009"/><ellipse cx="28.352" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="31.959" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="35.567" cy="34.907" fill="#EFDD00" rx="1.203" ry="1.204"/><path fill="#333" d="M19.333 34.398c0-.352-.176-.676-.481-.887a.21.21 0 0 0-.28.036.176.176 0 0 0 .039.26.719.719 0 0 1 .32.59c0 .409-.36.742-.8.742-.442 0-.803-.333-.803-.741a.72.72 0 0 1 .321-.592.176.176 0 0 0 .04-.259.21.21 0 0 0-.28-.036 1.072 1.072 0 0 0-.481.887c0 .612.54 1.11 1.202 1.11.662 0 1.203-.498 1.203-1.11Zm-1.002-1.111c0-.102-.091-.185-.2-.185-.11 0-.201.083-.201.185v.926c0 .1.09.185.2.185.11 0 .2-.084.2-.185v-.926Z"/><use xlink:href="#g" fill="#5690C6"/><use xlink:href="#g" fill="#6A6A6A"/><path fill="#000" d="M46.532 4.815h46.613a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.601H44.127a.318.318 0 0 1-.143-.601 5.691 5.691 0 0 1 2.548-.602zm-2.405 2.407H90.74a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H41.721a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.548-.602zM41.72 9.63h46.614a.318.318 0 0 1 .143.601 5.691 5.691 0 0 1-2.548.602H39.316a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.601zm-2.405 2.407H85.93a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H36.911a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602zm-2.405 2.407h46.614a.318.318 0 0 1 .142.602 5.691 5.691 0 0 1-2.547.602H34.506a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602z"/><use xlink:href="#h" fill="#3877B1"/><use xlink:href="#h" fill="#474747"/><path fill="#FFF" d="m47.556 29.302 9.66 3.102-.041.215.083.029.326-2.337 2.425.314.656 2.6-1.025 1.102.629.976-.297 1.283-.445-.872-.864.479-2.092-.364-.174.928-1.527 1.552 1.849 1.354h-3.182l-.022-3.867-1.68.317.338 2.399-2.38-2.013 2.306-2.932-4.543-4.265Zm12.057-.46 2.302 1.47v.56l-4.331-.56 2.03-1.47Z"/><use xlink:href="#i" fill="#154068"/><use xlink:href="#i" fill="#000"/><use xlink:href="#j" fill="#154068"/><use xlink:href="#j" fill="#000"/><use xlink:href="#k" fill="#1C578D"/><use xlink:href="#k" fill="#151515"/><ellipse cx="18.13" cy="34.305" fill="#D8D8D8" stroke="#154068" stroke-width="1.2" rx="3.006" ry="3.009"/><ellipse cx="28.352" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="31.959" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="35.567" cy="34.907" fill="#EFDD00" rx="1.203" ry="1.204"/><path fill="#333" d="M19.333 34.398c0-.352-.176-.676-.481-.887a.21.21 0 0 0-.28.036.176.176 0 0 0 .039.26.719.719 0 0 1 .32.59c0 .409-.36.742-.8.742-.442 0-.803-.333-.803-.741a.72.72 0 0 1 .321-.592.176.176 0 0 0 .04-.259.21.21 0 0 0-.28-.036 1.072 1.072 0 0 0-.481.887c0 .612.54 1.11 1.202 1.11.662 0 1.203-.498 1.203-1.11Zm-1.002-1.111c0-.102-.091-.185-.2-.185-.11 0-.201.083-.201.185v.926c0 .1.09.185.2.185.11 0 .2-.084.2-.185v-.926Z"/></g><g transform="translate(6.095 159.462)"><path fill="#6A6A6A" stroke="#2A2A2A" stroke-width="1.2" d="m126.389.6-19.702 20.102-104.868.722L29.625.6h96.764Z"/><path fill="#000" d="M46.532 4.815h46.613a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.601H44.127a.318.318 0 0 1-.143-.601 5.691 5.691 0 0 1 2.548-.602zm-2.405 2.407H90.74a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H41.721a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.548-.602zM41.72 9.63h46.614a.318.318 0 0 1 .143.601 5.691 5.691 0 0 1-2.548.602H39.316a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.601zm-2.405 2.407H85.93a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H36.911a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602zm-2.405 2.407h46.614a.318.318 0 0 1 .142.602 5.691 5.691 0 0 1-2.547.602H34.506a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602z"/><path fill="#474747" stroke="#2A2A2A" stroke-width="1.2" d="M106.787 21.592v24.536H1.109V22.374l105.678-.782Z"/><path fill="#000" d="M98.098 24.074h3.608v19.259h-3.608zm-91.392 0h3.608v19.259H6.706z"/><path fill="#383838" stroke="#2A2A2A" stroke-width="1.2" d="M127.144 1.462v24.033L107.7 45.317V21.155l19.445-19.693Z"/><ellipse cx="18.13" cy="34.305" fill="#D8D8D8" stroke="#262626" stroke-width="1.2" rx="3.006" ry="3.009"/><ellipse cx="28.352" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="31.959" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="35.567" cy="34.907" fill="#EFDD00" rx="1.203" ry="1.204"/><path fill="#333" d="M19.333 34.398c0-.352-.176-.676-.481-.887a.21.21 0 0 0-.28.036.176.176 0 0 0 .039.26.719.719 0 0 1 .32.59c0 .409-.36.742-.8.742-.442 0-.803-.333-.803-.741a.72.72 0 0 1 .321-.592.176.176 0 0 0 .04-.259.21.21 0 0 0-.28-.036 1.072 1.072 0 0 0-.481.887c0 .612.54 1.11 1.202 1.11.662 0 1.203-.498 1.203-1.11Zm-1.002-1.111c0-.102-.091-.185-.2-.185-.11 0-.201.083-.201.185v.926c0 .1.09.185.2.185.11 0 .2-.084.2-.185v-.926Z"/><use xlink:href="#l" fill="#5690C6"/><use xlink:href="#l" fill="#6A6A6A"/><path fill="#000" d="M46.532 4.815h46.613a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.601H44.127a.318.318 0 0 1-.143-.601 5.691 5.691 0 0 1 2.548-.602zm-2.405 2.407H90.74a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H41.721a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.548-.602zM41.72 9.63h46.614a.318.318 0 0 1 .143.601 5.691 5.691 0 0 1-2.548.602H39.316a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.601zm-2.405 2.407H85.93a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H36.911a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602zm-2.405 2.407h46.614a.318.318 0 0 1 .142.602 5.691 5.691 0 0 1-2.547.602H34.506a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602z"/><use xlink:href="#m" fill="#3877B1"/><use xlink:href="#m" fill="#474747"/><path fill="#FFF" d="m47.556 29.302 9.66 3.102-.041.215.083.029.326-2.337 2.425.314.656 2.6-1.025 1.102.629.976-.297 1.283-.445-.872-.864.479-2.092-.364-.174.928-1.527 1.552 1.849 1.354h-3.182l-.022-3.867-1.68.317.338 2.399-2.38-2.013 2.306-2.932-4.543-4.265Zm12.057-.46 2.302 1.47v.56l-4.331-.56 2.03-1.47Z"/><use xlink:href="#n" fill="#154068"/><use xlink:href="#n" fill="#000"/><use xlink:href="#o" fill="#154068"/><use xlink:href="#o" fill="#000"/><use xlink:href="#p" fill="#1C578D"/><use xlink:href="#p" fill="#151515"/><ellipse cx="18.13" cy="34.305" fill="#D8D8D8" stroke="#154068" stroke-width="1.2" rx="3.006" ry="3.009"/><ellipse cx="28.352" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="31.959" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="35.567" cy="34.907" fill="#EFDD00" rx="1.203" ry="1.204"/><path fill="#333" d="M19.333 34.398c0-.352-.176-.676-.481-.887a.21.21 0 0 0-.28.036.176.176 0 0 0 .039.26.719.719 0 0 1 .32.59c0 .409-.36.742-.8.742-.442 0-.803-.333-.803-.741a.72.72 0 0 1 .321-.592.176.176 0 0 0 .04-.259.21.21 0 0 0-.28-.036 1.072 1.072 0 0 0-.481.887c0 .612.54 1.11 1.202 1.11.662 0 1.203-.498 1.203-1.11Zm-1.002-1.111c0-.102-.091-.185-.2-.185-.11 0-.201.083-.201.185v.926c0 .1.09.185.2.185.11 0 .2-.084.2-.185v-.926Z"/></g><g transform="translate(6.095 134.588)"><path fill="#6A6A6A" stroke="#2A2A2A" stroke-width="1.2" d="m126.389.6-19.702 20.102-104.868.722L29.625.6h96.764Z"/><path fill="#000" d="M46.532 4.815h46.613a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.601H44.127a.318.318 0 0 1-.143-.601 5.691 5.691 0 0 1 2.548-.602zm-2.405 2.407H90.74a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H41.721a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.548-.602zM41.72 9.63h46.614a.318.318 0 0 1 .143.601 5.691 5.691 0 0 1-2.548.602H39.316a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.601zm-2.405 2.407H85.93a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H36.911a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602zm-2.405 2.407h46.614a.318.318 0 0 1 .142.602 5.691 5.691 0 0 1-2.547.602H34.506a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602z"/><path fill="#474747" stroke="#2A2A2A" stroke-width="1.2" d="M106.787 21.592v24.536H1.109V22.374l105.678-.782Z"/><path fill="#000" d="M98.098 24.074h3.608v19.259h-3.608zm-91.392 0h3.608v19.259H6.706z"/><path fill="#383838" stroke="#2A2A2A" stroke-width="1.2" d="M127.144 1.462v24.033L107.7 45.317V21.155l19.445-19.693Z"/><ellipse cx="18.13" cy="34.305" fill="#D8D8D8" stroke="#262626" stroke-width="1.2" rx="3.006" ry="3.009"/><ellipse cx="28.352" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="31.959" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="35.567" cy="34.907" fill="#EFDD00" rx="1.203" ry="1.204"/><path fill="#333" d="M19.333 34.398c0-.352-.176-.676-.481-.887a.21.21 0 0 0-.28.036.176.176 0 0 0 .039.26.719.719 0 0 1 .32.59c0 .409-.36.742-.8.742-.442 0-.803-.333-.803-.741a.72.72 0 0 1 .321-.592.176.176 0 0 0 .04-.259.21.21 0 0 0-.28-.036 1.072 1.072 0 0 0-.481.887c0 .612.54 1.11 1.202 1.11.662 0 1.203-.498 1.203-1.11Zm-1.002-1.111c0-.102-.091-.185-.2-.185-.11 0-.201.083-.201.185v.926c0 .1.09.185.2.185.11 0 .2-.084.2-.185v-.926Z"/><use xlink:href="#q" fill="#5690C6"/><use xlink:href="#q" fill="#6A6A6A"/><path fill="#000" d="M46.532 4.815h46.613a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.601H44.127a.318.318 0 0 1-.143-.601 5.691 5.691 0 0 1 2.548-.602zm-2.405 2.407H90.74a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H41.721a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.548-.602zM41.72 9.63h46.614a.318.318 0 0 1 .143.601 5.691 5.691 0 0 1-2.548.602H39.316a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.601zm-2.405 2.407H85.93a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H36.911a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602zm-2.405 2.407h46.614a.318.318 0 0 1 .142.602 5.691 5.691 0 0 1-2.547.602H34.506a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602z"/><use xlink:href="#r" fill="#3877B1"/><use xlink:href="#r" fill="#474747"/><path fill="#FFF" d="m47.556 29.302 9.66 3.102-.041.215.083.029.326-2.337 2.425.314.656 2.6-1.025 1.102.629.976-.297 1.283-.445-.872-.864.479-2.092-.364-.174.928-1.527 1.552 1.849 1.354h-3.182l-.022-3.867-1.68.317.338 2.399-2.38-2.013 2.306-2.932-4.543-4.265Zm12.057-.46 2.302 1.47v.56l-4.331-.56 2.03-1.47Z"/><use xlink:href="#s" fill="#154068"/><use xlink:href="#s" fill="#000"/><use xlink:href="#t" fill="#154068"/><use xlink:href="#t" fill="#000"/><use xlink:href="#u" fill="#1C578D"/><use xlink:href="#u" fill="#151515"/><ellipse cx="18.13" cy="34.305" fill="#D8D8D8" stroke="#154068" stroke-width="1.2" rx="3.006" ry="3.009"/><ellipse cx="28.352" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="31.959" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="35.567" cy="34.907" fill="#EFDD00" rx="1.203" ry="1.204"/><path fill="#333" d="M19.333 34.398c0-.352-.176-.676-.481-.887a.21.21 0 0 0-.28.036.176.176 0 0 0 .039.26.719.719 0 0 1 .32.59c0 .409-.36.742-.8.742-.442 0-.803-.333-.803-.741a.72.72 0 0 1 .321-.592.176.176 0 0 0 .04-.259.21.21 0 0 0-.28-.036 1.072 1.072 0 0 0-.481.887c0 .612.54 1.11 1.202 1.11.662 0 1.203-.498 1.203-1.11Zm-1.002-1.111c0-.102-.091-.185-.2-.185-.11 0-.201.083-.201.185v.926c0 .1.09.185.2.185.11 0 .2-.084.2-.185v-.926Z"/></g><g transform="translate(6.095 109.713)"><path fill="#6A6A6A" stroke="#2A2A2A" stroke-width="1.2" d="m126.389.6-19.702 20.102-104.868.722L29.625.6h96.764Z"/><path fill="#000" d="M46.532 4.815h46.613a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.601H44.127a.318.318 0 0 1-.143-.601 5.691 5.691 0 0 1 2.548-.602zm-2.405 2.407H90.74a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H41.721a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.548-.602zM41.72 9.63h46.614a.318.318 0 0 1 .143.601 5.691 5.691 0 0 1-2.548.602H39.316a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.601zm-2.405 2.407H85.93a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H36.911a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602zm-2.405 2.407h46.614a.318.318 0 0 1 .142.602 5.691 5.691 0 0 1-2.547.602H34.506a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602z"/><path fill="#474747" stroke="#2A2A2A" stroke-width="1.2" d="M106.787 21.592v24.536H1.109V22.374l105.678-.782Z"/><path fill="#000" d="M98.098 24.074h3.608v19.259h-3.608zm-91.392 0h3.608v19.259H6.706z"/><path fill="#383838" stroke="#2A2A2A" stroke-width="1.2" d="M127.144 1.462v24.033L107.7 45.317V21.155l19.445-19.693Z"/><ellipse cx="18.13" cy="34.305" fill="#D8D8D8" stroke="#262626" stroke-width="1.2" rx="3.006" ry="3.009"/><ellipse cx="28.352" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="31.959" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="35.567" cy="34.907" fill="#EFDD00" rx="1.203" ry="1.204"/><path fill="#333" d="M19.333 34.398c0-.352-.176-.676-.481-.887a.21.21 0 0 0-.28.036.176.176 0 0 0 .039.26.719.719 0 0 1 .32.59c0 .409-.36.742-.8.742-.442 0-.803-.333-.803-.741a.72.72 0 0 1 .321-.592.176.176 0 0 0 .04-.259.21.21 0 0 0-.28-.036 1.072 1.072 0 0 0-.481.887c0 .612.54 1.11 1.202 1.11.662 0 1.203-.498 1.203-1.11Zm-1.002-1.111c0-.102-.091-.185-.2-.185-.11 0-.201.083-.201.185v.926c0 .1.09.185.2.185.11 0 .2-.084.2-.185v-.926Z"/><use xlink:href="#v" fill="#5690C6"/><use xlink:href="#v" fill="#6A6A6A"/><path fill="#000" d="M46.532 4.815h46.613a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.601H44.127a.318.318 0 0 1-.143-.601 5.691 5.691 0 0 1 2.548-.602zm-2.405 2.407H90.74a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H41.721a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.548-.602zM41.72 9.63h46.614a.318.318 0 0 1 .143.601 5.691 5.691 0 0 1-2.548.602H39.316a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.601zm-2.405 2.407H85.93a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H36.911a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602zm-2.405 2.407h46.614a.318.318 0 0 1 .142.602 5.691 5.691 0 0 1-2.547.602H34.506a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602z"/><use xlink:href="#w" fill="#3877B1"/><use xlink:href="#w" fill="#474747"/><path fill="#FFF" d="m47.556 29.302 9.66 3.102-.041.215.083.029.326-2.337 2.425.314.656 2.6-1.025 1.102.629.976-.297 1.283-.445-.872-.864.479-2.092-.364-.174.928-1.527 1.552 1.849 1.354h-3.182l-.022-3.867-1.68.317.338 2.399-2.38-2.013 2.306-2.932-4.543-4.265Zm12.057-.46 2.302 1.47v.56l-4.331-.56 2.03-1.47Z"/><use xlink:href="#x" fill="#154068"/><use xlink:href="#x" fill="#000"/><use xlink:href="#y" fill="#154068"/><use xlink:href="#y" fill="#000"/><use xlink:href="#z" fill="#1C578D"/><use xlink:href="#z" fill="#151515"/><ellipse cx="18.13" cy="34.305" fill="#D8D8D8" stroke="#154068" stroke-width="1.2" rx="3.006" ry="3.009"/><ellipse cx="28.352" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="31.959" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="35.567" cy="34.907" fill="#EFDD00" rx="1.203" ry="1.204"/><path fill="#333" d="M19.333 34.398c0-.352-.176-.676-.481-.887a.21.21 0 0 0-.28.036.176.176 0 0 0 .039.26.719.719 0 0 1 .32.59c0 .409-.36.742-.8.742-.442 0-.803-.333-.803-.741a.72.72 0 0 1 .321-.592.176.176 0 0 0 .04-.259.21.21 0 0 0-.28-.036 1.072 1.072 0 0 0-.481.887c0 .612.54 1.11 1.202 1.11.662 0 1.203-.498 1.203-1.11Zm-1.002-1.111c0-.102-.091-.185-.2-.185-.11 0-.201.083-.201.185v.926c0 .1.09.185.2.185.11 0 .2-.084.2-.185v-.926Z"/></g><g transform="translate(6.095 79.282)"><path fill="#6A6A6A" stroke="#2A2A2A" stroke-width="1.2" d="m126.389.6-19.702 20.102-104.868.722L29.625.6h96.764Z"/><path fill="#000" d="M46.532 4.815h46.613a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.601H44.127a.318.318 0 0 1-.143-.601 5.691 5.691 0 0 1 2.548-.602zm-2.405 2.407H90.74a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H41.721a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.548-.602zM41.72 9.63h46.614a.318.318 0 0 1 .143.601 5.691 5.691 0 0 1-2.548.602H39.316a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.601zm-2.405 2.407H85.93a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H36.911a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602zm-2.405 2.407h46.614a.318.318 0 0 1 .142.602 5.691 5.691 0 0 1-2.547.602H34.506a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602z"/><path fill="#474747" stroke="#2A2A2A" stroke-width="1.2" d="M106.787 21.592v24.536H1.109V22.374l105.678-.782Z"/><path fill="#000" d="M98.098 24.074h3.608v19.259h-3.608zm-91.392 0h3.608v19.259H6.706z"/><path fill="#383838" stroke="#2A2A2A" stroke-width="1.2" d="M127.144 1.462v24.033L107.7 45.317V21.155l19.445-19.693Z"/><ellipse cx="18.13" cy="34.305" fill="#D8D8D8" stroke="#262626" stroke-width="1.2" rx="3.006" ry="3.009"/><ellipse cx="28.352" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="31.959" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="35.567" cy="34.907" fill="#EFDD00" rx="1.203" ry="1.204"/><path fill="#333" d="M19.333 34.398c0-.352-.176-.676-.481-.887a.21.21 0 0 0-.28.036.176.176 0 0 0 .039.26.719.719 0 0 1 .32.59c0 .409-.36.742-.8.742-.442 0-.803-.333-.803-.741a.72.72 0 0 1 .321-.592.176.176 0 0 0 .04-.259.21.21 0 0 0-.28-.036 1.072 1.072 0 0 0-.481.887c0 .612.54 1.11 1.202 1.11.662 0 1.203-.498 1.203-1.11Zm-1.002-1.111c0-.102-.091-.185-.2-.185-.11 0-.201.083-.201.185v.926c0 .1.09.185.2.185.11 0 .2-.084.2-.185v-.926Z"/><use xlink:href="#A" fill="#5690C6"/><use xlink:href="#A" fill="#6A6A6A"/><path fill="#000" d="M46.532 4.815h46.613a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.601H44.127a.318.318 0 0 1-.143-.601 5.691 5.691 0 0 1 2.548-.602zm-2.405 2.407H90.74a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H41.721a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.548-.602zM41.72 9.63h46.614a.318.318 0 0 1 .143.601 5.691 5.691 0 0 1-2.548.602H39.316a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.601zm-2.405 2.407H85.93a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H36.911a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602zm-2.405 2.407h46.614a.318.318 0 0 1 .142.602 5.691 5.691 0 0 1-2.547.602H34.506a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602z"/><use xlink:href="#B" fill="#3877B1"/><use xlink:href="#B" fill="#474747"/><path fill="#FFF" d="m47.556 29.302 9.66 3.102-.041.215.083.029.326-2.337 2.425.314.656 2.6-1.025 1.102.629.976-.297 1.283-.445-.872-.864.479-2.092-.364-.174.928-1.527 1.552 1.849 1.354h-3.182l-.022-3.867-1.68.317.338 2.399-2.38-2.013 2.306-2.932-4.543-4.265Zm12.057-.46 2.302 1.47v.56l-4.331-.56 2.03-1.47Z"/><use xlink:href="#C" fill="#154068"/><use xlink:href="#C" fill="#000"/><use xlink:href="#D" fill="#154068"/><use xlink:href="#D" fill="#000"/><use xlink:href="#E" fill="#1C578D"/><use xlink:href="#E" fill="#151515"/><ellipse cx="18.13" cy="34.305" fill="#D8D8D8" stroke="#154068" stroke-width="1.2" rx="3.006" ry="3.009"/><ellipse cx="28.352" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="31.959" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="35.567" cy="34.907" fill="#EFDD00" rx="1.203" ry="1.204"/><path fill="#333" d="M19.333 34.398c0-.352-.176-.676-.481-.887a.21.21 0 0 0-.28.036.176.176 0 0 0 .039.26.719.719 0 0 1 .32.59c0 .409-.36.742-.8.742-.442 0-.803-.333-.803-.741a.72.72 0 0 1 .321-.592.176.176 0 0 0 .04-.259.21.21 0 0 0-.28-.036 1.072 1.072 0 0 0-.481.887c0 .612.54 1.11 1.202 1.11.662 0 1.203-.498 1.203-1.11Zm-1.002-1.111c0-.102-.091-.185-.2-.185-.11 0-.201.083-.201.185v.926c0 .1.09.185.2.185.11 0 .2-.084.2-.185v-.926Z"/></g><g transform="translate(6.095 45.647)"><path fill="#6A6A6A" stroke="#2A2A2A" stroke-width="1.2" d="m126.389.6-19.702 20.102-104.868.722L29.625.6h96.764Z"/><path fill="#000" d="M46.532 4.815h46.613a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.601H44.127a.318.318 0 0 1-.143-.601 5.691 5.691 0 0 1 2.548-.602zm-2.405 2.407H90.74a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H41.721a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.548-.602zM41.72 9.63h46.614a.318.318 0 0 1 .143.601 5.691 5.691 0 0 1-2.548.602H39.316a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.601zm-2.405 2.407H85.93a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H36.911a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602zm-2.405 2.407h46.614a.318.318 0 0 1 .142.602 5.691 5.691 0 0 1-2.547.602H34.506a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602z"/><path fill="#474747" stroke="#2A2A2A" stroke-width="1.2" d="M106.787 21.592v24.536H1.109V22.374l105.678-.782Z"/><path fill="#000" d="M98.098 24.074h3.608v19.259h-3.608zm-91.392 0h3.608v19.259H6.706z"/><path fill="#383838" stroke="#2A2A2A" stroke-width="1.2" d="M127.144 1.462v24.033L107.7 45.317V21.155l19.445-19.693Z"/><ellipse cx="18.13" cy="34.305" fill="#D8D8D8" stroke="#262626" stroke-width="1.2" rx="3.006" ry="3.009"/><ellipse cx="28.352" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="31.959" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="35.567" cy="34.907" fill="#EFDD00" rx="1.203" ry="1.204"/><path fill="#333" d="M19.333 34.398c0-.352-.176-.676-.481-.887a.21.21 0 0 0-.28.036.176.176 0 0 0 .039.26.719.719 0 0 1 .32.59c0 .409-.36.742-.8.742-.442 0-.803-.333-.803-.741a.72.72 0 0 1 .321-.592.176.176 0 0 0 .04-.259.21.21 0 0 0-.28-.036 1.072 1.072 0 0 0-.481.887c0 .612.54 1.11 1.202 1.11.662 0 1.203-.498 1.203-1.11Zm-1.002-1.111c0-.102-.091-.185-.2-.185-.11 0-.201.083-.201.185v.926c0 .1.09.185.2.185.11 0 .2-.084.2-.185v-.926Z"/><use xlink:href="#F" fill="#5690C6"/><use xlink:href="#F" fill="#6A6A6A"/><path fill="#000" d="M46.532 4.815h46.613a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.601H44.127a.318.318 0 0 1-.143-.601 5.691 5.691 0 0 1 2.548-.602zm-2.405 2.407H90.74a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H41.721a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.548-.602zM41.72 9.63h46.614a.318.318 0 0 1 .143.601 5.691 5.691 0 0 1-2.548.602H39.316a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.601zm-2.405 2.407H85.93a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H36.911a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602zm-2.405 2.407h46.614a.318.318 0 0 1 .142.602 5.691 5.691 0 0 1-2.547.602H34.506a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602z"/><use xlink:href="#G" fill="#3877B1"/><use xlink:href="#G" fill="#474747"/><path fill="#FFF" d="m47.556 29.302 9.66 3.102-.041.215.083.029.326-2.337 2.425.314.656 2.6-1.025 1.102.629.976-.297 1.283-.445-.872-.864.479-2.092-.364-.174.928-1.527 1.552 1.849 1.354h-3.182l-.022-3.867-1.68.317.338 2.399-2.38-2.013 2.306-2.932-4.543-4.265Zm12.057-.46 2.302 1.47v.56l-4.331-.56 2.03-1.47Z"/><use xlink:href="#H" fill="#154068"/><use xlink:href="#H" fill="#000"/><use xlink:href="#I" fill="#154068"/><use xlink:href="#I" fill="#000"/><use xlink:href="#J" fill="#1C578D"/><use xlink:href="#J" fill="#151515"/><ellipse cx="18.13" cy="34.305" fill="#D8D8D8" stroke="#154068" stroke-width="1.2" rx="3.006" ry="3.009"/><ellipse cx="28.352" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="31.959" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="35.567" cy="34.907" fill="#EFDD00" rx="1.203" ry="1.204"/><path fill="#333" d="M19.333 34.398c0-.352-.176-.676-.481-.887a.21.21 0 0 0-.28.036.176.176 0 0 0 .039.26.719.719 0 0 1 .32.59c0 .409-.36.742-.8.742-.442 0-.803-.333-.803-.741a.72.72 0 0 1 .321-.592.176.176 0 0 0 .04-.259.21.21 0 0 0-.28-.036 1.072 1.072 0 0 0-.481.887c0 .612.54 1.11 1.202 1.11.662 0 1.203-.498 1.203-1.11Zm-1.002-1.111c0-.102-.091-.185-.2-.185-.11 0-.201.083-.201.185v.926c0 .1.09.185.2.185.11 0 .2-.084.2-.185v-.926Z"/></g><g transform="translate(6.095)"><path fill="#6A6A6A" stroke="#2A2A2A" stroke-width="1.2" d="m126.389.6-19.702 20.102-104.868.722L29.625.6h96.764Z"/><path fill="#000" d="M46.532 4.815h46.613a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.601H44.127a.318.318 0 0 1-.143-.601 5.691 5.691 0 0 1 2.548-.602zm-2.405 2.407H90.74a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H41.721a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.548-.602zM41.72 9.63h46.614a.318.318 0 0 1 .143.601 5.691 5.691 0 0 1-2.548.602H39.316a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.601zm-2.405 2.407H85.93a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H36.911a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602zm-2.405 2.407h46.614a.318.318 0 0 1 .142.602 5.691 5.691 0 0 1-2.547.602H34.506a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602z"/><path fill="#474747" stroke="#2A2A2A" stroke-width="1.2" d="M106.787 21.592v24.536H1.109V22.374l105.678-.782Z"/><path fill="#000" d="M98.098 24.074h3.608v19.259h-3.608zm-91.392 0h3.608v19.259H6.706z"/><path fill="#383838" stroke="#2A2A2A" stroke-width="1.2" d="M127.144 1.462v24.033L107.7 45.317V21.155l19.445-19.693Z"/><ellipse cx="18.13" cy="34.305" fill="#D8D8D8" stroke="#262626" stroke-width="1.2" rx="3.006" ry="3.009"/><ellipse cx="28.352" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="31.959" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="35.567" cy="34.907" fill="#EFDD00" rx="1.203" ry="1.204"/><path fill="#333" d="M19.333 34.398c0-.352-.176-.676-.481-.887a.21.21 0 0 0-.28.036.176.176 0 0 0 .039.26.719.719 0 0 1 .32.59c0 .409-.36.742-.8.742-.442 0-.803-.333-.803-.741a.72.72 0 0 1 .321-.592.176.176 0 0 0 .04-.259.21.21 0 0 0-.28-.036 1.072 1.072 0 0 0-.481.887c0 .612.54 1.11 1.202 1.11.662 0 1.203-.498 1.203-1.11Zm-1.002-1.111c0-.102-.091-.185-.2-.185-.11 0-.201.083-.201.185v.926c0 .1.09.185.2.185.11 0 .2-.084.2-.185v-.926Z"/><use xlink:href="#K" fill="#5690C6"/><use xlink:href="#K" fill="#6A6A6A"/><path fill="#000" d="M46.532 4.815h46.613a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.601H44.127a.318.318 0 0 1-.143-.601 5.691 5.691 0 0 1 2.548-.602zm-2.405 2.407H90.74a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H41.721a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.548-.602zM41.72 9.63h46.614a.318.318 0 0 1 .143.601 5.691 5.691 0 0 1-2.548.602H39.316a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.601zm-2.405 2.407H85.93a.318.318 0 0 1 .143.602 5.691 5.691 0 0 1-2.548.602H36.911a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602zm-2.405 2.407h46.614a.318.318 0 0 1 .142.602 5.691 5.691 0 0 1-2.547.602H34.506a.318.318 0 0 1-.142-.602 5.691 5.691 0 0 1 2.547-.602z"/><use xlink:href="#L" fill="#3877B1"/><use xlink:href="#L" fill="#474747"/><path fill="#FFF" d="m47.556 29.302 9.66 3.102-.041.215.083.029.326-2.337 2.425.314.656 2.6-1.025 1.102.629.976-.297 1.283-.445-.872-.864.479-2.092-.364-.174.928-1.527 1.552 1.849 1.354h-3.182l-.022-3.867-1.68.317.338 2.399-2.38-2.013 2.306-2.932-4.543-4.265Zm12.057-.46 2.302 1.47v.56l-4.331-.56 2.03-1.47Z"/><use xlink:href="#M" fill="#154068"/><use xlink:href="#M" fill="#000"/><use xlink:href="#N" fill="#154068"/><use xlink:href="#N" fill="#000"/><use xlink:href="#O" fill="#1C578D"/><use xlink:href="#O" fill="#151515"/><ellipse cx="18.13" cy="34.305" fill="#D8D8D8" stroke="#154068" stroke-width="1.2" rx="3.006" ry="3.009"/><ellipse cx="28.352" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="31.959" cy="34.907" fill="#5BAF00" rx="1.203" ry="1.204"/><ellipse cx="35.567" cy="34.907" fill="#EFDD00" rx="1.203" ry="1.204"/><path fill="#333" d="M19.333 34.398c0-.352-.176-.676-.481-.887a.21.21 0 0 0-.28.036.176.176 0 0 0 .039.26.719.719 0 0 1 .32.59c0 .409-.36.742-.8.742-.442 0-.803-.333-.803-.741a.72.72 0 0 1 .321-.592.176.176 0 0 0 .04-.259.21.21 0 0 0-.28-.036 1.072 1.072 0 0 0-.481.887c0 .612.54 1.11 1.202 1.11.662 0 1.203-.498 1.203-1.11Zm-1.002-1.111c0-.102-.091-.185-.2-.185-.11 0-.201.083-.201.185v.926c0 .1.09.185.2.185.11 0 .2-.084.2-.185v-.926Z"/></g></g></svg>
</div>
<div>
<div class='uppercase text-xs font-bold'>Trust &amp; Reliability</div>
<div class='mb-2 text-xl sm:text-28px font-semibold'>99.99% Uptime Guaranteed</div>
For over a decade, our high-scale infrastructure has been the trusted PDF generator for organizations like Shopify, Wiley, HubSpot, Square, Accenture, and thousands more.
</div>
</div>
</div>
<div class='col-span-12 lg:col-span-6 bg-white lg:rounded-xl p-8 relative'>
<svg class="absolute top-6 right-6 h-12 sm:h-auto xxs-only:hidden" xmlns="http://www.w3.org/2000/svg" width="81" height="57.535"><g fill="none" fill-rule="evenodd"><path fill="#B7CADA" d="M67.03 54.198C74.744 54.198 81 46.2 81 38.423s-6.255-14.081-13.97-14.081h-3.992C64.623 17.229 61.9 9.886 55.9 5.082c-6-4.8-14.37-6.336-21.954-4.023-7.584 2.313-13.232 8.123-14.816 15.236-8.778-.354-16.585 5.335-18.625 13.57-2.044 8.236 2.251 18.407 10.242 21.92"/><path fill="#2E4F6B" stroke="#2E4F6B" stroke-linecap="round" stroke-linejoin="round" stroke-width="5.07" d="M25.893 41.733a3.31 3.31 0 013.305-3.317h19.828a3.31 3.31 0 013.305 3.317v9.95A3.31 3.31 0 0149.026 55H29.198a3.31 3.31 0 01-3.305-3.317v-9.95z"/><path stroke="#BACDDE" stroke-linecap="round" stroke-linejoin="round" stroke-width="3.833" d="M37.125 45.918c0 1.04.756 1.882 1.688 1.882.931 0 1.687-.843 1.687-1.882 0-1.04-.756-1.882-1.688-1.882-.931 0-1.687.843-1.687 1.882m1.688 1.882v4.705"/><path stroke="#2E4F6B" stroke-linecap="round" stroke-linejoin="round" stroke-width="5.07" d="M32.503 38.416v-6.634c0-3.663 2.959-6.633 6.609-6.633s6.61 2.97 6.61 6.633v6.634"/></g></svg>
<div class='uppercase text-xs font-bold'>Trust &amp; Reliability</div>
<div class='mb-2 text-xl sm:text-28px font-semibold'>Encrypted In Transit and At Rest</div>
PDF document input and output are encrypted during transit and when not in use by the conversion processes. We care deeply about maintaining the privacy of your information.
</div>
<div class='col-span-12 bg-white lg:rounded-xl p-8 flex justify-center items-center gap-dr md:gap-7'>
<div class='flex flex-col md:flex-row gap-3 md:gap-dr w-fit'>
<svg class="h-10 w-10 md:h-auto md:w-auto" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="65" height="65"><defs><path id="shield-lock_svg__a" d="M32.124.023L32.495 0l.384.023.192.026.198.042.362.11c.25.092.486.215.706.364l.338.267.83.708A35.824 35.824 0 0058.9 9.786l1.113-.033a3.254 3.254 0 013.27 2.33 42.202 42.202 0 01-3.78 32.746 42.297 42.297 0 01-26.184 20.067 3.258 3.258 0 01-1.633 0A42.297 42.297 0 015.499 44.83a42.202 42.202 0 01-3.782-32.747 3.254 3.254 0 013.27-2.33A35.825 35.825 0 0029.496 1.54l.856-.73.312-.245c.22-.15.457-.272.706-.364l.365-.11a3.16 3.16 0 01.387-.068h.003z"/></defs><g fill="none" fill-rule="evenodd"><mask id="shield-lock_svg__b" fill="#fff"><use xlink:href="#shield-lock_svg__a"/></mask><use fill="#1B8DCC" fill-rule="nonzero" xlink:href="#shield-lock_svg__a"/><path fill="#FFF" mask="url(#shield-lock_svg__b)" opacity=".3" d="M31.901-5.3h64.883v118.8H31.901z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="6.48" d="M28.837 29.6c0 1.767 1.345 3.2 3.004 3.2s3.003-1.433 3.003-3.2c0-1.767-1.344-3.2-3.003-3.2-1.66 0-3.004 1.433-3.004 3.2m3.004 3.2v8" mask="url(#shield-lock_svg__b)"/></g></svg>
<svg class="h-10 w-10 md:h-auto md:w-auto" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="65" height="65"><defs><path id="shield-asterisk_svg__a" d="M32.124.023L32.495 0l.384.023.192.026.198.042.362.11c.25.092.486.215.706.364l.338.267.83.708A35.824 35.824 0 0058.9 9.786l1.113-.033a3.254 3.254 0 013.27 2.33 42.202 42.202 0 01-3.78 32.746 42.297 42.297 0 01-26.184 20.067 3.258 3.258 0 01-1.633 0A42.297 42.297 0 015.499 44.83a42.202 42.202 0 01-3.782-32.747 3.254 3.254 0 013.27-2.33A35.825 35.825 0 0029.496 1.54l.856-.73.312-.245c.22-.15.457-.272.706-.364l.365-.11a3.16 3.16 0 01.387-.068h.003z"/></defs><g fill="none" fill-rule="evenodd"><mask id="shield-asterisk_svg__b" fill="#fff"><use xlink:href="#shield-asterisk_svg__a"/></mask><use fill="#2778B0" fill-rule="nonzero" xlink:href="#shield-asterisk_svg__a"/><path fill="#FFF" mask="url(#shield-asterisk_svg__b)" opacity=".3" d="M33.102-5.3h64.883v118.8H33.102z"/><path fill="#FFF" fill-rule="nonzero" d="M30.816 18.707c-1.53.113-2.712 1.366-2.711 2.873v4.036L24.547 23.6c-1.402-.795-3.195-.323-4.004 1.054l-1.466 2.494-.107.199a2.854 2.854 0 001.18 3.735l3.557 2.019-3.557 2.019a2.853 2.853 0 00-1.073 3.934l1.466 2.494.122.19c.866 1.24 2.557 1.616 3.882.864l3.558-2.019v4.038c0 1.59 1.312 2.88 2.931 2.88h2.931l.22-.007c1.53-.113 2.712-1.366 2.711-2.873v-4.038l3.558 2.02c1.402.796 3.195.324 4.004-1.054l1.466-2.494.107-.198a2.854 2.854 0 00-1.18-3.736l-3.558-2.02 3.558-2.019a2.853 2.853 0 001.073-3.934l-1.466-2.494-.122-.19c-.866-1.24-2.557-1.616-3.882-.864l-3.558 2.016V21.58c0-1.59-1.312-2.88-2.931-2.88h-2.931l-.22.007z" mask="url(#shield-asterisk_svg__b)"/></g></svg>
<svg class="h-10 w-10 md:h-auto md:w-auto" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="65" height="65"><defs><path id="shield-star_svg__a" d="M32.124.023L32.495 0l.384.023.192.026.198.042.362.11c.25.092.486.215.706.364l.338.267.83.708A35.824 35.824 0 0058.9 9.786l1.113-.033a3.254 3.254 0 013.27 2.33 42.202 42.202 0 01-3.78 32.746 42.297 42.297 0 01-26.184 20.067 3.258 3.258 0 01-1.633 0A42.297 42.297 0 015.499 44.83a42.202 42.202 0 01-3.782-32.747 3.254 3.254 0 013.27-2.33A35.825 35.825 0 0029.496 1.54l.856-.73.312-.245c.22-.15.457-.272.706-.364l.365-.11a3.16 3.16 0 01.387-.068h.003z"/></defs><g fill="none" fill-rule="evenodd"><mask id="shield-star_svg__b" fill="#fff"><use xlink:href="#shield-star_svg__a"/></mask><use fill="#00349A" fill-rule="nonzero" xlink:href="#shield-star_svg__a"/><path fill="#FFF" mask="url(#shield-star_svg__b)" opacity=".3" d="M31.901-5.3h64.883v118.8H31.901z"/><g fill="#FFC900" fill-rule="nonzero" mask="url(#shield-star_svg__b)"><path d="M28.412 28.587l-6.977 1.005-.124.025a1.081 1.081 0 00-.481 1.829l5.055 4.886-1.192 6.902-.014.12c-.024.39.167.764.499.976a1.1 1.1 0 001.102.048l6.24-3.258 6.227 3.258.109.05a1.1 1.1 0 001.091-.168c.307-.247.455-.64.388-1.026l-1.194-6.902 5.058-4.887.085-.093a1.08 1.08 0 00.17-1.08 1.092 1.092 0 00-.862-.679l-6.978-1.006-3.12-6.277a1.094 1.094 0 00-.98-.606c-.417 0-.797.235-.981.606l-3.12 6.277z"/></g></g></svg>
</div>
<div class='max-w-lg'>
<div class='uppercase text-xs font-bold'>Trust &amp; Reliability</div>
<div class='mb-2 text-xl sm:text-28px font-semibold'>SOC2, HIPAA & GDPR</div>
With a strong record of <a class="link" href="/security-and-privacy">standards compliance</a>, DocRaptor's HTML-to-PDF API can be used regardless of your geographic location or industry, even for electronic protected health information.
</div>
</div>
</div>
<div class='text-center mt-8'>
<a class='inline-block mt-2 font-bold text-docraptor-orange' href='/security-and-privacy'>
Review Security & Privacy Policies

<svg class="icon icon--small" width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1363 877l-742 742q-19 19-45 19t-45-19l-166-166q-19-19-19-45t19-45l531-531-531-531q-19-19-19-45t19-45l166-166q19-19 45-19t45 19l742 742q19 19 19 45t-19 45z"/></svg>
</a>
</div>
</div>
<div class='container container--darkerTransition container--noPadding'>
<div class='grid grid-cols-12 gap-dr items-stretch text-white'>
<blockquote class='col-span-12 md:col-span-6 px-12 py-14 fractal-tertiary flex items-center rounded-lg'>
<div class='relative text-xl sm:text-2xl'>
<svg aria-hidden='true' class='absolute top-0 left-0 transform -translate-x-3 -translate-y-2 h-8 w-8 text-black opacity-15' fill='currentColor' viewbox='0 0 32 32'>
<path d='M9.352 4C4.456 7.456 1 13.12 1 19.36c0 5.088 3.072 8.064 6.624 8.064 3.36 0 5.856-2.688 5.856-5.856 0-3.168-2.208-5.472-5.088-5.472-.576 0-1.344.096-1.536.192.48-3.264 3.552-7.104 6.624-9.024L9.352 4zm16.512 0c-4.8 3.456-8.256 9.12-8.256 15.36 0 5.088 3.072 8.064 6.624 8.064 3.264 0 5.856-2.688 5.856-5.856 0-3.168-2.304-5.472-5.184-5.472-.576 0-1.248.096-1.44.192.48-3.264 3.456-7.104 6.528-9.024L25.864 4z'></path>
</svg>
<p class='relative'><span class='whitespace-nowrap'>DocRaptor is</span>
<span class='bg-gray-50 bg-opacity-50 text-gray-800 font-semibold px-0.5 -mx-0.5'>stupid simple to use.</span>
Really happy with how fast it is.</p>
<cite class='relative flex items-center not-italic mt-4 sm:mt-6'>
<img alt="Adam Valverde" class="h-12 w-12 sm:w-16 sm:h-16 rounded-full border-2 border-blue-600" loading="lazy" src="https://d1030xxn62fyyb.cloudfront.net/assets/content/customers/adam-d6cf7135b25cca5d96beae3c9104b356ae85851e15a1477b5f452dd318eb6654.jpg" />
<span class='text-base sm:text-lg relative ml-2 sm:pl-1 leading-snug sm:leading-snug'>
<div class='font-semibold inline'>Adam Valverde</div>
<div>Director Of Engineering, Virtuous</div>
</span>
</cite>
</div>
</blockquote>
<blockquote class='col-span-12 md:col-span-6 px-12 py-14 fractal-quaternary rounded-lg'>
<div class='relative text-xl sm:text-2xl'>
<svg aria-hidden='true' class='absolute top-0 left-0 transform -translate-x-3 -translate-y-2 h-8 w-8 text-black opacity-15' fill='currentColor' viewbox='0 0 32 32'>
<path d='M9.352 4C4.456 7.456 1 13.12 1 19.36c0 5.088 3.072 8.064 6.624 8.064 3.36 0 5.856-2.688 5.856-5.856 0-3.168-2.208-5.472-5.088-5.472-.576 0-1.344.096-1.536.192.48-3.264 3.552-7.104 6.624-9.024L9.352 4zm16.512 0c-4.8 3.456-8.256 9.12-8.256 15.36 0 5.088 3.072 8.064 6.624 8.064 3.264 0 5.856-2.688 5.856-5.856 0-3.168-2.304-5.472-5.184-5.472-.576 0-1.248.096-1.44.192.48-3.264 3.456-7.104 6.528-9.024L25.864 4z'></path>
</svg>
<p class='relative'><span class='whitespace-nowrap'>We have definitely</span>
<span class='bg-gray-50 bg-opacity-50 text-gray-800 font-semibold px-0.5 -mx-0.5'>saved money and time.</span>
Without DocRaptor, we'd have to manage a server, pay for storage, and manage a whole piece of software tangential to our core business.</p>
</div>
<cite class='relative flex items-center not-italic mt-4 sm:mt-6'>
<img alt="Rory Douglas" class="h-12 w-12 sm:w-16 sm:h-16 rounded-full border-2 border-green-800" loading="lazy" src="https://d1030xxn62fyyb.cloudfront.net/assets/content/customers/rory-4d579b00107edfd8c425146a790d7f23b2e4252f4c52e779b2be5ce7b63b5ca7.jpg" />
<span class='text-base sm:text-lg relative ml-2 sm:pl-1 leading-snug sm:leading-snug'>
<div class='font-semibold inline'>Rory Douglas</div>
<div>President, Clean Catalog</div>
</span>
</cite>
</blockquote>
</div>
</div>
<div class='container container--darker pt-8'>
<div class='text-center'>
<a class='inline-block mt-2 font-bold text-docraptor-orange' href='/customers'>
See Case Studies &amp; Top Customers

<svg class="icon icon--small" width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1363 877l-742 742q-19 19-45 19t-45-19l-166-166q-19-19-19-45t19-45l531-531-531-531q-19-19-19-45t19-45l166-166q19-19 45-19t45 19l742 742q19 19 19 45t-19 45z"/></svg>
</a>
</div>
</div>
<div class='container container--darker'>
<div class='relative bg-gray-100 px-6 md:px-12 py-6 md:py-10 flex flex-col md:flex-row items-center rounded-t-lg'>
<div class='flex items-center gap-4 absolute md:static top-0 md:pl-14 lg:px-14 md:order-2 transform -translate-y-1/2 md:translate-y-0'>
<svg class="md:mb-3" xmlns="http://www.w3.org/2000/svg" width="48.276" height="62.037"><g fill="none"><path fill="#FFF" d="M17.486 0h27.982a2.808 2.808 0 012.808 2.808v56.421a2.808 2.808 0 01-2.808 2.808H2.808A2.808 2.808 0 010 59.229V17.258c0-.753.302-1.473.838-2.001L15.516.807A2.808 2.808 0 0117.486 0z"/><path fill="#9AABB9" d="M16.336 0L0 16.082h13.528a2.808 2.808 0 002.808-2.808V0z"/><path d="M6.364 38.905V28.613h2.13v3.924h4.022v-3.924h2.136v10.292h-2.136v-4.594H8.494v4.594zm17.819-10.292v1.822h-3.079v8.47h-2.165v-8.47h-3.093v-1.822zm8.079 0h3.093v10.292h-2.004v-6.961c0-.2.002-.481.007-.842.005-.36.007-.639.007-.834l-1.948 8.637h-2.088l-1.934-8.637c0 .195.002.473.007.834s.007.641.007.842v6.961h-2.004V28.613h3.128l1.871 8.093 1.858-8.093zm5.09 0h2.151v8.442H44.6v1.85h-7.248z" fill="#666"/></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="22.162" height="20.396"><path fill="none" stroke="#979797" stroke-linecap="round" stroke-width="5.2" d="M2.6 10.095h16.962M13.856 2.6l5.706 7.495m0 .283l-5.706 7.418"/></svg>
<svg class="md:mt-3" xmlns="http://www.w3.org/2000/svg" width="48.276" height="62.037"><g fill="none"><path fill="#BA263E" d="M17.486 0h27.982a2.808 2.808 0 012.808 2.808v56.421a2.808 2.808 0 01-2.808 2.808H2.808A2.808 2.808 0 010 59.229V17.258c0-.753.302-1.473.838-2.001L15.516.807A2.808 2.808 0 0117.486 0z"/><path fill="#FFF" d="M16.336 0L0 16.082h13.528a2.808 2.808 0 002.808-2.808V0z" opacity=".54"/><path d="M16.885 31.983c0-.536-.141-.917-.423-1.145-.282-.228-.676-.343-1.183-.343h-2.004v3.03h2.004c.507 0 .901-.122 1.183-.37.282-.246.423-.637.423-1.172zm2.13-.014c0 1.215-.308 2.074-.923 2.576-.614.503-1.491.754-2.632.754h-2.185V39h-2.137V28.708h4.483c1.033 0 1.857.265 2.471.796.615.53.922 1.352.922 2.465zm3.7-1.474v6.718h1.983c1.015 0 1.722-.5 2.123-1.502.218-.549.328-1.203.328-1.962 0-1.047-.164-1.851-.493-2.412-.328-.561-.98-.841-1.958-.841h-1.983zm2.346-1.787c.638.01 1.168.084 1.592.223a3.398 3.398 0 011.753 1.306 4.58 4.58 0 01.733 1.662c.13.596.195 1.164.195 1.704 0 1.368-.274 2.527-.824 3.477-.745 1.28-1.894 1.92-3.45 1.92h-4.433V28.708h4.434zm5.893.014h7.297v1.808h-5.16v2.367h4.517v1.788h-4.517V39h-2.137z" fill="#FFF"/></g></svg>
</div>
<div class='mt-5 md:mt-0'>
<h2 class='text-2xl font-semibold mb-1'>Why HTML-to-PDF?</h2>
<div class='md:text-lg'>DocRaptor is a REST HTML-to-PDF conversion API, but you can also generate PDFs with non-HTML libraries such as LaTex, jsKit, and PDFKit. In our experience, though, HTML and CSS offer many advantages including:</div>
</div>
</div>
<div class='flex flex-wrap bg-white md:px-9 pt-6 pb-0 md:pb-10 rounded-b-lg overflow-hidden'>
<div class='text_block text_block--left_icon w-full p-6 md:w-1/2'>
<div class='text_block__icon'>
<svg class="mt-1.5" xmlns="http://www.w3.org/2000/svg" width="15" height="15"><path fill="#44C400" d="M7.019.004l-.463.013-.224.01-.434.025-.415.034C1.895.434.434 1.895.086 5.483l-.034.415-.026.434a10.52 10.52 0 00-.01.224l-.012.463L0 7.257V7.5c0 .163.002.324.004.481l.013.463.01.224.025.434.034.415c.348 3.588 1.809 5.049 5.397 5.397l.415.034.434.026.224.01.463.012L7.5 15l.481-.004.463-.013.224-.01.434-.025.415-.034c3.588-.348 5.049-1.809 5.397-5.397l.034-.415.026-.434.01-.224.012-.463L15 7.5l-.004-.481-.013-.463-.01-.224-.025-.434-.034-.415C14.566 1.895 13.105.434 9.517.086L9.102.052 8.668.026l-.224-.01L7.98.005 7.743 0H7.5c-.163 0-.324.002-.481.004zm2.734 5.274a1.005 1.005 0 011.343-.04c.388.332.444.9.127 1.297l-.081.09-3.93 3.81c-.35.34-.906.374-1.297.08l-.092-.08L3.858 8.53a.932.932 0 01-.041-1.302 1.005 1.005 0 011.338-.124l.092.08 1.27 1.23 3.236-3.136z"/></svg>
</div>
<h4 class='text_block__title'>Layout & Tables</h4>
<div class='text_block__body'>Raw HTML code supports flexible structures such as tables, flexboxes, columns, and floats. Most non-HTML-to-PDF converters force you to lay out each element or table cell to specific pixel locations.</div>
</div>
<div class='text_block text_block--left_icon w-full p-6 md:w-1/2'>
<div class='text_block__icon'>
<svg class="mt-1.5" xmlns="http://www.w3.org/2000/svg" width="15" height="15"><path fill="#44C400" d="M7.019.004l-.463.013-.224.01-.434.025-.415.034C1.895.434.434 1.895.086 5.483l-.034.415-.026.434a10.52 10.52 0 00-.01.224l-.012.463L0 7.257V7.5c0 .163.002.324.004.481l.013.463.01.224.025.434.034.415c.348 3.588 1.809 5.049 5.397 5.397l.415.034.434.026.224.01.463.012L7.5 15l.481-.004.463-.013.224-.01.434-.025.415-.034c3.588-.348 5.049-1.809 5.397-5.397l.034-.415.026-.434.01-.224.012-.463L15 7.5l-.004-.481-.013-.463-.01-.224-.025-.434-.034-.415C14.566 1.895 13.105.434 9.517.086L9.102.052 8.668.026l-.224-.01L7.98.005 7.743 0H7.5c-.163 0-.324.002-.481.004zm2.734 5.274a1.005 1.005 0 011.343-.04c.388.332.444.9.127 1.297l-.081.09-3.93 3.81c-.35.34-.906.374-1.297.08l-.092-.08L3.858 8.53a.932.932 0 01-.041-1.302 1.005 1.005 0 011.338-.124l.092.08 1.27 1.23 3.236-3.136z"/></svg>
</div>
<h4 class='text_block__title'>Code Reuse</h4>
<div class='text_block__body'>Many PDF projects involve existing HTML or XML documents, such as web pages or Excel exports. Reusing existing code and custom CSS styling speeds up document development and keeps your code DRY.</div>
</div>
<div class='text_block text_block--left_icon w-full p-6 md:w-1/2'>
<div class='text_block__icon'>
<svg class="mt-1.5" xmlns="http://www.w3.org/2000/svg" width="15" height="15"><path fill="#44C400" d="M7.019.004l-.463.013-.224.01-.434.025-.415.034C1.895.434.434 1.895.086 5.483l-.034.415-.026.434a10.52 10.52 0 00-.01.224l-.012.463L0 7.257V7.5c0 .163.002.324.004.481l.013.463.01.224.025.434.034.415c.348 3.588 1.809 5.049 5.397 5.397l.415.034.434.026.224.01.463.012L7.5 15l.481-.004.463-.013.224-.01.434-.025.415-.034c3.588-.348 5.049-1.809 5.397-5.397l.034-.415.026-.434.01-.224.012-.463L15 7.5l-.004-.481-.013-.463-.01-.224-.025-.434-.034-.415C14.566 1.895 13.105.434 9.517.086L9.102.052 8.668.026l-.224-.01L7.98.005 7.743 0H7.5c-.163 0-.324.002-.481.004zm2.734 5.274a1.005 1.005 0 011.343-.04c.388.332.444.9.127 1.297l-.081.09-3.93 3.81c-.35.34-.906.374-1.297.08l-.092-.08L3.858 8.53a.932.932 0 01-.041-1.302 1.005 1.005 0 011.338-.124l.092.08 1.27 1.23 3.236-3.136z"/></svg>
</div>
<h4 class='text_block__title'>Third-Party Libraries</h4>
<div class='text_block__body'>Quickly enhance your documents with millions of HTML, CSS, and JavaScript frameworks and libraries, including Bootstrap, Tailwind, jQuery, and Google Maps.</div>
</div>
<div class='text_block text_block--left_icon w-full p-6 md:w-1/2'>
<div class='text_block__icon'>
<svg class="mt-1.5" xmlns="http://www.w3.org/2000/svg" width="15" height="15"><path fill="#44C400" d="M7.019.004l-.463.013-.224.01-.434.025-.415.034C1.895.434.434 1.895.086 5.483l-.034.415-.026.434a10.52 10.52 0 00-.01.224l-.012.463L0 7.257V7.5c0 .163.002.324.004.481l.013.463.01.224.025.434.034.415c.348 3.588 1.809 5.049 5.397 5.397l.415.034.434.026.224.01.463.012L7.5 15l.481-.004.463-.013.224-.01.434-.025.415-.034c3.588-.348 5.049-1.809 5.397-5.397l.034-.415.026-.434.01-.224.012-.463L15 7.5l-.004-.481-.013-.463-.01-.224-.025-.434-.034-.415C14.566 1.895 13.105.434 9.517.086L9.102.052 8.668.026l-.224-.01L7.98.005 7.743 0H7.5c-.163 0-.324.002-.481.004zm2.734 5.274a1.005 1.005 0 011.343-.04c.388.332.444.9.127 1.297l-.081.09-3.93 3.81c-.35.34-.906.374-1.297.08l-.092-.08L3.858 8.53a.932.932 0 01-.041-1.302 1.005 1.005 0 011.338-.124l.092.08 1.27 1.23 3.236-3.136z"/></svg>
</div>
<h4 class='text_block__title'>Responsive Design</h4>
<div class='text_block__body'>HTML documents can be styled responsively for different size documents or displays. With DocRaptor, it's simple to transform the same document into US-Letter or A4 page sizes.</div>
</div>
<div class='text_block text_block--left_icon w-full p-6 md:w-1/2'>
<div class='text_block__icon'>
<svg class="mt-1.5" xmlns="http://www.w3.org/2000/svg" width="15" height="15"><path fill="#44C400" d="M7.019.004l-.463.013-.224.01-.434.025-.415.034C1.895.434.434 1.895.086 5.483l-.034.415-.026.434a10.52 10.52 0 00-.01.224l-.012.463L0 7.257V7.5c0 .163.002.324.004.481l.013.463.01.224.025.434.034.415c.348 3.588 1.809 5.049 5.397 5.397l.415.034.434.026.224.01.463.012L7.5 15l.481-.004.463-.013.224-.01.434-.025.415-.034c3.588-.348 5.049-1.809 5.397-5.397l.034-.415.026-.434.01-.224.012-.463L15 7.5l-.004-.481-.013-.463-.01-.224-.025-.434-.034-.415C14.566 1.895 13.105.434 9.517.086L9.102.052 8.668.026l-.224-.01L7.98.005 7.743 0H7.5c-.163 0-.324.002-.481.004zm2.734 5.274a1.005 1.005 0 011.343-.04c.388.332.444.9.127 1.297l-.081.09-3.93 3.81c-.35.34-.906.374-1.297.08l-.092-.08L3.858 8.53a.932.932 0 01-.041-1.302 1.005 1.005 0 011.338-.124l.092.08 1.27 1.23 3.236-3.136z"/></svg>
</div>
<h4 class='text_block__title'>Render-Time Changes</h4>
<div class='text_block__body'>DocRaptor and PrinceXML's powerful JavaScript capabilities let you transform your document at render time so you can dynamically create table of contents, page indexes, or even textfit headline sizes.</div>
</div>
<div class='bg-gray-100 md:text-lg md:border-l-14 md:border-white px-6 py-8 md:py-4 md:w-1/2'>Since HTML and CSS were built for creating, styling, and laying out documents, <span class="font-semibold">it's faster to use those programming languages for building PDF documents</span>. Not just for the initial development, but for future edits and changes as well.</div>
</div>
<div class='relative bg-gray-100 mt-32 px-6 md:px-12 py-6 md:py-10 flex flex-col md:flex-row items-center rounded-t-lg'>
<div class='flex items-center gap-4 absolute md:static top-0 md:pl-14 lg:px-14 md:order-2 transform -translate-y-1/2 md:translate-y-0'>
<svg class="md:mb-3" xmlns="http://www.w3.org/2000/svg" width="68" height="59"><g fill="none"><path fill="#1C578D" d="M61.88 0C65.26 0 68 2.702 68 6.034v46.932C68 56.298 65.26 59 61.88 59H6.12C2.74 59 0 56.298 0 52.966V6.034C0 2.702 2.74 0 6.12 0h55.76zM7.921 6.048a2.02 2.02 0 00-1.795 2.115c.063 1.063.955 1.893 2.034 1.894l.26-.014a2.02 2.02 0 001.795-2.115A2.03 2.03 0 008.18 6.034l-.259.014zm6.12 0a2.02 2.02 0 00-1.795 2.115c.063 1.063.955 1.893 2.034 1.894l.26-.014a2.02 2.02 0 001.795-2.115A2.028 2.028 0 0014.3 6.034l-.259.014z"/><path fill="#FFF" d="M47.13 31.063l2.226 3.158-4.63 2.341-6.668-1.06 1.412-7.019 1.103-7.365 6.912.831 1.87 6.89-2.226 2.224zm-18.366 4.162l-10.75 1.852 6.659-7.722 4.076 3.49.015 2.38zm10.752-8.616L37.18 38.134l-8.155 7.694-.08-12.631 10.57-6.588zM24.938 42.568l-.954-6.35-5.788 1.023 6.742 5.327zM29.31 46h9.111l-5.295-3.604L29.311 46zm17.104-29L53 20.852v1.468l-12.391-1.468L46.415 17zm2.758 17.675l-.874 3.432-1.312-2.333 2.186-1.1zm-9.475-8.456L12 18.029l17.07 14.758 10.628-6.568z"/></g></svg>
<div class='text-2xl text-gray-400 font-bold mb-1'>vs</div>
<svg class="md:mt-3" xmlns="http://www.w3.org/2000/svg" width="68" height="59"><g fill="none" fill-rule="evenodd"><path fill="#646464" fill-rule="nonzero" d="M61.88 0C65.26 0 68 2.702 68 6.034v46.932C68 56.298 65.26 59 61.88 59H6.12C2.74 59 0 56.298 0 52.966V6.034C0 2.702 2.74 0 6.12 0h55.76zM7.921 6.048a2.02 2.02 0 00-1.795 2.115c.063 1.063.955 1.893 2.034 1.894l.26-.014a2.02 2.02 0 001.795-2.115A2.03 2.03 0 008.18 6.034l-.259.014zm6.12 0a2.02 2.02 0 00-1.795 2.115c.063 1.063.955 1.893 2.034 1.894l.26-.014a2.02 2.02 0 001.795-2.115A2.028 2.028 0 0014.3 6.034l-.259.014z"/><path stroke="#FFF" stroke-linecap="round" stroke-linejoin="round" stroke-width="4.32" d="M33.98 23.454v16m-7.5-12.571l15 9.142m-15 0l15-9.142"/></g></svg>
</div>
<div class='mt-5 md:mt-0'>
<h2 class='text-2xl font-semibold mb-1'>DocRaptor vs Other PDF Converters</h2>
<div class='md:text-lg'>We believe DocRaptor is the highest-quality, fastest, and most cost-effective PDF conversion tool. But you don’t have to take our word for it–do your own research. Start with these questions:</div>
</div>
</div>
<div class='flex flex-wrap bg-white md:px-9 pt-6 pb-6'>
<div class='text_block text_block--left_icon w-full p-6 md:w-1/2'>
<div class='text_block__icon'>
<svg class="mt-1.5" xmlns="http://www.w3.org/2000/svg" width="15" height="15"><g fill="none"><path fill="#154E8C" d="M7.981.004l.462.013.224.01.435.025.414.034c3.516.342 4.988 1.75 5.375 5.18l.023.217.034.415.031.545.004.113.013.463L15 7.5l-.004.481-.013.463-.01.224-.025.434-.034.415c-.342 3.515-1.75 4.987-5.18 5.374l-.218.023-.414.034-.546.031-.112.005-.463.012L7.5 15l-.482-.004-.462-.013-.224-.01-.434-.025-.415-.034c-3.516-.341-4.988-1.75-5.375-5.18l-.022-.217-.035-.415-.03-.545-.005-.113-.013-.463L0 7.743v-.486l.003-.238.013-.463.01-.224.025-.434.035-.415C.426 1.968 1.836.496 5.266.11l.217-.023.415-.034.545-.031.112-.005.463-.012C7.176 0 7.336 0 7.5 0l.481.004z"/><path fill="#FFF" d="M6.507 10.38l-.007.116.007.126a1 1 0 00.993.878.998.998 0 00.993-.878l.007-.116-.007-.127A.998.998 0 007.5 9.5a.998.998 0 00-.993.88zM5.24 3.554a1.001 1.001 0 00.068 1.37.997.997 0 001.37.013l.17-.18a.977.977 0 011.11-.15 1 1 0 01-.34 1.886l-.232.012a1 1 0 00.11 1.994 3.002 3.002 0 001.369-5.673 2.972 2.972 0 00-3.625.728z"/></g></svg>
</div>
<h4 class='text_block__title'>Can you reuse an existing HTML document?</h4>
<div class='text_block__body'>Does it use JavaScript? If you have a raw HTML document already, obviously, an HTML-to-PDF conversion saves you time and energy. And if you need JavaScript support, you’ll want to use DocRaptor, PrinceXML, or a browser-based library.</div>
</div>
<div class='text_block text_block--left_icon w-full p-6 md:w-1/2'>
<div class='text_block__icon'>
<svg class="mt-1.5" xmlns="http://www.w3.org/2000/svg" width="15" height="15"><g fill="none"><path fill="#154E8C" d="M7.981.004l.462.013.224.01.435.025.414.034c3.516.342 4.988 1.75 5.375 5.18l.023.217.034.415.031.545.004.113.013.463L15 7.5l-.004.481-.013.463-.01.224-.025.434-.034.415c-.342 3.515-1.75 4.987-5.18 5.374l-.218.023-.414.034-.546.031-.112.005-.463.012L7.5 15l-.482-.004-.462-.013-.224-.01-.434-.025-.415-.034c-3.516-.341-4.988-1.75-5.375-5.18l-.022-.217-.035-.415-.03-.545-.005-.113-.013-.463L0 7.743v-.486l.003-.238.013-.463.01-.224.025-.434.035-.415C.426 1.968 1.836.496 5.266.11l.217-.023.415-.034.545-.031.112-.005.463-.012C7.176 0 7.336 0 7.5 0l.481.004z"/><path fill="#FFF" d="M6.507 10.38l-.007.116.007.126a1 1 0 00.993.878.998.998 0 00.993-.878l.007-.116-.007-.127A.998.998 0 007.5 9.5a.998.998 0 00-.993.88zM5.24 3.554a1.001 1.001 0 00.068 1.37.997.997 0 001.37.013l.17-.18a.977.977 0 011.11-.15 1 1 0 01-.34 1.886l-.232.012a1 1 0 00.11 1.994 3.002 3.002 0 001.369-5.673 2.972 2.972 0 00-3.625.728z"/></g></svg>
</div>
<h4 class='text_block__title'>Is your document long or complex?</h4>
<div class='text_block__body'>A mostly text-based or one-page document can be created with almost any PDF conversion engine. But documents with complex layouts, dynamic references (such as indexes or table of contents), lots of charts or images, varying headers or page sizes, etc, can be difficult in many libraries. To save development time, test the <a class="link" href="/html-to-pdf-complexity">most complex parts</a> of your document first.</div>
</div>
<div class='text_block text_block--left_icon w-full p-6 md:w-1/2'>
<div class='text_block__icon'>
<svg class="mt-1.5" xmlns="http://www.w3.org/2000/svg" width="15" height="15"><g fill="none"><path fill="#154E8C" d="M7.981.004l.462.013.224.01.435.025.414.034c3.516.342 4.988 1.75 5.375 5.18l.023.217.034.415.031.545.004.113.013.463L15 7.5l-.004.481-.013.463-.01.224-.025.434-.034.415c-.342 3.515-1.75 4.987-5.18 5.374l-.218.023-.414.034-.546.031-.112.005-.463.012L7.5 15l-.482-.004-.462-.013-.224-.01-.434-.025-.415-.034c-3.516-.341-4.988-1.75-5.375-5.18l-.022-.217-.035-.415-.03-.545-.005-.113-.013-.463L0 7.743v-.486l.003-.238.013-.463.01-.224.025-.434.035-.415C.426 1.968 1.836.496 5.266.11l.217-.023.415-.034.545-.031.112-.005.463-.012C7.176 0 7.336 0 7.5 0l.481.004z"/><path fill="#FFF" d="M6.507 10.38l-.007.116.007.126a1 1 0 00.993.878.998.998 0 00.993-.878l.007-.116-.007-.127A.998.998 0 007.5 9.5a.998.998 0 00-.993.88zM5.24 3.554a1.001 1.001 0 00.068 1.37.997.997 0 001.37.013l.17-.18a.977.977 0 011.11-.15 1 1 0 01-.34 1.886l-.232.012a1 1 0 00.11 1.994 3.002 3.002 0 001.369-5.673 2.972 2.972 0 00-3.625.728z"/></g></svg>
</div>
<h4 class='text_block__title'>How much development and maintenance can you afford?</h4>
<div class='text_block__body'>There is a wide discrepancy in feature support and bug-free operation between different converters. Maintaining a high-scale infrastructure can be costly as PDFs are slow and CPU-intensive to generate (compared to web pages). Compare the development time and maintenance costs of your PDF conversion options early in your selection process.</div>
</div>
<div class='text_block text_block--left_icon w-full p-6 md:w-1/2'>
<div class='text_block__icon'>
<svg class="mt-1.5" xmlns="http://www.w3.org/2000/svg" width="15" height="15"><g fill="none"><path fill="#154E8C" d="M7.981.004l.462.013.224.01.435.025.414.034c3.516.342 4.988 1.75 5.375 5.18l.023.217.034.415.031.545.004.113.013.463L15 7.5l-.004.481-.013.463-.01.224-.025.434-.034.415c-.342 3.515-1.75 4.987-5.18 5.374l-.218.023-.414.034-.546.031-.112.005-.463.012L7.5 15l-.482-.004-.462-.013-.224-.01-.434-.025-.415-.034c-3.516-.341-4.988-1.75-5.375-5.18l-.022-.217-.035-.415-.03-.545-.005-.113-.013-.463L0 7.743v-.486l.003-.238.013-.463.01-.224.025-.434.035-.415C.426 1.968 1.836.496 5.266.11l.217-.023.415-.034.545-.031.112-.005.463-.012C7.176 0 7.336 0 7.5 0l.481.004z"/><path fill="#FFF" d="M6.507 10.38l-.007.116.007.126a1 1 0 00.993.878.998.998 0 00.993-.878l.007-.116-.007-.127A.998.998 0 007.5 9.5a.998.998 0 00-.993.88zM5.24 3.554a1.001 1.001 0 00.068 1.37.997.997 0 001.37.013l.17-.18a.977.977 0 011.11-.15 1 1 0 01-.34 1.886l-.232.012a1 1 0 00.11 1.994 3.002 3.002 0 001.369-5.673 2.972 2.972 0 00-3.625.728z"/></g></svg>
</div>
<h4 class='text_block__title'>How much support do you need?</h4>
<div class='text_block__body'>After answering the above questions, you should have a good understanding of the level of support you require. Selecting a PDF converter API with an expert support team—like DocRaptor—can dramatically speed up your implementation timelines.</div>
</div>
</div>
<div class='flex flex-wrap bg-white mt-1 md:px-9 pt-0 md:pt-6 pb-0 md:pb-10 rounded-b-lg overflow-hidden'>
<div class='text_block w-full p-6 md:w-1/2'>
<h4 class='text_block__title'>Prince</h4>
<div class='text_block__body'>Prince pioneered HTML-to-PDF technology with the first release of PrinceXML in 2003 and has been leading the category ever since. The chairman of Prince (and the inventor of CSS), Håkon Wium Lie, also wrote the first <a class="link" href="/css-paged-media">CSS Paged Media</a> W3C specifications, which enable much of Prince and DocRaptor’s unique functionality. DocRaptor's primary difference versus Prince is our lower starting price point and instant scalability.</div>
</div>
<div class='text_block w-full p-6 md:w-1/2'>
<h4 class='text_block__title'>Headless Chromium</h4>
<div class='text_block__body'>Google Chrome provides modern CSS and JavaScript support. It's an excellent choice for simple documents or web pages created from complex JavaScript, but its focus on web pages makes Chrome struggle with complex documents with PDF-specific styling, floats, JavaScript, accessibility, etc. The resource usage of web browsers may increase infrastructure and scalability needs, especially when you need to convert multiple web pages quickly.</div>
</div>
<div class='text_block w-full p-6 md:w-1/2'>
<h4 class='text_block__title'>Other APIs</h4>
<div class='text_block__body'>There are countless HTML-to-PDF API alternatives available on the internet. Most of these online tools are significantly cheaper than DocRaptor, but that's because they're all based on Headless Chrome and generally managed by companies less focused on reliability and security. These other APIs will struggle with complex PDFs.</div>
</div>
<div class='text_block w-full p-6 md:w-1/2'>
<h4 class='text_block__title'>WeasyPrint</h4>
<div class='text_block__body'><a class="link" href="/compare/weasyprint">WeasyPrint</a> is the only major HTML-to-PDF library not based on a browser. While it lacks JavaScript support, it does offer more PDF-focused functionality than Headless Chrome. It still falls far behind Prince and DocRaptor's capabilities.</div>
</div>
<div class='text_block w-full p-6 md:w-1/2'>
<h4 class='text_block__title'>wkhtmltopdf / PhantomJS</h4>
<div class='text_block__body'>Historically, wkhtmltopdf and PhantomJS were the primary open-source libraries to convert web pages into a Portable Document Format (PDF). Now, they're both deprecated, buggy, lacking support for modern CSS, have poor typography, and are a pain to install. Stick with the Headless Chrome-based libraries if you want to convert HTML files with a browser.</div>
</div>
<div class='bg-gray-100 md:text-lg md:border-l-14 md:border-white px-6 py-8 md:py-4 flex items-center py-4 md:w-1/2'>
<div class='md:text-lg'>
We created DocRaptor because <span class="font-semibold">we weren’t satisfied with any of the alternatives</span>. It is a terrific HTML-to-PDF API, and likely to be the most cost-effective solution for most conversion projects when you consider the total project cost.
</div>
</div>
</div>
</div>
<div class='container container--darker'>
<div class='relative bg-gray-100 px-6 md:px-12 py-6 md:py-10 flex flex-col md:flex-row items-center rounded-t-lg'>
<div class='flex items-center gap-4 absolute md:static top-0 md:pl-14 lg:px-14 md:order-2 transform -translate-y-1/2 md:translate-y-0'>
<svg class="md:h-20 w-auto" xmlns="http://www.w3.org/2000/svg" width="98" height="68.25" viewBox="0 0 98 68.25"><g fill="none"><path fill="#646464" d="M91.88 0C95.26 0 98 2.702 98 6.034v46.932C98 56.298 95.26 59 91.88 59H23.577L3 68.25 9.29 59H6.12C2.74 59 0 56.298 0 52.966V6.034C0 2.702 2.74 0 6.12 0h85.76z"/><path fill="#FFF" d="M44.417 35.917a6.668 6.668 0 01-.341-1.285 8.113 8.113 0 01-.12-1.351c0-.674.065-1.29.197-1.846a6.47 6.47 0 01.593-1.571c.264-.49.593-.96.989-1.406.395-.447.857-.89 1.384-1.33a29.26 29.26 0 001.461-1.307 9.27 9.27 0 001.066-1.208c.293-.403.513-.82.66-1.253.146-.432.219-.912.219-1.44 0-.453-.08-.874-.242-1.263a2.818 2.818 0 00-.692-1A3.28 3.28 0 0048.492 19a4.092 4.092 0 00-1.439-.242c-1.142 0-2.329.238-3.56.714-1.23.476-2.394 1.197-3.493 2.164v-6.614a13.698 13.698 0 013.691-1.516A16.793 16.793 0 0147.822 13c1.363 0 2.63.15 3.802.45 1.171.3 2.193.773 3.065 1.418a6.663 6.663 0 012.043 2.472c.49 1.003.736 2.208.736 3.614 0 .894-.102 1.703-.307 2.428a8.152 8.152 0 01-.901 2.055 10.364 10.364 0 01-1.472 1.856 27.26 27.26 0 01-2.022 1.835c-.513.425-.963.82-1.351 1.186-.388.367-.71.73-.967 1.088-.256.359-.45.74-.582 1.143a4.4 4.4 0 00-.198 1.373c0 .352.048.71.143 1.077.095.366.223.673.384.922h-5.778zm3.208 9.625c-1.172 0-2.146-.352-2.923-1.055-.776-.733-1.164-1.597-1.164-2.593 0-1.025.388-1.882 1.164-2.57.777-.69 1.75-1.033 2.923-1.033 1.157 0 2.116.344 2.878 1.032.762.674 1.143 1.531 1.143 2.571 0 1.055-.374 1.926-1.121 2.615-.762.688-1.729 1.033-2.9 1.033z"/></g></svg>
</div>
<div class='mt-5 md:mt-0'>
<h2 class='text-2xl font-semibold mb-1'>Frequently Asked Questions</h2>
<div class='md:text-lg'>If you don't find what you're looking for, don't hesitate to reach out to our <a class="link" href="/support">support team</a>. We are here to help you make the most out of DocRaptor!</div>
</div>
</div>
<div class='flex flex-wrap bg-white md:px-9 pt-6 pb-0 md:pb-10 rounded-b-lg overflow-hidden'>
<div class='text_block text_block--left_icon w-full p-6 md:w-1/2'>
<div class='text_block__icon'>
<svg class="mt-1.5" xmlns="http://www.w3.org/2000/svg" width="15" height="15"><g fill="none"><path fill="#154E8C" d="M7.981.004l.462.013.224.01.435.025.414.034c3.516.342 4.988 1.75 5.375 5.18l.023.217.034.415.031.545.004.113.013.463L15 7.5l-.004.481-.013.463-.01.224-.025.434-.034.415c-.342 3.515-1.75 4.987-5.18 5.374l-.218.023-.414.034-.546.031-.112.005-.463.012L7.5 15l-.482-.004-.462-.013-.224-.01-.434-.025-.415-.034c-3.516-.341-4.988-1.75-5.375-5.18l-.022-.217-.035-.415-.03-.545-.005-.113-.013-.463L0 7.743v-.486l.003-.238.013-.463.01-.224.025-.434.035-.415C.426 1.968 1.836.496 5.266.11l.217-.023.415-.034.545-.031.112-.005.463-.012C7.176 0 7.336 0 7.5 0l.481.004z"/><path fill="#FFF" d="M6.507 10.38l-.007.116.007.126a1 1 0 00.993.878.998.998 0 00.993-.878l.007-.116-.007-.127A.998.998 0 007.5 9.5a.998.998 0 00-.993.88zM5.24 3.554a1.001 1.001 0 00.068 1.37.997.997 0 001.37.013l.17-.18a.977.977 0 011.11-.15 1 1 0 01-.34 1.886l-.232.012a1 1 0 00.11 1.994 3.002 3.002 0 001.369-5.673 2.972 2.972 0 00-3.625.728z"/></g></svg>
</div>
<h4 class='text_block__title'>How do I convert HTML to PDF automatically?</h4>
<div class='text_block__body'><a class="link" href="/automatic-html-to-pdf">Automatic conversion</a> of HTML to a generated PDF document can be achieved via an Application Programming Interface (API) such as DocRaptor, or through automation tools like Zapier or Kotive. While crafting a single PDF file is simple, when creating multiple documents or dynamic documents from a database, an API is your best bet!</div>
</div>
<div class='text_block text_block--left_icon w-full p-6 md:w-1/2'>
<div class='text_block__icon'>
<svg class="mt-1.5" xmlns="http://www.w3.org/2000/svg" width="15" height="15"><g fill="none"><path fill="#154E8C" d="M7.981.004l.462.013.224.01.435.025.414.034c3.516.342 4.988 1.75 5.375 5.18l.023.217.034.415.031.545.004.113.013.463L15 7.5l-.004.481-.013.463-.01.224-.025.434-.034.415c-.342 3.515-1.75 4.987-5.18 5.374l-.218.023-.414.034-.546.031-.112.005-.463.012L7.5 15l-.482-.004-.462-.013-.224-.01-.434-.025-.415-.034c-3.516-.341-4.988-1.75-5.375-5.18l-.022-.217-.035-.415-.03-.545-.005-.113-.013-.463L0 7.743v-.486l.003-.238.013-.463.01-.224.025-.434.035-.415C.426 1.968 1.836.496 5.266.11l.217-.023.415-.034.545-.031.112-.005.463-.012C7.176 0 7.336 0 7.5 0l.481.004z"/><path fill="#FFF" d="M6.507 10.38l-.007.116.007.126a1 1 0 00.993.878.998.998 0 00.993-.878l.007-.116-.007-.127A.998.998 0 007.5 9.5a.998.998 0 00-.993.88zM5.24 3.554a1.001 1.001 0 00.068 1.37.997.997 0 001.37.013l.17-.18a.977.977 0 011.11-.15 1 1 0 01-.34 1.886l-.232.012a1 1 0 00.11 1.994 3.002 3.002 0 001.369-5.673 2.972 2.972 0 00-3.625.728z"/></g></svg>
</div>
<h4 class='text_block__title'>How to convert HTML to PDF for free?</h4>
<div class='text_block__body'>DocRaptor is one of the few <a class="link" href="/free-html-to-pdf-api">free HTML to PDF APIs</a>. Other APIs offer limited free trials, but you can try DocRaptor without any time pressure. We also provide a public API key so you can create test (watermarked) documents without creating an account at all.</div>
</div>
<div class='text_block text_block--left_icon w-full p-6 md:w-1/2'>
<div class='text_block__icon'>
<svg class="mt-1.5" xmlns="http://www.w3.org/2000/svg" width="15" height="15"><g fill="none"><path fill="#154E8C" d="M7.981.004l.462.013.224.01.435.025.414.034c3.516.342 4.988 1.75 5.375 5.18l.023.217.034.415.031.545.004.113.013.463L15 7.5l-.004.481-.013.463-.01.224-.025.434-.034.415c-.342 3.515-1.75 4.987-5.18 5.374l-.218.023-.414.034-.546.031-.112.005-.463.012L7.5 15l-.482-.004-.462-.013-.224-.01-.434-.025-.415-.034c-3.516-.341-4.988-1.75-5.375-5.18l-.022-.217-.035-.415-.03-.545-.005-.113-.013-.463L0 7.743v-.486l.003-.238.013-.463.01-.224.025-.434.035-.415C.426 1.968 1.836.496 5.266.11l.217-.023.415-.034.545-.031.112-.005.463-.012C7.176 0 7.336 0 7.5 0l.481.004z"/><path fill="#FFF" d="M6.507 10.38l-.007.116.007.126a1 1 0 00.993.878.998.998 0 00.993-.878l.007-.116-.007-.127A.998.998 0 007.5 9.5a.998.998 0 00-.993.88zM5.24 3.554a1.001 1.001 0 00.068 1.37.997.997 0 001.37.013l.17-.18a.977.977 0 011.11-.15 1 1 0 01-.34 1.886l-.232.012a1 1 0 00.11 1.994 3.002 3.002 0 001.369-5.673 2.972 2.972 0 00-3.625.728z"/></g></svg>
</div>
<h4 class='text_block__title'>Can't I convert HTML to PDF in Chrome?</h4>
<div class='text_block__body'>Yep! You can easily "print" a single web page into PDF format from the Chrome browser. DocRaptor also converts web pages into PDFs, but we do so via an API that allows developers to convert HTML documents by the thousands instead of one at a time.</div>
</div>
<div class='text_block text_block--left_icon w-full p-6 md:w-1/2'>
<div class='text_block__icon'>
<svg class="mt-1.5" xmlns="http://www.w3.org/2000/svg" width="15" height="15"><g fill="none"><path fill="#154E8C" d="M7.981.004l.462.013.224.01.435.025.414.034c3.516.342 4.988 1.75 5.375 5.18l.023.217.034.415.031.545.004.113.013.463L15 7.5l-.004.481-.013.463-.01.224-.025.434-.034.415c-.342 3.515-1.75 4.987-5.18 5.374l-.218.023-.414.034-.546.031-.112.005-.463.012L7.5 15l-.482-.004-.462-.013-.224-.01-.434-.025-.415-.034c-3.516-.341-4.988-1.75-5.375-5.18l-.022-.217-.035-.415-.03-.545-.005-.113-.013-.463L0 7.743v-.486l.003-.238.013-.463.01-.224.025-.434.035-.415C.426 1.968 1.836.496 5.266.11l.217-.023.415-.034.545-.031.112-.005.463-.012C7.176 0 7.336 0 7.5 0l.481.004z"/><path fill="#FFF" d="M6.507 10.38l-.007.116.007.126a1 1 0 00.993.878.998.998 0 00.993-.878l.007-.116-.007-.127A.998.998 0 007.5 9.5a.998.998 0 00-.993.88zM5.24 3.554a1.001 1.001 0 00.068 1.37.997.997 0 001.37.013l.17-.18a.977.977 0 011.11-.15 1 1 0 01-.34 1.886l-.232.012a1 1 0 00.11 1.994 3.002 3.002 0 001.369-5.673 2.972 2.972 0 00-3.625.728z"/></g></svg>
</div>
<h4 class='text_block__title'>What other file formats do you support?</h4>
<div class='text_block__body'>DocRaptor can convert HTML files into high quality PDF documents or XLS/XLSX files. Unfortunately, we don't support Zip files or other any other file formats at this time.</div>
</div>
</div>
<div class='mt-32 text-2xl text-center font-semibold'>
Feature List
</div>
<div class='text-lg text-center mt-2'>
Here's a more complete list of features, to better consider DocRaptor’s key advantages:
</div>
<div class='grid grid-cols-12 gap-dr mt-10'>
<div class='col-span-12 lg:col-span-4'>
<div class='px-6 py-2 bg-docraptor-blue rounded-lg text-white text-xl font-semibold'>
HTML & CSS
</div>
<ul class='px-7 py-4 bg-white rounded-lg list-disc list-inside mt-2 text-lg space-y-1'>
<li>Headers & Footers</li>
<li>Watermarks</li>
<li>Footnotes & Sidenotes</li>
<li>Columns</li>
<li>Cross-References</li>
<li>Page Floats</li>
<li>CSS Transforms</li>
<li>Page Breaks</li>
<li>Page Numbers & Counters</li>
<li>Custom Margins</li>
<li>Custom Page Sizes</li>
<li>Landscape &amp; Portrait Page Orientation</li>
<li>Named Pages</li>
<li>First Page / N-Page Styling</li>
<li>Full-Bleed PDFs</li>
<li>Background Images</li>
</ul>
</div>
<div class='col-span-12 lg:col-span-4'>
<div class='px-6 py-2 bg-docraptor-blue rounded-lg text-white text-xl font-semibold'>
PDF Output
</div>
<ul class='px-7 py-4 bg-white rounded-lg list-disc list-inside mt-2 text-lg space-y-1'>
<li>Accessible PDFs</li>
<li>Printer's Marks</li>
<li>PDF Bookmarks</li>
<li>PDF Profiles</li>
<li>PDF Links</li>
<li>PDF Forms</li>
<li>Font Embedding & Subsetting</li>
<li>OpenType, TrueType, and CFF Fonts</li>
<li>Password-Protected PDFs</li>
<li>Disallow Print, Modification, or Copy</li>
<li>Encrypted PDFs</li>
<li>Adjust DPI</li>
</ul>
</div>
<div class='col-span-12 lg:col-span-4'>
<div class='px-6 py-2 bg-docraptor-blue rounded-lg text-white text-xl font-semibold'>
PDF Generation
</div>
<ul class='px-7 py-4 bg-white rounded-lg list-disc list-inside mt-2 text-lg space-y-1'>
<li>Free Test Documents</li>
<li>Asynchronous Generation</li>
<li>Parallel Generation</li>
<li>Hosted Documents</li>
<li>Multi-Pass JavaScript</li>
<li>No Size Limits</li>
<li>Encrypted in Transit</li>
</ul>
</div>
</div>
<div class='mt-24 sm:mt-32 text-2xl text-center font-semibold'>
Ready to get started?
</div>
<div class='grid grid-cols-12 gap-dr mt-8 text-white'>
<a class='col-span-12 md:col-span-6 px-8 py-6 diagonal-background bg-docraptor-orange relative rounded-lg' href='/signup'>
<svg class="absolute top-4 right-4" xmlns="http://www.w3.org/2000/svg" width="31" height="23"><path fill="#FFF" fill-rule="evenodd" d="m0 .977 20.855 6.594-.088.458.18.061.703-4.967 5.236.667 1.416 5.528-2.212 2.34 1.357 2.075-3.468 1.89-4.514-.772-.377 1.972-3.298 3.299L19.782 23h-6.868l-.05-8.22-3.624.675.727 5.097-5.137-4.277 4.976-6.232L0 .977Zm27.447 12.756-.641 2.727-.962-1.853 1.603-.874ZM26.03 0 31 3.123v1.19l-9.35-1.19L26.031 0Z"/></svg>
<div class='text-2xl font-semibold mb-1'>Create a free account</div>
Get up and running in minutes. Our support team is here to help craft the perfect document!
<div class='mt-2 font-bold text-white'>
Sign up for Free

<svg class="icon icon--small" width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1363 877l-742 742q-19 19-45 19t-45-19l-166-166q-19-19-19-45t19-45l531-531-531-531q-19-19-19-45t19-45l166-166q19-19 45-19t45 19l742 742q19 19 19 45t-19 45z"/></svg>
</div>
</a>
<a class='col-span-12 md:col-span-6 px-8 py-6 diagonal-background relative rounded-lg' href='/documentation'>
<svg class="absolute top-5 right-5" xmlns="http://www.w3.org/2000/svg" width="16.622" height="13.275"><path fill="none" stroke="#FFF" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.4" d="M1.2 1.2l5.333 5.438L1.2 12.075m8.889 0h5.333"/></svg>
<div class='text-2xl font-semibold mb-1'>Add one of our agents</div>
Use a <em>no-signup-required</em> testing API key to test the waters in your programming language.
<div class='mt-2 font-bold'>
Setup Agents

<svg class="icon icon--small" width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1363 877l-742 742q-19 19-45 19t-45-19l-166-166q-19-19-19-45t19-45l531-531-531-531q-19-19-19-45t19-45l166-166q19-19 45-19t45 19l742 742q19 19 19 45t-19 45z"/></svg>
</div>
</a>
</div>
</div>

<footer aria-labelledby='footerHeading' class='container border-docraptor-light-blue-gray border-t bg-gray-150'>
<div class='sr-only' id='footerHeading'>Footer</div>
<div class='grid footer-grid md:grid-cols-12 gap-x-4 gap-y-14 lg:gap-y-0 lg:grid-cols-none lg:grid-flow-col lg:auto-cols-fr'>
<div class='md:col-span-3 lg:col-auto'>
<div class='font-semibold text-gray-600 mb-2'>
Support
</div>
<ul class='space-y-1'>
<li>
<button class='intercom-activator text-docraptor-dark-blue' id='footer-intercom' type='button'>
Contact Support
</button>
</li>
<li class='text-gray-500 text-sm'>
Support Hours:
<br>
Monday-Friday, 10am-6pm EST
</li>
</ul>
</div>
<div class='text-left md:col-span-3 lg:col-auto'>
<div class='font-semibold text-gray-600 mb-2'>
Product
</div>
<ul class='space-y-1'>
<li>
<a class='text-docraptor-dark-blue' href='/html-to-excel' id='footer-html-to-excel'>
HTML-to-Excel
</a>
</li>
<li>
<a class='text-docraptor-dark-blue' href='/document-hosting' id='footer-document-hosting'>
Document Hosting
</a>
</li>
<li>
<a class='text-docraptor-dark-blue' href='/try_it_out' id='footer-demo'>
Demo
</a>
</li>
<li>
<a class='text-docraptor-dark-blue' href='/samples' id='footer-samples'>
Samples
</a>
</li>
</ul>
</div>
<div class='md:col-span-3 lg:col-auto'>
<div class='font-semibold text-gray-600 mb-2'>
Resources
</div>
<ul class='space-y-1'>
<li>
<a class='text-docraptor-dark-blue' href='/documentation' id='footer-examples'>
Code Examples
</a>
</li>
<li>
<a class='text-docraptor-dark-blue' href='/documentation/pdf_generation/reference' id='footer-styling'>
Style & Formatting
</a>
</li>
<li>
<a class='text-docraptor-dark-blue' href='/documentation/api' id='footer-api'>
API Reference
</a>
</li>
<li>
<a class='text-docraptor-dark-blue' href='/free-templates' id='footer-templates'>
Free PDF Templates
</a>
</li>
</ul>
</div>
<div class='hidden lg:block md:col-span-3 lg:col-auto'>
<div class='font-semibold text-gray-600 mb-2'>
Quick Start
</div>
<ul class='gap-y-1 grid grid-cols-2 gap-x-2 w-max'>
<li>
<a class='text-docraptor-dark-blue' href='/documentation/java' id='footer-java'>
Java
</a>
</li>
<li>
<a class='text-docraptor-dark-blue' href='/documentation/jquery' id='footer-jquery'>
JavaScript
</a>
</li>
<li>
<a class='text-docraptor-dark-blue' href='/documentation/jquery' id='footer-jquery'>
jQuery
</a>
</li>
<li>
<a class='text-docraptor-dark-blue' href='/documentation/dotnet' id='footer-dotnet'>
.NET
</a>
</li>
<li>
<a class='text-docraptor-dark-blue' href='/documentation/node' id='footer-node'>
Node
</a>
</li>
<li>
<a class='text-docraptor-dark-blue' href='/documentation/php' id='footer-php'>
PHP
</a>
</li>
<li>
<a class='text-docraptor-dark-blue' href='/documentation/python' id='footer-python'>
Python
</a>
</li>
<li>
<a class='text-docraptor-dark-blue' href='/documentation/ruby' id='footer-ruby'>
Ruby
</a>
</li>
</ul>
</div>
<div class='md:col-span-3 text-left lg:col-auto'>
<div class='font-semibold text-gray-600 mb-2'>
Company
</div>
<ul class='space-y-1'>
<li>
<a class='text-docraptor-dark-blue' href='/about' id='footer-about'>
About
</a>
</li>
<li>
<a class='text-docraptor-dark-blue' href='/contact' id='footer-contact'>
Contact
</a>
</li>
<li>
<a class='text-docraptor-dark-blue' href='/security-and-privacy' id='footer-terms'>
Security &amp; Compliance
</a>
</li>
<li>
<a class='text-docraptor-dark-blue' href='/tos' id='footer-terms' target='_blank'>
Terms of Service
</a>
</li>
<li>
<a class='text-docraptor-dark-blue' href='/privacy' id='footer-policy' target='_blank'>
Privacy Policy
</a>
</li>
<li>
<a class='text-docraptor-dark-blue' href='/sitemap' id='footer-sitemap'>
Sitemap
</a>
</li>
</ul>
</div>
<div class='col-span-2 md:col-span-12 text-center text-gray-500 text-sm lg:col-auto lg:text-left'>
© Copyright 2016-2026
<br class='hidden lg:block'>
Artifex Software Inc.
<br class='hidden lg:block'>
All rights reserved.
</div>
</div>
</footer>

<script type="importmap" data-turbo-track="reload" nonce="hExDBv54Q0IobnXWulZXPg==">{
  "imports": {
    "marketing": "https://d1030xxn62fyyb.cloudfront.net/assets/marketing-335c9d0168c1b2a3960dd56fdf4f6c209d0eec1942adb72b6441483bed14e77f.js",
    "@hotwired/stimulus": "https://d1030xxn62fyyb.cloudfront.net/assets/stimulus.min-59f6a188a51873d87a6ae8218ac6e829404b5cacd7f2a8fb7249abfdec5ece6a.js",
    "@hotwired/stimulus-loading": "https://d1030xxn62fyyb.cloudfront.net/assets/stimulus-loading-6024ee603e0509bba59098881b54a52936debca30ff797835b5ec6a4ef77ba37.js",
    "tailwindcss-stimulus-components": "https://d1030xxn62fyyb.cloudfront.net/assets/tailwindcss-stimulus-components-5dce202cdbc97df2c4988adf7364db8c9d0bd528f1360b07219c126ee4a9ed03.js",
    "highlight.js": "https://d1030xxn62fyyb.cloudfront.net/assets/highlight.js/11.9/es.min-ad51b866fabdfa8308213dd4cadee639cc18165bad23d91f161df7561b71cab2.js",
    "controllers/application": "https://d1030xxn62fyyb.cloudfront.net/assets/controllers/application-0ad3dde5b0cafd4d20284a58ea7d5fb1b118eaec7bd9a197b3a50a0917465ee4.js",
    "controllers/code_block_controller": "https://d1030xxn62fyyb.cloudfront.net/assets/controllers/code_block_controller-a5c1d3b1a9709ba78ad43fcda9fd1b9d98e628f9b4387ac7fa12d7a74148fbca.js",
    "controllers/highlight_controller": "https://d1030xxn62fyyb.cloudfront.net/assets/controllers/highlight_controller-0876e3c7e9bb55d1f588ea0f5f4ead90ed8c33cfc0922ebe0480fa7e3cf0e6ee.js",
    "controllers": "https://d1030xxn62fyyb.cloudfront.net/assets/controllers/index-d92597c94be3b5a5adba9c0f17fb1601585e59e54ed1e242cd99ce6f935198e5.js",
    "controllers/nav_controller": "https://d1030xxn62fyyb.cloudfront.net/assets/controllers/nav_controller-c52fcf76ecf5b738cfe1cf4f35d7ab33a6d40347017f9e0960ef5f30fb174659.js"
  }
}</script>
<link rel="modulepreload" href="https://d1030xxn62fyyb.cloudfront.net/assets/marketing-335c9d0168c1b2a3960dd56fdf4f6c209d0eec1942adb72b6441483bed14e77f.js" nonce="hExDBv54Q0IobnXWulZXPg==">
<link rel="modulepreload" href="https://d1030xxn62fyyb.cloudfront.net/assets/stimulus.min-59f6a188a51873d87a6ae8218ac6e829404b5cacd7f2a8fb7249abfdec5ece6a.js" nonce="hExDBv54Q0IobnXWulZXPg==">
<link rel="modulepreload" href="https://d1030xxn62fyyb.cloudfront.net/assets/stimulus-loading-6024ee603e0509bba59098881b54a52936debca30ff797835b5ec6a4ef77ba37.js" nonce="hExDBv54Q0IobnXWulZXPg==">
<link rel="modulepreload" href="https://d1030xxn62fyyb.cloudfront.net/assets/tailwindcss-stimulus-components-5dce202cdbc97df2c4988adf7364db8c9d0bd528f1360b07219c126ee4a9ed03.js" nonce="hExDBv54Q0IobnXWulZXPg==">
<link rel="modulepreload" href="https://d1030xxn62fyyb.cloudfront.net/assets/highlight.js/11.9/es.min-ad51b866fabdfa8308213dd4cadee639cc18165bad23d91f161df7561b71cab2.js" nonce="hExDBv54Q0IobnXWulZXPg==">
<link rel="modulepreload" href="https://d1030xxn62fyyb.cloudfront.net/assets/controllers/application-0ad3dde5b0cafd4d20284a58ea7d5fb1b118eaec7bd9a197b3a50a0917465ee4.js" nonce="hExDBv54Q0IobnXWulZXPg==">
<link rel="modulepreload" href="https://d1030xxn62fyyb.cloudfront.net/assets/controllers/code_block_controller-a5c1d3b1a9709ba78ad43fcda9fd1b9d98e628f9b4387ac7fa12d7a74148fbca.js" nonce="hExDBv54Q0IobnXWulZXPg==">
<link rel="modulepreload" href="https://d1030xxn62fyyb.cloudfront.net/assets/controllers/highlight_controller-0876e3c7e9bb55d1f588ea0f5f4ead90ed8c33cfc0922ebe0480fa7e3cf0e6ee.js" nonce="hExDBv54Q0IobnXWulZXPg==">
<link rel="modulepreload" href="https://d1030xxn62fyyb.cloudfront.net/assets/controllers/index-d92597c94be3b5a5adba9c0f17fb1601585e59e54ed1e242cd99ce6f935198e5.js" nonce="hExDBv54Q0IobnXWulZXPg==">
<link rel="modulepreload" href="https://d1030xxn62fyyb.cloudfront.net/assets/controllers/nav_controller-c52fcf76ecf5b738cfe1cf4f35d7ab33a6d40347017f9e0960ef5f30fb174659.js" nonce="hExDBv54Q0IobnXWulZXPg==">
<script type="module" nonce="hExDBv54Q0IobnXWulZXPg==">import "marketing"</script>

<script nonce="hExDBv54Q0IobnXWulZXPg==">
//<![CDATA[
    window.intercomSettings = { app_id: '6f91a1e2' };
  document.querySelectorAll('.intercom-activator').forEach((el) => {
    el.addEventListener('click', function(event) {
      event.preventDefault();
      Intercom('show');
    })
  })

//]]>
</script><script nonce="hExDBv54Q0IobnXWulZXPg==">
//<![CDATA[
  (function() {
    var w = window;
    var ic = w.Intercom;
    if (typeof ic === "function") {
      ic('reattach_activator');
      ic('update', w.intercomSettings);
    } else {
      var d = document;
      var i = function() {
        i.c(arguments);
      };
      i.q = [];
      i.c = function(args) {
        i.q.push(args);
      };
      w.Intercom = i;
      var l = function() {
        var s = d.createElement('script');
        s.type = 'text/javascript';
        s.async = true;
        s.src = 'https://widget.intercom.io/widget/6f91a1e2';
        var x = d.getElementsByTagName('script')[0];
        x.parentNode.insertBefore(s, x);
      };
      if (document.readyState === 'complete') {
        l();
      } else if (w.attachEvent) {
        w.attachEvent('onload', l);
      } else {
        w.addEventListener('load', l, false);
      }
    }
  })();

//]]>
</script>
  <script src="https://d1030xxn62fyyb.cloudfront.net/js/red-steel-calipers.js" nonce="hExDBv54Q0IobnXWulZXPg==" defer="defer" data-api="/api/red-steel-calipers" data-domain="docraptor.com"></script>

  <script nonce="hExDBv54Q0IobnXWulZXPg==">
//<![CDATA[

      (function(h,o,t,j,a,r){
          h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
          h._hjSettings={hjid:3188368,hjsv:6};
          a=o.getElementsByTagName('head')[0];
          r=o.createElement('script');r.async=1;
          r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
          a.appendChild(r);
      })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');

//]]>
</script>
</body>
</html>
