CINXE.COM
How biometric ID could boost pharma manufacturing efficiency
<!DOCTYPE html> <html lang="en-US"> <head > <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta property="fb:admins" content="1140409510" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta property="fb:admins" content="107031532675062" /> <meta name="msvalidate.01" content="40BA1B879066C83CDFCA374CA4B490C3" /> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <style type="text/css"> .slide-excerpt { width: 100%; } .slide-excerpt { top: 0; } .slide-excerpt { left: 0; } .flexslider { max-width: 737px; max-height: 400px; } .slide-image { max-height: 400px; } </style> <style type="text/css"> @media only screen and (min-device-width : 320px) and (max-device-width : 480px) { .slide-excerpt { display: none !important; } } </style> <!-- This site is optimized with the Yoast SEO plugin v24.0 - https://yoast.com/wordpress/plugins/seo/ --> <title>How biometric ID could boost pharma manufacturing efficiency</title> <meta name="description" content="A maker of pharma manufacturing workstations says wearable biometric ID products are solving a security and efficiency challenge." /> <link rel="canonical" href="https://www.pharmaceuticalprocessingworld.com/how-biometric-id-is-boosting-security-and-efficiency-in-pharma-manufacturing/" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="article" /> <meta property="og:title" content="How biometric ID could boost pharma manufacturing efficiency" /> <meta property="og:description" content="A maker of pharma manufacturing workstations says wearable biometric ID products are solving a security and efficiency challenge." /> <meta property="og:url" content="https://www.pharmaceuticalprocessingworld.com/how-biometric-id-is-boosting-security-and-efficiency-in-pharma-manufacturing/" /> <meta property="og:site_name" content="Pharmaceutical Processing World" /> <meta property="article:published_time" content="2024-11-14T16:11:14+00:00" /> <meta property="article:modified_time" content="2024-11-14T16:13:15+00:00" /> <meta property="og:image" content="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/11/ARISTA-Wearable-Identity-Authentication.jpg" /> <meta property="og:image:width" content="770" /> <meta property="og:image:height" content="500" /> <meta property="og:image:type" content="image/jpeg" /> <meta name="author" content="Chris Newmarker" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:creator" content="@newmarker" /> <meta name="twitter:label1" content="Written by" /> <meta name="twitter:data1" content="Chris Newmarker" /> <meta name="twitter:label2" content="Est. reading time" /> <meta name="twitter:data2" content="3 minutes" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://www.pharmaceuticalprocessingworld.com/how-biometric-id-is-boosting-security-and-efficiency-in-pharma-manufacturing/","url":"https://www.pharmaceuticalprocessingworld.com/how-biometric-id-is-boosting-security-and-efficiency-in-pharma-manufacturing/","name":"How biometric ID could boost pharma manufacturing efficiency","isPartOf":{"@id":"https://www.pharmaceuticalprocessingworld.com/#website"},"primaryImageOfPage":{"@id":"https://www.pharmaceuticalprocessingworld.com/how-biometric-id-is-boosting-security-and-efficiency-in-pharma-manufacturing/#primaryimage"},"image":{"@id":"https://www.pharmaceuticalprocessingworld.com/how-biometric-id-is-boosting-security-and-efficiency-in-pharma-manufacturing/#primaryimage"},"thumbnailUrl":"https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/11/ARISTA-Wearable-Identity-Authentication.jpg","datePublished":"2024-11-14T16:11:14+00:00","dateModified":"2024-11-14T16:13:15+00:00","author":{"@id":"https://www.pharmaceuticalprocessingworld.com/#/schema/person/21693cfddfe7450f98a8252a8c42dbf7"},"description":"A maker of pharma manufacturing workstations says wearable biometric ID products are solving a security and efficiency challenge.","breadcrumb":{"@id":"https://www.pharmaceuticalprocessingworld.com/how-biometric-id-is-boosting-security-and-efficiency-in-pharma-manufacturing/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://www.pharmaceuticalprocessingworld.com/how-biometric-id-is-boosting-security-and-efficiency-in-pharma-manufacturing/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.pharmaceuticalprocessingworld.com/how-biometric-id-is-boosting-security-and-efficiency-in-pharma-manufacturing/#primaryimage","url":"https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/11/ARISTA-Wearable-Identity-Authentication.jpg","contentUrl":"https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/11/ARISTA-Wearable-Identity-Authentication.jpg","width":770,"height":500,"caption":"Pharmaceutical manufacturers are turning to wearable biometric ID products like wrist-worn Nymi Bands to securely speed authentication in a hands-free manner. [Image courtesy of Arista Corp.]"},{"@type":"BreadcrumbList","@id":"https://www.pharmaceuticalprocessingworld.com/how-biometric-id-is-boosting-security-and-efficiency-in-pharma-manufacturing/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.pharmaceuticalprocessingworld.com/"},{"@type":"ListItem","position":2,"name":"Pharmaceutical Processing World Posts","item":"https://www.pharmaceuticalprocessingworld.com/pharmaceutical-processing-world-posts/"},{"@type":"ListItem","position":3,"name":"How biometric ID is boosting security and efficiency in pharma manufacturing"}]},{"@type":"WebSite","@id":"https://www.pharmaceuticalprocessingworld.com/#website","url":"https://www.pharmaceuticalprocessingworld.com/","name":"Pharmaceutical Processing World","description":"The Leading Source for Pharmaceutical & Biopharmaceutical Manufacturing News","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.pharmaceuticalprocessingworld.com/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https://www.pharmaceuticalprocessingworld.com/#/schema/person/21693cfddfe7450f98a8252a8c42dbf7","name":"Chris Newmarker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.pharmaceuticalprocessingworld.com/#/schema/person/image/","url":"https://secure.gravatar.com/avatar/bcec739a5f1ba9600a33099ba78f5710?s=96&d=mm&r=g","contentUrl":"https://secure.gravatar.com/avatar/bcec739a5f1ba9600a33099ba78f5710?s=96&d=mm&r=g","caption":"Chris Newmarker"},"description":"Chris Newmarker is the executive editor of WTWH Media life science's news websites and publications including MassDevice, Medical Design & Outsourcing and more. A professional journalist of 18 years, he is a veteran of UBM (now Informa) and The Associated Press whose career has taken him from Ohio to Virginia, New Jersey and, most recently, Minnesota. He’s covered a wide variety of subjects, but his focus over the past decade has been business and technology. He holds bachelor’s degrees in journalism and political science from Ohio State University. Connect with him on LinkedIn or email at cnewmarker@wtwhmedia.com.","sameAs":["https://www.linkedin.com/in/chrisnewmarker/","https://x.com/newmarker"],"url":"https://www.pharmaceuticalprocessingworld.com/author/cnewmarker/"}]}</script> <!-- / Yoast SEO plugin. --> <link rel='dns-prefetch' href='//fonts.googleapis.com' /> <link rel="alternate" type="application/rss+xml" title="Pharmaceutical Processing World » Feed" href="https://www.pharmaceuticalprocessingworld.com/feed/" /> <link rel="alternate" type="application/rss+xml" title="Pharmaceutical Processing World » Comments Feed" href="https://www.pharmaceuticalprocessingworld.com/comments/feed/" /> <link rel="alternate" type="application/rss+xml" title="Pharmaceutical Processing World » How biometric ID is boosting security and efficiency in pharma manufacturing Comments Feed" href="https://www.pharmaceuticalprocessingworld.com/how-biometric-id-is-boosting-security-and-efficiency-in-pharma-manufacturing/feed/" /> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/www.pharmaceuticalprocessingworld.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.7.1"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <link rel='stylesheet' id='theme-wtwh-amplifying-css' href='https://www.pharmaceuticalprocessingworld.com/wp-content/themes/ThemeWTWHv2/style.css?ver=1709936319' type='text/css' media='all' /> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://www.pharmaceuticalprocessingworld.com/wp-includes/css/dist/block-library/style.min.css?ver=6.7.1' type='text/css' media='all' /> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css' type='text/css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='ea-fonts-css' href='https://fonts.googleapis.com/css?family=Open+Sans%3A300%2C700&ver=6.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='ea-style-css' href='https://www.pharmaceuticalprocessingworld.com/wp-content/themes/ThemeWTWHv2/assets/css/main.css?ver=1709936319' type='text/css' media='all' /> <link rel='stylesheet' id='slider_styles-css' href='https://www.pharmaceuticalprocessingworld.com/wp-content/plugins/genesis-responsive-slider/assets/style.css?ver=1.0.1' type='text/css' media='all' /> <script type="text/javascript" src="https://www.pharmaceuticalprocessingworld.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script type="text/javascript" src="https://www.pharmaceuticalprocessingworld.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script> <link rel="https://api.w.org/" href="https://www.pharmaceuticalprocessingworld.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.pharmaceuticalprocessingworld.com/wp-json/wp/v2/posts/16496" /><link rel='shortlink' href='https://www.pharmaceuticalprocessingworld.com/?p=16496' /> <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.pharmaceuticalprocessingworld.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.pharmaceuticalprocessingworld.com%2Fhow-biometric-id-is-boosting-security-and-efficiency-in-pharma-manufacturing%2F" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.pharmaceuticalprocessingworld.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.pharmaceuticalprocessingworld.com%2Fhow-biometric-id-is-boosting-security-and-efficiency-in-pharma-manufacturing%2F&format=xml" /> <link rel="pingback" href="https://www.pharmaceuticalprocessingworld.com/xmlrpc.php" /> <!-- Google Tag Manager for Global Container--> <script>(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-MMC9PJ9');</script> <!-- End Google Tag Manager --> <!-- Google Tag Manager --> <script>(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-KTD28B3');</script> <!-- End Google Tag Manager --> <link rel="icon" href="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2019/10/cropped-pharmaprocessing-favicon-32x32.png" sizes="32x32" /> <link rel="icon" href="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2019/10/cropped-pharmaprocessing-favicon-192x192.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2019/10/cropped-pharmaprocessing-favicon-180x180.png" /> <meta name="msapplication-TileImage" content="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2019/10/cropped-pharmaprocessing-favicon-270x270.png" /> <style type="text/css" id="wp-custom-css"> .type-post.entry a { color: #11638a !important; font-weight: 500; } a.button { color: white !important; } /**MD100 Chart fixes**/ #md-chart-container > canvas { width: 125px !important; } #md-current-price { font-size: 38px !important; } .md-margin-text { margin: 5px 5px; } .md-align > .md-margin-text { padding-top: 20px; } #md-chart-container { height: auto !important; width: auto !important; } .md-table { margin-bottom: 0px !important; } @media only screen and (max-width: 500px) { #md-tech-ad { width: 250px !important; } } /*Fix logo size on mobile*/ @media only screen and (max-width: 1150px) { .site-header .title-area { width: 250px !important; } } @media only screen and (max-width: 510px) { .site-header .title-area { width: 175px !important; }} /*overlay text fix*/ .slick-slider.header-slides .header-slide .overlay h4 { text-shadow: 2px 2px 5px black; background: none !important; -webkit-text-stroke-width: 0px !important; -webkit-text-stroke-color: transparent !important; } /*Fix for Categories/home page article display*/ @media only screen and (max-width: 500px) { .content .entry .entry-header, .archive-entry .entry-header { } .entry-content img { text-align: center !important; width: 100% !important; } .archive-entry { display: flex; flex-direction: column-reverse; width: 100% !important; } .archive-entry > .entry-header, .archive-entry .entry-content { width: 100% !important; } } @media only screen and (max-width: 767px) { .archive.category .entry-content p { display: none !important } .blog .entry-content p { display: none !important; } } /*Font size adjustment for post titles*/ .type-post.entry h2 { font-size: 20px; } .type-post.entry h3 { font-size: 20px; } .type-post.entry h1 { font-size: 24px; margin-bottom: 10px !important; } #algolia-powered-by { display:none; } /* Search Page */ body.search .site-inner { padding-left: unset; padding-right: unset; } </style> <script async id="wtwh-uni-gam-ad-manager-lib" src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script> <script id="wtwh-uni-gam-ad-units"> window.googletag = window.googletag || {cmd: []}; googletag.cmd.push(function() { googletag .defineSlot( '/5272491/lifesci_network/pharma_header', [[728, 90],[300, 250]], 'div-gpt-pharma-header' ) .defineSizeMapping( googletag .sizeMapping() .addSize([991, 0], [728, 90]) .addSize([768, 0], [728, 90]) .addSize([320, 0], [300, 250]) .addSize([0, 0], [300, 250]) .build() ) .setTargeting( 'articletitle', ['how-biometric-id-is-boosting-security-and-efficiency-in-pharma-manufacturing'] ) .setTargeting( 'cat_target', ['5640d7e5fabb9c70824878759ecfdfc7,equipment,facility,iot,ros'] ) .addService( googletag.pubads() ); googletag .defineSlot( '/5272491/lifesci_network/pharma_wallpaper', [1, 1], 'div-gpt-pharma_wallpaper' ) .defineSizeMapping( googletag .sizeMapping() .addSize([991, 0], [1, 1]) .addSize([768, 0], [1, 1]) .addSize([320, 0], [1, 1]) .addSize([0, 0], [1, 1]) .build() ) .setTargeting( 'articletitle', ['how-biometric-id-is-boosting-security-and-efficiency-in-pharma-manufacturing'] ) .setTargeting( 'cat_target', ['5640d7e5fabb9c70824878759ecfdfc7,equipment,facility,iot,ros'] ) .addService( googletag.pubads() ); googletag .defineSlot( '/5272491/lifesci_network/pharma_allstreamflex', [1, 1], 'div-gpt-pharma_allstreamflex' ) .defineSizeMapping( googletag .sizeMapping() .addSize([991, 0], [1, 1]) .addSize([768, 0], [1, 1]) .addSize([320, 0], [1, 1]) .addSize([0, 0], [1, 1]) .build() ) .setTargeting( 'articletitle', ['how-biometric-id-is-boosting-security-and-efficiency-in-pharma-manufacturing'] ) .setTargeting( 'cat_target', ['5640d7e5fabb9c70824878759ecfdfc7,equipment,facility,iot,ros'] ) .addService( googletag.pubads() ); googletag .defineSlot( '/5272491/lifesci_network/pharma_allstreamprelude', [1, 1], 'div-gpt-pharma_allstreamprelude' ) .defineSizeMapping( googletag .sizeMapping() .addSize([991, 0], [1, 1]) .addSize([768, 0], [1, 1]) .addSize([320, 0], [1, 1]) .addSize([0, 0], [1, 1]) .build() ) .setTargeting( 'articletitle', ['how-biometric-id-is-boosting-security-and-efficiency-in-pharma-manufacturing'] ) .setTargeting( 'cat_target', ['5640d7e5fabb9c70824878759ecfdfc7,equipment,facility,iot,ros'] ) .addService( googletag.pubads() ); googletag .defineSlot( '/5272491/lifesci_network/pharma_sidebar1', [[300, 250],[300, 600]], 'div-gpt-pharma_sidebar1' ) .defineSizeMapping( googletag .sizeMapping() .addSize([991, 0], [[300, 250],[300, 600]]) .addSize([768, 0], [[300, 250],[300, 600]]) .addSize([320, 0], [300, 250]) .addSize([0, 0], [300, 250]) .build() ) .setTargeting( 'articletitle', ['how-biometric-id-is-boosting-security-and-efficiency-in-pharma-manufacturing'] ) .setTargeting( 'cat_target', ['5640d7e5fabb9c70824878759ecfdfc7,equipment,facility,iot,ros'] ) .addService( googletag.pubads() ); googletag .defineSlot( '/5272491/lifesci_network/pharma_sidebarbottom', [[300, 250],[300, 600]], 'div-gpt-pharma_sidebarbottom' ) .defineSizeMapping( googletag .sizeMapping() .addSize([991, 0], [[300, 250],[300, 600]]) .addSize([768, 0], [[300, 250],[300, 600]]) .addSize([320, 0], [300, 250]) .addSize([0, 0], [300, 250]) .build() ) .setTargeting( 'articletitle', ['how-biometric-id-is-boosting-security-and-efficiency-in-pharma-manufacturing'] ) .setTargeting( 'cat_target', ['5640d7e5fabb9c70824878759ecfdfc7,equipment,facility,iot,ros'] ) .addService( googletag.pubads() ); googletag .defineSlot( '/5272491/lifesci_network/pharma_largeleader', [[970, 90],[970, 250]], 'jumbo-banner-ad-container' ) .defineSizeMapping( googletag .sizeMapping() .addSize([991, 0], [[970, 90],[970, 250]]) .addSize([768, 0], [[970, 90],[970, 250]]) .addSize([320, 0], [0, 0]) .addSize([0, 0], [0, 0]) .build() ) .setTargeting( 'articletitle', ['how-biometric-id-is-boosting-security-and-efficiency-in-pharma-manufacturing'] ) .setTargeting( 'cat_target', ['5640d7e5fabb9c70824878759ecfdfc7,equipment,facility,iot,ros'] ) .addService( googletag.pubads() ); googletag.pubads().enableSingleRequest(); googletag.pubads().collapseEmptyDivs(); googletag.enableServices(); }); </script> <script id="wtwh-uni-gam-content-hash-variables"> var contentHash = "5640d7e5fabb9c70824878759ecfdfc7"; var cat_target = "5640d7e5fabb9c70824878759ecfdfc7,equipment,facility,iot,ros"; </script> </head> <body class="post-template-default single single-post postid-16496 single-format-standard content-sidebar genesis-breadcrumbs-hidden"><div class="site-container"><header class="site-header"><div class="wrap"><div class="title-area"><p class="site-title"><a href="https://www.pharmaceuticalprocessingworld.com/">Pharmaceutical Processing World</a></p></div><div class="widget-area header-widget-area"><section id="custom_html-2" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><div id='div-gpt-pharma-header'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-pharma-header'); }); </script> </div></div></div></section> </div><div class="mobile-toggles"><a href="#" class="search-toggle"><i class="icon-search"></i></a><a href="#" class="mobile-menu-toggle"><i class="icon-menu"></i></a></div></div></header><nav class="nav-primary" aria-label="Main"><div class="wrap"><ul id="menu-main-menu" class="menu genesis-nav-menu menu-primary"><li id="menu-item-8544" class="home menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/"><span >Home</span></a></li> <li id="menu-item-8490" class="menu-item menu-item-has-children"><a href="https://www.pharmaceuticalprocessingworld.com/category/regulatory/"><span >Regulatory</span></a> <ul class="sub-menu"> <li id="menu-item-8495" class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/category/recalls/"><span >Recalls</span></a></li> </ul> </li> <li id="menu-item-8497" class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/category/pharmaceutical-processing/"><span >Pharmaceutical Processing</span></a></li> <li id="menu-item-8491" class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/category/facility/"><span >Facility</span></a></li> <li id="menu-item-8492" class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/category/supply-chain/"><span >Supply Chain</span></a></li> <li id="menu-item-8494" class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/category/equipment/"><span >Equipment and Materials</span></a></li> <li id="menu-item-8496" class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/category/contract-manufacturing/"><span >Contract Manufacturing</span></a></li> <li class="menu-item search"><a href="#" class="search-toggle"><i class="icon-search"></i></a></li></ul></div></nav> <div style="padding-top:10px;text-align:center"><div id='jumbo-banner-ad-container' style='min-width: 970px; min-height: 90px;'></div></div> <div class="site-inner"><div class="wrap"><div class="content-sidebar-wrap"><main class="content"><article class="type-post entry" aria-label="How biometric ID is boosting security and efficiency in pharma manufacturing"><header class="entry-header"><h1 class="entry-title">How biometric ID is boosting security and efficiency in pharma manufacturing</h1> <p class="entry-meta"><span class="entry-author">By <a href="https://www.pharmaceuticalprocessingworld.com/author/cnewmarker/" class="entry-author-link" rel="author"><span class="entry-author-name">Chris Newmarker</span></a></span> | <time class="entry-time">November 14, 2024</time></p></header><div class="entry-content"><div id="attachment_16497" style="width: 310px" class="wp-caption alignright"><img decoding="async" aria-describedby="caption-attachment-16497" class="size-medium wp-image-16497" src="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/11/ARISTA-Wearable-Identity-Authentication-300x195.jpg" alt="This is an Arista Corp. marketing image showing pharmaceutical workers using Nymi Bands and their biometric ID." width="300" height="195" srcset="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/11/ARISTA-Wearable-Identity-Authentication-300x195.jpg 300w, https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/11/ARISTA-Wearable-Identity-Authentication-768x499.jpg 768w, https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/11/ARISTA-Wearable-Identity-Authentication-368x238.jpg 368w, https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/11/ARISTA-Wearable-Identity-Authentication.jpg 770w" sizes="(max-width: 300px) 100vw, 300px" /><p id="caption-attachment-16497" class="wp-caption-text">Pharmaceutical manufacturers are turning to wearable biometric ID products like wrist-worn Nymi Bands to securely speed authentication in a hands-free manner. [Image courtesy of Arista Corp.]</p></div>A maker of pharma manufacturing workstations says wearable biometric ID products are solving a security and efficiency challenge.</p> <p>Traditionally, pharmaceutical manufacturers have used a complex patchwork of access points, workstations, and tools, according to Fremont, California–based <a href="https://www.aristaipc.com/">Arista Corp.</a> Think badges, passwords and more, with the potential for someone other than the intended operator to gain access.</p> <p>But now, biometric ID wearables such as the wrist-word Nymi Band combine biometrics, security, and privacy to enable facility employees to have passwordless, contactless workflow across applications, systems, and networks — all without having to replace technological infrastructure. <a href="https://www.nymi.com/">Nymi</a>, which is a subsidiary of Innominds, <a href="https://www.nymi.com/post/zero-trust-as-pharma-4-0-strategy">says</a> nine 9 of the top 10 global pharmaceutical manufacturers across 15 countries presently use its bands.</p> <p>Scanners are now able to read biometric wearables such as Nymi Bands. Combined with equipment such as Arista mobile workstations, the result can be seamless identification and authentication of authorized users throughout pharmaceutical facilities, Arista’s owner Paul Shu said in a news release shared with <em>Pharmaceutical Processing World</em>.</p> <p><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;">“Using unique biometric ID wearables like Nymi bands is not only more secure than utilizing credentials (such as passwords) that can be compromised, but also enables much faster access to a wide range of tools. When utilized with equipment such as mobile workstations or handheld devices that require authorization to use, the combination unlocks greater productivity,” Shu said.</span></p> <p>“Ultimately, the wearable bands provide much greater security to pharmaceutical facilities. Employees cannot take someone else’s band and log into a computer since each band corresponds with the operator’s specific biometric data.”</p> <h3>Biometric ID bands can work with mobile workstations</h3> <div id="attachment_16498" style="width: 310px" class="wp-caption alignright"><img decoding="async" aria-describedby="caption-attachment-16498" class="size-medium wp-image-16498" src="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/11/ARISTA-AMW-2224AX-Right-Angle-300x195.jpg" alt="This is an Arista Corp. marketing image of one of its mobile workstations for pharmaceutical manufacturing." width="300" height="195" srcset="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/11/ARISTA-AMW-2224AX-Right-Angle-300x195.jpg 300w, https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/11/ARISTA-AMW-2224AX-Right-Angle-768x499.jpg 768w, https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/11/ARISTA-AMW-2224AX-Right-Angle-368x238.jpg 368w, https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/11/ARISTA-AMW-2224AX-Right-Angle.jpg 770w" sizes="(max-width: 300px) 100vw, 300px" /><p id="caption-attachment-16498" class="wp-caption-text">When utilized with equipment like this Arista Corp. mobile workstation that requires authorization to use, the combination of Nymi Bands and NFC technology can unlock greater productivity. [Image courtesy of Arista Corp.]</p></div> <p dir="ltr">In the case of Nymi, the biometric wristband works in conjunction with the Nymi Connected Worker Platform, which provides an intermediary layer between employees and their employer’s complicated IT infrastructure.</p> <p dir="ltr">Nymi Band fingerprint-based authentication is needed as little as once per day. The bands deactivate and disconnect from the workplace when taken off at the end of a shift. Access for each employee is custom-set.</p> <p dir="ltr">According to Shu, biometric wearables pair with short-range wireless near-field communication (NFC) technology to expedite identification, authorized access, and communication. In Arista’s case, its mobile workstations now have an optional NFC reader that can be used throughout pharmaceutical facilities with biometric wearables and other forms of identification. Thanks to a lithium-ion battery, Arista’s Mobile Operator Workstation can move around an operation without needing to be plugged into the wall to function.</p> <p dir="ltr">“Biometric ID wearables like Nymi Bands are much more secure than any other NFC device, so are ideal for logging into a wide range of pharmaceutical devices,” Shu said. “When used with equipment such as mobile workstations, the combination can further promote productivity, allowing the work to occur where needed. The technology provides greater security, convenience, and efficiency, so we expect its use to grow in the industry and beyond.”</p> <!--<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> <rdf:Description rdf:about="https://www.pharmaceuticalprocessingworld.com/how-biometric-id-is-boosting-security-and-efficiency-in-pharma-manufacturing/" dc:identifier="https://www.pharmaceuticalprocessingworld.com/how-biometric-id-is-boosting-security-and-efficiency-in-pharma-manufacturing/" dc:title="How biometric ID is boosting security and efficiency in pharma manufacturing" trackback:ping="https://www.pharmaceuticalprocessingworld.com/how-biometric-id-is-boosting-security-and-efficiency-in-pharma-manufacturing/trackback/" /> </rdf:RDF>--> </div><footer class="entry-footer"></footer></article><section id="custom_html-10" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><div id="trendmd-suggestions"></div></div></div></section> <div class="author-box"><h4 class="block-header">About The Author</h4><div class="author-box-content"><img alt='' src='https://secure.gravatar.com/avatar/bcec739a5f1ba9600a33099ba78f5710?s=168&d=mm&r=g' srcset='https://secure.gravatar.com/avatar/bcec739a5f1ba9600a33099ba78f5710?s=336&d=mm&r=g 2x' class='avatar avatar-168 photo' height='168' width='168' loading='lazy' decoding='async'/><h5>Chris Newmarker</h5><p>Chris Newmarker is the executive editor of WTWH Media life science's news websites and publications including MassDevice, Medical Design & Outsourcing and more. A professional journalist of 18 years, he is a veteran of UBM (now Informa) and The Associated Press whose career has taken him from Ohio to Virginia, New Jersey and, most recently, Minnesota. He’s covered a wide variety of subjects, but his focus over the past decade has been business and technology. He holds bachelor’s degrees in journalism and political science from Ohio State University. Connect with him on <a href="https://www.linkedin.com/in/chrisnewmarker/">LinkedIn</a> or email at cnewmarker@wtwhmedia.com.</p> <p class="socials"><a href="https://www.linkedin.com/in/chrisnewmarker/" target="_blank" rel="noopener noreferrer"><i class="icon-url"></i></a> <a href="https://twitter.com/newmarker" target="_blank" rel="noopener noreferrer"><i class="icon-twitter"></i></a></p></div></div> <div id="respond" class="comment-respond"> <h3 id="reply-title" class="comment-reply-title">Tell Us What You Think! <small><a rel="nofollow" id="cancel-comment-reply-link" href="/how-biometric-id-is-boosting-security-and-efficiency-in-pharma-manufacturing/#respond" style="display:none;">Cancel reply</a></small></h3><form action="https://www.pharmaceuticalprocessingworld.com/wp-comments-post.php?wpe-comment-post=pharmp" method="post" id="commentform" class="comment-form" novalidate><p class="comment-form-comment"><label for="comment">Comment <span class="required">*</span></label> <textarea placeholder="Enter your message here" id="comment" name="comment" cols="45" rows="8" maxlength="65525" required></textarea placeholder="Enter your message here"></p><p class="comment-form-author"><label for="author">Name <span class="required">*</span></label> <input placeholder="Your Name" id="author" name="author" type="text" value="" size="30" maxlength="245" autocomplete="name" required /></p> <p class="comment-form-email"><label for="email">Email <span class="required">*</span></label> <input placeholder="Your Email" id="email" name="email" type="email" value="" size="30" maxlength="100" autocomplete="email" required /></p> <p class="comment-form-url"><label for="url">Website</label> <input placeholder="Your Website" id="url" name="url" type="url" value="" size="30" maxlength="200" autocomplete="url" /></p> <p class="comment-form-cookies-consent"><input id="wp-comment-cookies-consent" name="wp-comment-cookies-consent" type="checkbox" value="yes" /> <label for="wp-comment-cookies-consent">Save my name, email, and website in this browser for the next time I comment.</label></p> <p class="form-submit"><input name="submit" type="submit" id="submit" class="submit" value="Submit >" /> <input type='hidden' name='comment_post_ID' value='16496' id='comment_post_ID' /> <input type='hidden' name='comment_parent' id='comment_parent' value='0' /> </p><p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="61de6dd87f" /></p><p style="display: none !important;" class="akismet-fields-container" data-prefix="ak_"><label>Δ<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="ak_js" value="106"/><script>document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div><!-- #respond --> <div class="related-articles"><h4 class="block-header">Related Articles <a href="https://www.pharmaceuticalprocessingworld.com/category/iot/">Read More ></a></h4><div class="article-listing"><div class="row"><article class="entry-summary"><a href="https://www.pharmaceuticalprocessingworld.com/cellprothera-inks-deal-for-gmp-cell-therapy-manufacturing/" class="entry-image-link"><img width="268" height="170" src="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/12/CellProthera-Logo-1-268x170.png" class="attachment-ea_summary size-ea_summary wp-image-16544 wp-post-image" alt="CellProthera Logo (1)" decoding="async" loading="lazy" /></a><h5 class="entry-title"><a href="https://www.pharmaceuticalprocessingworld.com/cellprothera-inks-deal-for-gmp-cell-therapy-manufacturing/">CellProthera inks deal for GMP cell therapy manufacturing</a></h5></article><article class="entry-summary"><a href="https://www.pharmaceuticalprocessingworld.com/eli-lilly-3b-wisconsin-plant-expansion/" class="entry-image-link"><img width="268" height="170" src="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/12/Eli-Lilly-Kenosha-Wisconsin-expansion-rendering-1-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-16536 wp-post-image" alt="Eli Lilly Kenosha Wisconsin expansion rendering (1)" decoding="async" loading="lazy" /></a><h5 class="entry-title"><a href="https://www.pharmaceuticalprocessingworld.com/eli-lilly-3b-wisconsin-plant-expansion/">Eli Lilly to invest $3B in Wisconsin manufacturing plant expansion</a></h5></article><article class="entry-summary"><a href="https://www.pharmaceuticalprocessingworld.com/gbi-expands-capabilities-automated-fill-finish/" class="entry-image-link"><img width="268" height="170" src="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/11/GBI-Biomanufacturing-Logo-1-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-16509 wp-post-image" alt="GBI Biomanufacturing Logo (1)" decoding="async" loading="lazy" /></a><h5 class="entry-title"><a href="https://www.pharmaceuticalprocessingworld.com/gbi-expands-capabilities-automated-fill-finish/">GBI Biomanufacturing expands capabilities with automated aseptic fill-finish</a></h5></article><article class="entry-summary"><a href="https://www.pharmaceuticalprocessingworld.com/cellular-origins-fresenius-kabi-cell-therapy/" class="entry-image-link"><img width="268" height="170" src="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2024/10/Fresenius-Kabi-Cellular-Origins-development-agreement-268x170.jpg" class="attachment-ea_summary size-ea_summary wp-image-16472 wp-post-image" alt="Fresenius Kabi Cellular Origins development agreement" decoding="async" loading="lazy" /></a><h5 class="entry-title"><a href="https://www.pharmaceuticalprocessingworld.com/cellular-origins-fresenius-kabi-cell-therapy/">Cellular Origins, Fresenius Kabi partner to automate cell, gene therapy manufacturing</a></h5></article></div></div></div></main><aside class="sidebar sidebar-primary widget-area" role="complementary" aria-label="Primary Sidebar"><section id="custom_html-11" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><center> <div style="display: flex; flex-direction: column; justify-content: center; width: 300px;"> <div align="center"><a href="https://www.pharmaceuticalprocessingworld.com/sign-up-for-the-pharmaceutical-processing-enewsletter/" target="_blank"><img src="https://www.pharmaceuticalprocessingworld.com/wp-content/uploads/2023/12/PharmaceuticalProcessing-300x100-1.jpg" alt=“ppw newsletter”></a></div> <div align="center" style="width: 300px; line-height: 20px; padding-top: 10px;"><span style="font-weight: bold; color: #0c506d; text-align: center; font-size: 20px;">EXPAND YOUR KNOWLEDGE AND STAY CONNECTED</span></div> <div align="center" style="line-height: 16px; padding-top: 5px;"><span style="text-align: center; font-size: 16px;">Get the latest news, technologies, and developments in Pharmaceutical Processing.</span></div> <div align="center" style="padding-top: 10px;"><a href="https://www.pharmaceuticalprocessingworld.com/sign-up-for-the-pharmaceutical-processing-enewsletter/" target="_blank"><button style="background-color: #10638a; color: white; font-weight: bold; border: none; padding: 10px; font-size: 16px; cursor: pointer;">GET THE ENEWSLETTER</button></a></div> </div> </center></div></div></section> <section id="custom_html-4" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><center><div id='div-gpt-pharma_sidebar1'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-pharma_sidebar1'); }); </script> </div></center></div></div></section> <section id="custom_html-9" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><h4 class="widget-title widgettitle">DeviceTalks Tuesdays</h4> <div class="textwidget custom-html-widget"><center><a href="https://www.devicetalks.com/devicetalks-tuesdays-agenda/?utm_source=house_pharma&utm_medium=display&utm_campaign=devicetalks" target="_blank"><img src="https://www.medicaldesignandoutsourcing.com/wp-content/uploads/2020/05/DeviceTalks_Tuesdays.jpg" alt="DeviceTalks Tuesdays"></a></center></div></div></section> <section id="custom_html-8" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><h4 class="widget-title widgettitle">MEDTECH 100 INDEX</h4> <div class="textwidget custom-html-widget"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta content="text/html; charset=UTF-8" http-equiv="content-type"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <link href="https://fonts.googleapis.com/css?family=Raleway:700|Open+Sans:400,700" rel="stylesheet" type="text/css"> <style> .margin-text{margin:5px}#content-container div{flex:1}.md-table tbody{border:0!important}.md-table td{border-top:0!important;padding:2px!important;line-height:0!important}#md-tech-ad{width:300px;height:250px;background-color:#fff;border-style:solid;border-width:thin;font-family:Roboto,sans-serif!important}.md-align{text-align:center}.md-margin{margin:10px 5px}.md-margin-text{margin:5px}.md-margin-text a{text-decoration:none}.md-btn{color:#000;cursor:pointer;background-color:#fff;border:2px solid #000;justify-content:center;margin:auto;padding:14px 28px;font-size:16px;display:flex}#md-content-container{align-items:center;display:flex}#md-content-container div{flex:1}#md-current-price{padding-left:12px;font-size:44px;font-weight:700}#md-current-time{color:gray;padding-top:30px;font-size:12px}#md-intraday-chart{width:100%}#md-logo{display:inline}#md-content-container{flex-direction:column;padding-top:15px;display:flex;height:80px!important}#md-current-price{padding-left:0!important}#md-tech-ad{height:auto!important;text-align:center!important}.md-margin{margin:10px 0!important}#md-chart-container{padding-top:5px}#md-chart-container>canvas{height:50px;width:240px!important} /*# sourceMappingURL=index.99d3c376.css.map */ </style> <script type="text/javascript"> const e="undefined"!=typeof window,t=e?document:null,n=e?window:null,r=e?navigator:null;let i,o;function s(e,t){if(null!=t){let n=e.classList;!n.contains(t)&&n.add(t)}}function u(e,t){let n=e.classList;n.contains(t)&&n.remove(t)}function a(e,t,n){e.style[t]=n+"px"}function l(e,n,r,i){let o=t.createElement(e);return null!=n&&s(o,n),null!=r&&r.insertBefore(o,i),o}function c(e,t){return l("div",e,t)}const f=new WeakMap;function d(e,t,n,r,i){let o="translate("+t+"px,"+n+"px)";o!=f.get(e)&&(e.style.transform=o,f.set(e,o),t<0||n<0||t>r||n>i?s(e,"u-off"):u(e,"u-off"))}const h=new WeakMap;function m(e,t,n){let r=t+n;r!=h.get(e)&&(h.set(e,r),e.style.background=t,e.style.borderColor=n)}const y=new WeakMap;function v(e,t,n,r){let i=t+""+n;i!=y.get(e)&&(y.set(e,i),e.style.height=n+"px",e.style.width=t+"px",e.style.marginLeft=r?-t/2+"px":0,e.style.marginTop=r?-n/2+"px":0)}const p={passive:!0},g={...p,capture:!0};function w(e,t,n,r){t.addEventListener(e,n,r?g:p)}function k(e,t,n,r){t.removeEventListener(e,n,r?g:p)}function b(e,t,n,r){let i;n=n||0;let o=(r=r||t.length-1)<=2147483647;for(;r-n>1;)i=o?n+r>>1:Z((n+r)/2),t[i]<e?n=i:r=i;return e-t[n]<=t[r]-e?n:r}function x(e,t,n,r){for(let i=1==r?t:n;i>=t&&i<=n;i+=r)if(null!=e[i])return i;return-1}e&&function e(){let t=devicePixelRatio;i!=t&&(i=t,o&&k("change",o,e),o=matchMedia(`(min-resolution: ${i-.001}dppx) and (max-resolution: ${i+.001}dppx)`),w("change",o,e),n.dispatchEvent(new CustomEvent("dppxchange")))}();const S=[0,0];function T(e,t,n,r){return S[0]=n<0?se(e,-n):e,S[1]=r<0?se(t,-r):t,S}function M(e,t,n,r){let i,o,s,u=U(e),a=10==n?H:R;return e==t&&(-1==u?(e*=n,t/=n):(e/=n,t*=n)),r?(i=Z(a(e)),o=P(a(t)),s=T(W(n,i),W(n,o),i,o),e=s[0],t=s[1]):(i=Z(a(L(e))),o=Z(a(L(t))),s=T(W(n,i),W(n,o),i,o),e=oe(e,s[0]),t=ie(t,s[1])),[e,t]}function O(e,t,n,r){let i=M(e,t,n,r);return 0==e&&(i[0]=0),0==t&&(i[1]=0),i}const D={mode:3,pad:.1},N={pad:0,soft:null,mode:0},E={min:N,max:N};function _(e,t,n,r){return ye(n)?V(e,t,n):(N.pad=n,N.soft=r?0:null,N.mode=r?3:0,V(e,t,E))}function I(e,t){return null==e?t:e}function V(e,t,n){let r=n.min,i=n.max,o=I(r.pad,0),s=I(i.pad,0),u=I(r.hard,-J),a=I(i.hard,J),l=I(r.soft,J),c=I(i.soft,-J),f=I(r.mode,0),d=I(i.mode,0),h=t-e;h<1e-9&&(h=0,0!=e&&0!=t||(h=1e-9,2==f&&l!=J&&(o=0),2==d&&c!=-J&&(s=0)));let m=h||L(t)||1e3,y=H(m),v=W(10,Z(y)),p=se(oe(e-m*(0==h?0==e?.1:1:o),v/10),9),g=e>=l&&(1==f||3==f&&p<=l||2==f&&p>=l)?l:J,w=q(u,p<g&&e>=g?g:Y(g,p)),k=se(ie(t+m*(0==h?0==t?.1:1:s),v/10),9),b=t<=c&&(1==d||3==d&&k>=c||2==d&&k<=c)?c:-J,x=Y(a,k>b&&t<=b?b:q(b,k));return w==x&&0==w&&(x=100),[w,x]}const C=new Intl.NumberFormat(e?r.language:"en-US"),F=e=>C.format(e),z=Math,A=z.PI,L=z.abs,Z=z.floor,j=z.round,P=z.ceil,Y=z.min,q=z.max,W=z.pow,U=z.sign,H=z.log10,R=z.log2,G=(e,t=1)=>z.asinh(e/t),J=1/0;function B(e){return 1+(0|H((e^e>>31)-(e>>31)))}function $(e,t){return j(e/t)*t}function Q(e,t,n){return Y(q(e,t),n)}function K(e){return"function"==typeof e?e:()=>e}const X=e=>e,ee=(e,t)=>t,te=e=>null,ne=e=>!0,re=(e,t)=>e==t;function ie(e,t){return P(e/t)*t}function oe(e,t){return Z(e/t)*t}function se(e,t){return j(e*(t=10**t))/t}const ue=new Map;function ae(e){return((""+e).split(".")[1]||"").length}function le(e,t,n,r){let i=[],o=r.map(ae);for(let s=t;s<n;s++){let t=L(s),n=se(W(e,s),t);for(let e=0;e<r.length;e++){let u=r[e]*n,a=(u>=0&&s>=0?0:t)+(s>=o[e]?0:o[e]),l=se(u,a);i.push(l),ue.set(l,a)}}return i}const ce={},fe=[],de=[null,null],he=Array.isArray;function me(e){return"string"==typeof e}function ye(e){let t=!1;if(null!=e){let n=e.constructor;t=null==n||n==Object}return t}function ve(e){return null!=e&&"object"==typeof e}function pe(e,t=ye){let n;if(he(e)){let r=e.find((e=>null!=e));if(he(r)||t(r)){n=Array(e.length);for(let r=0;r<e.length;r++)n[r]=pe(e[r],t)}else n=e.slice()}else if(t(e)){n={};for(let r in e)n[r]=pe(e[r],t)}else n=e;return n}function ge(e){let t=arguments;for(let n=1;n<t.length;n++){let r=t[n];for(let t in r)ye(e[t])?ge(e[t],pe(r[t])):e[t]=pe(r[t])}return e}function we(e,t,n){for(let r,i=0,o=-1;i<t.length;i++){let s=t[i];if(s>o){for(r=s-1;r>=0&&null==e[r];)e[r--]=null;for(r=s+1;r<n&&null==e[r];)e[o=r++]=null}}}const ke="undefined"==typeof queueMicrotask?e=>Promise.resolve().then(e):queueMicrotask,be=["January","February","March","April","May","June","July","August","September","October","November","December"],xe=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];function Se(e){return e.slice(0,3)}const Te=xe.map(Se),Me=be.map(Se),Oe={MMMM:be,MMM:Me,WWWW:xe,WWW:Te};function De(e){return(e<10?"0":"")+e}const Ne={YYYY:e=>e.getFullYear(),YY:e=>(e.getFullYear()+"").slice(2),MMMM:(e,t)=>t.MMMM[e.getMonth()],MMM:(e,t)=>t.MMM[e.getMonth()],MM:e=>De(e.getMonth()+1),M:e=>e.getMonth()+1,DD:e=>De(e.getDate()),D:e=>e.getDate(),WWWW:(e,t)=>t.WWWW[e.getDay()],WWW:(e,t)=>t.WWW[e.getDay()],HH:e=>De(e.getHours()),H:e=>e.getHours(),h:e=>{let t=e.getHours();return 0==t?12:t>12?t-12:t},AA:e=>e.getHours()>=12?"PM":"AM",aa:e=>e.getHours()>=12?"pm":"am",a:e=>e.getHours()>=12?"p":"a",mm:e=>De(e.getMinutes()),m:e=>e.getMinutes(),ss:e=>De(e.getSeconds()),s:e=>e.getSeconds(),fff:e=>{return((t=e.getMilliseconds())<10?"00":t<100?"0":"")+t;var t}};function Ee(e,t){t=t||Oe;let n,r=[],i=/\{([a-z]+)\}|[^{]+/gi;for(;n=i.exec(e);)r.push("{"==n[0][0]?Ne[n[1]]:n[0]);return e=>{let n="";for(let i=0;i<r.length;i++)n+="string"==typeof r[i]?r[i]:r[i](e,t);return n}}const _e=(new Intl.DateTimeFormat).resolvedOptions().timeZone;const Ie=e=>e%1==0,Ve=[1,2,2.5,5],Ce=le(10,-16,0,Ve),Fe=le(10,0,16,Ve),ze=Fe.filter(Ie),Ae=Ce.concat(Fe);function Le(e){let t=1e3*e,n=60*t,r=60*n,i=24*r,o=30*i,s=365*i;return[(1==e?le(10,0,3,Ve).filter(Ie):le(10,-3,0,Ve)).concat([t,5*t,10*t,15*t,30*t,n,5*n,10*n,15*n,30*n,r,2*r,3*r,4*r,6*r,8*r,12*r,i,2*i,3*i,4*i,5*i,6*i,7*i,8*i,9*i,10*i,15*i,o,2*o,3*o,4*o,6*o,s,2*s,5*s,10*s,25*s,50*s,100*s]),[[s,"{YYYY}",null,null,null,null,null,null,1],[28*i,"{MMM}","\n{YYYY}",null,null,null,null,null,1],[i,"{M}/{D}","\n{YYYY}",null,null,null,null,null,1],[r,"{h}{aa}","\n{M}/{D}/{YY}",null,"\n{M}/{D}",null,null,null,1],[n,"{h}:{mm}{aa}","\n{M}/{D}/{YY}",null,"\n{M}/{D}",null,null,null,1],[t,":{ss}","\n{M}/{D}/{YY} {h}:{mm}{aa}",null,"\n{M}/{D} {h}:{mm}{aa}",null,"\n{h}:{mm}{aa}",null,1],[e,":{ss}.{fff}","\n{M}/{D}/{YY} {h}:{mm}{aa}",null,"\n{M}/{D} {h}:{mm}{aa}",null,"\n{h}:{mm}{aa}",null,1]],function(t){return(u,a,l,c,f,d)=>{let h=[],m=f>=s,y=f>=o&&f<s,v=t(l),p=se(v*e,3),g=Re(v.getFullYear(),m?0:v.getMonth(),y||m?1:v.getDate()),w=se(g*e,3);if(y||m){let n=y?f/o:0,r=m?f/s:0,i=p==w?p:se(Re(g.getFullYear()+r,g.getMonth()+n,1)*e,3),u=new Date(j(i/e)),a=u.getFullYear(),l=u.getMonth();for(let o=0;i<=c;o++){let s=Re(a+r*o,l+n*o,1),u=s-t(se(s*e,3));i=se((+s+u)*e,3),i<=c&&h.push(i)}}else{let o=f>=i?i:f,s=w+(Z(l)-Z(p))+ie(p-w,o);h.push(s);let m=t(s),y=m.getHours()+m.getMinutes()/n+m.getSeconds()/r,v=f/r,g=d/u.axes[a]._space;for(;s=se(s+f,1==e?0:3),!(s>c);)if(v>1){let e=Z(se(y+v,6))%24,n=t(s).getHours()-e;n>1&&(n=-1),s-=n*r,y=(y+v)%24,se((s-h[h.length-1])/f,3)*g>=.7&&h.push(s)}else h.push(s)}return h}}]}const[Ze,je,Pe]=Le(1),[Ye,qe,We]=Le(.001);function Ue(e,t){return e.map((e=>e.map(((n,r)=>0==r||8==r||null==n?n:t(1==r||0==e[8]?n:e[1]+n)))))}function He(e,t){return(n,r,i,o,s)=>{let u,a,l,c,f,d,h=t.find((e=>s>=e[0]))||t[t.length-1];return r.map((t=>{let n=e(t),r=n.getFullYear(),i=n.getMonth(),o=n.getDate(),s=n.getHours(),m=n.getMinutes(),y=n.getSeconds(),v=r!=u&&h[2]||i!=a&&h[3]||o!=l&&h[4]||s!=c&&h[5]||m!=f&&h[6]||y!=d&&h[7]||h[1];return u=r,a=i,l=o,c=s,f=m,d=y,v(n)}))}}function Re(e,t,n){return new Date(e,t,n)}function Ge(e,t){return t(e)}le(2,-53,53,[1]);function Je(e,t){return(n,r)=>t(e(r))}const Be={show:!0,live:!0,isolate:!1,markers:{show:!0,width:2,stroke:function(e,t){let n=e.series[t];return n.width?n.stroke(e,t):n.points.width?n.points.stroke(e,t):null},fill:function(e,t){return e.series[t].fill(e,t)},dash:"solid"},idx:null,idxs:null,values:[]};const $e=[0,0];function Qe(e,t,n){return e=>{0==e.button&&n(e)}}function Ke(e,t,n){return n}const Xe={show:!0,x:!0,y:!0,lock:!1,move:function(e,t,n){return $e[0]=t,$e[1]=n,$e},points:{show:function(e,t){let n=e.cursor.points,r=c(),i=n.size(e,t);a(r,"width",i),a(r,"height",i);let o=i/-2;a(r,"marginLeft",o),a(r,"marginTop",o);let s=n.width(e,t,i);return s&&a(r,"borderWidth",s),r},size:function(e,t){return wt(e.series[t].points.width,1)},width:0,stroke:function(e,t){let n=e.series[t].points;return n._stroke||n._fill},fill:function(e,t){let n=e.series[t].points;return n._fill||n._stroke}},bind:{mousedown:Qe,mouseup:Qe,click:Qe,dblclick:Qe,mousemove:Ke,mouseleave:Ke,mouseenter:Ke},drag:{setScale:!0,x:!0,y:!1,dist:0,uni:null,_x:!1,_y:!1},focus:{prox:-1},left:-10,top:-10,idx:null,dataIdx:function(e,t,n){return n},idxs:null},et={show:!0,stroke:"rgba(0,0,0,0.07)",width:2},tt=ge({},et,{filter:ee}),nt=ge({},tt,{size:10}),rt=ge({},et,{show:!1}),it='12px system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',ot="bold "+it,st={show:!0,scale:"x",stroke:"#000",space:50,gap:5,size:50,labelGap:0,labelSize:30,labelFont:ot,side:2,grid:tt,ticks:nt,border:rt,font:it,rotate:0},ut={show:!0,scale:"x",auto:!1,sorted:1,min:J,max:-J,idxs:[]};function at(e,t,n,r,i){return t.map((e=>null==e?"":F(e)))}function lt(e,t,n,r,i,o,s){let u=[],a=ue.get(i)||0;for(let e=n=s?n:se(ie(n,i),a);e<=r;e=se(e+i,a))u.push(Object.is(e,-0)?0:e);return u}function ct(e,t,n,r,i,o,s){const u=[],a=e.scales[e.axes[t].scale].log,l=Z((10==a?H:R)(n));i=W(a,l),l<0&&(i=se(i,-l));let c=n;do{u.push(c),c=se(c+i,ue.get(i)),c>=i*a&&(i=c)}while(c<=r);return u}function ft(e,t,n,r,i,o,s){let u=e.scales[e.axes[t].scale].asinh,a=r>u?ct(e,t,q(u,n),r,i):[u],l=r>=0&&n<=0?[0]:[];return(n<-u?ct(e,t,q(u,-r),-n,i):[u]).reverse().map((e=>-e)).concat(l,a)}const dt=/./,ht=/[12357]/,mt=/[125]/,yt=/1/;function vt(e,t,n,r,i){let o=e.axes[n],s=o.scale,u=e.scales[s];if(3==u.distr&&2==u.log)return t;let a=e.valToPos,l=o._space,c=a(10,s),f=a(9,s)-c>=l?dt:a(7,s)-c>=l?ht:a(5,s)-c>=l?mt:yt;return t.map((e=>4==u.distr&&0==e||f.test(e)?e:null))}function pt(e,t){return null==t?"":F(t)}const gt={show:!0,scale:"y",stroke:"#000",space:30,gap:5,size:50,labelGap:0,labelSize:30,labelFont:ot,side:3,grid:tt,ticks:nt,border:rt,font:it,rotate:0};function wt(e,t){return se((3+2*(e||1))*t,3)}const kt={scale:null,auto:!0,sorted:0,min:J,max:-J},bt={show:!0,auto:!0,sorted:0,alpha:1,facets:[ge({},kt,{scale:"x"}),ge({},kt,{scale:"y"})]},xt={scale:"y",auto:!0,sorted:0,show:!0,spanGaps:!1,gaps:(e,t,n,r,i)=>i,alpha:1,points:{show:function(e,t){let{scale:n,idxs:r}=e.series[0],o=e._data[0],s=e.valToPos(o[r[0]],n,!0),u=e.valToPos(o[r[1]],n,!0),a=L(u-s)/(e.series[t].points.space*i);return r[1]-r[0]<=a},filter:null},values:null,min:J,max:-J,idxs:[],path:null,clip:null};function St(e,t,n,r,i){return n/10}const Tt={time:!0,auto:!0,distr:1,log:10,asinh:1,min:null,max:null,dir:1,ori:0},Mt=ge({},Tt,{time:!1,ori:1}),Ot={};function Dt(e,t){let n=Ot[e];return n||(n={key:e,plots:[],sub(e){n.plots.push(e)},unsub(e){n.plots=n.plots.filter((t=>t!=e))},pub(e,t,r,i,o,s,u){for(let a=0;a<n.plots.length;a++)n.plots[a]!=t&&n.plots[a].pub(e,t,r,i,o,s,u)}},null!=e&&(Ot[e]=n)),n}function Nt(e,t,n){const r=e.series[t],i=e.scales,o=e.bbox,s=2==e.mode?i[r.facets[0].scale]:i[e.series[0].scale];let u=e._data[0],a=e._data[t],l=s,c=2==e.mode?i[r.facets[1].scale]:i[r.scale],f=o.left,d=o.top,h=o.width,m=o.height,y=e.valToPosH,v=e.valToPosV;return 0==l.ori?n(r,u,a,l,c,y,v,f,d,h,m,At,Zt,Pt,qt,Ut):n(r,u,a,l,c,v,y,d,f,m,h,Lt,jt,Yt,Wt,Ht)}function Et(e,t){let n=0,r=0,i=I(e.bands,fe);for(let e=0;e<i.length;e++){let o=i[e];o.series[0]==t?n=o.dir:o.series[1]==t&&(1==o.dir?r|=1:r|=2)}return[n,1==r?-1:2==r?1:3==r?2:0]}function _t(e,t,n,r,i){let o=e.scales[e.series[t].scale];return-1==i?o.min:1==i?o.max:3==o.distr?1==o.dir?o.min:o.max:0}function It(e,t,n,r,i,o){return Nt(e,t,((e,t,s,u,a,l,c,f,d,h,m)=>{let y=e.pxRound;const v=u.dir*(0==u.ori?1:-1),p=0==u.ori?Zt:jt;let g,w;1==v?(g=n,w=r):(g=r,w=n);let k=y(l(t[g],u,h,f)),b=y(c(s[g],a,m,d)),x=y(l(t[w],u,h,f)),S=y(c(1==o?a.max:a.min,a,m,d)),T=new Path2D(i);return p(T,x,S),p(T,k,S),p(T,k,b),T}))}function Vt(e,t,n,r,i,o){let s=null;if(e.length>0){s=new Path2D;const u=0==t?Pt:Yt;let a=n;for(let t=0;t<e.length;t++){let n=e[t];if(n[1]>n[0]){let e=n[0]-a;e>0&&u(s,a,r,e,r+o),a=n[1]}}let l=n+i-a;l>0&&u(s,a,r,l,r+o)}return s}function Ct(e,t,n,r,i,o,s){let u=[];for(let a=1==i?n:r;a>=n&&a<=r;a+=i){if(null===t[a]){let l=a,c=a;if(1==i)for(;++a<=r&&null===t[a];)c=a;else for(;--a>=n&&null===t[a];)c=a;let f=o(e[l]),d=c==l?f:o(e[c]);f=s<=0?o(e[l-i]):f,d=s>=0?o(e[c+i]):d,d>=f&&u.push([f,d])}}return u}function Ft(e){return 0==e?X:1==e?j:t=>$(t,e)}function zt(e){let t=0==e?At:Lt,n=0==e?(e,t,n,r,i,o)=>{e.arcTo(t,n,r,i,o)}:(e,t,n,r,i,o)=>{e.arcTo(n,t,i,r,o)},r=0==e?(e,t,n,r,i)=>{e.rect(t,n,r,i)}:(e,t,n,r,i)=>{e.rect(n,t,i,r)};return(e,i,o,s,u,a=0)=>{0==a?r(e,i,o,s,u):(a=Y(a,s/2,u/2),t(e,i+a,o),n(e,i+s,o,i+s,o+u,a),n(e,i+s,o+u,i,o+u,a),n(e,i,o+u,i,o,a),n(e,i,o,i+s,o,a),e.closePath())}}const At=(e,t,n)=>{e.moveTo(t,n)},Lt=(e,t,n)=>{e.moveTo(n,t)},Zt=(e,t,n)=>{e.lineTo(t,n)},jt=(e,t,n)=>{e.lineTo(n,t)},Pt=zt(0),Yt=zt(1),qt=(e,t,n,r,i,o)=>{e.arc(t,n,r,i,o)},Wt=(e,t,n,r,i,o)=>{e.arc(n,t,r,i,o)},Ut=(e,t,n,r,i,o,s)=>{e.bezierCurveTo(t,n,r,i,o,s)},Ht=(e,t,n,r,i,o,s)=>{e.bezierCurveTo(n,t,i,r,s,o)};function Rt(e){return(e,t,n,r,o)=>Nt(e,t,((t,s,u,a,l,c,f,d,h,m,y)=>{let v,p,{pxRound:g,points:w}=t;0==a.ori?(v=At,p=qt):(v=Lt,p=Wt);const k=se(w.width*i,3);let b=(w.size-w.width)/2*i,x=se(2*b,3),S=new Path2D,T=new Path2D,{left:M,top:O,width:D,height:N}=e.bbox;Pt(T,M-x,O-x,D+2*x,N+2*x);const E=e=>{if(null!=u[e]){let t=g(c(s[e],a,m,d)),n=g(f(u[e],l,y,h));v(S,t+b,n),p(S,t,n,b,0,2*A)}};if(o)o.forEach(E);else for(let e=n;e<=r;e++)E(e);return{stroke:k>0?S:null,fill:S,clip:T,flags:3}}))}function Gt(e){return(t,n,r,i,o,s)=>{r!=i&&(o!=r&&s!=r&&e(t,n,r),o!=i&&s!=i&&e(t,n,i),e(t,n,s))}}const Jt=Gt(Zt),Bt=Gt(jt);function $t(e){const t=I(e?.alignGaps,0);return(e,n,r,i)=>Nt(e,n,((o,s,u,a,l,c,f,d,h,m,y)=>{let v,p,g=o.pxRound,w=e=>g(c(e,a,m,d)),k=e=>g(f(e,l,y,h));0==a.ori?(v=Zt,p=Jt):(v=jt,p=Bt);const b=a.dir*(0==a.ori?1:-1),S={stroke:new Path2D,fill:null,clip:null,band:null,gaps:null,flags:1},T=S.stroke;let M,O,D,N=J,E=-J,_=w(s[1==b?r:i]),I=x(u,r,i,1*b),V=x(u,r,i,-1*b),C=w(s[I]),F=w(s[V]);for(let e=1==b?r:i;e>=r&&e<=i;e+=b){let t=w(s[e]);t==_?null!=u[e]&&(O=k(u[e]),N==J&&(v(T,t,O),M=O),N=Y(O,N),E=q(O,E)):(N!=J&&(p(T,_,N,E,M,O),D=_),null!=u[e]?(O=k(u[e]),v(T,t,O),N=E=M=O):(N=J,E=-J),_=t)}N!=J&&N!=E&&D!=_&&p(T,_,N,E,M,O);let[z,A]=Et(e,n);if(null!=o.fill||0!=z){let t=S.fill=new Path2D(T),r=k(o.fillTo(e,n,o.min,o.max,z));v(t,F,r),v(t,C,r)}if(!o.spanGaps){let l=[];l.push(...Ct(s,u,r,i,b,w,t)),S.gaps=l=o.gaps(e,n,r,i,l),S.clip=Vt(l,a.ori,d,h,m,y)}return 0!=A&&(S.band=2==A?[It(e,n,r,i,T,-1),It(e,n,r,i,T,1)]:It(e,n,r,i,T,A)),S}))}function Qt(e,t,n,r,i,o){const s=e.length;if(s<2)return null;const u=new Path2D;if(n(u,e[0],t[0]),2==s)r(u,e[1],t[1]);else{let n=Array(s),r=Array(s-1),o=Array(s-1),a=Array(s-1);for(let n=0;n<s-1;n++)o[n]=t[n+1]-t[n],a[n]=e[n+1]-e[n],r[n]=o[n]/a[n];n[0]=r[0];for(let e=1;e<s-1;e++)0===r[e]||0===r[e-1]||r[e-1]>0!=r[e]>0?n[e]=0:(n[e]=3*(a[e-1]+a[e])/((2*a[e]+a[e-1])/r[e-1]+(a[e]+2*a[e-1])/r[e]),isFinite(n[e])||(n[e]=0));n[s-1]=r[s-2];for(let r=0;r<s-1;r++)i(u,e[r]+a[r]/3,t[r]+n[r]*a[r]/3,e[r+1]-a[r]/3,t[r+1]-n[r+1]*a[r]/3,e[r+1],t[r+1])}return u}const Kt=new Set;function Xt(){Kt.forEach((e=>{e.syncRect(!0)}))}e&&(w("resize",n,Xt),w("scroll",n,Xt,!0),w("dppxchange",n,(()=>{mn.pxRatio=i})));const en=$t(),tn=Rt();function nn(e,t,n,r){return(r?[e[0],e[1]].concat(e.slice(2)):[e[0]].concat(e.slice(1))).map(((e,r)=>rn(e,r,t,n)))}function rn(e,t,n,r){return ge({},0==t?n:r,e)}function on(e,t,n){return null==t?de:[t,n]}const sn=on;function un(e,t,n){return null==t?de:_(t,n,.1,!0)}function an(e,t,n,r){return null==t?de:M(t,n,e.scales[r].log,!1)}const ln=an;function cn(e,t,n,r){return null==t?de:O(t,n,e.scales[r].log,!1)}const fn=cn;function dn(e){let t,n;return[e=e.replace(/(\d+)px/,((e,r)=>(t=j((n=+r)*i))+"px")),t,n]}function hn(e){e.show&&[e.font,e.labelFont].forEach((e=>{let t=se(e[2]*i,1);e[0]=e[0].replace(/[0-9.]+px/,t+"px"),e[1]=t}))}function mn(e,r,o){const f={mode:I(e.mode,1)},h=f.mode;function y(e,t){return((3==t.distr?H(e>0?e:t.clamp(f,e,t.min,t.max,t.key)):4==t.distr?G(e,t.asinh):e)-t._min)/(t._max-t._min)}function p(e,t,n,r){let i=y(e,t);return r+n*(-1==t.dir?1-i:i)}function g(e,t,n,r){let i=y(e,t);return r+n*(-1==t.dir?i:1-i)}function x(e,t,n,r){return 0==t.ori?p(e,t,n,r):g(e,t,n,r)}f.valToPosH=p,f.valToPosV=g;let S=!1;f.status=0;const T=f.root=c("uplot");if(null!=e.id&&(T.id=e.id),s(T,e.class),e.title){c("u-title",T).textContent=e.title}const N=l("canvas"),E=f.ctx=N.getContext("2d"),V=c("u-wrap",T),C=f.under=c("u-under",V);V.appendChild(N);const F=f.over=c("u-over",V),Z=+I((e=pe(e)).pxAlign,1),U=Ft(Z);(e.plugins||[]).forEach((t=>{t.opts&&(e=t.opts(f,e)||e)}));const R=e.ms||.001,X=f.series=1==h?nn(e.series||[],ut,xt,!1):(oe=e.series||[null],ae=bt,oe.map(((e,t)=>0==t?null:ge({},ae,e))));var oe,ae;const le=f.axes=nn(e.axes||[],st,gt,!0),we=f.scales={},be=f.bands=e.bands||[];be.forEach((e=>{e.fill=K(e.fill||null),e.dir=I(e.dir,-1)}));const xe=2==h?X[1].facets[0].scale:X[0].scale,Se={axes:function(){for(let e=0;e<le.length;e++){let t=le[e];if(!t.show||!t._show)continue;let n,r,o=t.side,s=o%2,u=t.stroke(f,e),a=0==o||3==o?-1:1;if(t.label){let e=t.labelGap*a,l=j((t._lpos+e)*i);Ln(t.labelFont[0],u,"center",2==o?"top":"bottom"),E.save(),1==s?(n=r=0,E.translate(l,j(Zt+Pt/2)),E.rotate((3==o?-A:A)/2)):(n=j(Lt+jt/2),r=l),E.fillText(t.label,n,r),E.restore()}let[l,c]=t._found;if(0==c)continue;let d=we[t.scale],h=0==s?jt:Pt,m=0==s?Lt:Zt,y=j(t.gap*i),v=t._splits,p=2==d.distr?v.map((e=>Vn[e])):v,g=2==d.distr?Vn[v[1]]-Vn[v[0]]:l,w=t.ticks,k=t.border,b=w.show?j(w.size*i):0,S=t._rotate*-A/180,T=U(t._pos*i),M=T+(b+y)*a;r=0==s?M:0,n=1==s?M:0;let O=t.font[0],D=1==t.align?"left":2==t.align?"right":S>0?"left":S<0?"right":0==s?"center":3==o?"right":"left";Ln(O,u,D,S||1==s?"middle":2==o?"top":"bottom");let N=1.5*t.font[1],_=v.map((e=>U(x(e,d,h,m)))),I=t._values;for(let e=0;e<I.length;e++){let t=I[e];if(null!=t){0==s?n=_[e]:r=_[e],t=""+t;let i=-1==t.indexOf("\n")?[t]:t.split(/\n/gm);for(let e=0;e<i.length;e++){let t=i[e];S?(E.save(),E.translate(n,r+e*N),E.rotate(S),E.fillText(t,0,0),E.restore()):E.fillText(t,n,r+e*N)}}}w.show&&Hn(_,w.filter(f,p,e,c,g),s,o,T,b,se(w.width*i,3),w.stroke(f,e),w.dash,w.cap);let V=t.grid;V.show&&Hn(_,V.filter(f,p,e,c,g),s,0==s?2:1,0==s?Zt:Lt,0==s?Pt:jt,se(V.width*i,3),V.stroke(f,e),V.dash,V.cap),k.show&&Hn([T],[1],0==s?1:0,0==s?1:2,1==s?Zt:Lt,1==s?Pt:jt,se(k.width*i,3),k.stroke(f,e),k.dash,k.cap)}Ur("drawAxes")},series:function(){gn>0&&(X.forEach(((e,t)=>{if(t>0&&e.show&&null==e._paths){let n=function(e){let t=Q(wn-1,0,gn-1),n=Q(kn+1,0,gn-1);for(;null==e[t]&&t>0;)t--;for(;null==e[n]&&n<gn-1;)n++;return[t,n]}(r[t]);e._paths=e.paths(f,t,n[0],n[1])}})),X.forEach(((e,t)=>{if(t>0&&e.show){In!=e.alpha&&(E.globalAlpha=In=e.alpha),jn(t,!1),e._paths&&Pn(t,!1);{jn(t,!0);let n=e.points.show(f,t,wn,kn),r=e.points.filter(f,t,n,e._paths?e._paths.gaps:null);(n||r)&&(e.points._paths=e.points.paths(f,t,wn,kn,r),Pn(t,!0))}1!=In&&(E.globalAlpha=In=1),Ur("drawSeries",t)}})))}},Te=(e.drawOrder||["axes","series"]).map((e=>Se[e]));function Me(t){let n=we[t];if(null==n){let r=(e.scales||ce)[t]||ce;if(null!=r.from)Me(r.from),we[t]=ge({},we[r.from],r,{key:t});else{n=we[t]=ge({},t==xe?Tt:Mt,r),n.key=t;let e=n.time,i=n.range,o=he(i);if((t!=xe||2==h&&!e)&&(!o||null!=i[0]&&null!=i[1]||(i={min:null==i[0]?D:{mode:1,hard:i[0],soft:i[0]},max:null==i[1]?D:{mode:1,hard:i[1],soft:i[1]}},o=!1),!o&&ye(i))){let e=i;i=(t,n,r)=>null==n?de:_(n,r,e)}n.range=K(i||(e?sn:t==xe?3==n.distr?ln:4==n.distr?fn:on:3==n.distr?an:4==n.distr?cn:un)),n.auto=K(!o&&n.auto),n.clamp=K(n.clamp||St),n._min=n._max=null}}}Me("x"),Me("y"),1==h&&X.forEach((e=>{Me(e.scale)})),le.forEach((e=>{Me(e.scale)}));for(let t in e.scales)Me(t);const Oe=we[xe],De=Oe.distr;let Ne,_e;0==Oe.ori?(s(T,"u-hz"),Ne=p,_e=g):(s(T,"u-vt"),Ne=g,_e=p);const Ie={};for(let e in we){let t=we[e];null==t.min&&null==t.max||(Ie[e]={min:t.min,max:t.max},t.min=t.max=null)}const Ve=e.tzDate||(e=>new Date(j(e/R))),Ce=e.fmtDate||Ee,Fe=1==R?Pe(Ve):We(Ve),Le=He(Ve,Ue(1==R?je:qe,Ce)),Re=Je(Ve,Ge("{YYYY}-{MM}-{DD} {h}:{mm}{aa}",Ce)),$e=[],Qe=f.legend=ge({},Be,e.legend),Ke=Qe.show,et=Qe.markers;let tt;Qe.idxs=$e,et.width=K(et.width),et.dash=K(et.dash),et.stroke=K(et.stroke),et.fill=K(et.fill);let nt,rt=[],it=[],ot=!1,dt={};if(Qe.live){const e=X[1]?X[1].values:null;ot=null!=e,nt=ot?e(f,1,0):{_:0};for(let e in nt)dt[e]="--"}if(Ke)if(tt=l("table","u-legend",T),ot){let e=l("tr","u-thead",tt);for(var ht in l("th",null,e),nt)l("th","u-label",e).textContent=ht}else s(tt,"u-inline"),Qe.live&&s(tt,"u-live");const mt={show:!0},yt={show:!1};const kt=new Map;function Ot(e,t,n){const r=kt.get(t)||{},i=Jt.bind[e](f,t,n);i&&(w(e,t,r[e]=i),kt.set(t,r))}function Nt(e,t,n){const r=kt.get(t)||{};for(let n in r)null!=e&&n!=e||(k(n,t,r[n]),delete r[n]);null==e&&kt.delete(t)}let Et=0,It=0,Vt=0,Ct=0,zt=0,At=0,Lt=0,Zt=0,jt=0,Pt=0;f.bbox={};let Yt=!1,qt=!1,Wt=!1,Ut=!1,Ht=!1;function Rt(e,t,n){(n||e!=f.width||t!=f.height)&&Gt(e,t),Jn(!1),Wt=!0,qt=!0,Ut=Ht=Jt.left>=0,ar()}function Gt(e,t){f.width=Et=Vt=e,f.height=It=Ct=t,zt=At=0,function(){let e=!1,t=!1,n=!1,r=!1;le.forEach(((i,o)=>{if(i.show&&i._show){let{side:o,_size:s}=i,u=o%2,a=s+(null!=i.label?i.labelSize:0);a>0&&(u?(Vt-=a,3==o?(zt+=a,r=!0):n=!0):(Ct-=a,0==o?(At+=a,e=!0):t=!0))}})),mn[0]=e,mn[1]=n,mn[2]=t,mn[3]=r,Vt-=pn[1]+pn[3],zt+=pn[3],Ct-=pn[2]+pn[0],At+=pn[0]}(),function(){let e=zt+Vt,t=At+Ct,n=zt,r=At;function i(i,o){switch(i){case 1:return e+=o,e-o;case 2:return t+=o,t-o;case 3:return n-=o,n+o;case 0:return r-=o,r+o}}le.forEach(((e,t)=>{if(e.show&&e._show){let t=e.side;e._pos=i(t,e._size),null!=e.label&&(e._lpos=i(t,e.labelSize))}}))}();let n=f.bbox;Lt=n.left=$(zt*i,.5),Zt=n.top=$(At*i,.5),jt=n.width=$(Vt*i,.5),Pt=n.height=$(Ct*i,.5)}f.setSize=function({width:e,height:t}){Rt(e,t)};const Jt=f.cursor=ge({},Xe,{drag:{y:2==h}},e.cursor);{Jt.idxs=$e,Jt._lock=!1;let e=Jt.points;e.show=K(e.show),e.size=K(e.size),e.stroke=K(e.stroke),e.width=K(e.width),e.fill=K(e.fill)}const Bt=f.focus=ge({},e.focus||{alpha:.3},Jt.focus),$t=Bt.prox>=0;let Qt=[null];function Xt(e,t){if(1==h||t>0){let t=1==h&&we[e.scale].time,n=e.value;e.value=t?me(n)?Je(Ve,Ge(n,Ce)):n||Re:n||pt,e.label=e.label||(t?"Time":"Value")}if(t>0){e.width=null==e.width?1:e.width,e.paths=e.paths||en||te,e.fillTo=K(e.fillTo||_t),e.pxAlign=+I(e.pxAlign,Z),e.pxRound=Ft(e.pxAlign),e.stroke=K(e.stroke||null),e.fill=K(e.fill||null),e._stroke=e._fill=e._paths=e._focus=null;let t=wt(e.width,1),n=e.points=ge({},{size:t,width:q(1,.2*t),stroke:e.stroke,space:2*t,paths:tn,_stroke:null,_fill:null},e.points);n.show=K(n.show),n.filter=K(n.filter),n.fill=K(n.fill),n.stroke=K(n.stroke),n.paths=K(n.paths),n.pxAlign=e.pxAlign}if(Ke){let n=function(e,t){if(0==t&&(ot||!Qe.live||2==h))return de;let n=[],r=l("tr","u-series",tt,tt.childNodes[t]);s(r,e.class),e.show||s(r,"u-off");let i=l("th",null,r);if(et.show){let e=c("u-marker",i);if(t>0){let n=et.width(f,t);n&&(e.style.border=n+"px "+et.dash(f,t)+" "+et.stroke(f,t)),e.style.background=et.fill(f,t)}}let o=c("u-label",i);for(var u in o.textContent=e.label,t>0&&(et.show||(o.style.color=e.width>0?et.stroke(f,t):et.fill(f,t)),Ot("click",i,(t=>{if(Jt._lock)return;let n=X.indexOf(e);if((t.ctrlKey||t.metaKey)!=Qe.isolate){let e=X.some(((e,t)=>t>0&&t!=n&&e.show));X.forEach(((t,r)=>{r>0&&wr(r,e?r==n?mt:yt:mt,!0,Hr.setSeries)}))}else wr(n,{show:!e.show},!0,Hr.setSeries)})),$t&&Ot("mouseenter",i,(t=>{Jt._lock||wr(X.indexOf(e),Sr,!0,Hr.setSeries)}))),nt){let e=l("td","u-value",r);e.textContent="--",n.push(e)}return[r,n]}(e,t);rt.splice(t,0,n[0]),it.splice(t,0,n[1]),Qe.values.push(null)}if(Jt.show){$e.splice(t,0,null);let n=function(e,t){if(t>0){let n=Jt.points.show(f,t);if(n)return s(n,"u-cursor-pt"),s(n,e.class),d(n,-10,-10,Vt,Ct),F.insertBefore(n,Qt[t]),n}}(e,t);n&&Qt.splice(t,0,n)}Ur("addSeries",t)}f.addSeries=function(e,t){e=rn(e,t=null==t?X.length:t,ut,xt),X.splice(t,0,e),Xt(X[t],t)},f.delSeries=function(e){if(X.splice(e,1),Ke){Qe.values.splice(e,1),it.splice(e,1);let t=rt.splice(e,1)[0];Nt(null,t.firstChild),t.remove()}Jt.show&&($e.splice(e,1),Qt.length>1&&Qt.splice(e,1)[0].remove()),Ur("delSeries",e)};const mn=[!1,!1,!1,!1];function yn(e,t,n,r){let[i,o,s,u]=n,a=t%2,l=0;return 0==a&&(u||o)&&(l=0==t&&!i||2==t&&!s?j(st.size/3):0),1==a&&(i||s)&&(l=1==t&&!o||3==t&&!u?j(gt.size/2):0),l}const vn=f.padding=(e.padding||[yn,yn,yn,yn]).map((e=>K(I(e,yn)))),pn=f._padding=vn.map(((e,t)=>e(f,t,mn,0)));let gn,wn=null,kn=null;const bn=1==h?X[0].idxs:null;let xn,Sn,Tn,Mn,On,Dn,Nn,En,_n,In,Vn=null,Cn=!1;function Fn(e,t){if(r=null==e?[]:pe(e,ve),2==h){gn=0;for(let e=1;e<X.length;e++)gn+=r[e][0].length;f.data=r=e}else if(null==r[0]&&(r[0]=[]),f.data=r.slice(),Vn=r[0],gn=Vn.length,2==De){r[0]=Array(gn);for(let e=0;e<gn;e++)r[0][e]=e}if(f._data=r,Jn(!0),Ur("setData"),!1!==t){let e=Oe;e.auto(f,Cn)?zn():gr(xe,e.min,e.max),Ut=Jt.left>=0,Ht=!0,ar()}}function zn(){let e,t;Cn=!0,1==h&&(gn>0?(wn=bn[0]=0,kn=bn[1]=gn-1,e=r[0][wn],t=r[0][kn],2==De?(e=wn,t=kn):1==gn&&(3==De?[e,t]=M(e,e,Oe.log,!1):4==De?[e,t]=O(e,e,Oe.log,!1):Oe.time?t=e+j(86400/R):[e,t]=_(e,t,.1,!0))):(wn=bn[0]=e=null,kn=bn[1]=t=null)),gr(xe,e,t)}function An(e="#0000",t,n=fe,r="butt",i="#0000",o="round"){e!=xn&&(E.strokeStyle=xn=e),i!=Sn&&(E.fillStyle=Sn=i),t!=Tn&&(E.lineWidth=Tn=t),o!=On&&(E.lineJoin=On=o),r!=Dn&&(E.lineCap=Dn=r),n!=Mn&&E.setLineDash(Mn=n)}function Ln(e,t,n,r){t!=Sn&&(E.fillStyle=Sn=t),e!=Nn&&(E.font=Nn=e),n!=En&&(E.textAlign=En=n),r!=_n&&(E.textBaseline=_n=r)}function Zn(e,t,n,r,i=0){if(r.length>0&&e.auto(f,Cn)&&(null==t||null==t.min)){let t=I(wn,0),o=I(kn,r.length-1),s=null==n.min?3==e.distr?function(e,t,n){let r=J,i=-J;for(let o=t;o<=n;o++)e[o]>0&&(r=Y(r,e[o]),i=q(i,e[o]));return[r==J?1:r,i==-J?10:i]}(r,t,o):function(e,t,n,r){let i=J,o=-J;if(1==r)i=e[t],o=e[n];else if(-1==r)i=e[n],o=e[t];else for(let r=t;r<=n;r++)null!=e[r]&&(i=Y(i,e[r]),o=q(o,e[r]));return[i,o]}(r,t,o,i):[n.min,n.max];e.min=Y(e.min,n.min=s[0]),e.max=q(e.max,n.max=s[1])}}function jn(e,t){let n=t?X[e].points:X[e];n._stroke=n.stroke(f,e),n._fill=n.fill(f,e)}function Pn(e,t){let n=t?X[e].points:X[e],o=n._stroke,s=n._fill,{stroke:u,fill:a,clip:l,flags:c}=n._paths,d=null,h=se(n.width*i,3),m=h%2/2;t&&null==s&&(s=h>0?"#fff":o);let y=1==n.pxAlign;if(y&&E.translate(m,m),!t){let e=Lt,t=Zt,r=jt,o=Pt,s=h*i/2;0==n.min&&(o+=s),0==n.max&&(t-=s,o+=s),d=new Path2D,d.rect(e,t,r,o)}t?Yn(o,h,n.dash,n.cap,s,u,a,c,l):function(e,t,n,i,o,s,u,a,l,c,d){let h=!1;be.forEach(((m,y)=>{if(m.series[0]==e){let e,v=X[m.series[1]],p=r[m.series[1]],g=(v._paths||ce).band;he(g)&&(g=1==m.dir?g[0]:g[1]);let w=null;v.show&&g&&function(e,t,n){for(t=I(t,0),n=I(n,e.length-1);t<=n;){if(null!=e[t])return!0;t++}return!1}(p,wn,kn)?(w=m.fill(f,y)||s,e=v._paths.clip):g=null,Yn(t,n,i,o,w,u,a,l,c,d,e,g),h=!0}})),h||Yn(t,n,i,o,s,u,a,l,c,d)}(e,o,h,n.dash,n.cap,s,u,a,c,d,l),y&&E.translate(-m,-m)}f.setData=Fn;function Yn(e,t,n,r,i,o,s,u,a,l,c,f){An(e,t,n,r,i),(a||l||f)&&(E.save(),a&&E.clip(a),l&&E.clip(l)),f?3==(3&u)?(E.clip(f),c&&E.clip(c),Wn(i,s),qn(e,o,t)):2&u?(Wn(i,s),E.clip(f),qn(e,o,t)):1&u&&(E.save(),E.clip(f),c&&E.clip(c),Wn(i,s),E.restore(),qn(e,o,t)):(Wn(i,s),qn(e,o,t)),(a||l||f)&&E.restore()}function qn(e,t,n){n>0&&(t instanceof Map?t.forEach(((e,t)=>{E.strokeStyle=xn=t,E.stroke(e)})):null!=t&&e&&E.stroke(t))}function Wn(e,t){t instanceof Map?t.forEach(((e,t)=>{E.fillStyle=Sn=t,E.fill(e)})):null!=t&&e&&E.fill(t)}function Un(e,t,n,r){let i,o=le[e];if(r<=0)i=[0,0];else{let s=o._space=o.space(f,e,t,n,r);i=function(e,t,n,r,i){let o=q(B(e),B(t)),s=t-e,u=b(i/r*s,n);do{let e=n[u],t=r*e/s;if(t>=i&&o+(e<5?ue.get(e):0)<=17)return[e,t]}while(++u<n.length);return[0,0]}(t,n,o._incrs=o.incrs(f,e,t,n,r,s),r,s)}return o._found=i}function Hn(e,t,n,r,i,o,s,u,a,l){let c=s%2/2;1==Z&&E.translate(c,c),An(u,s,a,l,u),E.beginPath();let f,d,h,m,y=i+(0==r||3==r?-o:o);0==n?(d=i,m=y):(f=i,h=y);for(let r=0;r<e.length;r++)null!=t[r]&&(0==n?f=h=e[r]:d=m=e[r],E.moveTo(f,d),E.lineTo(h,m));E.stroke(),1==Z&&E.translate(-c,-c)}function Rn(e){let t=!0;return le.forEach(((n,r)=>{if(!n.show)return;let i=we[n.scale];if(null==i.min)return void(n._show&&(t=!1,n._show=!1,Jn(!1)));n._show||(t=!1,n._show=!0,Jn(!1));let o=n.side,s=o%2,{min:u,max:a}=i,[l,c]=Un(r,u,a,0==s?Vt:Ct);if(0==c)return;let d=2==i.distr,h=n._splits=n.splits(f,r,u,a,l,c,d),m=2==i.distr?h.map((e=>Vn[e])):h,y=2==i.distr?Vn[h[1]]-Vn[h[0]]:l,v=n._values=n.values(f,n.filter(f,m,r,c,y),r,c,y);n._rotate=2==o?n.rotate(f,v,r,c):0;let p=n._size;n._size=P(n.size(f,v,r,e)),null!=p&&n._size!=p&&(t=!1)})),t}function Gn(e){let t=!0;return vn.forEach(((n,r)=>{let i=n(f,r,mn,e);i!=pn[r]&&(t=!1),pn[r]=i})),t}function Jn(e){X.forEach(((t,n)=>{n>0&&(t._paths=null,e&&(1==h?(t.min=null,t.max=null):t.facets.forEach((e=>{e.min=null,e.max=null}))))}))}let Bn,$n,Qn,Kn,Xn,er,tr,nr,rr,ir,or,sr,ur=!1;function ar(){ur||(ke(lr),ur=!0)}function lr(){Yt&&(!function(){let e=pe(we,ve);for(let t in e){let n=e[t],r=Ie[t];if(null!=r&&null!=r.min)ge(n,r),t==xe&&Jn(!0);else if(t!=xe||2==h)if(0==gn&&null==n.from){let e=n.range(f,null,null,t);n.min=e[0],n.max=e[1]}else n.min=J,n.max=-J}if(gn>0){X.forEach(((t,n)=>{if(1==h){let i=t.scale,o=e[i],s=Ie[i];if(0==n){let e=o.range(f,o.min,o.max,i);o.min=e[0],o.max=e[1],wn=b(o.min,r[0]),kn=b(o.max,r[0]),r[0][wn]<o.min&&wn++,r[0][kn]>o.max&&kn--,t.min=Vn[wn],t.max=Vn[kn]}else t.show&&t.auto&&Zn(o,s,t,r[n],t.sorted);t.idxs[0]=wn,t.idxs[1]=kn}else if(n>0&&t.show&&t.auto){let[i,o]=t.facets,s=i.scale,u=o.scale,[a,l]=r[n];Zn(e[s],Ie[s],i,a,i.sorted),Zn(e[u],Ie[u],o,l,o.sorted),t.min=o.min,t.max=o.max}}));for(let t in e){let n=e[t],r=Ie[t];if(null==n.from&&(null==r||null==r.min)){let e=n.range(f,n.min==J?null:n.min,n.max==-J?null:n.max,t);n.min=e[0],n.max=e[1]}}}for(let t in e){let n=e[t];if(null!=n.from){let r=e[n.from];if(null==r.min)n.min=n.max=null;else{let e=n.range(f,r.min,r.max,t);n.min=e[0],n.max=e[1]}}}let t={},n=!1;for(let r in e){let i=e[r],o=we[r];if(o.min!=i.min||o.max!=i.max){o.min=i.min,o.max=i.max;let e=o.distr;o._min=3==e?H(o.min):4==e?G(o.min,o.asinh):o.min,o._max=3==e?H(o.max):4==e?G(o.max,o.asinh):o.max,t[r]=n=!0}}if(n){X.forEach(((e,n)=>{2==h?n>0&&t.y&&(e._paths=null):t[e.scale]&&(e._paths=null)}));for(let e in t)Wt=!0,Ur("setScale",e);Jt.show&&(Ut=Ht=Jt.left>=0)}for(let e in Ie)Ie[e]=null}(),Yt=!1),Wt&&(!function(){let e=!1,t=0;for(;!e;){t++;let n=Rn(t),r=Gn(t);e=3==t||n&&r,e||(Gt(f.width,f.height),qt=!0)}}(),Wt=!1),qt&&(a(C,"left",zt),a(C,"top",At),a(C,"width",Vt),a(C,"height",Ct),a(F,"left",zt),a(F,"top",At),a(F,"width",Vt),a(F,"height",Ct),a(V,"width",Et),a(V,"height",It),N.width=j(Et*i),N.height=j(It*i),le.forEach((({_el:e,_show:t,_size:n,_pos:r,side:i})=>{if(null!=e)if(t){let t=i%2==1;a(e,t?"left":"top",r-(3===i||0===i?n:0)),a(e,t?"width":"height",n),a(e,t?"top":"left",t?At:zt),a(e,t?"height":"width",t?Ct:Vt),u(e,"u-off")}else s(e,"u-off")})),xn=Sn=Tn=On=Dn=Nn=En=_n=Mn=null,In=1,Cr(!0),Ur("setSize"),qt=!1),Et>0&&It>0&&(E.clearRect(0,0,N.width,N.height),Ur("drawClear"),Te.forEach((e=>e())),Ur("draw")),Jt.show&&Ut&&(Ir(null,!0,!1),Ut=!1),S||(S=!0,f.status=1,Ur("ready")),Cn=!1,ur=!1}function cr(e,t){let n=we[e];if(null==n.from){if(0==gn){let r=n.range(f,t.min,t.max,e);t.min=r[0],t.max=r[1]}if(t.min>t.max){let e=t.min;t.min=t.max,t.max=e}if(gn>1&&null!=t.min&&null!=t.max&&t.max-t.min<1e-16)return;e==xe&&2==n.distr&&gn>0&&(t.min=b(t.min,r[0]),t.max=b(t.max,r[0]),t.min==t.max&&t.max++),Ie[e]=t,Yt=!0,ar()}}f.redraw=(e,t)=>{Wt=t||!1,!1!==e?gr(xe,Oe.min,Oe.max):ar()},f.setScale=cr;let fr=!1;const dr=Jt.drag;let hr=dr.x,mr=dr.y;Jt.show&&(Jt.x&&(Bn=c("u-cursor-x",F)),Jt.y&&($n=c("u-cursor-y",F)),0==Oe.ori?(Qn=Bn,Kn=$n):(Qn=$n,Kn=Bn),or=Jt.left,sr=Jt.top);const yr=f.select=ge({show:!0,over:!0,left:0,width:0,top:0,height:0},e.select),vr=yr.show?c("u-select",yr.over?F:C):null;function pr(e,t){if(yr.show){for(let t in e)a(vr,t,yr[t]=e[t]);!1!==t&&Ur("setSelect")}}function gr(e,t,n){cr(e,{min:t,max:n})}function wr(e,t,n,r){null!=t.focus&&function(e){if(e!=xr){let t=null==e,n=1!=Bt.alpha;X.forEach(((r,i)=>{let o=t||0==i||i==e;r._focus=t?null:o,n&&function(e,t){X[e].alpha=t,Jt.show&&Qt[e]&&(Qt[e].style.opacity=t);Ke&&rt[e]&&(rt[e].style.opacity=t)}(i,o?1:Bt.alpha)})),xr=e,n&&ar()}}(e),null!=t.show&&X.forEach(((n,r)=>{r>0&&(e==r||null==e)&&(n.show=t.show,function(e,t){let n=X[e],r=Ke?rt[e]:null;n.show?r&&u(r,"u-off"):(r&&s(r,"u-off"),Qt.length>1&&d(Qt[e],-10,-10,Vt,Ct))}(r,t.show),gr(2==h?n.facets[1].scale:n.scale,null,null),ar())})),!1!==n&&Ur("setSeries",e,t),r&&Jr("setSeries",f,e,t)}let kr,br,xr;f.setSelect=pr,f.setSeries=wr,f.addBand=function(e,t){e.fill=K(e.fill||null),e.dir=I(e.dir,-1),t=null==t?be.length:t,be.splice(t,0,e)},f.setBand=function(e,t){ge(be[e],t)},f.delBand=function(e){null==e?be.length=0:be.splice(e,1)};const Sr={focus:!0};function Tr(e,t,n){let r=we[t];n&&(e=e/i-(1==r.ori?At:zt));let o=Vt;1==r.ori&&(o=Ct,e=o-e),-1==r.dir&&(e=o-e);let s=r._min,u=s+(r._max-s)*(e/o),a=r.distr;return 3==a?W(10,u):4==a?((e,t=1)=>z.sinh(e)*t)(u,r.asinh):u}function Mr(e,t){a(vr,"left",yr.left=e),a(vr,"width",yr.width=t)}function Or(e,t){a(vr,"top",yr.top=e),a(vr,"height",yr.height=t)}Ke&&$t&&w("mouseleave",tt,(e=>{Jt._lock||null!=xr&&wr(null,Sr,!0,Hr.setSeries)})),f.valToIdx=e=>b(e,r[0]),f.posToIdx=function(e,t){return b(Tr(e,xe,t),r[0],wn,kn)},f.posToVal=Tr,f.valToPos=(e,t,n)=>0==we[t].ori?p(e,we[t],n?jt:Vt,n?Lt:0):g(e,we[t],n?Pt:Ct,n?Zt:0),f.batch=function(e){e(f),ar()},f.setCursor=(e,t,n)=>{or=e.left,sr=e.top,Ir(null,t,n)};let Dr=0==Oe.ori?Mr:Or,Nr=1==Oe.ori?Mr:Or;function Er(e,t){if(null!=e){let t=e.idx;Qe.idx=t,X.forEach(((e,n)=>{(n>0||!ot)&&_r(n,t)}))}Ke&&Qe.live&&function(){if(Ke&&Qe.live)for(let e=2==h?1:0;e<X.length;e++){if(0==e&&ot)continue;let t=Qe.values[e],n=0;for(let r in t)it[e][n++].firstChild.nodeValue=t[r]}}(),Ht=!1,!1!==t&&Ur("setLegend")}function _r(e,t){let n;if(null==t)n=dt;else{let i=X[e],o=0==e&&2==De?Vn:r[e];n=ot?i.values(f,e,t):{_:i.value(f,o[t],e,t)}}Qe.values[e]=n}function Ir(e,t,n){let i;rr=or,ir=sr,[or,sr]=Jt.move(f,or,sr),Jt.show&&(Qn&&d(Qn,j(or),0,Vt,Ct),Kn&&d(Kn,0,j(sr),Vt,Ct));let o=wn>kn;kr=J;let s=0==Oe.ori?Vt:Ct,u=1==Oe.ori?Vt:Ct;if(or<0||0==gn||o){i=null;for(let e=0;e<X.length;e++)e>0&&Qt.length>1&&d(Qt[e],-10,-10,Vt,Ct);if($t&&wr(null,Sr,!0,null==e&&Hr.setSeries),Qe.live){$e.fill(null),Ht=!0;for(let e=0;e<X.length;e++)Qe.values[e]=dt}}else{let e,t,n;1==h&&(e=0==Oe.ori?or:sr,t=Tr(e,xe),i=b(t,r[0],wn,kn),n=ie(Ne(r[0][i],Oe,s,0),.5));for(let e=2==h?1:0;e<X.length;e++){let o=X[e],a=$e[e],l=1==h?r[e][a]:r[e][1][a],c=Jt.dataIdx(f,e,i,t),y=1==h?r[e][c]:r[e][1][c];Ht=Ht||y!=l||c!=a,$e[e]=c;let p=c==i?n:ie(Ne(1==h?r[0][c]:r[e][0][c],Oe,s,0),.5);if(e>0&&o.show){let t,n,r=null==y?-10:ie(_e(y,1==h?we[o.scale]:we[o.facets[1].scale],u,0),.5);if(r>0&&1==h){let t=L(r-sr);t<=kr&&(kr=t,br=e)}if(0==Oe.ori?(t=p,n=r):(t=r,n=p),Ht&&Qt.length>1){m(Qt[e],Jt.points.fill(f,e),Jt.points.stroke(f,e));let r,i,o,s,u=!0,a=Jt.points.bbox;if(null!=a){u=!1;let t=a(f,e);o=t.left,s=t.top,r=t.width,i=t.height}else o=t,s=n,r=i=Jt.points.size(f,e);v(Qt[e],r,i,u),d(Qt[e],o,s,Vt,Ct)}}if(Qe.live){if(!Ht||0==e&&ot)continue;_r(e,c)}}}if(Jt.idx=i,Jt.left=or,Jt.top=sr,Ht&&(Qe.idx=i,Er()),yr.show&&fr)if(null!=e){let[t,n]=Hr.scales,[r,i]=Hr.match,[o,a]=e.cursor.sync.scales,l=e.cursor.drag;if(hr=l._x,mr=l._y,hr||mr){let l,c,f,d,h,{left:m,top:y,width:v,height:p}=e.select,g=e.scales[t].ori,w=e.posToVal,k=null!=t&&r(t,o),b=null!=n&&i(n,a);k&&hr?(0==g?(l=m,c=v):(l=y,c=p),f=we[t],d=Ne(w(l,o),f,s,0),h=Ne(w(l+c,o),f,s,0),Dr(Y(d,h),L(h-d))):Dr(0,s),b&&mr?(1==g?(l=m,c=v):(l=y,c=p),f=we[n],d=_e(w(l,a),f,u,0),h=_e(w(l+c,a),f,u,0),Nr(Y(d,h),L(h-d))):Nr(0,u)}else Lr()}else{let e=L(rr-Xn),t=L(ir-er);if(1==Oe.ori){let n=e;e=t,t=n}hr=dr.x&&e>=dr.dist,mr=dr.y&&t>=dr.dist;let n,r,i=dr.uni;null!=i?hr&&mr&&(hr=e>=i,mr=t>=i,hr||mr||(t>e?mr=!0:hr=!0)):dr.x&&dr.y&&(hr||mr)&&(hr=mr=!0),hr&&(0==Oe.ori?(n=tr,r=or):(n=nr,r=sr),Dr(Y(n,r),L(r-n)),mr||Nr(0,u)),mr&&(1==Oe.ori?(n=tr,r=or):(n=nr,r=sr),Nr(Y(n,r),L(r-n)),hr||Dr(0,s)),hr||mr||(Dr(0,0),Nr(0,0))}if(dr._x=hr,dr._y=mr,null==e){if(n){if(null!=Rr){let[e,t]=Hr.scales;Hr.values[0]=null!=e?Tr(0==Oe.ori?or:sr,e):null,Hr.values[1]=null!=t?Tr(1==Oe.ori?or:sr,t):null}Jr("mousemove",f,or,sr,Vt,Ct,i)}if($t){let e=n&&Hr.setSeries,t=Bt.prox;null==xr?kr<=t&&wr(br,Sr,!0,e):kr>t?wr(null,Sr,!0,e):br!=xr&&wr(br,Sr,!0,e)}}S&&!1!==t&&Ur("setCursor")}f.setLegend=Er;let Vr=null;function Cr(e){!0===e?Vr=null:(Vr=F.getBoundingClientRect(),Ur("syncRect",Vr))}function Fr(e,t,n,r,i,o,s){Jt._lock||(zr(e,t,n,r,i,o,s,!1,null!=e),null!=e?Ir(null,!0,!0):Ir(t,!0,!1))}function zr(e,t,n,r,i,o,s,u,a){if(null==Vr&&Cr(!1),null!=e)n=e.clientX-Vr.left,r=e.clientY-Vr.top;else{if(n<0||r<0)return or=-10,void(sr=-10);let[e,s]=Hr.scales,u=t.cursor.sync,[a,l]=u.values,[c,f]=u.scales,[d,h]=Hr.match,m=t.axes[0].side%2==1,y=0==Oe.ori?Vt:Ct,v=1==Oe.ori?Vt:Ct,p=m?o:i,g=m?i:o,w=m?r:n,k=m?n:r;if(n=null!=c?d(e,c)?x(a,we[e],y,0):-10:y*(w/p),r=null!=f?h(s,f)?x(l,we[s],v,0):-10:v*(k/g),1==Oe.ori){let e=n;n=r,r=e}}a&&((n<=1||n>=Vt-1)&&(n=$(n,Vt)),(r<=1||r>=Ct-1)&&(r=$(r,Ct))),u?(Xn=n,er=r,[tr,nr]=Jt.move(f,n,r)):(or=n,sr=r)}const Ar={width:0,height:0};function Lr(){pr(Ar,!1)}function Zr(e,n,r,i,o,s,u){fr=!0,hr=mr=dr._x=dr._y=!1,zr(e,n,r,i,o,s,0,!0,!1),null!=e&&(Ot("mouseup",t,jr),Jr("mousedown",f,tr,nr,Vt,Ct,null))}function jr(e,n,r,i,o,s,u){fr=dr._x=dr._y=!1,zr(e,n,r,i,o,s,0,!1,!0);let{left:a,top:l,width:c,height:d}=yr,h=c>0||d>0;if(h&&pr(yr),dr.setScale&&h){let e=a,t=c,n=l,r=d;if(1==Oe.ori&&(e=l,t=d,n=a,r=c),hr&&gr(xe,Tr(e,xe),Tr(e+t,xe)),mr)for(let e in we){let t=we[e];e!=xe&&null==t.from&&t.min!=J&&gr(e,Tr(n+r,e),Tr(n,e))}Lr()}else Jt.lock&&(Jt._lock=!Jt._lock,Jt._lock||Ir(null,!0,!1));null!=e&&(Nt("mouseup",t),Jr("mouseup",f,or,sr,Vt,Ct,null))}function Pr(e,t,n,r,i,o,s){zn(),Lr(),null!=e&&Jr("dblclick",f,or,sr,Vt,Ct,null)}function Yr(){le.forEach(hn),Rt(f.width,f.height,!0)}w("dppxchange",n,Yr);const qr={};qr.mousedown=Zr,qr.mousemove=Fr,qr.mouseup=jr,qr.dblclick=Pr,qr.setSeries=(e,t,n,r)=>{wr(n,r,!0,!1)},Jt.show&&(Ot("mousedown",F,Zr),Ot("mousemove",F,Fr),Ot("mouseenter",F,Cr),Ot("mouseleave",F,(function(e,t,n,r,i,o,s){if(!Jt._lock){let e=fr;if(fr){let e,t,n=!0,r=!0,i=10;0==Oe.ori?(e=hr,t=mr):(e=mr,t=hr),e&&t&&(n=or<=i||or>=Vt-i,r=sr<=i||sr>=Ct-i),e&&n&&(or=or<tr?0:Vt),t&&r&&(sr=sr<nr?0:Ct),Ir(null,!0,!0),fr=!1}or=-10,sr=-10,Ir(null,!0,!0),e&&(fr=e)}})),Ot("dblclick",F,Pr),Kt.add(f),f.syncRect=Cr);const Wr=f.hooks=e.hooks||{};function Ur(e,t,n){e in Wr&&Wr[e].forEach((e=>{e.call(null,f,t,n)}))}(e.plugins||[]).forEach((e=>{for(let t in e.hooks)Wr[t]=(Wr[t]||[]).concat(e.hooks[t])}));const Hr=ge({key:null,setSeries:!1,filters:{pub:ne,sub:ne},scales:[xe,X[1]?X[1].scale:null],match:[re,re],values:[null,null]},Jt.sync);Jt.sync=Hr;const Rr=Hr.key,Gr=Dt(Rr);function Jr(e,t,n,r,i,o,s){Hr.filters.pub(e,t,n,r,i,o,s)&&Gr.pub(e,t,n,r,i,o,s)}function Br(){Ur("init",e,r),Fn(r||e.data,!1),Ie[xe]?cr(xe,Ie[xe]):zn(),Rt(e.width,e.height),Ir(null,!0,!1),pr(yr,!1)}return Gr.sub(f),f.pub=function(e,t,n,r,i,o,s){Hr.filters.sub(e,t,n,r,i,o,s)&&qr[e](null,t,n,r,i,o,s)},f.destroy=function(){Gr.unsub(f),Kt.delete(f),kt.clear(),k("dppxchange",n,Yr),T.remove(),Ur("destroy")},X.forEach(Xt),le.forEach((function(e,t){if(e._show=e.show,e.show){let n=e.side%2,r=we[e.scale];null==r&&(e.scale=n?X[1].scale:xe,r=we[e.scale]);let i=r.time;e.size=K(e.size),e.space=K(e.space),e.rotate=K(e.rotate),e.incrs=K(e.incrs||(2==r.distr?ze:i?1==R?Ze:Ye:Ae)),e.splits=K(e.splits||(i&&1==r.distr?Fe:3==r.distr?ct:4==r.distr?ft:lt)),e.stroke=K(e.stroke),e.grid.stroke=K(e.grid.stroke),e.ticks.stroke=K(e.ticks.stroke),e.border.stroke=K(e.border.stroke);let o=e.values;e.values=he(o)&&!he(o[0])?K(o):i?he(o)?He(Ve,Ue(o,Ce)):me(o)?function(e,t){let n=Ee(t);return(t,r,i,o,s)=>r.map((t=>n(e(t))))}(Ve,o):o||Le:o||at,e.filter=K(e.filter||(r.distr>=3?vt:ee)),e.font=dn(e.font),e.labelFont=dn(e.labelFont),e._size=e.size(f,null,t,0),e._space=e._rotate=e._incrs=e._found=e._splits=e._values=null,e._size>0&&(mn[t]=!0,e._el=c("u-axis",V))}})),o?o instanceof HTMLElement?(o.appendChild(T),Br()):o(f,Br):Br(),f}mn.assign=ge,mn.fmtNum=F,mn.rangeNum=_,mn.rangeLog=M,mn.rangeAsinh=O,mn.orient=Nt,mn.pxRatio=i,mn.join=function(e,t){let n=new Set;for(let t=0;t<e.length;t++){let r=e[t][0],i=r.length;for(let e=0;e<i;e++)n.add(r[e])}let r=[Array.from(n).sort(((e,t)=>e-t))],i=r[0].length,o=new Map;for(let e=0;e<i;e++)o.set(r[0][e],e);for(let n=0;n<e.length;n++){let s=e[n],u=s[0];for(let e=1;e<s.length;e++){let a=s[e],l=Array(i).fill(void 0),c=t?t[n][e]:1,f=[];for(let e=0;e<a.length;e++){let t=a[e],n=o.get(u[e]);null===t?0!=c&&(l[n]=t,2==c&&f.push(n)):l[n]=t}we(l,f,i),r.push(l)}}return r},mn.fmtDate=Ee,mn.tzDate=function(e,t){let n;return"UTC"==t||"Etc/UTC"==t?n=new Date(+e+6e4*e.getTimezoneOffset()):t==_e?n=e:(n=new Date(e.toLocaleString("en-US",{timeZone:t})),n.setMilliseconds(e.getMilliseconds())),n},mn.sync=Dt;{mn.addGap=function(e,t,n){let r=e[e.length-1];r&&r[0]==t?r[1]=n:e.push([t,n])},mn.clipGaps=Vt;let e=mn.paths={points:Rt};e.linear=$t,e.stepped=function(e){const t=I(e.align,1),n=I(e.ascDesc,!1),r=I(e.alignGaps,0);return(e,o,s,u)=>Nt(e,o,((a,l,c,f,d,h,m,y,v,p,g)=>{let w=a.pxRound,k=e=>w(h(e,f,p,y)),b=e=>w(m(e,d,g,v)),S=0==f.ori?Zt:jt;const T={stroke:new Path2D,fill:null,clip:null,band:null,gaps:null,flags:1},M=T.stroke,O=f.dir*(0==f.ori?1:-1);s=x(c,s,u,1),u=x(c,s,u,-1);let D=b(c[1==O?s:u]),N=k(l[1==O?s:u]),E=N;S(M,N,D);for(let e=1==O?s:u;e>=s&&e<=u;e+=O){let n=c[e];if(null==n)continue;let r=k(l[e]),i=b(n);1==t?S(M,r,D):S(M,E,i),S(M,r,i),D=i,E=r}let[_,I]=Et(e,o);if(null!=a.fill||0!=_){let t=T.fill=new Path2D(M),n=b(a.fillTo(e,o,a.min,a.max,_));S(t,E,n),S(t,N,n)}if(!a.spanGaps){let d=[];d.push(...Ct(l,c,s,u,O,k,r));let h=a.width*i/2,m=n||1==t?h:-h,w=n||-1==t?-h:h;d.forEach((e=>{e[0]+=m,e[1]+=w})),T.gaps=d=a.gaps(e,o,s,u,d),T.clip=Vt(d,f.ori,y,v,p,g)}return 0!=I&&(T.band=2==I?[It(e,o,s,u,M,-1),It(e,o,s,u,M,1)]:It(e,o,s,u,M,I)),T}))},e.bars=function(e){const t=I((e=e||ce).size,[.6,J,1]),n=e.align||0,r=(e.gap||0)*i,o=I(e.radius,0),s=1-t[0],u=I(t[1],J)*i,a=I(t[2],1)*i,l=I(e.disp,ce),c=I(e.each,(e=>{})),{fill:f,stroke:d}=l;return(e,t,h,m)=>Nt(e,t,((y,v,p,g,w,k,b,x,S,T,M)=>{let O=y.pxRound;const D=g.dir*(0==g.ori?1:-1),N=w.dir*(1==w.ori?1:-1);let E,_,V=0==g.ori?Pt:Yt,C=0==g.ori?c:(e,t,n,r,i,o,s)=>{c(e,t,n,i,r,s,o)},[F,z]=Et(e,t),A=3==w.distr?1==F?w.max:w.min:0,j=b(A,w,M,S),P=O(y.width*i),W=!1,U=null,H=null,R=null,G=null;null==f||0!=P&&null==d||(W=!0,U=f.values(e,t,h,m),H=new Map,new Set(U).forEach((e=>{null!=e&&H.set(e,new Path2D)})),P>0&&(R=d.values(e,t,h,m),G=new Map,new Set(R).forEach((e=>{null!=e&&G.set(e,new Path2D)}))));let{x0:J,size:B}=l;if(null!=J&&null!=B){v=J.values(e,t,h,m),2==J.unit&&(v=v.map((t=>e.posToVal(x+t*T,g.key,!0))));let n=B.values(e,t,h,m);_=2==B.unit?n[0]*T:k(n[0],g,T,x)-k(0,g,T,x),_=O(_-P),E=1==D?-P/2:_+P/2}else{let e=T;if(v.length>1){let t=null;for(let n=0,r=1/0;n<v.length;n++)if(void 0!==p[n]){if(null!=t){let i=L(v[n]-v[t]);i<r&&(r=i,e=L(k(v[n],g,T,x)-k(v[t],g,T,x)))}t=n}}_=O(Y(u,q(a,e-e*s))-P-r),E=(0==n?_/2:n==D?0:_)-n*D*r/2}const $={stroke:null,fill:null,clip:null,band:null,gaps:null,flags:3};let Q;0!=z&&($.band=new Path2D,Q=O(b(1==z?w.max:w.min,w,M,S)));const K=W?null:new Path2D,X=$.band;let{y0:ee,y1:te}=l,ne=null;null!=ee&&null!=te&&(p=te.values(e,t,h,m),ne=ee.values(e,t,h,m));for(let n=1==D?h:m;n>=h&&n<=m;n+=D){let r=p[n],i=k(2!=g.distr||null!=l?v[n]:n,g,T,x),s=b(I(r,A),w,M,S);null!=ne&&null!=r&&(j=b(ne[n],w,M,S));let u=O(i-E),a=O(q(s,j)),c=O(Y(s,j)),f=a-c,d=o*_;null!=r&&(W?(P>0&&null!=R[n]&&V(G.get(R[n]),u,c+Z(P/2),_,q(0,f-P),d),null!=U[n]&&V(H.get(U[n]),u,c+Z(P/2),_,q(0,f-P),d)):V(K,u,c+Z(P/2),_,q(0,f-P),d),C(e,t,n,u-P/2,c,_+P,f)),0!=z&&(N*z==1?(a=c,c=Q):(c=a,a=Q),f=a-c,V(X,u-P/2,c,_+P,q(0,f),0))}return P>0&&($.stroke=W?G:K),$.fill=W?H:K,$}))},e.spline=function(e){return function(e,t){const n=I(t?.alignGaps,0);return(t,r,i,o)=>Nt(t,r,((s,u,a,l,c,f,d,h,m,y,v)=>{let p,g,w,k=s.pxRound,b=e=>k(f(e,l,y,h)),S=e=>k(d(e,c,v,m));0==l.ori?(p=At,w=Zt,g=Ut):(p=Lt,w=jt,g=Ht);const T=l.dir*(0==l.ori?1:-1);i=x(a,i,o,1),o=x(a,i,o,-1);let M=b(u[1==T?i:o]),O=M,D=[],N=[];for(let e=1==T?i:o;e>=i&&e<=o;e+=T)if(null!=a[e]){let t=b(u[e]);D.push(O=t),N.push(S(a[e]))}const E={stroke:e(D,N,p,w,g,k),fill:null,clip:null,band:null,gaps:null,flags:1},_=E.stroke;let[I,V]=Et(t,r);if(null!=s.fill||0!=I){let e=E.fill=new Path2D(_),n=S(s.fillTo(t,r,s.min,s.max,I));w(e,O,n),w(e,M,n)}if(!s.spanGaps){let e=[];e.push(...Ct(u,a,i,o,T,b,n)),E.gaps=e=s.gaps(t,r,i,o,e),E.clip=Vt(e,l.ori,h,m,y,v)}return 0!=V&&(E.band=2==V?[It(t,r,i,o,_,-1),It(t,r,i,o,_,1)]:It(t,r,i,o,_,V)),E}))}(Qt,e)}}var yn={};function vn(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function pn(e,t,n){return t&&vn(e.prototype,t),n&&vn(e,n),e}function gn(){return gn=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},gn.apply(this,arguments)}function wn(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,bn(e,t)}function kn(e){return(kn=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function bn(e,t){return(bn=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function xn(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function Sn(e,t,n){return(Sn=xn()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&bn(i,n.prototype),i}).apply(null,arguments)}function Tn(e){var t="function"==typeof Map?new Map:void 0;return Tn=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return Sn(e,arguments,kn(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),bn(r,e)},Tn(e)}function Mn(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}function On(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Dn(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return On(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?On(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}Object.defineProperty(yn,"__esModule",{value:!0});var Nn=function(e){function t(){return e.apply(this,arguments)||this}return wn(t,e),t}(Tn(Error)),En=function(e){function t(t){return e.call(this,"Invalid DateTime: "+t.toMessage())||this}return wn(t,e),t}(Nn),_n=function(e){function t(t){return e.call(this,"Invalid Interval: "+t.toMessage())||this}return wn(t,e),t}(Nn),In=function(e){function t(t){return e.call(this,"Invalid Duration: "+t.toMessage())||this}return wn(t,e),t}(Nn),Vn=function(e){function t(){return e.apply(this,arguments)||this}return wn(t,e),t}(Nn),Cn=function(e){function t(t){return e.call(this,"Invalid unit "+t)||this}return wn(t,e),t}(Nn),Fn=function(e){function t(){return e.apply(this,arguments)||this}return wn(t,e),t}(Nn),zn=function(e){function t(){return e.call(this,"Zone is an abstract class")||this}return wn(t,e),t}(Nn),An={year:"numeric",month:"numeric",day:"numeric"},Ln={year:"numeric",month:"short",day:"numeric"},Zn={year:"numeric",month:"short",day:"numeric",weekday:"short"},jn={year:"numeric",month:"long",day:"numeric"},Pn={year:"numeric",month:"long",day:"numeric",weekday:"long"},Yn={hour:"numeric",minute:"numeric"},qn={hour:"numeric",minute:"numeric",second:"numeric"},Wn={hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"},Un={hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"long"},Hn={hour:"numeric",minute:"numeric",hourCycle:"h23"},Rn={hour:"numeric",minute:"numeric",second:"numeric",hourCycle:"h23"},Gn={hour:"numeric",minute:"numeric",second:"numeric",hourCycle:"h23",timeZoneName:"short"},Jn={hour:"numeric",minute:"numeric",second:"numeric",hourCycle:"h23",timeZoneName:"long"},Bn={year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric"},$n={year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},Qn={year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric"},Kn={year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},Xn={year:"numeric",month:"short",day:"numeric",weekday:"short",hour:"numeric",minute:"numeric"},er={year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric",timeZoneName:"short"},tr={year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"},nr={year:"numeric",month:"long",day:"numeric",weekday:"long",hour:"numeric",minute:"numeric",timeZoneName:"long"},rr={year:"numeric",month:"long",day:"numeric",weekday:"long",hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"long"};function ir(e){return void 0===e}function or(e){return"number"==typeof e}function sr(e){return"number"==typeof e&&e%1==0}function ur(){try{return"undefined"!=typeof Intl&&!!Intl.RelativeTimeFormat}catch(e){return!1}}function ar(e,t,n){if(0!==e.length)return e.reduce((function(e,r){var i=[t(r),r];return e&&n(e[0],i[0])===e[0]?e:i}),null)[1]}function lr(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function cr(e,t,n){return sr(e)&&e>=t&&e<=n}function fr(e,t){return void 0===t&&(t=2),e<0?"-"+(""+-e).padStart(t,"0"):(""+e).padStart(t,"0")}function dr(e){return ir(e)||null===e||""===e?void 0:parseInt(e,10)}function hr(e){return ir(e)||null===e||""===e?void 0:parseFloat(e)}function mr(e){if(!ir(e)&&null!==e&&""!==e){var t=1e3*parseFloat("0."+e);return Math.floor(t)}}function yr(e,t,n){void 0===n&&(n=!1);var r=Math.pow(10,t);return(n?Math.trunc:Math.round)(e*r)/r}function vr(e){return e%4==0&&(e%100!=0||e%400==0)}function pr(e){return vr(e)?366:365}function gr(e,t){var n,r,i=(n=t-1)-(r=12)*Math.floor(n/r)+1;return 2===i?vr(e+(t-i)/12)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][i-1]}function wr(e){var t=Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,e.second,e.millisecond);return e.year<100&&e.year>=0&&(t=new Date(t)).setUTCFullYear(t.getUTCFullYear()-1900),+t}function kr(e){var t=(e+Math.floor(e/4)-Math.floor(e/100)+Math.floor(e/400))%7,n=e-1,r=(n+Math.floor(n/4)-Math.floor(n/100)+Math.floor(n/400))%7;return 4===t||3===r?53:52}function br(e){return e>99?e:e>60?1900+e:2e3+e}function xr(e,t,n,r){void 0===r&&(r=null);var i=new Date(e),o={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};r&&(o.timeZone=r);var s=gn({timeZoneName:t},o),u=new Intl.DateTimeFormat(n,s).formatToParts(i).find((function(e){return"timezonename"===e.type.toLowerCase()}));return u?u.value:null}function Sr(e,t){var n=parseInt(e,10);Number.isNaN(n)&&(n=0);var r=parseInt(t,10)||0;return 60*n+(n<0||Object.is(n,-0)?-r:r)}function Tr(e){var t=Number(e);if("boolean"==typeof e||""===e||Number.isNaN(t))throw new Fn("Invalid unit value "+e);return t}function Mr(e,t){var n={};for(var r in e)if(lr(e,r)){var i=e[r];if(null==i)continue;n[t(r)]=Tr(i)}return n}function Or(e,t){var n=Math.trunc(Math.abs(e/60)),r=Math.trunc(Math.abs(e%60)),i=e>=0?"+":"-";switch(t){case"short":return""+i+fr(n,2)+":"+fr(r,2);case"narrow":return""+i+n+(r>0?":"+r:"");case"techie":return""+i+fr(n,2)+fr(r,2);default:throw new RangeError("Value format "+t+" is out of range for property format")}}function Dr(e){return function(e,t){return t.reduce((function(t,n){return t[n]=e[n],t}),{})}(e,["hour","minute","second","millisecond"])}var Nr=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/,Er=["January","February","March","April","May","June","July","August","September","October","November","December"],_r=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Ir=["J","F","M","A","M","J","J","A","S","O","N","D"];function Vr(e){switch(e){case"narrow":return[].concat(Ir);case"short":return[].concat(_r);case"long":return[].concat(Er);case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}var Cr=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],Fr=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],zr=["M","T","W","T","F","S","S"];function Ar(e){switch(e){case"narrow":return[].concat(zr);case"short":return[].concat(Fr);case"long":return[].concat(Cr);case"numeric":return["1","2","3","4","5","6","7"];default:return null}}var Lr=["AM","PM"],Zr=["Before Christ","Anno Domini"],jr=["BC","AD"],Pr=["B","A"];function Yr(e){switch(e){case"narrow":return[].concat(Pr);case"short":return[].concat(jr);case"long":return[].concat(Zr);default:return null}}function qr(e,t){for(var n,r="",i=Dn(e);!(n=i()).done;){var o=n.value;o.literal?r+=o.val:r+=t(o.val)}return r}var Wr={D:An,DD:Ln,DDD:jn,DDDD:Pn,t:Yn,tt:qn,ttt:Wn,tttt:Un,T:Hn,TT:Rn,TTT:Gn,TTTT:Jn,f:Bn,ff:Qn,fff:er,ffff:nr,F:$n,FF:Kn,FFF:tr,FFFF:rr},Ur=function(){function e(e,t){this.opts=t,this.loc=e,this.systemLoc=null}e.create=function(t,n){return void 0===n&&(n={}),new e(t,n)},e.parseFormat=function(e){for(var t=null,n="",r=!1,i=[],o=0;o<e.length;o++){var s=e.charAt(o);"'"===s?(n.length>0&&i.push({literal:r,val:n}),t=null,n="",r=!r):r||s===t?n+=s:(n.length>0&&i.push({literal:!1,val:n}),n=s,t=s)}return n.length>0&&i.push({literal:r,val:n}),i},e.macroTokenToFormatOpts=function(e){return Wr[e]};var t=e.prototype;return t.formatWithSystemDefault=function(e,t){return null===this.systemLoc&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(e,gn({},this.opts,t)).format()},t.formatDateTime=function(e,t){return void 0===t&&(t={}),this.loc.dtFormatter(e,gn({},this.opts,t)).format()},t.formatDateTimeParts=function(e,t){return void 0===t&&(t={}),this.loc.dtFormatter(e,gn({},this.opts,t)).formatToParts()},t.resolvedOptions=function(e,t){return void 0===t&&(t={}),this.loc.dtFormatter(e,gn({},this.opts,t)).resolvedOptions()},t.num=function(e,t){if(void 0===t&&(t=0),this.opts.forceSimple)return fr(e,t);var n=gn({},this.opts);return t>0&&(n.padTo=t),this.loc.numberFormatter(n).format(e)},t.formatDateTimeFromString=function(t,n){var r=this,i="en"===this.loc.listingMode(),o=this.loc.outputCalendar&&"gregory"!==this.loc.outputCalendar,s=function(e,n){return r.loc.extract(t,e,n)},u=function(e){return t.isOffsetFixed&&0===t.offset&&e.allowZ?"Z":t.isValid?t.zone.formatOffset(t.ts,e.format):""},a=function(){return i?function(e){return Lr[e.hour<12?0:1]}(t):s({hour:"numeric",hourCycle:"h12"},"dayperiod")},l=function(e,n){return i?function(e,t){return Vr(t)[e.month-1]}(t,e):s(n?{month:e}:{month:e,day:"numeric"},"month")},c=function(e,n){return i?function(e,t){return Ar(t)[e.weekday-1]}(t,e):s(n?{weekday:e}:{weekday:e,month:"long",day:"numeric"},"weekday")},f=function(e){return i?function(e,t){return Yr(t)[e.year<0?0:1]}(t,e):s({era:e},"era")};return qr(e.parseFormat(n),(function(n){switch(n){case"S":return r.num(t.millisecond);case"u":case"SSS":return r.num(t.millisecond,3);case"s":return r.num(t.second);case"ss":return r.num(t.second,2);case"uu":return r.num(Math.floor(t.millisecond/10),2);case"uuu":return r.num(Math.floor(t.millisecond/100));case"m":return r.num(t.minute);case"mm":return r.num(t.minute,2);case"h":return r.num(t.hour%12==0?12:t.hour%12);case"hh":return r.num(t.hour%12==0?12:t.hour%12,2);case"H":return r.num(t.hour);case"HH":return r.num(t.hour,2);case"Z":return u({format:"narrow",allowZ:r.opts.allowZ});case"ZZ":return u({format:"short",allowZ:r.opts.allowZ});case"ZZZ":return u({format:"techie",allowZ:r.opts.allowZ});case"ZZZZ":return t.zone.offsetName(t.ts,{format:"short",locale:r.loc.locale});case"ZZZZZ":return t.zone.offsetName(t.ts,{format:"long",locale:r.loc.locale});case"z":return t.zoneName;case"a":return a();case"d":return o?s({day:"numeric"},"day"):r.num(t.day);case"dd":return o?s({day:"2-digit"},"day"):r.num(t.day,2);case"c":case"E":return r.num(t.weekday);case"ccc":return c("short",!0);case"cccc":return c("long",!0);case"ccccc":return c("narrow",!0);case"EEE":return c("short",!1);case"EEEE":return c("long",!1);case"EEEEE":return c("narrow",!1);case"L":return o?s({month:"numeric",day:"numeric"},"month"):r.num(t.month);case"LL":return o?s({month:"2-digit",day:"numeric"},"month"):r.num(t.month,2);case"LLL":return l("short",!0);case"LLLL":return l("long",!0);case"LLLLL":return l("narrow",!0);case"M":return o?s({month:"numeric"},"month"):r.num(t.month);case"MM":return o?s({month:"2-digit"},"month"):r.num(t.month,2);case"MMM":return l("short",!1);case"MMMM":return l("long",!1);case"MMMMM":return l("narrow",!1);case"y":return o?s({year:"numeric"},"year"):r.num(t.year);case"yy":return o?s({year:"2-digit"},"year"):r.num(t.year.toString().slice(-2),2);case"yyyy":return o?s({year:"numeric"},"year"):r.num(t.year,4);case"yyyyyy":return o?s({year:"numeric"},"year"):r.num(t.year,6);case"G":return f("short");case"GG":return f("long");case"GGGGG":return f("narrow");case"kk":return r.num(t.weekYear.toString().slice(-2),2);case"kkkk":return r.num(t.weekYear,4);case"W":return r.num(t.weekNumber);case"WW":return r.num(t.weekNumber,2);case"o":return r.num(t.ordinal);case"ooo":return r.num(t.ordinal,3);case"q":return r.num(t.quarter);case"qq":return r.num(t.quarter,2);case"X":return r.num(Math.floor(t.ts/1e3));case"x":return r.num(t.ts);default:return function(n){var i=e.macroTokenToFormatOpts(n);return i?r.formatWithSystemDefault(t,i):n}(n)}}))},t.formatDurationFromString=function(t,n){var r,i=this,o=function(e){switch(e[0]){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":return"hour";case"d":return"day";case"w":return"week";case"M":return"month";case"y":return"year";default:return null}},s=e.parseFormat(n),u=s.reduce((function(e,t){var n=t.literal,r=t.val;return n?e:e.concat(r)}),[]),a=t.shiftTo.apply(t,u.map(o).filter((function(e){return e})));return qr(s,(r=a,function(e){var t=o(e);return t?i.num(r.get(t),e.length):e}))},e}(),Hr=function(){function e(e,t){this.reason=e,this.explanation=t}return e.prototype.toMessage=function(){return this.explanation?this.reason+": "+this.explanation:this.reason},e}(),Rr=function(){function e(){}var t=e.prototype;return t.offsetName=function(e,t){throw new zn},t.formatOffset=function(e,t){throw new zn},t.offset=function(e){throw new zn},t.equals=function(e){throw new zn},pn(e,[{key:"type",get:function(){throw new zn}},{key:"name",get:function(){throw new zn}},{key:"ianaName",get:function(){return this.name}},{key:"isUniversal",get:function(){throw new zn}},{key:"isValid",get:function(){throw new zn}}]),e}(),Gr=null,Jr=function(e){function t(){return e.apply(this,arguments)||this}wn(t,e);var n=t.prototype;return n.offsetName=function(e,t){return xr(e,t.format,t.locale)},n.formatOffset=function(e,t){return Or(this.offset(e),t)},n.offset=function(e){return-new Date(e).getTimezoneOffset()},n.equals=function(e){return"system"===e.type},pn(t,[{key:"type",get:function(){return"system"}},{key:"name",get:function(){return(new Intl.DateTimeFormat).resolvedOptions().timeZone}},{key:"isUniversal",get:function(){return!1}},{key:"isValid",get:function(){return!0}}],[{key:"instance",get:function(){return null===Gr&&(Gr=new t),Gr}}]),t}(Rr),Br={};var $r={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};var Qr={},Kr=function(e){function t(n){var r;return(r=e.call(this)||this).zoneName=n,r.valid=t.isValidZone(n),r}wn(t,e),t.create=function(e){return Qr[e]||(Qr[e]=new t(e)),Qr[e]},t.resetCache=function(){Qr={},Br={}},t.isValidSpecifier=function(e){return this.isValidZone(e)},t.isValidZone=function(e){if(!e)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:e}).format(),!0}catch(e){return!1}};var n=t.prototype;return n.offsetName=function(e,t){return xr(e,t.format,t.locale,this.name)},n.formatOffset=function(e,t){return Or(this.offset(e),t)},n.offset=function(e){var t=new Date(e);if(isNaN(t))return NaN;var n,r=(n=this.name,Br[n]||(Br[n]=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:n,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"})),Br[n]),i=r.formatToParts?function(e,t){for(var n=e.formatToParts(t),r=[],i=0;i<n.length;i++){var o=n[i],s=o.type,u=o.value,a=$r[s];"era"===s?r[a]=u:ir(a)||(r[a]=parseInt(u,10))}return r}(r,t):function(e,t){var n=e.format(t).replace(/\u200E/g,""),r=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(n),i=r[1],o=r[2];return[r[3],i,o,r[4],r[5],r[6],r[7]]}(r,t),o=i[0],s=i[1],u=i[2],a=i[3],l=i[4],c=i[5],f=i[6];"BC"===a&&(o=1-Math.abs(o));var d=+t,h=d%1e3;return(wr({year:o,month:s,day:u,hour:24===l?0:l,minute:c,second:f,millisecond:0})-(d-=h>=0?h:1e3+h))/6e4},n.equals=function(e){return"iana"===e.type&&e.name===this.name},pn(t,[{key:"type",get:function(){return"iana"}},{key:"name",get:function(){return this.zoneName}},{key:"isUniversal",get:function(){return!1}},{key:"isValid",get:function(){return this.valid}}]),t}(Rr),Xr=null,ei=function(e){function t(t){var n;return(n=e.call(this)||this).fixed=t,n}wn(t,e),t.instance=function(e){return 0===e?t.utcInstance:new t(e)},t.parseSpecifier=function(e){if(e){var n=e.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(n)return new t(Sr(n[1],n[2]))}return null};var n=t.prototype;return n.offsetName=function(){return this.name},n.formatOffset=function(e,t){return Or(this.fixed,t)},n.offset=function(){return this.fixed},n.equals=function(e){return"fixed"===e.type&&e.fixed===this.fixed},pn(t,[{key:"type",get:function(){return"fixed"}},{key:"name",get:function(){return 0===this.fixed?"UTC":"UTC"+Or(this.fixed,"narrow")}},{key:"ianaName",get:function(){return 0===this.fixed?"Etc/UTC":"Etc/GMT"+Or(-this.fixed,"narrow")}},{key:"isUniversal",get:function(){return!0}},{key:"isValid",get:function(){return!0}}],[{key:"utcInstance",get:function(){return null===Xr&&(Xr=new t(0)),Xr}}]),t}(Rr),ti=function(e){function t(t){var n;return(n=e.call(this)||this).zoneName=t,n}wn(t,e);var n=t.prototype;return n.offsetName=function(){return null},n.formatOffset=function(){return""},n.offset=function(){return NaN},n.equals=function(){return!1},pn(t,[{key:"type",get:function(){return"invalid"}},{key:"name",get:function(){return this.zoneName}},{key:"isUniversal",get:function(){return!1}},{key:"isValid",get:function(){return!1}}]),t}(Rr);function ni(e,t){if(ir(e)||null===e)return t;if(e instanceof Rr)return e;if("string"==typeof e){var n=e.toLowerCase();return"local"===n||"system"===n?t:"utc"===n||"gmt"===n?ei.utcInstance:ei.parseSpecifier(n)||Kr.create(e)}return or(e)?ei.instance(e):"object"==typeof e&&e.offset&&"number"==typeof e.offset?e:new ti(e)}var ri,ii=function(){return Date.now()},oi="system",si=null,ui=null,ai=null,li=function(){function e(){}return e.resetCaches=function(){xi.resetCache(),Kr.resetCache()},pn(e,null,[{key:"now",get:function(){return ii},set:function(e){ii=e}},{key:"defaultZone",get:function(){return ni(oi,Jr.instance)},set:function(e){oi=e}},{key:"defaultLocale",get:function(){return si},set:function(e){si=e}},{key:"defaultNumberingSystem",get:function(){return ui},set:function(e){ui=e}},{key:"defaultOutputCalendar",get:function(){return ai},set:function(e){ai=e}},{key:"throwOnInvalid",get:function(){return ri},set:function(e){ri=e}}]),e}(),ci=["base"],fi=["padTo","floor"],di={};var hi={};function mi(e,t){void 0===t&&(t={});var n=JSON.stringify([e,t]),r=hi[n];return r||(r=new Intl.DateTimeFormat(e,t),hi[n]=r),r}var yi={};var vi={};var pi=null;function gi(e,t,n,r,i){var o=e.listingMode(n);return"error"===o?null:"en"===o?r(t):i(t)}var wi=function(){function e(e,t,n){this.padTo=n.padTo||0,this.floor=n.floor||!1,n.padTo,n.floor;var r=Mn(n,fi);if(!t||Object.keys(r).length>0){var i=gn({useGrouping:!1},n);n.padTo>0&&(i.minimumIntegerDigits=n.padTo),this.inf=function(e,t){void 0===t&&(t={});var n=JSON.stringify([e,t]),r=yi[n];return r||(r=new Intl.NumberFormat(e,t),yi[n]=r),r}(e,i)}}return e.prototype.format=function(e){if(this.inf){var t=this.floor?Math.floor(e):e;return this.inf.format(t)}return fr(this.floor?Math.floor(e):yr(e,3),this.padTo)},e}(),ki=function(){function e(e,t,n){var r;if(this.opts=n,e.zone.isUniversal){var i=e.offset/60*-1,o=i>=0?"Etc/GMT+"+i:"Etc/GMT"+i;0!==e.offset&&Kr.create(o).valid?(r=o,this.dt=e):(r="UTC",n.timeZoneName?this.dt=e:this.dt=0===e.offset?e:ps.fromMillis(e.ts+6e4*e.offset))}else"system"===e.zone.type?this.dt=e:(this.dt=e,r=e.zone.name);var s=gn({},this.opts);r&&(s.timeZone=r),this.dtf=mi(t,s)}var t=e.prototype;return t.format=function(){return this.dtf.format(this.dt.toJSDate())},t.formatToParts=function(){return this.dtf.formatToParts(this.dt.toJSDate())},t.resolvedOptions=function(){return this.dtf.resolvedOptions()},e}(),bi=function(){function e(e,t,n){this.opts=gn({style:"long"},n),!t&&ur()&&(this.rtf=function(e,t){void 0===t&&(t={});var n=t;n.base;var r=Mn(n,ci),i=JSON.stringify([e,r]),o=vi[i];return o||(o=new Intl.RelativeTimeFormat(e,t),vi[i]=o),o}(e,n))}var t=e.prototype;return t.format=function(e,t){return this.rtf?this.rtf.format(e,t):function(e,t,n,r){void 0===n&&(n="always"),void 0===r&&(r=!1);var i={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},o=-1===["hours","minutes","seconds"].indexOf(e);if("auto"===n&&o){var s="days"===e;switch(t){case 1:return s?"tomorrow":"next "+i[e][0];case-1:return s?"yesterday":"last "+i[e][0];case 0:return s?"today":"this "+i[e][0]}}var u=Object.is(t,-0)||t<0,a=Math.abs(t),l=1===a,c=i[e],f=r?l?c[1]:c[2]||c[1]:l?i[e][0]:e;return u?a+" "+f+" ago":"in "+a+" "+f}(t,e,this.opts.numeric,"long"!==this.opts.style)},t.formatToParts=function(e,t){return this.rtf?this.rtf.formatToParts(e,t):[]},e}(),xi=function(){function e(e,t,n,r){var i=function(e){var t=e.indexOf("-u-");if(-1===t)return[e];var n,r=e.substring(0,t);try{n=mi(e).resolvedOptions()}catch(e){n=mi(r).resolvedOptions()}var i=n;return[r,i.numberingSystem,i.calendar]}(e),o=i[0],s=i[1],u=i[2];this.locale=o,this.numberingSystem=t||s||null,this.outputCalendar=n||u||null,this.intl=function(e,t,n){return n||t?(e+="-u",n&&(e+="-ca-"+n),t&&(e+="-nu-"+t),e):e}(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=r,this.fastNumbersCached=null}e.fromOpts=function(t){return e.create(t.locale,t.numberingSystem,t.outputCalendar,t.defaultToEN)},e.create=function(t,n,r,i){void 0===i&&(i=!1);var o=t||li.defaultLocale;return new e(o||(i?"en-US":pi||(pi=(new Intl.DateTimeFormat).resolvedOptions().locale)),n||li.defaultNumberingSystem,r||li.defaultOutputCalendar,o)},e.resetCache=function(){pi=null,hi={},yi={},vi={}},e.fromObject=function(t){var n=void 0===t?{}:t,r=n.locale,i=n.numberingSystem,o=n.outputCalendar;return e.create(r,i,o)};var t=e.prototype;return t.listingMode=function(){var e=this.isEnglish(),t=!(null!==this.numberingSystem&&"latn"!==this.numberingSystem||null!==this.outputCalendar&&"gregory"!==this.outputCalendar);return e&&t?"en":"intl"},t.clone=function(t){return t&&0!==Object.getOwnPropertyNames(t).length?e.create(t.locale||this.specifiedLocale,t.numberingSystem||this.numberingSystem,t.outputCalendar||this.outputCalendar,t.defaultToEN||!1):this},t.redefaultToEN=function(e){return void 0===e&&(e={}),this.clone(gn({},e,{defaultToEN:!0}))},t.redefaultToSystem=function(e){return void 0===e&&(e={}),this.clone(gn({},e,{defaultToEN:!1}))},t.months=function(e,t,n){var r=this;return void 0===t&&(t=!1),void 0===n&&(n=!0),gi(this,e,n,Vr,(function(){var n=t?{month:e,day:"numeric"}:{month:e},i=t?"format":"standalone";return r.monthsCache[i][e]||(r.monthsCache[i][e]=function(e){for(var t=[],n=1;n<=12;n++){var r=ps.utc(2016,n,1);t.push(e(r))}return t}((function(e){return r.extract(e,n,"month")}))),r.monthsCache[i][e]}))},t.weekdays=function(e,t,n){var r=this;return void 0===t&&(t=!1),void 0===n&&(n=!0),gi(this,e,n,Ar,(function(){var n=t?{weekday:e,year:"numeric",month:"long",day:"numeric"}:{weekday:e},i=t?"format":"standalone";return r.weekdaysCache[i][e]||(r.weekdaysCache[i][e]=function(e){for(var t=[],n=1;n<=7;n++){var r=ps.utc(2016,11,13+n);t.push(e(r))}return t}((function(e){return r.extract(e,n,"weekday")}))),r.weekdaysCache[i][e]}))},t.meridiems=function(e){var t=this;return void 0===e&&(e=!0),gi(this,void 0,e,(function(){return Lr}),(function(){if(!t.meridiemCache){var e={hour:"numeric",hourCycle:"h12"};t.meridiemCache=[ps.utc(2016,11,13,9),ps.utc(2016,11,13,19)].map((function(n){return t.extract(n,e,"dayperiod")}))}return t.meridiemCache}))},t.eras=function(e,t){var n=this;return void 0===t&&(t=!0),gi(this,e,t,Yr,(function(){var t={era:e};return n.eraCache[e]||(n.eraCache[e]=[ps.utc(-40,1,1),ps.utc(2017,1,1)].map((function(e){return n.extract(e,t,"era")}))),n.eraCache[e]}))},t.extract=function(e,t,n){var r=this.dtFormatter(e,t).formatToParts().find((function(e){return e.type.toLowerCase()===n}));return r?r.value:null},t.numberFormatter=function(e){return void 0===e&&(e={}),new wi(this.intl,e.forceSimple||this.fastNumbers,e)},t.dtFormatter=function(e,t){return void 0===t&&(t={}),new ki(e,this.intl,t)},t.relFormatter=function(e){return void 0===e&&(e={}),new bi(this.intl,this.isEnglish(),e)},t.listFormatter=function(e){return void 0===e&&(e={}),function(e,t){void 0===t&&(t={});var n=JSON.stringify([e,t]),r=di[n];return r||(r=new Intl.ListFormat(e,t),di[n]=r),r}(this.intl,e)},t.isEnglish=function(){return"en"===this.locale||"en-us"===this.locale.toLowerCase()||new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us")},t.equals=function(e){return this.locale===e.locale&&this.numberingSystem===e.numberingSystem&&this.outputCalendar===e.outputCalendar},pn(e,[{key:"fastNumbers",get:function(){var e;return null==this.fastNumbersCached&&(this.fastNumbersCached=(!(e=this).numberingSystem||"latn"===e.numberingSystem)&&("latn"===e.numberingSystem||!e.locale||e.locale.startsWith("en")||"latn"===new Intl.DateTimeFormat(e.intl).resolvedOptions().numberingSystem)),this.fastNumbersCached}}]),e}();function Si(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=t.reduce((function(e,t){return e+t.source}),"");return RegExp("^"+r+"$")}function Ti(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return t.reduce((function(t,n){var r=t[0],i=t[1],o=t[2],s=n(e,o),u=s[0],a=s[1],l=s[2];return[gn({},r,u),a||i,l]}),[{},null,1]).slice(0,2)}}function Mi(e){if(null==e)return[null,null];for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];for(var i=0,o=n;i<o.length;i++){var s=o[i],u=s[0],a=s[1],l=u.exec(e);if(l)return a(l)}return[null,null]}function Oi(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e,n){var r,i={};for(r=0;r<t.length;r++)i[t[r]]=dr(e[n+r]);return[i,null,n+r]}}var Di=/(?:(Z)|([+-]\d\d)(?::?(\d\d))?)/,Ni=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,Ei=RegExp(""+Ni.source+("(?:"+Di.source+"?(?:\\[("+Nr.source+")\\])?)?")),_i=RegExp("(?:T"+Ei.source+")?"),Ii=Oi("weekYear","weekNumber","weekDay"),Vi=Oi("year","ordinal"),Ci=RegExp(Ni.source+" ?(?:"+Di.source+"|("+Nr.source+"))?"),Fi=RegExp("(?: "+Ci.source+")?");function zi(e,t,n){var r=e[t];return ir(r)?n:dr(r)}function Ai(e,t){return[{hours:zi(e,t,0),minutes:zi(e,t+1,0),seconds:zi(e,t+2,0),milliseconds:mr(e[t+3])},null,t+4]}function Li(e,t){var n=!e[t]&&!e[t+1],r=Sr(e[t+1],e[t+2]);return[{},n?null:ei.instance(r),t+3]}function Zi(e,t){return[{},e[t]?Kr.create(e[t]):null,t+1]}var ji=RegExp("^T?"+Ni.source+"$"),Pi=/^-?P(?:(?:(-?\d{1,9}(?:\.\d{1,9})?)Y)?(?:(-?\d{1,9}(?:\.\d{1,9})?)M)?(?:(-?\d{1,9}(?:\.\d{1,9})?)W)?(?:(-?\d{1,9}(?:\.\d{1,9})?)D)?(?:T(?:(-?\d{1,9}(?:\.\d{1,9})?)H)?(?:(-?\d{1,9}(?:\.\d{1,9})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,9}))?S)?)?)$/;function Yi(e){var t=e[0],n=e[1],r=e[2],i=e[3],o=e[4],s=e[5],u=e[6],a=e[7],l=e[8],c="-"===t[0],f=a&&"-"===a[0],d=function(e,t){return void 0===t&&(t=!1),void 0!==e&&(t||e&&c)?-e:e};return[{years:d(hr(n)),months:d(hr(r)),weeks:d(hr(i)),days:d(hr(o)),hours:d(hr(s)),minutes:d(hr(u)),seconds:d(hr(a),"-0"===a),milliseconds:d(mr(l),f)}]}var qi={GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Wi(e,t,n,r,i,o,s){var u={year:2===t.length?br(dr(t)):dr(t),month:_r.indexOf(n)+1,day:dr(r),hour:dr(i),minute:dr(o)};return s&&(u.second=dr(s)),e&&(u.weekday=e.length>3?Cr.indexOf(e)+1:Fr.indexOf(e)+1),u}var Ui=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function Hi(e){var t,n=e[1],r=e[2],i=e[3],o=e[4],s=e[5],u=e[6],a=e[7],l=e[8],c=e[9],f=e[10],d=e[11],h=Wi(n,o,i,r,s,u,a);return t=l?qi[l]:c?0:Sr(f,d),[h,new ei(t)]}var Ri=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,Gi=/^(Monday|Tuesday|Wedsday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,Ji=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function Bi(e){var t=e[1],n=e[2],r=e[3];return[Wi(t,e[4],r,n,e[5],e[6],e[7]),ei.utcInstance]}function $i(e){var t=e[1],n=e[2],r=e[3],i=e[4],o=e[5],s=e[6];return[Wi(t,e[7],n,r,i,o,s),ei.utcInstance]}var Qi=Si(/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,_i),Ki=Si(/(\d{4})-?W(\d\d)(?:-?(\d))?/,_i),Xi=Si(/(\d{4})-?(\d{3})/,_i),eo=Si(Ei),to=Ti((function(e,t){return[{year:zi(e,t),month:zi(e,t+1,1),day:zi(e,t+2,1)},null,t+3]}),Ai,Li,Zi),no=Ti(Ii,Ai,Li,Zi),ro=Ti(Vi,Ai,Li,Zi),io=Ti(Ai,Li,Zi);var oo=Ti(Ai);var so=Si(/(\d{4})-(\d\d)-(\d\d)/,Fi),uo=Si(Ci),ao=Ti(Ai,Li,Zi);var lo={weeks:{days:7,hours:168,minutes:10080,seconds:604800,milliseconds:6048e5},days:{hours:24,minutes:1440,seconds:86400,milliseconds:864e5},hours:{minutes:60,seconds:3600,milliseconds:36e5},minutes:{seconds:60,milliseconds:6e4},seconds:{milliseconds:1e3}},co=gn({years:{quarters:4,months:12,weeks:52,days:365,hours:8760,minutes:525600,seconds:31536e3,milliseconds:31536e6},quarters:{months:3,weeks:13,days:91,hours:2184,minutes:131040,seconds:7862400,milliseconds:78624e5},months:{weeks:4,days:30,hours:720,minutes:43200,seconds:2592e3,milliseconds:2592e6}},lo),fo=gn({years:{quarters:4,months:12,weeks:52.1775,days:365.2425,hours:8765.82,minutes:525949.2,seconds:31556952,milliseconds:31556952e3},quarters:{months:3,weeks:13.044375,days:91.310625,hours:2191.455,minutes:131487.3,seconds:7889238,milliseconds:7889238e3},months:{weeks:30.436875/7,days:30.436875,hours:730.485,minutes:43829.1,seconds:2629746,milliseconds:2629746e3}},lo),ho=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],mo=ho.slice(0).reverse();function yo(e,t,n){void 0===n&&(n=!1);var r={values:n?t.values:gn({},e.values,t.values||{}),loc:e.loc.clone(t.loc),conversionAccuracy:t.conversionAccuracy||e.conversionAccuracy};return new po(r)}function vo(e,t,n,r,i){var o,s=e[i][n],u=t[n]/s,a=!(Math.sign(u)===Math.sign(r[i]))&&0!==r[i]&&Math.abs(u)<=1?(o=u)<0?Math.floor(o):Math.ceil(o):Math.trunc(u);r[i]+=a,t[n]-=a*s}var po=function(){function e(e){var t="longterm"===e.conversionAccuracy||!1;this.values=e.values,this.loc=e.loc||xi.create(),this.conversionAccuracy=t?"longterm":"casual",this.invalid=e.invalid||null,this.matrix=t?fo:co,this.isLuxonDuration=!0}e.fromMillis=function(t,n){return e.fromObject({milliseconds:t},n)},e.fromObject=function(t,n){if(void 0===n&&(n={}),null==t||"object"!=typeof t)throw new Fn("Duration.fromObject: argument expected to be an object, got "+(null===t?"null":typeof t));return new e({values:Mr(t,e.normalizeUnit),loc:xi.fromObject(n),conversionAccuracy:n.conversionAccuracy})},e.fromDurationLike=function(t){if(or(t))return e.fromMillis(t);if(e.isDuration(t))return t;if("object"==typeof t)return e.fromObject(t);throw new Fn("Unknown duration argument "+t+" of type "+typeof t)},e.fromISO=function(t,n){var r=Mi(t,[Pi,Yi])[0];return r?e.fromObject(r,n):e.invalid("unparsable",'the input "'+t+"\" can't be parsed as ISO 8601")},e.fromISOTime=function(t,n){var r=Mi(t,[ji,oo])[0];return r?e.fromObject(r,n):e.invalid("unparsable",'the input "'+t+"\" can't be parsed as ISO 8601")},e.invalid=function(t,n){if(void 0===n&&(n=null),!t)throw new Fn("need to specify a reason the Duration is invalid");var r=t instanceof Hr?t:new Hr(t,n);if(li.throwOnInvalid)throw new In(r);return new e({invalid:r})},e.normalizeUnit=function(e){var t={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[e?e.toLowerCase():e];if(!t)throw new Cn(e);return t},e.isDuration=function(e){return e&&e.isLuxonDuration||!1};var t=e.prototype;return t.toFormat=function(e,t){void 0===t&&(t={});var n=gn({},t,{floor:!1!==t.round&&!1!==t.floor});return this.isValid?Ur.create(this.loc,n).formatDurationFromString(this,e):"Invalid Duration"},t.toHuman=function(e){var t=this;void 0===e&&(e={});var n=ho.map((function(n){var r=t.values[n];return ir(r)?null:t.loc.numberFormatter(gn({style:"unit",unitDisplay:"long"},e,{unit:n.slice(0,-1)})).format(r)})).filter((function(e){return e}));return this.loc.listFormatter(gn({type:"conjunction",style:e.listStyle||"narrow"},e)).format(n)},t.toObject=function(){return this.isValid?gn({},this.values):{}},t.toISO=function(){if(!this.isValid)return null;var e="P";return 0!==this.years&&(e+=this.years+"Y"),0===this.months&&0===this.quarters||(e+=this.months+3*this.quarters+"M"),0!==this.weeks&&(e+=this.weeks+"W"),0!==this.days&&(e+=this.days+"D"),0===this.hours&&0===this.minutes&&0===this.seconds&&0===this.milliseconds||(e+="T"),0!==this.hours&&(e+=this.hours+"H"),0!==this.minutes&&(e+=this.minutes+"M"),0===this.seconds&&0===this.milliseconds||(e+=yr(this.seconds+this.milliseconds/1e3,3)+"S"),"P"===e&&(e+="T0S"),e},t.toISOTime=function(e){if(void 0===e&&(e={}),!this.isValid)return null;var t=this.toMillis();if(t<0||t>=864e5)return null;e=gn({suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended"},e);var n=this.shiftTo("hours","minutes","seconds","milliseconds"),r="basic"===e.format?"hhmm":"hh:mm";e.suppressSeconds&&0===n.seconds&&0===n.milliseconds||(r+="basic"===e.format?"ss":":ss",e.suppressMilliseconds&&0===n.milliseconds||(r+=".SSS"));var i=n.toFormat(r);return e.includePrefix&&(i="T"+i),i},t.toJSON=function(){return this.toISO()},t.toString=function(){return this.toISO()},t.toMillis=function(){return this.as("milliseconds")},t.valueOf=function(){return this.toMillis()},t.plus=function(t){if(!this.isValid)return this;for(var n,r=e.fromDurationLike(t),i={},o=Dn(ho);!(n=o()).done;){var s=n.value;(lr(r.values,s)||lr(this.values,s))&&(i[s]=r.get(s)+this.get(s))}return yo(this,{values:i},!0)},t.minus=function(t){if(!this.isValid)return this;var n=e.fromDurationLike(t);return this.plus(n.negate())},t.mapUnits=function(e){if(!this.isValid)return this;for(var t={},n=0,r=Object.keys(this.values);n<r.length;n++){var i=r[n];t[i]=Tr(e(this.values[i],i))}return yo(this,{values:t},!0)},t.get=function(t){return this[e.normalizeUnit(t)]},t.set=function(t){return this.isValid?yo(this,{values:gn({},this.values,Mr(t,e.normalizeUnit))}):this},t.reconfigure=function(e){var t=void 0===e?{}:e,n=t.locale,r=t.numberingSystem,i=t.conversionAccuracy,o={loc:this.loc.clone({locale:n,numberingSystem:r})};return i&&(o.conversionAccuracy=i),yo(this,o)},t.as=function(e){return this.isValid?this.shiftTo(e).get(e):NaN},t.normalize=function(){if(!this.isValid)return this;var e=this.toObject();return function(e,t){mo.reduce((function(n,r){return ir(t[r])?n:(n&&vo(e,t,n,t,r),r)}),null)}(this.matrix,e),yo(this,{values:e},!0)},t.shiftTo=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];if(!this.isValid)return this;if(0===n.length)return this;n=n.map((function(t){return e.normalizeUnit(t)}));for(var i,o,s={},u={},a=this.toObject(),l=Dn(ho);!(o=l()).done;){var c=o.value;if(n.indexOf(c)>=0){i=c;var f=0;for(var d in u)f+=this.matrix[d][c]*u[d],u[d]=0;or(a[c])&&(f+=a[c]);var h=Math.trunc(f);for(var m in s[c]=h,u[c]=(1e3*f-1e3*h)/1e3,a)ho.indexOf(m)>ho.indexOf(c)&&vo(this.matrix,a,m,s,c)}else or(a[c])&&(u[c]=a[c])}for(var y in u)0!==u[y]&&(s[i]+=y===i?u[y]:u[y]/this.matrix[i][y]);return yo(this,{values:s},!0).normalize()},t.negate=function(){if(!this.isValid)return this;for(var e={},t=0,n=Object.keys(this.values);t<n.length;t++){var r=n[t];e[r]=0===this.values[r]?0:-this.values[r]}return yo(this,{values:e},!0)},t.equals=function(e){if(!this.isValid||!e.isValid)return!1;if(!this.loc.equals(e.loc))return!1;for(var t,n=Dn(ho);!(t=n()).done;){var r=t.value;if(i=this.values[r],o=e.values[r],!(void 0===i||0===i?void 0===o||0===o:i===o))return!1}var i,o;return!0},pn(e,[{key:"locale",get:function(){return this.isValid?this.loc.locale:null}},{key:"numberingSystem",get:function(){return this.isValid?this.loc.numberingSystem:null}},{key:"years",get:function(){return this.isValid?this.values.years||0:NaN}},{key:"quarters",get:function(){return this.isValid?this.values.quarters||0:NaN}},{key:"months",get:function(){return this.isValid?this.values.months||0:NaN}},{key:"weeks",get:function(){return this.isValid?this.values.weeks||0:NaN}},{key:"days",get:function(){return this.isValid?this.values.days||0:NaN}},{key:"hours",get:function(){return this.isValid?this.values.hours||0:NaN}},{key:"minutes",get:function(){return this.isValid?this.values.minutes||0:NaN}},{key:"seconds",get:function(){return this.isValid?this.values.seconds||0:NaN}},{key:"milliseconds",get:function(){return this.isValid?this.values.milliseconds||0:NaN}},{key:"isValid",get:function(){return null===this.invalid}},{key:"invalidReason",get:function(){return this.invalid?this.invalid.reason:null}},{key:"invalidExplanation",get:function(){return this.invalid?this.invalid.explanation:null}}]),e}();var go=function(){function e(e){this.s=e.start,this.e=e.end,this.invalid=e.invalid||null,this.isLuxonInterval=!0}e.invalid=function(t,n){if(void 0===n&&(n=null),!t)throw new Fn("need to specify a reason the Interval is invalid");var r=t instanceof Hr?t:new Hr(t,n);if(li.throwOnInvalid)throw new _n(r);return new e({invalid:r})},e.fromDateTimes=function(t,n){var r=gs(t),i=gs(n),o=function(e,t){return e&&e.isValid?t&&t.isValid?t<e?go.invalid("end before start","The end of an interval must be after its start, but you had start="+e.toISO()+" and end="+t.toISO()):null:go.invalid("missing or invalid end"):go.invalid("missing or invalid start")}(r,i);return null==o?new e({start:r,end:i}):o},e.after=function(t,n){var r=po.fromDurationLike(n),i=gs(t);return e.fromDateTimes(i,i.plus(r))},e.before=function(t,n){var r=po.fromDurationLike(n),i=gs(t);return e.fromDateTimes(i.minus(r),i)},e.fromISO=function(t,n){var r=(t||"").split("/",2),i=r[0],o=r[1];if(i&&o){var s,u,a,l;try{u=(s=ps.fromISO(i,n)).isValid}catch(e){u=!1}try{l=(a=ps.fromISO(o,n)).isValid}catch(e){l=!1}if(u&&l)return e.fromDateTimes(s,a);if(u){var c=po.fromISO(o,n);if(c.isValid)return e.after(s,c)}else if(l){var f=po.fromISO(i,n);if(f.isValid)return e.before(a,f)}}return e.invalid("unparsable",'the input "'+t+"\" can't be parsed as ISO 8601")},e.isInterval=function(e){return e&&e.isLuxonInterval||!1};var t=e.prototype;return t.length=function(e){return void 0===e&&(e="milliseconds"),this.isValid?this.toDuration.apply(this,[e]).get(e):NaN},t.count=function(e){if(void 0===e&&(e="milliseconds"),!this.isValid)return NaN;var t=this.start.startOf(e),n=this.end.startOf(e);return Math.floor(n.diff(t,e).get(e))+1},t.hasSame=function(e){return!!this.isValid&&(this.isEmpty()||this.e.minus(1).hasSame(this.s,e))},t.isEmpty=function(){return this.s.valueOf()===this.e.valueOf()},t.isAfter=function(e){return!!this.isValid&&this.s>e},t.isBefore=function(e){return!!this.isValid&&this.e<=e},t.contains=function(e){return!!this.isValid&&(this.s<=e&&this.e>e)},t.set=function(t){var n=void 0===t?{}:t,r=n.start,i=n.end;return this.isValid?e.fromDateTimes(r||this.s,i||this.e):this},t.splitAt=function(){var t=this;if(!this.isValid)return[];for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];for(var o=r.map(gs).filter((function(e){return t.contains(e)})).sort(),s=[],u=this.s,a=0;u<this.e;){var l=o[a]||this.e,c=+l>+this.e?this.e:l;s.push(e.fromDateTimes(u,c)),u=c,a+=1}return s},t.splitBy=function(t){var n=po.fromDurationLike(t);if(!this.isValid||!n.isValid||0===n.as("milliseconds"))return[];for(var r,i=this.s,o=1,s=[];i<this.e;){var u=this.start.plus(n.mapUnits((function(e){return e*o})));r=+u>+this.e?this.e:u,s.push(e.fromDateTimes(i,r)),i=r,o+=1}return s},t.divideEqually=function(e){return this.isValid?this.splitBy(this.length()/e).slice(0,e):[]},t.overlaps=function(e){return this.e>e.s&&this.s<e.e},t.abutsStart=function(e){return!!this.isValid&&+this.e==+e.s},t.abutsEnd=function(e){return!!this.isValid&&+e.e==+this.s},t.engulfs=function(e){return!!this.isValid&&(this.s<=e.s&&this.e>=e.e)},t.equals=function(e){return!(!this.isValid||!e.isValid)&&(this.s.equals(e.s)&&this.e.equals(e.e))},t.intersection=function(t){if(!this.isValid)return this;var n=this.s>t.s?this.s:t.s,r=this.e<t.e?this.e:t.e;return n>=r?null:e.fromDateTimes(n,r)},t.union=function(t){if(!this.isValid)return this;var n=this.s<t.s?this.s:t.s,r=this.e>t.e?this.e:t.e;return e.fromDateTimes(n,r)},e.merge=function(e){var t=e.sort((function(e,t){return e.s-t.s})).reduce((function(e,t){var n=e[0],r=e[1];return r?r.overlaps(t)||r.abutsStart(t)?[n,r.union(t)]:[n.concat([r]),t]:[n,t]}),[[],null]),n=t[0],r=t[1];return r&&n.push(r),n},e.xor=function(t){for(var n,r,i=null,o=0,s=[],u=t.map((function(e){return[{time:e.s,type:"s"},{time:e.e,type:"e"}]})),a=Dn((n=Array.prototype).concat.apply(n,u).sort((function(e,t){return e.time-t.time})));!(r=a()).done;){var l=r.value;1===(o+="s"===l.type?1:-1)?i=l.time:(i&&+i!=+l.time&&s.push(e.fromDateTimes(i,l.time)),i=null)}return e.merge(s)},t.difference=function(){for(var t=this,n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return e.xor([this].concat(r)).map((function(e){return t.intersection(e)})).filter((function(e){return e&&!e.isEmpty()}))},t.toString=function(){return this.isValid?"["+this.s.toISO()+" – "+this.e.toISO()+")":"Invalid Interval"},t.toISO=function(e){return this.isValid?this.s.toISO(e)+"/"+this.e.toISO(e):"Invalid Interval"},t.toISODate=function(){return this.isValid?this.s.toISODate()+"/"+this.e.toISODate():"Invalid Interval"},t.toISOTime=function(e){return this.isValid?this.s.toISOTime(e)+"/"+this.e.toISOTime(e):"Invalid Interval"},t.toFormat=function(e,t){var n=(void 0===t?{}:t).separator,r=void 0===n?" – ":n;return this.isValid?""+this.s.toFormat(e)+r+this.e.toFormat(e):"Invalid Interval"},t.toDuration=function(e,t){return this.isValid?this.e.diff(this.s,e,t):po.invalid(this.invalidReason)},t.mapEndpoints=function(t){return e.fromDateTimes(t(this.s),t(this.e))},pn(e,[{key:"start",get:function(){return this.isValid?this.s:null}},{key:"end",get:function(){return this.isValid?this.e:null}},{key:"isValid",get:function(){return null===this.invalidReason}},{key:"invalidReason",get:function(){return this.invalid?this.invalid.reason:null}},{key:"invalidExplanation",get:function(){return this.invalid?this.invalid.explanation:null}}]),e}(),wo=function(){function e(){}return e.hasDST=function(e){void 0===e&&(e=li.defaultZone);var t=ps.now().setZone(e).set({month:12});return!e.isUniversal&&t.offset!==t.set({month:6}).offset},e.isValidIANAZone=function(e){return Kr.isValidZone(e)},e.normalizeZone=function(e){return ni(e,li.defaultZone)},e.months=function(e,t){void 0===e&&(e="long");var n=void 0===t?{}:t,r=n.locale,i=void 0===r?null:r,o=n.numberingSystem,s=void 0===o?null:o,u=n.locObj,a=void 0===u?null:u,l=n.outputCalendar,c=void 0===l?"gregory":l;return(a||xi.create(i,s,c)).months(e)},e.monthsFormat=function(e,t){void 0===e&&(e="long");var n=void 0===t?{}:t,r=n.locale,i=void 0===r?null:r,o=n.numberingSystem,s=void 0===o?null:o,u=n.locObj,a=void 0===u?null:u,l=n.outputCalendar,c=void 0===l?"gregory":l;return(a||xi.create(i,s,c)).months(e,!0)},e.weekdays=function(e,t){void 0===e&&(e="long");var n=void 0===t?{}:t,r=n.locale,i=void 0===r?null:r,o=n.numberingSystem,s=void 0===o?null:o,u=n.locObj;return((void 0===u?null:u)||xi.create(i,s,null)).weekdays(e)},e.weekdaysFormat=function(e,t){void 0===e&&(e="long");var n=void 0===t?{}:t,r=n.locale,i=void 0===r?null:r,o=n.numberingSystem,s=void 0===o?null:o,u=n.locObj;return((void 0===u?null:u)||xi.create(i,s,null)).weekdays(e,!0)},e.meridiems=function(e){var t=(void 0===e?{}:e).locale,n=void 0===t?null:t;return xi.create(n).meridiems()},e.eras=function(e,t){void 0===e&&(e="short");var n=(void 0===t?{}:t).locale,r=void 0===n?null:n;return xi.create(r,null,"gregory").eras(e)},e.features=function(){return{relative:ur()}},e}();function ko(e,t){var n=function(e){return e.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf()},r=n(t)-n(e);return Math.floor(po.fromMillis(r).as("days"))}function bo(e,t,n,r){var i=function(e,t,n){for(var r,i,o={},s=0,u=[["years",function(e,t){return t.year-e.year}],["quarters",function(e,t){return t.quarter-e.quarter}],["months",function(e,t){return t.month-e.month+12*(t.year-e.year)}],["weeks",function(e,t){var n=ko(e,t);return(n-n%7)/7}],["days",ko]];s<u.length;s++){var a=u[s],l=a[0],c=a[1];if(n.indexOf(l)>=0){var f;r=l;var d,h=c(e,t);(i=e.plus(((f={})[l]=h,f)))>t?(e=e.plus(((d={})[l]=h-1,d)),h-=1):e=i,o[l]=h}}return[e,o,i,r]}(e,t,n),o=i[0],s=i[1],u=i[2],a=i[3],l=t-o,c=n.filter((function(e){return["hours","minutes","seconds","milliseconds"].indexOf(e)>=0}));if(0===c.length){var f;if(u<t)u=o.plus(((f={})[a]=1,f));u!==o&&(s[a]=(s[a]||0)+l/(u-o))}var d,h=po.fromObject(s,r);return c.length>0?(d=po.fromMillis(l,r)).shiftTo.apply(d,c).plus(h):h}var xo={arab:"[٠-٩]",arabext:"[۰-۹]",bali:"[᭐-᭙]",beng:"[০-৯]",deva:"[०-९]",fullwide:"[0-9]",gujr:"[૦-૯]",hanidec:"[〇|一|二|三|四|五|六|七|八|九]",khmr:"[០-៩]",knda:"[೦-೯]",laoo:"[໐-໙]",limb:"[᥆-᥏]",mlym:"[൦-൯]",mong:"[᠐-᠙]",mymr:"[၀-၉]",orya:"[୦-୯]",tamldec:"[௦-௯]",telu:"[౦-౯]",thai:"[๐-๙]",tibt:"[༠-༩]",latn:"\\d"},So={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},To=xo.hanidec.replace(/[\[|\]]/g,"").split("");function Mo(e,t){var n=e.numberingSystem;return void 0===t&&(t=""),new RegExp(""+xo[n||"latn"]+t)}function Oo(e,t){return void 0===t&&(t=function(e){return e}),{regex:e,deser:function(e){var n=e[0];return t(function(e){var t=parseInt(e,10);if(isNaN(t)){t="";for(var n=0;n<e.length;n++){var r=e.charCodeAt(n);if(-1!==e[n].search(xo.hanidec))t+=To.indexOf(e[n]);else for(var i in So){var o=So[i],s=o[0],u=o[1];r>=s&&r<=u&&(t+=r-s)}}return parseInt(t,10)}return t}(n))}}}var Do="[ "+String.fromCharCode(160)+"]",No=new RegExp(Do,"g");function Eo(e){return e.replace(/\./g,"\\.?").replace(No,Do)}function _o(e){return e.replace(/\./g,"").replace(No," ").toLowerCase()}function Io(e,t){return null===e?null:{regex:RegExp(e.map(Eo).join("|")),deser:function(n){var r=n[0];return e.findIndex((function(e){return _o(r)===_o(e)}))+t}}}function Vo(e,t){return{regex:e,deser:function(e){return Sr(e[1],e[2])},groups:t}}function Co(e){return{regex:e,deser:function(e){return e[0]}}}var Fo={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour:{numeric:"h","2-digit":"hh"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"}};var zo=null;function Ao(e,t){if(e.literal)return e;var n=Ur.macroTokenToFormatOpts(e.val);if(!n)return e;var r=Ur.create(t,n).formatDateTimeParts((zo||(zo=ps.fromMillis(1555555555555)),zo)).map((function(e){return function(e,t,n){var r=e.type,i=e.value;if("literal"===r)return{literal:!0,val:i};var o=n[r],s=Fo[r];return"object"==typeof s&&(s=s[o]),s?{literal:!1,val:s}:void 0}(e,0,n)}));return r.includes(void 0)?e:r}function Lo(e,t,n){var r=function(e,t){var n;return(n=Array.prototype).concat.apply(n,e.map((function(e){return Ao(e,t)})))}(Ur.parseFormat(n),e),i=r.map((function(t){return n=t,i=Mo(r=e),o=Mo(r,"{2}"),s=Mo(r,"{3}"),u=Mo(r,"{4}"),a=Mo(r,"{6}"),l=Mo(r,"{1,2}"),c=Mo(r,"{1,3}"),f=Mo(r,"{1,6}"),d=Mo(r,"{1,9}"),h=Mo(r,"{2,4}"),m=Mo(r,"{4,6}"),y=function(e){return{regex:RegExp((t=e.val,t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"))),deser:function(e){return e[0]},literal:!0};var t},v=function(e){if(n.literal)return y(e);switch(e.val){case"G":return Io(r.eras("short",!1),0);case"GG":return Io(r.eras("long",!1),0);case"y":return Oo(f);case"yy":case"kk":return Oo(h,br);case"yyyy":case"kkkk":return Oo(u);case"yyyyy":return Oo(m);case"yyyyyy":return Oo(a);case"M":case"L":case"d":case"H":case"h":case"m":case"q":case"s":case"W":return Oo(l);case"MM":case"LL":case"dd":case"HH":case"hh":case"mm":case"qq":case"ss":case"WW":return Oo(o);case"MMM":return Io(r.months("short",!0,!1),1);case"MMMM":return Io(r.months("long",!0,!1),1);case"LLL":return Io(r.months("short",!1,!1),1);case"LLLL":return Io(r.months("long",!1,!1),1);case"o":case"S":return Oo(c);case"ooo":case"SSS":return Oo(s);case"u":return Co(d);case"uu":return Co(l);case"uuu":case"E":case"c":return Oo(i);case"a":return Io(r.meridiems(),0);case"EEE":return Io(r.weekdays("short",!1,!1),1);case"EEEE":return Io(r.weekdays("long",!1,!1),1);case"ccc":return Io(r.weekdays("short",!0,!1),1);case"cccc":return Io(r.weekdays("long",!0,!1),1);case"Z":case"ZZ":return Vo(new RegExp("([+-]"+l.source+")(?::("+o.source+"))?"),2);case"ZZZ":return Vo(new RegExp("([+-]"+l.source+")("+o.source+")?"),2);case"z":return Co(/[a-z_+-/]{1,256}?/i);default:return y(e)}}(n)||{invalidReason:"missing Intl.DateTimeFormat.formatToParts support"},v.token=n,v;var n,r,i,o,s,u,a,l,c,f,d,h,m,y,v})),o=i.find((function(e){return e.invalidReason}));if(o)return{input:t,tokens:r,invalidReason:o.invalidReason};var s=function(e){return["^"+e.map((function(e){return e.regex})).reduce((function(e,t){return e+"("+t.source+")"}),"")+"$",e]}(i),u=s[0],a=s[1],l=RegExp(u,"i"),c=function(e,t,n){var r=e.match(t);if(r){var i={},o=1;for(var s in n)if(lr(n,s)){var u=n[s],a=u.groups?u.groups+1:1;!u.literal&&u.token&&(i[u.token.val[0]]=u.deser(r.slice(o,o+a))),o+=a}return[r,i]}return[r,{}]}(t,l,a),f=c[0],d=c[1],h=d?function(e){var t,n=null;return ir(e.z)||(n=Kr.create(e.z)),ir(e.Z)||(n||(n=new ei(e.Z)),t=e.Z),ir(e.q)||(e.M=3*(e.q-1)+1),ir(e.h)||(e.h<12&&1===e.a?e.h+=12:12===e.h&&0===e.a&&(e.h=0)),0===e.G&&e.y&&(e.y=-e.y),ir(e.u)||(e.S=mr(e.u)),[Object.keys(e).reduce((function(t,n){var r=function(e){switch(e){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}}(n);return r&&(t[r]=e[n]),t}),{}),n,t]}(d):[null,null,void 0],m=h[0],y=h[1],v=h[2];if(lr(d,"a")&&lr(d,"H"))throw new Vn("Can't include meridiem when specifying 24-hour format");return{input:t,tokens:r,regex:l,rawMatches:f,matches:d,result:m,zone:y,specificOffset:v}}var Zo=[0,31,59,90,120,151,181,212,243,273,304,334],jo=[0,31,60,91,121,152,182,213,244,274,305,335];function Po(e,t){return new Hr("unit out of range","you specified "+t+" (of type "+typeof t+") as a "+e+", which is invalid")}function Yo(e,t,n){var r=new Date(Date.UTC(e,t-1,n));e<100&&e>=0&&r.setUTCFullYear(r.getUTCFullYear()-1900);var i=r.getUTCDay();return 0===i?7:i}function qo(e,t,n){return n+(vr(e)?jo:Zo)[t-1]}function Wo(e,t){var n=vr(e)?jo:Zo,r=n.findIndex((function(e){return e<t}));return{month:r+1,day:t-n[r]}}function Uo(e){var t,n=e.year,r=e.month,i=e.day,o=qo(n,r,i),s=Yo(n,r,i),u=Math.floor((o-s+10)/7);return u<1?u=kr(t=n-1):u>kr(n)?(t=n+1,u=1):t=n,gn({weekYear:t,weekNumber:u,weekday:s},Dr(e))}function Ho(e){var t,n=e.weekYear,r=e.weekNumber,i=e.weekday,o=Yo(n,1,4),s=pr(n),u=7*r+i-o-3;u<1?u+=pr(t=n-1):u>s?(t=n+1,u-=pr(n)):t=n;var a=Wo(t,u);return gn({year:t,month:a.month,day:a.day},Dr(e))}function Ro(e){var t=e.year;return gn({year:t,ordinal:qo(t,e.month,e.day)},Dr(e))}function Go(e){var t=e.year,n=Wo(t,e.ordinal);return gn({year:t,month:n.month,day:n.day},Dr(e))}function Jo(e){var t=sr(e.year),n=cr(e.month,1,12),r=cr(e.day,1,gr(e.year,e.month));return t?n?!r&&Po("day",e.day):Po("month",e.month):Po("year",e.year)}function Bo(e){var t=e.hour,n=e.minute,r=e.second,i=e.millisecond,o=cr(t,0,23)||24===t&&0===n&&0===r&&0===i,s=cr(n,0,59),u=cr(r,0,59),a=cr(i,0,999);return o?s?u?!a&&Po("millisecond",i):Po("second",r):Po("minute",n):Po("hour",t)}function $o(e){return new Hr("unsupported zone",'the zone "'+e.name+'" is not supported')}function Qo(e){return null===e.weekData&&(e.weekData=Uo(e.c)),e.weekData}function Ko(e,t){var n={ts:e.ts,zone:e.zone,c:e.c,o:e.o,loc:e.loc,invalid:e.invalid};return new ps(gn({},n,t,{old:n}))}function Xo(e,t,n){var r=e-6e4*t,i=n.offset(r);if(t===i)return[r,t];r-=6e4*(i-t);var o=n.offset(r);return i===o?[r,i]:[e-6e4*Math.min(i,o),Math.max(i,o)]}function es(e,t){var n=new Date(e+=6e4*t);return{year:n.getUTCFullYear(),month:n.getUTCMonth()+1,day:n.getUTCDate(),hour:n.getUTCHours(),minute:n.getUTCMinutes(),second:n.getUTCSeconds(),millisecond:n.getUTCMilliseconds()}}function ts(e,t,n){return Xo(wr(e),t,n)}function ns(e,t){var n=e.o,r=e.c.year+Math.trunc(t.years),i=e.c.month+Math.trunc(t.months)+3*Math.trunc(t.quarters),o=gn({},e.c,{year:r,month:i,day:Math.min(e.c.day,gr(r,i))+Math.trunc(t.days)+7*Math.trunc(t.weeks)}),s=po.fromObject({years:t.years-Math.trunc(t.years),quarters:t.quarters-Math.trunc(t.quarters),months:t.months-Math.trunc(t.months),weeks:t.weeks-Math.trunc(t.weeks),days:t.days-Math.trunc(t.days),hours:t.hours,minutes:t.minutes,seconds:t.seconds,milliseconds:t.milliseconds}).as("milliseconds"),u=Xo(wr(o),n,e.zone),a=u[0],l=u[1];return 0!==s&&(a+=s,l=e.zone.offset(a)),{ts:a,o:l}}function rs(e,t,n,r,i,o){var s=n.setZone,u=n.zone;if(e&&0!==Object.keys(e).length){var a=t||u,l=ps.fromObject(e,gn({},n,{zone:a,specificOffset:o}));return s?l:l.setZone(u)}return ps.invalid(new Hr("unparsable",'the input "'+i+"\" can't be parsed as "+r))}function is(e,t,n){return void 0===n&&(n=!0),e.isValid?Ur.create(xi.create("en-US"),{allowZ:n,forceSimple:!0}).formatDateTimeFromString(e,t):null}function os(e,t){var n=e.c.year>9999||e.c.year<0,r="";return n&&e.c.year>=0&&(r+="+"),r+=fr(e.c.year,n?6:4),t?(r+="-",r+=fr(e.c.month),r+="-",r+=fr(e.c.day)):(r+=fr(e.c.month),r+=fr(e.c.day)),r}function ss(e,t,n,r,i,o){var s=fr(e.c.hour);return t?(s+=":",s+=fr(e.c.minute),0===e.c.second&&n||(s+=":")):s+=fr(e.c.minute),0===e.c.second&&n||(s+=fr(e.c.second),0===e.c.millisecond&&r||(s+=".",s+=fr(e.c.millisecond,3))),i&&(e.isOffsetFixed&&0===e.offset&&!o?s+="Z":e.o<0?(s+="-",s+=fr(Math.trunc(-e.o/60)),s+=":",s+=fr(Math.trunc(-e.o%60))):(s+="+",s+=fr(Math.trunc(e.o/60)),s+=":",s+=fr(Math.trunc(e.o%60)))),o&&(s+="["+e.zone.ianaName+"]"),s}var us={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},as={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},ls={ordinal:1,hour:0,minute:0,second:0,millisecond:0},cs=["year","month","day","hour","minute","second","millisecond"],fs=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],ds=["year","ordinal","hour","minute","second","millisecond"];function hs(e){var t={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[e.toLowerCase()];if(!t)throw new Cn(e);return t}function ms(e,t){var n,r,i=ni(t.zone,li.defaultZone),o=xi.fromObject(t),s=li.now();if(ir(e.year))n=s;else{for(var u,a=Dn(cs);!(u=a()).done;){var l=u.value;ir(e[l])&&(e[l]=us[l])}var c=Jo(e)||Bo(e);if(c)return ps.invalid(c);var f=ts(e,i.offset(s),i);n=f[0],r=f[1]}return new ps({ts:n,zone:i,loc:o,o:r})}function ys(e,t,n){var r=!!ir(n.round)||n.round,i=function(e,i){return e=yr(e,r||n.calendary?0:2,!0),t.loc.clone(n).relFormatter(n).format(e,i)},o=function(r){return n.calendary?t.hasSame(e,r)?0:t.startOf(r).diff(e.startOf(r),r).get(r):t.diff(e,r).get(r)};if(n.unit)return i(o(n.unit),n.unit);for(var s,u=Dn(n.units);!(s=u()).done;){var a=s.value,l=o(a);if(Math.abs(l)>=1)return i(l,a)}return i(e>t?-0:0,n.units[n.units.length-1])}function vs(e){var t,n={};return e.length>0&&"object"==typeof e[e.length-1]?(n=e[e.length-1],t=Array.from(e).slice(0,e.length-1)):t=Array.from(e),[n,t]}var ps=function(){function e(e){var t=e.zone||li.defaultZone,n=e.invalid||(Number.isNaN(e.ts)?new Hr("invalid input"):null)||(t.isValid?null:$o(t));this.ts=ir(e.ts)?li.now():e.ts;var r=null,i=null;if(!n)if(e.old&&e.old.ts===this.ts&&e.old.zone.equals(t)){var o=[e.old.c,e.old.o];r=o[0],i=o[1]}else{var s=t.offset(this.ts);r=es(this.ts,s),r=(n=Number.isNaN(r.year)?new Hr("invalid input"):null)?null:r,i=n?null:s}this._zone=t,this.loc=e.loc||xi.create(),this.invalid=n,this.weekData=null,this.c=r,this.o=i,this.isLuxonDateTime=!0}e.now=function(){return new e({})},e.local=function(){var e=vs(arguments),t=e[0],n=e[1],r=n[0],i=n[1],o=n[2],s=n[3],u=n[4],a=n[5],l=n[6];return ms({year:r,month:i,day:o,hour:s,minute:u,second:a,millisecond:l},t)},e.utc=function(){var e=vs(arguments),t=e[0],n=e[1],r=n[0],i=n[1],o=n[2],s=n[3],u=n[4],a=n[5],l=n[6];return t.zone=ei.utcInstance,ms({year:r,month:i,day:o,hour:s,minute:u,second:a,millisecond:l},t)},e.fromJSDate=function(t,n){void 0===n&&(n={});var r,i=(r=t,"[object Date]"===Object.prototype.toString.call(r)?t.valueOf():NaN);if(Number.isNaN(i))return e.invalid("invalid input");var o=ni(n.zone,li.defaultZone);return o.isValid?new e({ts:i,zone:o,loc:xi.fromObject(n)}):e.invalid($o(o))},e.fromMillis=function(t,n){if(void 0===n&&(n={}),or(t))return t<-864e13||t>864e13?e.invalid("Timestamp out of range"):new e({ts:t,zone:ni(n.zone,li.defaultZone),loc:xi.fromObject(n)});throw new Fn("fromMillis requires a numerical input, but received a "+typeof t+" with value "+t)},e.fromSeconds=function(t,n){if(void 0===n&&(n={}),or(t))return new e({ts:1e3*t,zone:ni(n.zone,li.defaultZone),loc:xi.fromObject(n)});throw new Fn("fromSeconds requires a numerical input")},e.fromObject=function(t,n){void 0===n&&(n={}),t=t||{};var r=ni(n.zone,li.defaultZone);if(!r.isValid)return e.invalid($o(r));var i=li.now(),o=ir(n.specificOffset)?r.offset(i):n.specificOffset,s=Mr(t,hs),u=!ir(s.ordinal),a=!ir(s.year),l=!ir(s.month)||!ir(s.day),c=a||l,f=s.weekYear||s.weekNumber,d=xi.fromObject(n);if((c||u)&&f)throw new Vn("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(l&&u)throw new Vn("Can't mix ordinal dates with month/day");var h,m,y=f||s.weekday&&!c,v=es(i,o);y?(h=fs,m=as,v=Uo(v)):u?(h=ds,m=ls,v=Ro(v)):(h=cs,m=us);for(var p,g=!1,w=Dn(h);!(p=w()).done;){var k=p.value;ir(s[k])?s[k]=g?m[k]:v[k]:g=!0}var b=y?function(e){var t=sr(e.weekYear),n=cr(e.weekNumber,1,kr(e.weekYear)),r=cr(e.weekday,1,7);return t?n?!r&&Po("weekday",e.weekday):Po("week",e.week):Po("weekYear",e.weekYear)}(s):u?function(e){var t=sr(e.year),n=cr(e.ordinal,1,pr(e.year));return t?!n&&Po("ordinal",e.ordinal):Po("year",e.year)}(s):Jo(s),x=b||Bo(s);if(x)return e.invalid(x);var S=ts(y?Ho(s):u?Go(s):s,o,r),T=new e({ts:S[0],zone:r,o:S[1],loc:d});return s.weekday&&c&&t.weekday!==T.weekday?e.invalid("mismatched weekday","you can't specify both a weekday of "+s.weekday+" and a date of "+T.toISO()):T},e.fromISO=function(e,t){void 0===t&&(t={});var n=Mi(e,[Qi,to],[Ki,no],[Xi,ro],[eo,io]);return rs(n[0],n[1],t,"ISO 8601",e)},e.fromRFC2822=function(e,t){void 0===t&&(t={});var n=Mi(e.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim(),[Ui,Hi]);return rs(n[0],n[1],t,"RFC 2822",e)},e.fromHTTP=function(e,t){void 0===t&&(t={});var n=Mi(e,[Ri,Bi],[Gi,Bi],[Ji,$i]);return rs(n[0],n[1],t,"HTTP",t)},e.fromFormat=function(t,n,r){if(void 0===r&&(r={}),ir(t)||ir(n))throw new Fn("fromFormat requires an input string and a format");var i=r,o=i.locale,s=void 0===o?null:o,u=i.numberingSystem,a=void 0===u?null:u,l=function(e,t,n){var r=Lo(e,t,n);return[r.result,r.zone,r.specificOffset,r.invalidReason]}(xi.fromOpts({locale:s,numberingSystem:a,defaultToEN:!0}),t,n),c=l[0],f=l[1],d=l[2],h=l[3];return h?e.invalid(h):rs(c,f,r,"format "+n,t,d)},e.fromString=function(t,n,r){return void 0===r&&(r={}),e.fromFormat(t,n,r)},e.fromSQL=function(e,t){void 0===t&&(t={});var n=Mi(e,[so,to],[uo,ao]);return rs(n[0],n[1],t,"SQL",e)},e.invalid=function(t,n){if(void 0===n&&(n=null),!t)throw new Fn("need to specify a reason the DateTime is invalid");var r=t instanceof Hr?t:new Hr(t,n);if(li.throwOnInvalid)throw new En(r);return new e({invalid:r})},e.isDateTime=function(e){return e&&e.isLuxonDateTime||!1};var t=e.prototype;return t.get=function(e){return this[e]},t.resolvedLocaleOptions=function(e){void 0===e&&(e={});var t=Ur.create(this.loc.clone(e),e).resolvedOptions(this);return{locale:t.locale,numberingSystem:t.numberingSystem,outputCalendar:t.calendar}},t.toUTC=function(e,t){return void 0===e&&(e=0),void 0===t&&(t={}),this.setZone(ei.instance(e),t)},t.toLocal=function(){return this.setZone(li.defaultZone)},t.setZone=function(t,n){var r=void 0===n?{}:n,i=r.keepLocalTime,o=void 0!==i&&i,s=r.keepCalendarTime,u=void 0!==s&&s;if((t=ni(t,li.defaultZone)).equals(this.zone))return this;if(t.isValid){var a=this.ts;if(o||u){var l=t.offset(this.ts);a=ts(this.toObject(),l,t)[0]}return Ko(this,{ts:a,zone:t})}return e.invalid($o(t))},t.reconfigure=function(e){var t=void 0===e?{}:e,n=t.locale,r=t.numberingSystem,i=t.outputCalendar;return Ko(this,{loc:this.loc.clone({locale:n,numberingSystem:r,outputCalendar:i})})},t.setLocale=function(e){return this.reconfigure({locale:e})},t.set=function(e){if(!this.isValid)return this;var t,n=Mr(e,hs),r=!ir(n.weekYear)||!ir(n.weekNumber)||!ir(n.weekday),i=!ir(n.ordinal),o=!ir(n.year),s=!ir(n.month)||!ir(n.day),u=o||s,a=n.weekYear||n.weekNumber;if((u||i)&&a)throw new Vn("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(s&&i)throw new Vn("Can't mix ordinal dates with month/day");r?t=Ho(gn({},Uo(this.c),n)):ir(n.ordinal)?(t=gn({},this.toObject(),n),ir(n.day)&&(t.day=Math.min(gr(t.year,t.month),t.day))):t=Go(gn({},Ro(this.c),n));var l=ts(t,this.o,this.zone);return Ko(this,{ts:l[0],o:l[1]})},t.plus=function(e){return this.isValid?Ko(this,ns(this,po.fromDurationLike(e))):this},t.minus=function(e){return this.isValid?Ko(this,ns(this,po.fromDurationLike(e).negate())):this},t.startOf=function(e){if(!this.isValid)return this;var t={},n=po.normalizeUnit(e);switch(n){case"years":t.month=1;case"quarters":case"months":t.day=1;case"weeks":case"days":t.hour=0;case"hours":t.minute=0;case"minutes":t.second=0;case"seconds":t.millisecond=0}if("weeks"===n&&(t.weekday=1),"quarters"===n){var r=Math.ceil(this.month/3);t.month=3*(r-1)+1}return this.set(t)},t.endOf=function(e){var t;return this.isValid?this.plus((t={},t[e]=1,t)).startOf(e).minus(1):this},t.toFormat=function(e,t){return void 0===t&&(t={}),this.isValid?Ur.create(this.loc.redefaultToEN(t)).formatDateTimeFromString(this,e):"Invalid DateTime"},t.toLocaleString=function(e,t){return void 0===e&&(e=An),void 0===t&&(t={}),this.isValid?Ur.create(this.loc.clone(t),e).formatDateTime(this):"Invalid DateTime"},t.toLocaleParts=function(e){return void 0===e&&(e={}),this.isValid?Ur.create(this.loc.clone(e),e).formatDateTimeParts(this):[]},t.toISO=function(e){var t=void 0===e?{}:e,n=t.format,r=void 0===n?"extended":n,i=t.suppressSeconds,o=void 0!==i&&i,s=t.suppressMilliseconds,u=void 0!==s&&s,a=t.includeOffset,l=void 0===a||a,c=t.extendedZone,f=void 0!==c&&c;if(!this.isValid)return null;var d="extended"===r,h=os(this,d);return h+="T",h+=ss(this,d,o,u,l,f)},t.toISODate=function(e){var t=(void 0===e?{}:e).format,n=void 0===t?"extended":t;return this.isValid?os(this,"extended"===n):null},t.toISOWeekDate=function(){return is(this,"kkkk-'W'WW-c")},t.toISOTime=function(e){var t=void 0===e?{}:e,n=t.suppressMilliseconds,r=void 0!==n&&n,i=t.suppressSeconds,o=void 0!==i&&i,s=t.includeOffset,u=void 0===s||s,a=t.includePrefix,l=void 0!==a&&a,c=t.extendedZone,f=void 0!==c&&c,d=t.format,h=void 0===d?"extended":d;return this.isValid?(l?"T":"")+ss(this,"extended"===h,o,r,u,f):null},t.toRFC2822=function(){return is(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)},t.toHTTP=function(){return is(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")},t.toSQLDate=function(){return this.isValid?os(this,!0):null},t.toSQLTime=function(e){var t=void 0===e?{}:e,n=t.includeOffset,r=void 0===n||n,i=t.includeZone,o=void 0!==i&&i,s=t.includeOffsetSpace,u="HH:mm:ss.SSS";return(o||r)&&((void 0===s||s)&&(u+=" "),o?u+="z":r&&(u+="ZZ")),is(this,u,!0)},t.toSQL=function(e){return void 0===e&&(e={}),this.isValid?this.toSQLDate()+" "+this.toSQLTime(e):null},t.toString=function(){return this.isValid?this.toISO():"Invalid DateTime"},t.valueOf=function(){return this.toMillis()},t.toMillis=function(){return this.isValid?this.ts:NaN},t.toSeconds=function(){return this.isValid?this.ts/1e3:NaN},t.toUnixInteger=function(){return this.isValid?Math.floor(this.ts/1e3):NaN},t.toJSON=function(){return this.toISO()},t.toBSON=function(){return this.toJSDate()},t.toObject=function(e){if(void 0===e&&(e={}),!this.isValid)return{};var t=gn({},this.c);return e.includeConfig&&(t.outputCalendar=this.outputCalendar,t.numberingSystem=this.loc.numberingSystem,t.locale=this.loc.locale),t},t.toJSDate=function(){return new Date(this.isValid?this.ts:NaN)},t.diff=function(e,t,n){if(void 0===t&&(t="milliseconds"),void 0===n&&(n={}),!this.isValid||!e.isValid)return po.invalid("created by diffing an invalid DateTime");var r,i=gn({locale:this.locale,numberingSystem:this.numberingSystem},n),o=(r=t,Array.isArray(r)?r:[r]).map(po.normalizeUnit),s=e.valueOf()>this.valueOf(),u=bo(s?this:e,s?e:this,o,i);return s?u.negate():u},t.diffNow=function(t,n){return void 0===t&&(t="milliseconds"),void 0===n&&(n={}),this.diff(e.now(),t,n)},t.until=function(e){return this.isValid?go.fromDateTimes(this,e):this},t.hasSame=function(e,t){if(!this.isValid)return!1;var n=e.valueOf(),r=this.setZone(e.zone,{keepLocalTime:!0});return r.startOf(t)<=n&&n<=r.endOf(t)},t.equals=function(e){return this.isValid&&e.isValid&&this.valueOf()===e.valueOf()&&this.zone.equals(e.zone)&&this.loc.equals(e.loc)},t.toRelative=function(t){if(void 0===t&&(t={}),!this.isValid)return null;var n=t.base||e.fromObject({},{zone:this.zone}),r=t.padding?this<n?-t.padding:t.padding:0,i=["years","months","days","hours","minutes","seconds"],o=t.unit;return Array.isArray(t.unit)&&(i=t.unit,o=void 0),ys(n,this.plus(r),gn({},t,{numeric:"always",units:i,unit:o}))},t.toRelativeCalendar=function(t){return void 0===t&&(t={}),this.isValid?ys(t.base||e.fromObject({},{zone:this.zone}),this,gn({},t,{numeric:"auto",units:["years","months","days"],calendary:!0})):null},e.min=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];if(!n.every(e.isDateTime))throw new Fn("min requires all arguments be DateTimes");return ar(n,(function(e){return e.valueOf()}),Math.min)},e.max=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];if(!n.every(e.isDateTime))throw new Fn("max requires all arguments be DateTimes");return ar(n,(function(e){return e.valueOf()}),Math.max)},e.fromFormatExplain=function(e,t,n){void 0===n&&(n={});var r=n,i=r.locale,o=void 0===i?null:i,s=r.numberingSystem,u=void 0===s?null:s;return Lo(xi.fromOpts({locale:o,numberingSystem:u,defaultToEN:!0}),e,t)},e.fromStringExplain=function(t,n,r){return void 0===r&&(r={}),e.fromFormatExplain(t,n,r)},pn(e,[{key:"isValid",get:function(){return null===this.invalid}},{key:"invalidReason",get:function(){return this.invalid?this.invalid.reason:null}},{key:"invalidExplanation",get:function(){return this.invalid?this.invalid.explanation:null}},{key:"locale",get:function(){return this.isValid?this.loc.locale:null}},{key:"numberingSystem",get:function(){return this.isValid?this.loc.numberingSystem:null}},{key:"outputCalendar",get:function(){return this.isValid?this.loc.outputCalendar:null}},{key:"zone",get:function(){return this._zone}},{key:"zoneName",get:function(){return this.isValid?this.zone.name:null}},{key:"year",get:function(){return this.isValid?this.c.year:NaN}},{key:"quarter",get:function(){return this.isValid?Math.ceil(this.c.month/3):NaN}},{key:"month",get:function(){return this.isValid?this.c.month:NaN}},{key:"day",get:function(){return this.isValid?this.c.day:NaN}},{key:"hour",get:function(){return this.isValid?this.c.hour:NaN}},{key:"minute",get:function(){return this.isValid?this.c.minute:NaN}},{key:"second",get:function(){return this.isValid?this.c.second:NaN}},{key:"millisecond",get:function(){return this.isValid?this.c.millisecond:NaN}},{key:"weekYear",get:function(){return this.isValid?Qo(this).weekYear:NaN}},{key:"weekNumber",get:function(){return this.isValid?Qo(this).weekNumber:NaN}},{key:"weekday",get:function(){return this.isValid?Qo(this).weekday:NaN}},{key:"ordinal",get:function(){return this.isValid?Ro(this.c).ordinal:NaN}},{key:"monthShort",get:function(){return this.isValid?wo.months("short",{locObj:this.loc})[this.month-1]:null}},{key:"monthLong",get:function(){return this.isValid?wo.months("long",{locObj:this.loc})[this.month-1]:null}},{key:"weekdayShort",get:function(){return this.isValid?wo.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}},{key:"weekdayLong",get:function(){return this.isValid?wo.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}},{key:"offset",get:function(){return this.isValid?+this.o:NaN}},{key:"offsetNameShort",get:function(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}},{key:"offsetNameLong",get:function(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}},{key:"isOffsetFixed",get:function(){return this.isValid?this.zone.isUniversal:null}},{key:"isInDST",get:function(){return!this.isOffsetFixed&&(this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset)}},{key:"isInLeapYear",get:function(){return vr(this.year)}},{key:"daysInMonth",get:function(){return gr(this.year,this.month)}},{key:"daysInYear",get:function(){return this.isValid?pr(this.year):NaN}},{key:"weeksInWeekYear",get:function(){return this.isValid?kr(this.weekYear):NaN}}],[{key:"DATE_SHORT",get:function(){return An}},{key:"DATE_MED",get:function(){return Ln}},{key:"DATE_MED_WITH_WEEKDAY",get:function(){return Zn}},{key:"DATE_FULL",get:function(){return jn}},{key:"DATE_HUGE",get:function(){return Pn}},{key:"TIME_SIMPLE",get:function(){return Yn}},{key:"TIME_WITH_SECONDS",get:function(){return qn}},{key:"TIME_WITH_SHORT_OFFSET",get:function(){return Wn}},{key:"TIME_WITH_LONG_OFFSET",get:function(){return Un}},{key:"TIME_24_SIMPLE",get:function(){return Hn}},{key:"TIME_24_WITH_SECONDS",get:function(){return Rn}},{key:"TIME_24_WITH_SHORT_OFFSET",get:function(){return Gn}},{key:"TIME_24_WITH_LONG_OFFSET",get:function(){return Jn}},{key:"DATETIME_SHORT",get:function(){return Bn}},{key:"DATETIME_SHORT_WITH_SECONDS",get:function(){return $n}},{key:"DATETIME_MED",get:function(){return Qn}},{key:"DATETIME_MED_WITH_SECONDS",get:function(){return Kn}},{key:"DATETIME_MED_WITH_WEEKDAY",get:function(){return Xn}},{key:"DATETIME_FULL",get:function(){return er}},{key:"DATETIME_FULL_WITH_SECONDS",get:function(){return tr}},{key:"DATETIME_HUGE",get:function(){return nr}},{key:"DATETIME_HUGE_WITH_SECONDS",get:function(){return rr}}]),e}();function gs(e){if(ps.isDateTime(e))return e;if(e&&e.valueOf&&or(e.valueOf()))return ps.fromJSDate(e);if(e&&"object"==typeof e)return ps.fromObject(e);throw new Fn("Unknown datetime argument: "+e+", of type "+typeof e)}yn.DateTime=ps,yn.Duration=po,yn.FixedOffsetZone=ei,yn.IANAZone=Kr,yn.Info=wo,yn.Interval=go,yn.InvalidZone=ti,yn.Settings=li,yn.SystemZone=Jr,yn.VERSION="2.4.0",yn.Zone=Rr;const ws=new XMLHttpRequest;ws.onreadystatechange=function(){if(4===this.readyState&&200===this.status){let e=JSON.parse(this.responseText).intradayPricing,t=0,n=yn.DateTime.now();e.length>0&&(t=parseFloat(e[e.length-1].price).toFixed(2),n=yn.DateTime.fromISO(e[e.length-1].time));document.getElementById("md-current-price").innerHTML="$"+t;document.getElementById("md-current-time").innerHTML=n.toLocaleString(yn.DateTime.DATETIME_FULL);const r=[],i=[];e.forEach((e=>{const{price:t,time:n}=e,o=yn.DateTime.fromISO(n),s=parseFloat(t).toFixed(2);r.push(o.toUnixInteger()),i.push(s)}));const o=document.getElementById("md-intraday-chart"),s=new mn({width:300,height:120,class:"spark",pxAlign:!1,cursor:{show:!1},select:{show:!1},legend:{show:!1},scales:{x:{time:!1}},axes:[{show:!1},{show:!1}],series:[{},{stroke:"#ec5b2e",fill:"#ffb39c"}]},[r,i]).ctx.canvas;o.parentNode.append(s)}},ws.open("GET","https://medtech100.com/md100/json/pricing",!0),ws.send(); //# sourceMappingURL=index.80f28a61.js.map </script> </head> <body> <div id="md-tech-ad"> <table class="md-table" align="center" cellpadding="0" cellspacing="0" width="100%"> <tr> <td width="100%"> <div class="md-align"> <img id="md-logo" class="md-margin" src="https://images.designworldonline.com/newsletters/images/ee034d8d8274c1ee5e8111f11cf1be49.png" alt="Medtech 100 logo"> </div> </td> </tr> <tr> <td width="100%"> <div class="md-align"> <div class="margin-text"> <span style="font-weight:600;color:#e06636!important;font-size:16px!important;line-height:14px!important"> Market Summary > Current Price </span> </div> </div> </td> </tr> <tr> <td width="100%"> <div class="md-align" id="md-content-container"> <div id="md-current-price"></div> <div id="md-current-time"></div> <div id="md-chart-container"> <div id="md-intraday-chart"></div> </div> </div> </td> </tr> <tr> <td width="100%"> <div class="md-align"> <div class="md-margin-text"> <span style="font-size:13px;line-height:15px!important"> The MedTech 100 is a financial index calculated using the BIG100 companies covered in Medical Design and Outsourcing. </span> </div> </div> </td> </tr> <tr> <td width="100%"> <div class="md-margin-text"> <a href="https://medtech100.com/?utm_source=PHARMA&utm_medium=BOXAD&utm_campaign=boxad&utm_id=MD100"> <button class="md-btn"> <span style="font-size:13px;font-weight:600"> Click for Index Details >> </span> </button> </a> </div> </td> </tr> </table> </div> </body> </html></div></div></section> <section id="custom_html-3" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><center><div id='div-gpt-pharma_sidebarbottom'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-pharma_sidebarbottom'); }); </script> </div></center></div></div></section> </aside></div></div></div><div class="footer-socials"><div class="wrap"><label style="color:#ffffff">Connect with Pharmaceutical Processing World</label> <a href="https://www.facebook.com/pharmprocessing/" target="_blank" rel="noopener noreferrer"><i class="icon-facebook"></i></a><a href="https://twitter.com/PharmaProWorld" target="_blank" rel="noopener noreferrer"><i class="icon-twitter"></i></a><a href="https://www.linkedin.com/company/pharmaceutical-processing-world" target="_blank" rel="noopener noreferrer"><i class="icon-linkedin"></i></a></div></div><footer class="site-footer"><div class="wrap"><div class="row"><div class="footer-logo"><a href="https://www.pharmaceuticalprocessingworld.com">Pharmaceutical Processing World</a></div><div class="footer-menu"><div class="menu-footer-menu-container"><ul id="menu-footer-menu" class="menu"><li id="menu-item-9116" class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/sign-up-for-the-pharmaceutical-processing-enewsletter/">Subscribe to our E-Newsletter</a></li> <li id="menu-item-9114" class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/contact-us/">Contact Us</a></li> <li id="menu-item-13734" class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/about-us/">About Us</a></li> <li id="menu-item-11263" class="menu-item"><a target="_blank" href="https://www.rdworldonline.com/">R&D World</a></li> <li id="menu-item-13735" class="menu-item"><a href="https://www.drugdeliverybusiness.com/">Drug Delivery Business News</a></li> <li id="menu-item-11262" class="menu-item"><a target="_blank" href="https://www.drugdiscoverytrends.com/">Drug Discovery & Development</a></li> <li id="menu-item-14128" class="menu-item"><a href="https://www.devicetalks.com/">DeviceTalks</a></li> <li id="menu-item-14127" class="menu-item"><a href="https://www.massdevice.com/">MassDevice</a></li> <li id="menu-item-14397" class="menu-item"><a target="_blank" href="https://www.medicaldesignandoutsourcing.com/">Medical Design & Outsourcing</a></li> <li id="menu-item-14398" class="menu-item"><a target="_blank" href="https://www.medicaltubingandextrusion.com/">MEDICAL TUBING + EXTRUSION</a></li> <li id="menu-item-14126" class="menu-item"><a target="_blank" href="https://www.medicaldesignsourcing.com/">Medical Design Sourcing</a></li> <li id="menu-item-14396" class="menu-item"><a target="_blank" href="https://www.medtech100.com/">Medtech100 Index</a></li> <li id="menu-item-15602" class="menu-item"><a href="https://www.rd100conference.com/">R&D 100 Awards</a></li> </ul></div></div><div class="footer-copyright"><p>Copyright © 2024 WTWH Media LLC. All Rights Reserved. The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media<br /> <a href="http://www.wtwhmedia.com/privacy-policy/" target="_blank">Privacy Policy</a> | <a href="https://marketing.wtwhmedia.com/2024-pharma-media-guide/" target="_blank">Advertising</a> | <a href="/about-us">About Us</a> </p></div></div></div></footer></div><div class="site-search"><div class="wrap"><div class="search-inner"><h2>Search Pharmaceutical Processing World</h2><form class="search-form" method="get" action="https://www.pharmaceuticalprocessingworld.com/" role="search"><input class="search-form-input" type="search" name="s" id="searchform-1" placeholder="Search this website"><input class="search-form-submit" type="submit" value="GO"><meta content="https://www.pharmaceuticalprocessingworld.com/?s={s}"></form></div></div></div><!-- Google Tag Manager (noscript) Global --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MMC9PJ9" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KTD28B3" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div id='div-gpt-pharma_wallpaper'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-pharma_wallpaper'); }); </script> </div> <div id='div-gpt-pharma_allstreamflex'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-pharma_allstreamflex'); }); </script> </div> <div id='div-gpt-pharma_allstreamprelude'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-pharma_allstreamprelude'); }); </script> </div> <!--trendmd--> <script defer src='//js.trendmd.com/trendmd.min.js' data-trendmdconfig='{"element":"#trendmd-suggestions"}'></script> <div id="sidr-mobile-menu" class="sidr right"><a class="sidr-menu-close" href="#"><i class="icon-close"></i></a><div class="menu-main-menu-container"><ul id="menu-main-menu-1" class="menu"><li class="home menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/">Home</a></li> <li class="menu-item menu-item-has-children"><a href="https://www.pharmaceuticalprocessingworld.com/category/regulatory/">Regulatory</a> <ul class="sub-menu"> <li class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/category/recalls/">Recalls</a></li> </ul> </li> <li class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/category/pharmaceutical-processing/">Pharmaceutical Processing</a></li> <li class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/category/facility/">Facility</a></li> <li class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/category/supply-chain/">Supply Chain</a></li> <li class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/category/equipment/">Equipment and Materials</a></li> <li class="menu-item"><a href="https://www.pharmaceuticalprocessingworld.com/category/contract-manufacturing/">Contract Manufacturing</a></li> </ul></div></div></div><script type='text/javascript'>jQuery(document).ready(function($) {$(".flexslider").flexslider({controlsContainer: "#genesis-responsive-slider",animation: "slide",directionNav: 0,controlNav: 1,animationDuration: 800,slideshowSpeed: 4000 }); });</script><script type="text/javascript" src="https://www.pharmaceuticalprocessingworld.com/wp-includes/js/comment-reply.min.js?ver=6.7.1" id="comment-reply-js" async="async" data-wp-strategy="async"></script> <script type="text/javascript" src="https://www.pharmaceuticalprocessingworld.com/wp-content/themes/ThemeWTWHv2/assets/js/global-min.js?ver=1621972531" id="ea-global-js"></script> <script type="text/javascript" src="https://www.pharmaceuticalprocessingworld.com/wp-content/plugins/genesis-responsive-slider/assets/js/jquery.flexslider.js?ver=1.0.1" id="flexslider-js"></script> <script type="text/javascript" id="q2w3_fixed_widget-js-extra"> /* <![CDATA[ */ var q2w3_sidebar_options = [{"use_sticky_position":false,"margin_top":0,"margin_bottom":0,"stop_elements_selectors":"","screen_max_width":0,"screen_max_height":0,"widgets":[]}]; /* ]]> */ </script> <script type="text/javascript" src="https://www.pharmaceuticalprocessingworld.com/wp-content/plugins/q2w3-fixed-widget/js/frontend.min.js?ver=6.2.3" id="q2w3_fixed_widget-js"></script> <script defer type="text/javascript" src="https://www.pharmaceuticalprocessingworld.com/wp-content/plugins/akismet/_inc/akismet-frontend.js?ver=1732021471" id="akismet-frontend-js"></script> </body></html>