From 03af578cc569e6d925159f409ae07666166c8375 Mon Sep 17 00:00:00 2001 From: wrensecurity Date: Mon, 4 Mar 2024 15:27:49 +0000 Subject: [PATCH] Deploy eb5f922e2283d00f6718c31b7e2ce49c83b47730 --- 404.html | 24 ++ CNAME | 1 + assets/app.Oy6Mdn0s.js | 7 + ...1_10_wrenidm-6-0-0-released.md.fj6-qguH.js | 1 + ...wrenidm-6-0-0-released.md.fj6-qguH.lean.js | 1 + ...g_2022_04_brand-new-website.md.J3wF5o9v.js | 1 + ...2_04_brand-new-website.md.J3wF5o9v.lean.js | 1 + ...06_wrenidm-cookbook-created.md.lVwuHAPw.js | 1 + ...enidm-cookbook-created.md.lVwuHAPw.lean.js | 1 + ..._08_commons-22-2-0-released.md.z0pug-1o.js | 1 + ...ommons-22-2-0-released.md.z0pug-1o.lean.js | 1 + ...2_12_wrenidm-6-1-0-released.md.delIdvTd.js | 1 + ...wrenidm-6-1-0-released.md.delIdvTd.lean.js | 1 + assets/blog_2023_01_happy-2023.md.GB0QqcOW.js | 1 + ...log_2023_01_happy-2023.md.GB0QqcOW.lean.js | 1 + ...23_05_wrends-5-0-0-released.md.leRQH6Y5.js | 1 + ..._wrends-5-0-0-released.md.leRQH6Y5.lean.js | 1 + ..._10_cve-numbering-authority.md.1Rwm8cpS.js | 1 + ...ve-numbering-authority.md.1Rwm8cpS.lean.js | 1 + ...3_10_wrenam-15-0-0-released.md.PUmKPr5B.js | 1 + ...wrenam-15-0-0-released.md.PUmKPr5B.lean.js | 1 + assets/blog_2024_01_happy-2024.md.-W4-UKjE.js | 1 + ...log_2024_01_happy-2024.md.-W4-UKjE.lean.js | 1 + assets/blog_index.md.UwO10QQo.js | 1 + assets/blog_index.md.UwO10QQo.lean.js | 1 + assets/chunks/framework.dxpx44BK.js | 17 + assets/chunks/theme.fmbmN27o.js | 1 + assets/community_contact.md.WARmMffh.js | 1 + assets/community_contact.md.WARmMffh.lean.js | 1 + assets/community_disclosure.md.lyWmP7cC.js | 1 + .../community_disclosure.md.lyWmP7cC.lean.js | 1 + assets/community_join.md.LwwL_nXF.js | 1 + assets/community_join.md.LwwL_nXF.lean.js | 1 + assets/guide_index.md.0SK2k_Zy.js | 1 + assets/guide_index.md.0SK2k_Zy.lean.js | 1 + assets/guide_wrenidm-sync.md.T1bYWFjO.js | 7 + assets/guide_wrenidm-sync.md.T1bYWFjO.lean.js | 7 + assets/index.md.FZ5-7OD4.js | 1 + assets/index.md.FZ5-7OD4.lean.js | 1 + .../inter-italic-cyrillic-ext.OVycGSDq.woff2 | Bin 0 -> 28332 bytes assets/inter-italic-cyrillic.-nLMcIwj.woff2 | Bin 0 -> 17824 bytes assets/inter-italic-greek-ext.hznxWNZO.woff2 | Bin 0 -> 12188 bytes assets/inter-italic-greek.PSfer2Kc.woff2 | Bin 0 -> 23264 bytes assets/inter-italic-latin-ext.RnFly65-.woff2 | Bin 0 -> 63552 bytes assets/inter-italic-latin.27E69YJn.woff2 | Bin 0 -> 46048 bytes assets/inter-italic-vietnamese.xzQHe1q1.woff2 | Bin 0 -> 8784 bytes .../inter-roman-cyrillic-ext.8T9wMG5w.woff2 | Bin 0 -> 26600 bytes assets/inter-roman-cyrillic.jIZ9REo5.woff2 | Bin 0 -> 16780 bytes assets/inter-roman-greek-ext.9JiNzaSO.woff2 | Bin 0 -> 11808 bytes assets/inter-roman-greek.Cb5wWeGA.woff2 | Bin 0 -> 21776 bytes assets/inter-roman-latin-ext.GZWE-KO4.woff2 | Bin 0 -> 59608 bytes assets/inter-roman-latin.bvIUbFQP.woff2 | Bin 0 -> 42464 bytes assets/inter-roman-vietnamese.paY3CzEB.woff2 | Bin 0 -> 8492 bytes assets/partners.md.yrX0WVZu.js | 1 + assets/partners.md.yrX0WVZu.lean.js | 1 + .../projects_wrenam_download.md.aeVMQODC.js | 1 + ...ojects_wrenam_download.md.aeVMQODC.lean.js | 1 + assets/projects_wrenam_index.md.dfLPuNWk.js | 1 + .../projects_wrenam_index.md.dfLPuNWk.lean.js | 1 + .../projects_wrenam_resources.md.TKiJbPpB.js | 1 + ...jects_wrenam_resources.md.TKiJbPpB.lean.js | 1 + .../projects_wrends_download.md.Tz_XNYJK.js | 1 + ...ojects_wrends_download.md.Tz_XNYJK.lean.js | 1 + assets/projects_wrends_index.md._fr-cRME.js | 1 + .../projects_wrends_index.md._fr-cRME.lean.js | 1 + .../projects_wrends_resources.md.SlxSr3dy.js | 1 + ...jects_wrends_resources.md.SlxSr3dy.lean.js | 1 + assets/projects_wrenicf_index.md.lM5Ee79Z.js | 1 + ...projects_wrenicf_index.md.lM5Ee79Z.lean.js | 1 + .../projects_wrenidm_download.md.IhUDRcfg.js | 1 + ...jects_wrenidm_download.md.IhUDRcfg.lean.js | 1 + assets/projects_wrenidm_index.md.XiTPTVga.js | 1 + ...projects_wrenidm_index.md.XiTPTVga.lean.js | 1 + .../projects_wrenidm_resources.md.ss5AOLoi.js | 1 + ...ects_wrenidm_resources.md.ss5AOLoi.lean.js | 1 + .../projects_wrenig_download.md.veYruhEu.js | 1 + ...ojects_wrenig_download.md.veYruhEu.lean.js | 1 + assets/projects_wrenig_index.md.M9oTHO36.js | 1 + .../projects_wrenig_index.md.M9oTHO36.lean.js | 1 + .../projects_wrenig_resources.md.pwXF3TEG.js | 1 + ...jects_wrenig_resources.md.pwXF3TEG.lean.js | 1 + assets/style.ApYUUt6B.css | 1 + blog/2021/10/wrenidm-6-0-0-released.html | 27 ++ blog/2022/04/brand-new-website.html | 27 ++ blog/2022/06/wrenidm-cookbook-created.html | 27 ++ blog/2022/08/commons-22-2-0-released.html | 27 ++ blog/2022/12/wrenidm-6-1-0-released.html | 27 ++ blog/2023/01/happy-2023.html | 27 ++ blog/2023/05/wrends-5-0-0-released.html | 27 ++ blog/2023/10/cve-numbering-authority.html | 27 ++ blog/2023/10/wrenam-15-0-0-released.html | 27 ++ blog/2024/01/happy-2024.html | 27 ++ blog/index.html | 41 ++ community/contact.html | 27 ++ community/disclosure.html | 27 ++ community/join.html | 27 ++ favicon.ico | Bin 0 -> 2462 bytes feed.rss | 358 ++++++++++++++++++ guide/index.html | 28 ++ guide/wrenidm-sync.html | 33 ++ hashmap.json | 1 + index.html | 27 ++ partner/j3ag.png | Bin 0 -> 9224 bytes partner/jfrog-artifactory.png | Bin 0 -> 15142 bytes partner/orchitech.png | Bin 0 -> 12546 bytes partner/sonpo.png | Bin 0 -> 7960 bytes partner/systemboost.png | Bin 0 -> 4147 bytes partners.html | 27 ++ projects/wrenam/download.html | 27 ++ projects/wrenam/index.html | 27 ++ projects/wrenam/resources.html | 27 ++ projects/wrends/download.html | 27 ++ projects/wrends/index.html | 27 ++ projects/wrends/resources.html | 27 ++ projects/wrenicf/index.html | 27 ++ projects/wrenidm/download.html | 27 ++ projects/wrenidm/index.html | 27 ++ projects/wrenidm/resources.html | 27 ++ projects/wrenig/download.html | 27 ++ projects/wrenig/index.html | 27 ++ projects/wrenig/resources.html | 27 ++ wren.png | Bin 0 -> 9004 bytes wrensec-logo.png | Bin 0 -> 32061 bytes 123 files changed, 1342 insertions(+) create mode 100644 404.html create mode 100644 CNAME create mode 100644 assets/app.Oy6Mdn0s.js create mode 100644 assets/blog_2021_10_wrenidm-6-0-0-released.md.fj6-qguH.js create mode 100644 assets/blog_2021_10_wrenidm-6-0-0-released.md.fj6-qguH.lean.js create mode 100644 assets/blog_2022_04_brand-new-website.md.J3wF5o9v.js create mode 100644 assets/blog_2022_04_brand-new-website.md.J3wF5o9v.lean.js create mode 100644 assets/blog_2022_06_wrenidm-cookbook-created.md.lVwuHAPw.js create mode 100644 assets/blog_2022_06_wrenidm-cookbook-created.md.lVwuHAPw.lean.js create mode 100644 assets/blog_2022_08_commons-22-2-0-released.md.z0pug-1o.js create mode 100644 assets/blog_2022_08_commons-22-2-0-released.md.z0pug-1o.lean.js create mode 100644 assets/blog_2022_12_wrenidm-6-1-0-released.md.delIdvTd.js create mode 100644 assets/blog_2022_12_wrenidm-6-1-0-released.md.delIdvTd.lean.js create mode 100644 assets/blog_2023_01_happy-2023.md.GB0QqcOW.js create mode 100644 assets/blog_2023_01_happy-2023.md.GB0QqcOW.lean.js create mode 100644 assets/blog_2023_05_wrends-5-0-0-released.md.leRQH6Y5.js create mode 100644 assets/blog_2023_05_wrends-5-0-0-released.md.leRQH6Y5.lean.js create mode 100644 assets/blog_2023_10_cve-numbering-authority.md.1Rwm8cpS.js create mode 100644 assets/blog_2023_10_cve-numbering-authority.md.1Rwm8cpS.lean.js create mode 100644 assets/blog_2023_10_wrenam-15-0-0-released.md.PUmKPr5B.js create mode 100644 assets/blog_2023_10_wrenam-15-0-0-released.md.PUmKPr5B.lean.js create mode 100644 assets/blog_2024_01_happy-2024.md.-W4-UKjE.js create mode 100644 assets/blog_2024_01_happy-2024.md.-W4-UKjE.lean.js create mode 100644 assets/blog_index.md.UwO10QQo.js create mode 100644 assets/blog_index.md.UwO10QQo.lean.js create mode 100644 assets/chunks/framework.dxpx44BK.js create mode 100644 assets/chunks/theme.fmbmN27o.js create mode 100644 assets/community_contact.md.WARmMffh.js create mode 100644 assets/community_contact.md.WARmMffh.lean.js create mode 100644 assets/community_disclosure.md.lyWmP7cC.js create mode 100644 assets/community_disclosure.md.lyWmP7cC.lean.js create mode 100644 assets/community_join.md.LwwL_nXF.js create mode 100644 assets/community_join.md.LwwL_nXF.lean.js create mode 100644 assets/guide_index.md.0SK2k_Zy.js create mode 100644 assets/guide_index.md.0SK2k_Zy.lean.js create mode 100644 assets/guide_wrenidm-sync.md.T1bYWFjO.js create mode 100644 assets/guide_wrenidm-sync.md.T1bYWFjO.lean.js create mode 100644 assets/index.md.FZ5-7OD4.js create mode 100644 assets/index.md.FZ5-7OD4.lean.js create mode 100644 assets/inter-italic-cyrillic-ext.OVycGSDq.woff2 create mode 100644 assets/inter-italic-cyrillic.-nLMcIwj.woff2 create mode 100644 assets/inter-italic-greek-ext.hznxWNZO.woff2 create mode 100644 assets/inter-italic-greek.PSfer2Kc.woff2 create mode 100644 assets/inter-italic-latin-ext.RnFly65-.woff2 create mode 100644 assets/inter-italic-latin.27E69YJn.woff2 create mode 100644 assets/inter-italic-vietnamese.xzQHe1q1.woff2 create mode 100644 assets/inter-roman-cyrillic-ext.8T9wMG5w.woff2 create mode 100644 assets/inter-roman-cyrillic.jIZ9REo5.woff2 create mode 100644 assets/inter-roman-greek-ext.9JiNzaSO.woff2 create mode 100644 assets/inter-roman-greek.Cb5wWeGA.woff2 create mode 100644 assets/inter-roman-latin-ext.GZWE-KO4.woff2 create mode 100644 assets/inter-roman-latin.bvIUbFQP.woff2 create mode 100644 assets/inter-roman-vietnamese.paY3CzEB.woff2 create mode 100644 assets/partners.md.yrX0WVZu.js create mode 100644 assets/partners.md.yrX0WVZu.lean.js create mode 100644 assets/projects_wrenam_download.md.aeVMQODC.js create mode 100644 assets/projects_wrenam_download.md.aeVMQODC.lean.js create mode 100644 assets/projects_wrenam_index.md.dfLPuNWk.js create mode 100644 assets/projects_wrenam_index.md.dfLPuNWk.lean.js create mode 100644 assets/projects_wrenam_resources.md.TKiJbPpB.js create mode 100644 assets/projects_wrenam_resources.md.TKiJbPpB.lean.js create mode 100644 assets/projects_wrends_download.md.Tz_XNYJK.js create mode 100644 assets/projects_wrends_download.md.Tz_XNYJK.lean.js create mode 100644 assets/projects_wrends_index.md._fr-cRME.js create mode 100644 assets/projects_wrends_index.md._fr-cRME.lean.js create mode 100644 assets/projects_wrends_resources.md.SlxSr3dy.js create mode 100644 assets/projects_wrends_resources.md.SlxSr3dy.lean.js create mode 100644 assets/projects_wrenicf_index.md.lM5Ee79Z.js create mode 100644 assets/projects_wrenicf_index.md.lM5Ee79Z.lean.js create mode 100644 assets/projects_wrenidm_download.md.IhUDRcfg.js create mode 100644 assets/projects_wrenidm_download.md.IhUDRcfg.lean.js create mode 100644 assets/projects_wrenidm_index.md.XiTPTVga.js create mode 100644 assets/projects_wrenidm_index.md.XiTPTVga.lean.js create mode 100644 assets/projects_wrenidm_resources.md.ss5AOLoi.js create mode 100644 assets/projects_wrenidm_resources.md.ss5AOLoi.lean.js create mode 100644 assets/projects_wrenig_download.md.veYruhEu.js create mode 100644 assets/projects_wrenig_download.md.veYruhEu.lean.js create mode 100644 assets/projects_wrenig_index.md.M9oTHO36.js create mode 100644 assets/projects_wrenig_index.md.M9oTHO36.lean.js create mode 100644 assets/projects_wrenig_resources.md.pwXF3TEG.js create mode 100644 assets/projects_wrenig_resources.md.pwXF3TEG.lean.js create mode 100644 assets/style.ApYUUt6B.css create mode 100644 blog/2021/10/wrenidm-6-0-0-released.html create mode 100644 blog/2022/04/brand-new-website.html create mode 100644 blog/2022/06/wrenidm-cookbook-created.html create mode 100644 blog/2022/08/commons-22-2-0-released.html create mode 100644 blog/2022/12/wrenidm-6-1-0-released.html create mode 100644 blog/2023/01/happy-2023.html create mode 100644 blog/2023/05/wrends-5-0-0-released.html create mode 100644 blog/2023/10/cve-numbering-authority.html create mode 100644 blog/2023/10/wrenam-15-0-0-released.html create mode 100644 blog/2024/01/happy-2024.html create mode 100644 blog/index.html create mode 100644 community/contact.html create mode 100644 community/disclosure.html create mode 100644 community/join.html create mode 100644 favicon.ico create mode 100644 feed.rss create mode 100644 guide/index.html create mode 100644 guide/wrenidm-sync.html create mode 100644 hashmap.json create mode 100644 index.html create mode 100644 partner/j3ag.png create mode 100644 partner/jfrog-artifactory.png create mode 100644 partner/orchitech.png create mode 100644 partner/sonpo.png create mode 100644 partner/systemboost.png create mode 100644 partners.html create mode 100644 projects/wrenam/download.html create mode 100644 projects/wrenam/index.html create mode 100644 projects/wrenam/resources.html create mode 100644 projects/wrends/download.html create mode 100644 projects/wrends/index.html create mode 100644 projects/wrends/resources.html create mode 100644 projects/wrenicf/index.html create mode 100644 projects/wrenidm/download.html create mode 100644 projects/wrenidm/index.html create mode 100644 projects/wrenidm/resources.html create mode 100644 projects/wrenig/download.html create mode 100644 projects/wrenig/index.html create mode 100644 projects/wrenig/resources.html create mode 100644 wren.png create mode 100644 wrensec-logo.png diff --git a/404.html b/404.html new file mode 100644 index 0000000..de2b4d7 --- /dev/null +++ b/404.html @@ -0,0 +1,24 @@ + + + + + + 404 | Wren Security + + + + + + + + + + + + + +
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.
+ + + + \ No newline at end of file diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..34fbad0 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +wrensecurity.org diff --git a/assets/app.Oy6Mdn0s.js b/assets/app.Oy6Mdn0s.js new file mode 100644 index 0000000..5a8a637 --- /dev/null +++ b/assets/app.Oy6Mdn0s.js @@ -0,0 +1,7 @@ +import{j as o,a2 as p,a3 as u,a4 as c,a5 as l,a6 as f,a7 as d,a8 as m,a9 as h,aa as A,ab as g,ac as v,d as P,u as w,l as y,z as C,ad as R,ae as _,af as b,ag as E}from"./chunks/framework.dxpx44BK.js";import{R as D}from"./chunks/theme.fmbmN27o.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(D),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=w();return y(()=>{C(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&R(),_(),b(),s.setup&&s.setup(),()=>E(s.Layout)}});async function j(){const e=O(),a=L();a.provide(u,e);const t=c(e.route);return a.provide(l,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function L(){return h(T)}function O(){let e=o,a;return A(t=>{let n=g(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=v(()=>import(n),__vite__mapDeps([]))),o&&(e=!1),r},s.NotFound)}o&&j().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{j as createApp}; +function __vite__mapDeps(indexes) { + if (!__vite__mapDeps.viteFileDeps) { + __vite__mapDeps.viteFileDeps = [] + } + return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) +} diff --git a/assets/blog_2021_10_wrenidm-6-0-0-released.md.fj6-qguH.js b/assets/blog_2021_10_wrenidm-6-0-0-released.md.fj6-qguH.js new file mode 100644 index 0000000..bea5fcb --- /dev/null +++ b/assets/blog_2021_10_wrenidm-6-0-0-released.md.fj6-qguH.js @@ -0,0 +1 @@ +import{_ as i,c as n,J as r,w as s,G as o,o as l,m as e,a as t}from"./chunks/framework.dxpx44BK.js";const x=JSON.parse('{"title":"Wren:IDM 6.0.0 Released","description":"","frontmatter":{"title":"Wren:IDM 6.0.0 Released","date":"2021-10-08T00:00:00.000Z","excerpt":"We are excited to announce the release of Wren:IDM 6.0.0. This release is the first official\\nWren Security release compatible with JDK 11 and zero dependencies on legacy infrastructure.\\n","sidebar":false},"headers":[],"relativePath":"blog/2021/10/wrenidm-6-0-0-released.md","filePath":"blog/2021/10/wrenidm-6-0-0-released.md"}'),d={name:"blog/2021/10/wrenidm-6-0-0-released.md"},c=e("p",null,"We are excited to announce the release of Wren:IDM 6.0.0. Wren Security release compatible with JDK 11 and zero dependencies on legacy infrastructure (everything you need to build the project is hosted in JFrog Artifactory).",-1),h=e("h2",{id:"changes",tabindex:"-1"},[t("Changes "),e("a",{class:"header-anchor",href:"#changes","aria-label":'Permalink to "Changes"'},"​")],-1),u=e("p",null,"List of significant changes:",-1),p=e("ul",null,[e("li",null,"Change Maven parent to wrensec-parent (new Maven plugin versions, dedicated JFrog repository)"),e("li",null,"Upgrade core dependencies (Apache Felix, Activiti, RhinoJS, ...)"),e("li",null,"Support Java 11 as the default build and runtime environment"),e("li",null,"Add Dockerfile and publish official image to Docker Hub"),e("li",null,"Add GitHub Actions pipeline (switch from Semaphore CI)"),e("li",null,"Replace OrientDB with H2 as the default playground database")],-1),m=e("h2",{id:"how-to-get",tabindex:"-1"},[t("How to get "),e("a",{class:"header-anchor",href:"#how-to-get","aria-label":'Permalink to "How to get"'},"​")],-1),g=e("p",null,[t("You can build your own binary as described by "),e("a",{href:"https://github.com/WrenSecurity/wrenidm/blob/master/README.md#build-the-source-code",target:"_blank",rel:"noreferrer"},"README"),t(".")],-1),f=e("p",null,[t("Alternatively you can use the official Docker image from "),e("a",{href:"https://hub.docker.com/r/wrensecurity/wrenidm",target:"_blank",rel:"noreferrer"},"Docker Hub"),t(":")],-1),b=e("div",{class:"language-bash vp-adaptive-theme"},[e("button",{title:"Copy Code",class:"copy"}),e("span",{class:"lang"},"bash"),e("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[e("code",null,[e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"docker"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," run --rm --name wrenidm-test -p "),e("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"8080"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},":8080 wrensecurity/wrenidm:6.0.0")])])])],-1);function _(k,w,y,v,D,C){const a=o("Post");return l(),n("div",null,[r(a,null,{default:s(()=>[c,h,u,p,m,g,f,b]),_:1})])}const A=i(d,[["render",_]]);export{x as __pageData,A as default}; diff --git a/assets/blog_2021_10_wrenidm-6-0-0-released.md.fj6-qguH.lean.js b/assets/blog_2021_10_wrenidm-6-0-0-released.md.fj6-qguH.lean.js new file mode 100644 index 0000000..bea5fcb --- /dev/null +++ b/assets/blog_2021_10_wrenidm-6-0-0-released.md.fj6-qguH.lean.js @@ -0,0 +1 @@ +import{_ as i,c as n,J as r,w as s,G as o,o as l,m as e,a as t}from"./chunks/framework.dxpx44BK.js";const x=JSON.parse('{"title":"Wren:IDM 6.0.0 Released","description":"","frontmatter":{"title":"Wren:IDM 6.0.0 Released","date":"2021-10-08T00:00:00.000Z","excerpt":"We are excited to announce the release of Wren:IDM 6.0.0. This release is the first official\\nWren Security release compatible with JDK 11 and zero dependencies on legacy infrastructure.\\n","sidebar":false},"headers":[],"relativePath":"blog/2021/10/wrenidm-6-0-0-released.md","filePath":"blog/2021/10/wrenidm-6-0-0-released.md"}'),d={name:"blog/2021/10/wrenidm-6-0-0-released.md"},c=e("p",null,"We are excited to announce the release of Wren:IDM 6.0.0. Wren Security release compatible with JDK 11 and zero dependencies on legacy infrastructure (everything you need to build the project is hosted in JFrog Artifactory).",-1),h=e("h2",{id:"changes",tabindex:"-1"},[t("Changes "),e("a",{class:"header-anchor",href:"#changes","aria-label":'Permalink to "Changes"'},"​")],-1),u=e("p",null,"List of significant changes:",-1),p=e("ul",null,[e("li",null,"Change Maven parent to wrensec-parent (new Maven plugin versions, dedicated JFrog repository)"),e("li",null,"Upgrade core dependencies (Apache Felix, Activiti, RhinoJS, ...)"),e("li",null,"Support Java 11 as the default build and runtime environment"),e("li",null,"Add Dockerfile and publish official image to Docker Hub"),e("li",null,"Add GitHub Actions pipeline (switch from Semaphore CI)"),e("li",null,"Replace OrientDB with H2 as the default playground database")],-1),m=e("h2",{id:"how-to-get",tabindex:"-1"},[t("How to get "),e("a",{class:"header-anchor",href:"#how-to-get","aria-label":'Permalink to "How to get"'},"​")],-1),g=e("p",null,[t("You can build your own binary as described by "),e("a",{href:"https://github.com/WrenSecurity/wrenidm/blob/master/README.md#build-the-source-code",target:"_blank",rel:"noreferrer"},"README"),t(".")],-1),f=e("p",null,[t("Alternatively you can use the official Docker image from "),e("a",{href:"https://hub.docker.com/r/wrensecurity/wrenidm",target:"_blank",rel:"noreferrer"},"Docker Hub"),t(":")],-1),b=e("div",{class:"language-bash vp-adaptive-theme"},[e("button",{title:"Copy Code",class:"copy"}),e("span",{class:"lang"},"bash"),e("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[e("code",null,[e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"docker"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," run --rm --name wrenidm-test -p "),e("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"8080"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},":8080 wrensecurity/wrenidm:6.0.0")])])])],-1);function _(k,w,y,v,D,C){const a=o("Post");return l(),n("div",null,[r(a,null,{default:s(()=>[c,h,u,p,m,g,f,b]),_:1})])}const A=i(d,[["render",_]]);export{x as __pageData,A as default}; diff --git a/assets/blog_2022_04_brand-new-website.md.J3wF5o9v.js b/assets/blog_2022_04_brand-new-website.md.J3wF5o9v.js new file mode 100644 index 0000000..74c9b99 --- /dev/null +++ b/assets/blog_2022_04_brand-new-website.md.J3wF5o9v.js @@ -0,0 +1 @@ +import{_ as s,c as n,J as o,w as a,G as i,o as l,m as e,a as t}from"./chunks/framework.dxpx44BK.js";const P=JSON.parse('{"title":"Brand New Website","description":"","frontmatter":{"title":"Brand New Website","date":"2022-04-27T00:00:00.000Z","excerpt":"We have created a brand new website for Wren Security. :tada:\\n","sidebar":false},"headers":[],"relativePath":"blog/2022/04/brand-new-website.md","filePath":"blog/2022/04/brand-new-website.md"}'),d={name:"blog/2022/04/brand-new-website.md"},c=e("p",null,"We have created a brand new website for Wren Security security suite.",-1),u=e("p",null,"Our former website (built using WordPress) was not easy to update and expand. It was created as more of a leaflet to define our presence and look and feel for the Wren Security brand. It served its purpose, but it was time to move on.",-1),b=e("p",null,"The new website has dedicated sections for top-level projects (Wren:IDM, Wren:AM, Wren:DS and Wren:ICF), instructions on community involvement and dedicated section for blog posts (various project related news).",-1),p=e("p",null,"New website is built and run using the following technologies:",-1),w=e("ul",null,[e("li",null,[e("a",{href:"https://vitepress.vuejs.org/",target:"_blank",rel:"noreferrer"},"VitePress")]),e("li",null,[e("a",{href:"https://pages.github.com/",target:"_blank",rel:"noreferrer"},"GitHub Pages")])],-1),_=e("p",null,[t("Source code of the website is hosted in "),e("a",{href:"https://github.com/WrenSecurity/wrensec-website",target:"_blank",rel:"noreferrer"},"wrensec-website"),t(" GitHub repository. Pull requests are welcome. 💯")],-1);function f(h,m,g,W,v,y){const r=i("Post");return l(),n("div",null,[o(r,null,{default:a(()=>[c,u,b,p,w,_]),_:1})])}const x=s(d,[["render",f]]);export{P as __pageData,x as default}; diff --git a/assets/blog_2022_04_brand-new-website.md.J3wF5o9v.lean.js b/assets/blog_2022_04_brand-new-website.md.J3wF5o9v.lean.js new file mode 100644 index 0000000..74c9b99 --- /dev/null +++ b/assets/blog_2022_04_brand-new-website.md.J3wF5o9v.lean.js @@ -0,0 +1 @@ +import{_ as s,c as n,J as o,w as a,G as i,o as l,m as e,a as t}from"./chunks/framework.dxpx44BK.js";const P=JSON.parse('{"title":"Brand New Website","description":"","frontmatter":{"title":"Brand New Website","date":"2022-04-27T00:00:00.000Z","excerpt":"We have created a brand new website for Wren Security. :tada:\\n","sidebar":false},"headers":[],"relativePath":"blog/2022/04/brand-new-website.md","filePath":"blog/2022/04/brand-new-website.md"}'),d={name:"blog/2022/04/brand-new-website.md"},c=e("p",null,"We have created a brand new website for Wren Security security suite.",-1),u=e("p",null,"Our former website (built using WordPress) was not easy to update and expand. It was created as more of a leaflet to define our presence and look and feel for the Wren Security brand. It served its purpose, but it was time to move on.",-1),b=e("p",null,"The new website has dedicated sections for top-level projects (Wren:IDM, Wren:AM, Wren:DS and Wren:ICF), instructions on community involvement and dedicated section for blog posts (various project related news).",-1),p=e("p",null,"New website is built and run using the following technologies:",-1),w=e("ul",null,[e("li",null,[e("a",{href:"https://vitepress.vuejs.org/",target:"_blank",rel:"noreferrer"},"VitePress")]),e("li",null,[e("a",{href:"https://pages.github.com/",target:"_blank",rel:"noreferrer"},"GitHub Pages")])],-1),_=e("p",null,[t("Source code of the website is hosted in "),e("a",{href:"https://github.com/WrenSecurity/wrensec-website",target:"_blank",rel:"noreferrer"},"wrensec-website"),t(" GitHub repository. Pull requests are welcome. 💯")],-1);function f(h,m,g,W,v,y){const r=i("Post");return l(),n("div",null,[o(r,null,{default:a(()=>[c,u,b,p,w,_]),_:1})])}const x=s(d,[["render",f]]);export{P as __pageData,x as default}; diff --git a/assets/blog_2022_06_wrenidm-cookbook-created.md.lVwuHAPw.js b/assets/blog_2022_06_wrenidm-cookbook-created.md.lVwuHAPw.js new file mode 100644 index 0000000..7bed7f0 --- /dev/null +++ b/assets/blog_2022_06_wrenidm-cookbook-created.md.lVwuHAPw.js @@ -0,0 +1 @@ +import{_ as n,c as r,J as a,w as s,G as l,o as i,m as e,a as o}from"./chunks/framework.dxpx44BK.js";const v=JSON.parse('{"title":"Wren:IDM Cookbook Created","description":"","frontmatter":{"title":"Wren:IDM Cookbook Created","date":"2022-06-09T00:00:00.000Z","excerpt":"We have prepared recipes (samples) demonstrating key Wren:IDM features.\\n","sidebar":false},"headers":[],"relativePath":"blog/2022/06/wrenidm-cookbook-created.md","filePath":"blog/2022/06/wrenidm-cookbook-created.md"}'),c={name:"blog/2022/06/wrenidm-cookbook-created.md"},d=e("p",null,"We have prepared recipes (samples) demonstrating key Wren:IDM features. From now it is possible to try Wren:IDM easily.",-1),m=e("p",null,"We have prepared following samples:",-1),p=e("ul",null,[e("li",null,"sync ⚙️ – synchronize data between Wren:IDM and source / target systems"),e("li",null,"workflow 📝 – create workflow with approval in Wren:IDM"),e("li",null,"roles 🔐 – manage roles and assignment values"),e("li",null,"endpoint 🗳️ – create custom REST API endpoint to execute custom business logic"),e("li",null,"scheduler ⏱️ – schedule synchronization or script to be automatically triggered"),e("li",null,"email 📧 – send email notification")],-1),u=e("p",null,[o("Environment for each sample is defined through "),e("em",null,"Docker Compose"),o(" file. You need just one command to start relevant "),e("em",null,"Docker"),o(" containers, zero configuration needed.")],-1),h=e("p",null,[o("Samples are hosted in "),e("a",{href:"https://github.com/WrenSecurity/wrenidm-cookbook",target:"_blank",rel:"noreferrer"},"wrenidm-cookbook"),o(" GitHub repository.")],-1);function k(_,f,b,g,w,y){const t=l("Post");return i(),r("div",null,[a(t,null,{default:s(()=>[d,m,p,u,h]),_:1})])}const D=n(c,[["render",k]]);export{v as __pageData,D as default}; diff --git a/assets/blog_2022_06_wrenidm-cookbook-created.md.lVwuHAPw.lean.js b/assets/blog_2022_06_wrenidm-cookbook-created.md.lVwuHAPw.lean.js new file mode 100644 index 0000000..7bed7f0 --- /dev/null +++ b/assets/blog_2022_06_wrenidm-cookbook-created.md.lVwuHAPw.lean.js @@ -0,0 +1 @@ +import{_ as n,c as r,J as a,w as s,G as l,o as i,m as e,a as o}from"./chunks/framework.dxpx44BK.js";const v=JSON.parse('{"title":"Wren:IDM Cookbook Created","description":"","frontmatter":{"title":"Wren:IDM Cookbook Created","date":"2022-06-09T00:00:00.000Z","excerpt":"We have prepared recipes (samples) demonstrating key Wren:IDM features.\\n","sidebar":false},"headers":[],"relativePath":"blog/2022/06/wrenidm-cookbook-created.md","filePath":"blog/2022/06/wrenidm-cookbook-created.md"}'),c={name:"blog/2022/06/wrenidm-cookbook-created.md"},d=e("p",null,"We have prepared recipes (samples) demonstrating key Wren:IDM features. From now it is possible to try Wren:IDM easily.",-1),m=e("p",null,"We have prepared following samples:",-1),p=e("ul",null,[e("li",null,"sync ⚙️ – synchronize data between Wren:IDM and source / target systems"),e("li",null,"workflow 📝 – create workflow with approval in Wren:IDM"),e("li",null,"roles 🔐 – manage roles and assignment values"),e("li",null,"endpoint 🗳️ – create custom REST API endpoint to execute custom business logic"),e("li",null,"scheduler ⏱️ – schedule synchronization or script to be automatically triggered"),e("li",null,"email 📧 – send email notification")],-1),u=e("p",null,[o("Environment for each sample is defined through "),e("em",null,"Docker Compose"),o(" file. You need just one command to start relevant "),e("em",null,"Docker"),o(" containers, zero configuration needed.")],-1),h=e("p",null,[o("Samples are hosted in "),e("a",{href:"https://github.com/WrenSecurity/wrenidm-cookbook",target:"_blank",rel:"noreferrer"},"wrenidm-cookbook"),o(" GitHub repository.")],-1);function k(_,f,b,g,w,y){const t=l("Post");return i(),r("div",null,[a(t,null,{default:s(()=>[d,m,p,u,h]),_:1})])}const D=n(c,[["render",k]]);export{v as __pageData,D as default}; diff --git a/assets/blog_2022_08_commons-22-2-0-released.md.z0pug-1o.js b/assets/blog_2022_08_commons-22-2-0-released.md.z0pug-1o.js new file mode 100644 index 0000000..efa0ed9 --- /dev/null +++ b/assets/blog_2022_08_commons-22-2-0-released.md.z0pug-1o.js @@ -0,0 +1 @@ +import{_ as t,c as n,J as a,w as l,G as r,o as c,m as e,a as o}from"./chunks/framework.dxpx44BK.js";const S=JSON.parse('{"title":"Commons 22.2.0 Released","description":"","frontmatter":{"title":"Commons 22.2.0 Released","date":"2022-08-11T00:00:00.000Z","excerpt":"We are excited to announce the release of Wren Security Commons 22.2.0. This release is\\ncompatible with JDK 17.\\n","sidebar":false},"headers":[],"relativePath":"blog/2022/08/commons-22-2-0-released.md","filePath":"blog/2022/08/commons-22-2-0-released.md"}'),i={name:"blog/2022/08/commons-22-2-0-released.md"},d=e("p",null,[o("We are excited to announce the release of "),e("a",{href:"https://github.com/WrenSecurity/wrensec-commons/releases/tag/22.2.0",target:"_blank",rel:"noreferrer"},"Wren Security Commons 22.2.0"),o(". This release is compatible with JDK 17.")],-1),m=e("p",null,[o("Maven groupId of all modules was switched to our package "),e("code",null,"org.wrensecurity.commons"),o(".")],-1),u=e("h2",{id:"changes",tabindex:"-1"},[o("Changes "),e("a",{class:"header-anchor",href:"#changes","aria-label":'Permalink to "Changes"'},"​")],-1),h=e("p",null,"List of significant changes:",-1),p=e("ul",null,[e("li",null,[o("Switched Maven groupId to "),e("code",null,"org.wrensecurity.commons")]),e("li",null,"Support for Java 17"),e("li",null,[o("Merged "),e("em",null,"wrensec-guice"),o(" project as its own module")]),e("li",null,"Fixed Maven site generation where possible")],-1);function _(g,f,w,b,x,C){const s=r("Post");return c(),n("div",null,[a(s,null,{default:l(()=>[d,m,u,h,p]),_:1})])}const k=t(i,[["render",_]]);export{S as __pageData,k as default}; diff --git a/assets/blog_2022_08_commons-22-2-0-released.md.z0pug-1o.lean.js b/assets/blog_2022_08_commons-22-2-0-released.md.z0pug-1o.lean.js new file mode 100644 index 0000000..efa0ed9 --- /dev/null +++ b/assets/blog_2022_08_commons-22-2-0-released.md.z0pug-1o.lean.js @@ -0,0 +1 @@ +import{_ as t,c as n,J as a,w as l,G as r,o as c,m as e,a as o}from"./chunks/framework.dxpx44BK.js";const S=JSON.parse('{"title":"Commons 22.2.0 Released","description":"","frontmatter":{"title":"Commons 22.2.0 Released","date":"2022-08-11T00:00:00.000Z","excerpt":"We are excited to announce the release of Wren Security Commons 22.2.0. This release is\\ncompatible with JDK 17.\\n","sidebar":false},"headers":[],"relativePath":"blog/2022/08/commons-22-2-0-released.md","filePath":"blog/2022/08/commons-22-2-0-released.md"}'),i={name:"blog/2022/08/commons-22-2-0-released.md"},d=e("p",null,[o("We are excited to announce the release of "),e("a",{href:"https://github.com/WrenSecurity/wrensec-commons/releases/tag/22.2.0",target:"_blank",rel:"noreferrer"},"Wren Security Commons 22.2.0"),o(". This release is compatible with JDK 17.")],-1),m=e("p",null,[o("Maven groupId of all modules was switched to our package "),e("code",null,"org.wrensecurity.commons"),o(".")],-1),u=e("h2",{id:"changes",tabindex:"-1"},[o("Changes "),e("a",{class:"header-anchor",href:"#changes","aria-label":'Permalink to "Changes"'},"​")],-1),h=e("p",null,"List of significant changes:",-1),p=e("ul",null,[e("li",null,[o("Switched Maven groupId to "),e("code",null,"org.wrensecurity.commons")]),e("li",null,"Support for Java 17"),e("li",null,[o("Merged "),e("em",null,"wrensec-guice"),o(" project as its own module")]),e("li",null,"Fixed Maven site generation where possible")],-1);function _(g,f,w,b,x,C){const s=r("Post");return c(),n("div",null,[a(s,null,{default:l(()=>[d,m,u,h,p]),_:1})])}const k=t(i,[["render",_]]);export{S as __pageData,k as default}; diff --git a/assets/blog_2022_12_wrenidm-6-1-0-released.md.delIdvTd.js b/assets/blog_2022_12_wrenidm-6-1-0-released.md.delIdvTd.js new file mode 100644 index 0000000..cece533 --- /dev/null +++ b/assets/blog_2022_12_wrenidm-6-1-0-released.md.delIdvTd.js @@ -0,0 +1 @@ +import{_ as n,c as t,J as a,w as s,G as o,o as i,m as e,a as r}from"./chunks/framework.dxpx44BK.js";const M=JSON.parse('{"title":"Wren:IDM 6.1.0 Released","description":"","frontmatter":{"title":"Wren:IDM 6.1.0 Released","date":"2022-12-30T00:00:00.000Z","excerpt":"Brand new release Wren:IDM 6.1.0 has been published. This release is fully compatible with JDK 17.\\n","sidebar":false},"headers":[],"relativePath":"blog/2022/12/wrenidm-6-1-0-released.md","filePath":"blog/2022/12/wrenidm-6-1-0-released.md"}'),d={name:"blog/2022/12/wrenidm-6-1-0-released.md"},c=e("p",null,[r("Brand new release "),e("a",{href:"https://github.com/WrenSecurity/wrenidm/releases/tag/6.1.0",target:"_blank",rel:"noreferrer"},"Wren:IDM 6.1.0"),r(" has been published. This release is fully compatible with JDK 17 and Maven "),e("code",null,"groupId"),r(" of all modules was switched to our package "),e("code",null,"org.wrensecurity.wrenidm"),r(".")],-1),u=e("h2",{id:"changes",tabindex:"-1"},[r("Changes "),e("a",{class:"header-anchor",href:"#changes","aria-label":'Permalink to "Changes"'},"​")],-1),h=e("p",null,"List of significant changes:",-1),p=e("ul",null,[e("li",null,"Add Java 17 support and drop Java 8 support"),e("li",null,[r("Change Maven "),e("code",null,"groupId"),r(" to "),e("code",null,"org.wrensecurity.wrenidm")])],-1),g=e("p",null,"Other changes:",-1),m=e("ul",null,[e("li",null,[r("Change Maven packaging from "),e("code",null,"bundle"),r(" to "),e("code",null,"jar"),r(" ("),e("a",{href:"https://github.com/WrenSecurity/wrenidm/issues/112",target:"_blank",rel:"noreferrer"},"#112"),r(")")]),e("li",null,[r("Support for custom operation-specific options in provisioner ("),e("a",{href:"https://github.com/WrenSecurity/wrenidm/issues/124",target:"_blank",rel:"noreferrer"},"#124"),r(")")]),e("li",null,[r("Workaround Rhino JS file encoding issue ("),e("a",{href:"https://github.com/WrenSecurity/wrenidm/issues/130",target:"_blank",rel:"noreferrer"},"#130"),r(")")]),e("li",null,"Improve docker build (multistage with buildkit cache)"),e("li",null,[r("Upgrade "),e("code",null,"wrensec-parent"),r(" to the latest release ("),e("code",null,"4.0.0"),r(")")]),e("li",null,[r("Upgrade "),e("code",null,"wrensec-commons"),r(" to "),e("code",null,"22.4.0")]),e("li",null,[r("Upgrade "),e("code",null,"wrensec-ui"),r(" to "),e("code",null,"22.1.1")]),e("li",null,[r("Upgrade "),e("code",null,"wrenicf-java-framework"),r(" to "),e("code",null,"1.5.3.0")]),e("li",null,[r("Upgrade Rhino JS to "),e("code",null,"1.7.14")])],-1),b=e("h2",{id:"how-to-get",tabindex:"-1"},[r("How to get "),e("a",{class:"header-anchor",href:"#how-to-get","aria-label":'Permalink to "How to get"'},"​")],-1),_=e("p",null,[r("You can build your own binary as described by "),e("a",{href:"https://github.com/WrenSecurity/wrenidm/blob/main/README.md#build-the-source-code",target:"_blank",rel:"noreferrer"},"README"),r(".")],-1),f=e("p",null,[r("Alternatively you can use the official Docker image from "),e("a",{href:"https://hub.docker.com/r/wrensecurity/wrenidm",target:"_blank",rel:"noreferrer"},"Docker Hub"),r(":")],-1),w=e("div",{class:"language-bash vp-adaptive-theme"},[e("button",{title:"Copy Code",class:"copy"}),e("span",{class:"lang"},"bash"),e("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[e("code",null,[e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"docker"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," run --rm --name wrenidm-test -p "),e("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"8080"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},":8080 wrensecurity/wrenidm:6.1.0")])])])],-1);function k(y,v,C,D,F,W){const l=o("Post");return i(),t("div",null,[a(l,null,{default:s(()=>[c,u,h,p,g,m,b,_,f,w]),_:1})])}const S=n(d,[["render",k]]);export{M as __pageData,S as default}; diff --git a/assets/blog_2022_12_wrenidm-6-1-0-released.md.delIdvTd.lean.js b/assets/blog_2022_12_wrenidm-6-1-0-released.md.delIdvTd.lean.js new file mode 100644 index 0000000..cece533 --- /dev/null +++ b/assets/blog_2022_12_wrenidm-6-1-0-released.md.delIdvTd.lean.js @@ -0,0 +1 @@ +import{_ as n,c as t,J as a,w as s,G as o,o as i,m as e,a as r}from"./chunks/framework.dxpx44BK.js";const M=JSON.parse('{"title":"Wren:IDM 6.1.0 Released","description":"","frontmatter":{"title":"Wren:IDM 6.1.0 Released","date":"2022-12-30T00:00:00.000Z","excerpt":"Brand new release Wren:IDM 6.1.0 has been published. This release is fully compatible with JDK 17.\\n","sidebar":false},"headers":[],"relativePath":"blog/2022/12/wrenidm-6-1-0-released.md","filePath":"blog/2022/12/wrenidm-6-1-0-released.md"}'),d={name:"blog/2022/12/wrenidm-6-1-0-released.md"},c=e("p",null,[r("Brand new release "),e("a",{href:"https://github.com/WrenSecurity/wrenidm/releases/tag/6.1.0",target:"_blank",rel:"noreferrer"},"Wren:IDM 6.1.0"),r(" has been published. This release is fully compatible with JDK 17 and Maven "),e("code",null,"groupId"),r(" of all modules was switched to our package "),e("code",null,"org.wrensecurity.wrenidm"),r(".")],-1),u=e("h2",{id:"changes",tabindex:"-1"},[r("Changes "),e("a",{class:"header-anchor",href:"#changes","aria-label":'Permalink to "Changes"'},"​")],-1),h=e("p",null,"List of significant changes:",-1),p=e("ul",null,[e("li",null,"Add Java 17 support and drop Java 8 support"),e("li",null,[r("Change Maven "),e("code",null,"groupId"),r(" to "),e("code",null,"org.wrensecurity.wrenidm")])],-1),g=e("p",null,"Other changes:",-1),m=e("ul",null,[e("li",null,[r("Change Maven packaging from "),e("code",null,"bundle"),r(" to "),e("code",null,"jar"),r(" ("),e("a",{href:"https://github.com/WrenSecurity/wrenidm/issues/112",target:"_blank",rel:"noreferrer"},"#112"),r(")")]),e("li",null,[r("Support for custom operation-specific options in provisioner ("),e("a",{href:"https://github.com/WrenSecurity/wrenidm/issues/124",target:"_blank",rel:"noreferrer"},"#124"),r(")")]),e("li",null,[r("Workaround Rhino JS file encoding issue ("),e("a",{href:"https://github.com/WrenSecurity/wrenidm/issues/130",target:"_blank",rel:"noreferrer"},"#130"),r(")")]),e("li",null,"Improve docker build (multistage with buildkit cache)"),e("li",null,[r("Upgrade "),e("code",null,"wrensec-parent"),r(" to the latest release ("),e("code",null,"4.0.0"),r(")")]),e("li",null,[r("Upgrade "),e("code",null,"wrensec-commons"),r(" to "),e("code",null,"22.4.0")]),e("li",null,[r("Upgrade "),e("code",null,"wrensec-ui"),r(" to "),e("code",null,"22.1.1")]),e("li",null,[r("Upgrade "),e("code",null,"wrenicf-java-framework"),r(" to "),e("code",null,"1.5.3.0")]),e("li",null,[r("Upgrade Rhino JS to "),e("code",null,"1.7.14")])],-1),b=e("h2",{id:"how-to-get",tabindex:"-1"},[r("How to get "),e("a",{class:"header-anchor",href:"#how-to-get","aria-label":'Permalink to "How to get"'},"​")],-1),_=e("p",null,[r("You can build your own binary as described by "),e("a",{href:"https://github.com/WrenSecurity/wrenidm/blob/main/README.md#build-the-source-code",target:"_blank",rel:"noreferrer"},"README"),r(".")],-1),f=e("p",null,[r("Alternatively you can use the official Docker image from "),e("a",{href:"https://hub.docker.com/r/wrensecurity/wrenidm",target:"_blank",rel:"noreferrer"},"Docker Hub"),r(":")],-1),w=e("div",{class:"language-bash vp-adaptive-theme"},[e("button",{title:"Copy Code",class:"copy"}),e("span",{class:"lang"},"bash"),e("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[e("code",null,[e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"docker"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," run --rm --name wrenidm-test -p "),e("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"8080"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},":8080 wrensecurity/wrenidm:6.1.0")])])])],-1);function k(y,v,C,D,F,W){const l=o("Post");return i(),t("div",null,[a(l,null,{default:s(()=>[c,u,h,p,g,m,b,_,f,w]),_:1})])}const S=n(d,[["render",k]]);export{M as __pageData,S as default}; diff --git a/assets/blog_2023_01_happy-2023.md.GB0QqcOW.js b/assets/blog_2023_01_happy-2023.md.GB0QqcOW.js new file mode 100644 index 0000000..58dbcb6 --- /dev/null +++ b/assets/blog_2023_01_happy-2023.md.GB0QqcOW.js @@ -0,0 +1 @@ +import{_ as n,c as o,J as a,w as s,G as i,o as l,m as e,a as t}from"./chunks/framework.dxpx44BK.js";const x=JSON.parse('{"title":"Happy 2023!","description":"","frontmatter":{"title":"Happy 2023!","date":"2023-01-06T00:00:00.000Z","excerpt":"With 2022 gone, we feel it’s time for a brief recap. And we have some exciting news about the future as well, so buckle up!\\n","sidebar":false},"headers":[],"relativePath":"blog/2023/01/happy-2023.md","filePath":"blog/2023/01/happy-2023.md"}'),c={name:"blog/2023/01/happy-2023.md"},u=e("p",null,"With 2022 gone, we feel it’s time for a brief recap. And we have some exciting news about the future as well, so buckle up!",-1),h=e("p",null,"Some 6 years ago, when ForgeRock abandoned their community edition, our journey to save the future of open-source IAM platform began. Since then, we’ve spent countless hours crafting an independent fork. Just over the course of 2022, we’ve put a lot of effort into modernization of the stack and introduced full Java 17 support, Docker images as official artifacts and many other fixes and improvements. The numbers speak for themselves:",-1),d=e("ul",null,[e("li",null,"283 commits;"),e("li",null,"52 000+ insertions and 28 000+ deletions in 3100+ files;"),e("li",null,"92 merged pull requests;"),e("li",null,"29 closed issues;"),e("li",null,"19 new releases and 26 tags.")],-1),p=e("p",null,[t("On top of that, we fully migrated from Semaphore CI to GitHub CI for automated builds, and we drafted system tests for "),e("a",{href:"https://github.com/WrenSecurity/wrenidm",target:"_blank",rel:"noreferrer"},"Wren:IDM"),t(", "),e("a",{href:"https://github.com/WrenSecurity/wrenam",target:"_blank",rel:"noreferrer"},"Wren:AM"),t(" and "),e("a",{href:"https://github.com/WrenSecurity/wrends",target:"_blank",rel:"noreferrer"},"Wren:DS"),t(" that verify project’s release stability.")],-1),f=e("p",null,"In addition to the purely technical advances, we’ve significantly improved the documentation infrastructure to start rebuilding what we had lost during the fork process, namely:",-1),m=e("ul",null,[e("li",null,"new wrensecurity.org website based on Vitepress;"),e("li",null,"new documentation platform (docs.wrensecurity.org) based on Antora;"),e("li",null,[t("skeleton of "),e("a",{href:"https://github.com/WrenSecurity/wrenidm-docs",target:"_blank",rel:"noreferrer"},"wrenidm-docs"),t(", "),e("a",{href:"https://github.com/WrenSecurity/wrends-docs",target:"_blank",rel:"noreferrer"},"wrends-docs"),t(" and "),e("a",{href:"https://github.com/WrenSecurity/wrenam-docs",target:"_blank",rel:"noreferrer"},"wrenam-docs"),t(" with WIP content;")]),e("li",null,[e("a",{href:"https://github.com/WrenSecurity/wrenidm-cookbook",target:"_blank",rel:"noreferrer"},"wrenidm-cookbook"),t(" with various IdM samples.")])],-1),g=e("p",null,[t("You might have noticed that our focus was shaped mainly by our passion for Identity Management. This led us to the point where "),e("a",{href:"https://github.com/WrenSecurity/wrenidm",target:"_blank",rel:"noreferrer"},"Wren:IDM"),t(" became a reliable foundation for IDM implementations of any scale. But the Wren Security Suite wouldn't be complete without its Access Management essentials, and we’re very aware that it has not received the care it deserves. That's why we are thrilled to announce that we will kickstart 2023 with a completely upgraded "),e("a",{href:"https://github.com/WrenSecurity/wrends",target:"_blank",rel:"noreferrer"},"Wren:DS"),t(" (former OpenDJ), shortly followed by "),e("a",{href:"https://github.com/WrenSecurity/wrenam",target:"_blank",rel:"noreferrer"},"Wren:AM"),t(", the successor of OpenAM.")],-1),w=e("p",null,"Upgraded technological stack, carefully curated changes, Docker images and seamless migration will provide a reliable replacement for those who still run their aging OpenAM and OpenDS installations.",-1),b=e("p",null,[t("Follow us on "),e("a",{href:"https://gitter.im/WrenSecurity/Lobby",target:"_blank",rel:"noreferrer"},"Gitter"),t(", star our "),e("a",{href:"https://github.com/WrenSecurity",target:"_blank",rel:"noreferrer"},"GitHub"),t(" and stay tuned.")],-1),_=e("p",null,"Happy New Year!",-1);function y(k,v,W,S,M,D){const r=i("Post");return l(),o("div",null,[a(r,null,{default:s(()=>[u,h,d,p,f,m,g,w,b,_]),_:1})])}const A=n(c,[["render",y]]);export{x as __pageData,A as default}; diff --git a/assets/blog_2023_01_happy-2023.md.GB0QqcOW.lean.js b/assets/blog_2023_01_happy-2023.md.GB0QqcOW.lean.js new file mode 100644 index 0000000..58dbcb6 --- /dev/null +++ b/assets/blog_2023_01_happy-2023.md.GB0QqcOW.lean.js @@ -0,0 +1 @@ +import{_ as n,c as o,J as a,w as s,G as i,o as l,m as e,a as t}from"./chunks/framework.dxpx44BK.js";const x=JSON.parse('{"title":"Happy 2023!","description":"","frontmatter":{"title":"Happy 2023!","date":"2023-01-06T00:00:00.000Z","excerpt":"With 2022 gone, we feel it’s time for a brief recap. And we have some exciting news about the future as well, so buckle up!\\n","sidebar":false},"headers":[],"relativePath":"blog/2023/01/happy-2023.md","filePath":"blog/2023/01/happy-2023.md"}'),c={name:"blog/2023/01/happy-2023.md"},u=e("p",null,"With 2022 gone, we feel it’s time for a brief recap. And we have some exciting news about the future as well, so buckle up!",-1),h=e("p",null,"Some 6 years ago, when ForgeRock abandoned their community edition, our journey to save the future of open-source IAM platform began. Since then, we’ve spent countless hours crafting an independent fork. Just over the course of 2022, we’ve put a lot of effort into modernization of the stack and introduced full Java 17 support, Docker images as official artifacts and many other fixes and improvements. The numbers speak for themselves:",-1),d=e("ul",null,[e("li",null,"283 commits;"),e("li",null,"52 000+ insertions and 28 000+ deletions in 3100+ files;"),e("li",null,"92 merged pull requests;"),e("li",null,"29 closed issues;"),e("li",null,"19 new releases and 26 tags.")],-1),p=e("p",null,[t("On top of that, we fully migrated from Semaphore CI to GitHub CI for automated builds, and we drafted system tests for "),e("a",{href:"https://github.com/WrenSecurity/wrenidm",target:"_blank",rel:"noreferrer"},"Wren:IDM"),t(", "),e("a",{href:"https://github.com/WrenSecurity/wrenam",target:"_blank",rel:"noreferrer"},"Wren:AM"),t(" and "),e("a",{href:"https://github.com/WrenSecurity/wrends",target:"_blank",rel:"noreferrer"},"Wren:DS"),t(" that verify project’s release stability.")],-1),f=e("p",null,"In addition to the purely technical advances, we’ve significantly improved the documentation infrastructure to start rebuilding what we had lost during the fork process, namely:",-1),m=e("ul",null,[e("li",null,"new wrensecurity.org website based on Vitepress;"),e("li",null,"new documentation platform (docs.wrensecurity.org) based on Antora;"),e("li",null,[t("skeleton of "),e("a",{href:"https://github.com/WrenSecurity/wrenidm-docs",target:"_blank",rel:"noreferrer"},"wrenidm-docs"),t(", "),e("a",{href:"https://github.com/WrenSecurity/wrends-docs",target:"_blank",rel:"noreferrer"},"wrends-docs"),t(" and "),e("a",{href:"https://github.com/WrenSecurity/wrenam-docs",target:"_blank",rel:"noreferrer"},"wrenam-docs"),t(" with WIP content;")]),e("li",null,[e("a",{href:"https://github.com/WrenSecurity/wrenidm-cookbook",target:"_blank",rel:"noreferrer"},"wrenidm-cookbook"),t(" with various IdM samples.")])],-1),g=e("p",null,[t("You might have noticed that our focus was shaped mainly by our passion for Identity Management. This led us to the point where "),e("a",{href:"https://github.com/WrenSecurity/wrenidm",target:"_blank",rel:"noreferrer"},"Wren:IDM"),t(" became a reliable foundation for IDM implementations of any scale. But the Wren Security Suite wouldn't be complete without its Access Management essentials, and we’re very aware that it has not received the care it deserves. That's why we are thrilled to announce that we will kickstart 2023 with a completely upgraded "),e("a",{href:"https://github.com/WrenSecurity/wrends",target:"_blank",rel:"noreferrer"},"Wren:DS"),t(" (former OpenDJ), shortly followed by "),e("a",{href:"https://github.com/WrenSecurity/wrenam",target:"_blank",rel:"noreferrer"},"Wren:AM"),t(", the successor of OpenAM.")],-1),w=e("p",null,"Upgraded technological stack, carefully curated changes, Docker images and seamless migration will provide a reliable replacement for those who still run their aging OpenAM and OpenDS installations.",-1),b=e("p",null,[t("Follow us on "),e("a",{href:"https://gitter.im/WrenSecurity/Lobby",target:"_blank",rel:"noreferrer"},"Gitter"),t(", star our "),e("a",{href:"https://github.com/WrenSecurity",target:"_blank",rel:"noreferrer"},"GitHub"),t(" and stay tuned.")],-1),_=e("p",null,"Happy New Year!",-1);function y(k,v,W,S,M,D){const r=i("Post");return l(),o("div",null,[a(r,null,{default:s(()=>[u,h,d,p,f,m,g,w,b,_]),_:1})])}const A=n(c,[["render",y]]);export{x as __pageData,A as default}; diff --git a/assets/blog_2023_05_wrends-5-0-0-released.md.leRQH6Y5.js b/assets/blog_2023_05_wrends-5-0-0-released.md.leRQH6Y5.js new file mode 100644 index 0000000..8680f02 --- /dev/null +++ b/assets/blog_2023_05_wrends-5-0-0-released.md.leRQH6Y5.js @@ -0,0 +1 @@ +import{_ as a,c as s,J as r,w as l,G as o,o as i,m as e,a as t}from"./chunks/framework.dxpx44BK.js";const B=JSON.parse('{"title":"Wren:DS 5.0.0 Released","description":"","frontmatter":{"title":"Wren:DS 5.0.0 Released","date":"2023-05-16T00:00:00.000Z","excerpt":"We are excited to announce the release of Wren:DS 5.0.0. This release is the first official\\nWren Security release compatible with JDK 17 and zero dependencies on legacy infrastructure.\\n","sidebar":false},"headers":[],"relativePath":"blog/2023/05/wrends-5-0-0-released.md","filePath":"blog/2023/05/wrends-5-0-0-released.md"}'),d={name:"blog/2023/05/wrends-5-0-0-released.md"},c=e("p",null,[t("We are excited to announce that the brand new release of "),e("a",{href:"https://github.com/WrenSecurity/wrends/releases/5.0.0",target:"_blank",rel:"noreferrer"},"Wren:DS 5.0.0"),t(" is finally out! This is the first release of Wren:DS that is fully independent of the legacy infrastructure. Its technological stack has been updated to be compatible with JDK 17, and all changes have been carefully curated to provide a high level of security while still offering a reliable migration path from legacy OpenDJ installations.")],-1),h=e("p",null,"If you are already running Wren:DS or an unsupported version of OpenDJ, we strongly recommend that you upgrade, as only the new versions will receive the support they deserve.",-1),p=e("p",null,"What's next? Wren:AM. Stay tuned!",-1),u=e("h2",{id:"changes",tabindex:"-1"},[t("Changes "),e("a",{class:"header-anchor",href:"#changes","aria-label":'Permalink to "Changes"'},"​")],-1),g=e("p",null,"List of significant changes:",-1),f=e("ul",null,[e("li",null,"Add Java 17 support and drop Java 8 support"),e("li",null,[t("Change Maven "),e("code",null,"groupId"),t(" to "),e("code",null,"org.wrensecurity.wrends")]),e("li",null,[t("Upgrade to the newest "),e("code",null,"wrensec-parent"),t(" and "),e("code",null,"wrensec-commons")]),e("li",null,"Upgrade Berkley DB JE dependency and remove PDB backend"),e("li",null,"Update visible project title and logo to Wren:DS"),e("li",null,"Switch to GitHub Actions for CI, create new project for system testing"),e("li",null,"Add docker build with amd64 and aarch64 support and Docker Hub publishing pipeline"),e("li",null,"Remove or replace files with non-CDDL license")],-1),k=e("h2",{id:"how-to-get",tabindex:"-1"},[t("How to get "),e("a",{class:"header-anchor",href:"#how-to-get","aria-label":'Permalink to "How to get"'},"​")],-1),_=e("p",null,[t("Refer to the "),e("a",{href:"https://docs.wrensecurity.org/wrends/latest/getting-started.html",target:"_blank",rel:"noreferrer"},"Getting Started"),t(" page to learn how to get and run Wren:DS.")],-1),m=e("p",null,[t("Alternatively you can run the official Docker image from "),e("a",{href:"https://hub.docker.com/r/wrensecurity/wrends",target:"_blank",rel:"noreferrer"},"Docker Hub"),t(":")],-1),w=e("div",{class:"language-bash vp-adaptive-theme"},[e("button",{title:"Copy Code",class:"copy"}),e("span",{class:"lang"},"bash"),e("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[e("code",null,[e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"docker"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," run --rm --name wrends-test -p "),e("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1389"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},":1389 -p "),e("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1636"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},":1636 wrensecurity/wrends:5.0.0")])])])],-1);function y(b,v,D,C,F,S){const n=o("Post");return i(),s("div",null,[r(n,null,{default:l(()=>[c,h,p,u,g,f,k,_,m,w]),_:1})])}const x=a(d,[["render",y]]);export{B as __pageData,x as default}; diff --git a/assets/blog_2023_05_wrends-5-0-0-released.md.leRQH6Y5.lean.js b/assets/blog_2023_05_wrends-5-0-0-released.md.leRQH6Y5.lean.js new file mode 100644 index 0000000..8680f02 --- /dev/null +++ b/assets/blog_2023_05_wrends-5-0-0-released.md.leRQH6Y5.lean.js @@ -0,0 +1 @@ +import{_ as a,c as s,J as r,w as l,G as o,o as i,m as e,a as t}from"./chunks/framework.dxpx44BK.js";const B=JSON.parse('{"title":"Wren:DS 5.0.0 Released","description":"","frontmatter":{"title":"Wren:DS 5.0.0 Released","date":"2023-05-16T00:00:00.000Z","excerpt":"We are excited to announce the release of Wren:DS 5.0.0. This release is the first official\\nWren Security release compatible with JDK 17 and zero dependencies on legacy infrastructure.\\n","sidebar":false},"headers":[],"relativePath":"blog/2023/05/wrends-5-0-0-released.md","filePath":"blog/2023/05/wrends-5-0-0-released.md"}'),d={name:"blog/2023/05/wrends-5-0-0-released.md"},c=e("p",null,[t("We are excited to announce that the brand new release of "),e("a",{href:"https://github.com/WrenSecurity/wrends/releases/5.0.0",target:"_blank",rel:"noreferrer"},"Wren:DS 5.0.0"),t(" is finally out! This is the first release of Wren:DS that is fully independent of the legacy infrastructure. Its technological stack has been updated to be compatible with JDK 17, and all changes have been carefully curated to provide a high level of security while still offering a reliable migration path from legacy OpenDJ installations.")],-1),h=e("p",null,"If you are already running Wren:DS or an unsupported version of OpenDJ, we strongly recommend that you upgrade, as only the new versions will receive the support they deserve.",-1),p=e("p",null,"What's next? Wren:AM. Stay tuned!",-1),u=e("h2",{id:"changes",tabindex:"-1"},[t("Changes "),e("a",{class:"header-anchor",href:"#changes","aria-label":'Permalink to "Changes"'},"​")],-1),g=e("p",null,"List of significant changes:",-1),f=e("ul",null,[e("li",null,"Add Java 17 support and drop Java 8 support"),e("li",null,[t("Change Maven "),e("code",null,"groupId"),t(" to "),e("code",null,"org.wrensecurity.wrends")]),e("li",null,[t("Upgrade to the newest "),e("code",null,"wrensec-parent"),t(" and "),e("code",null,"wrensec-commons")]),e("li",null,"Upgrade Berkley DB JE dependency and remove PDB backend"),e("li",null,"Update visible project title and logo to Wren:DS"),e("li",null,"Switch to GitHub Actions for CI, create new project for system testing"),e("li",null,"Add docker build with amd64 and aarch64 support and Docker Hub publishing pipeline"),e("li",null,"Remove or replace files with non-CDDL license")],-1),k=e("h2",{id:"how-to-get",tabindex:"-1"},[t("How to get "),e("a",{class:"header-anchor",href:"#how-to-get","aria-label":'Permalink to "How to get"'},"​")],-1),_=e("p",null,[t("Refer to the "),e("a",{href:"https://docs.wrensecurity.org/wrends/latest/getting-started.html",target:"_blank",rel:"noreferrer"},"Getting Started"),t(" page to learn how to get and run Wren:DS.")],-1),m=e("p",null,[t("Alternatively you can run the official Docker image from "),e("a",{href:"https://hub.docker.com/r/wrensecurity/wrends",target:"_blank",rel:"noreferrer"},"Docker Hub"),t(":")],-1),w=e("div",{class:"language-bash vp-adaptive-theme"},[e("button",{title:"Copy Code",class:"copy"}),e("span",{class:"lang"},"bash"),e("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[e("code",null,[e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"docker"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," run --rm --name wrends-test -p "),e("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1389"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},":1389 -p "),e("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1636"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},":1636 wrensecurity/wrends:5.0.0")])])])],-1);function y(b,v,D,C,F,S){const n=o("Post");return i(),s("div",null,[r(n,null,{default:l(()=>[c,h,p,u,g,f,k,_,m,w]),_:1})])}const x=a(d,[["render",y]]);export{B as __pageData,x as default}; diff --git a/assets/blog_2023_10_cve-numbering-authority.md.1Rwm8cpS.js b/assets/blog_2023_10_cve-numbering-authority.md.1Rwm8cpS.js new file mode 100644 index 0000000..9563335 --- /dev/null +++ b/assets/blog_2023_10_cve-numbering-authority.md.1Rwm8cpS.js @@ -0,0 +1 @@ +import{_ as i,c as a,J as s,w as o,G as n,o as l,m as e,a as t}from"./chunks/framework.dxpx44BK.js";const P=JSON.parse(`{"title":"We've been authorized as CVE Numbering Authority","description":"","frontmatter":{"title":"We've been authorized as CVE Numbering Authority","date":"2023-10-17T00:00:00.000Z","excerpt":"It's our pleasure to announce, that Wren Security has been authorized by the Common Vulnerabilities and Exposures (CVE) Program as a CVE Numbering Authority (CNA).\\n","sidebar":false},"headers":[],"relativePath":"blog/2023/10/cve-numbering-authority.md","filePath":"blog/2023/10/cve-numbering-authority.md"}`),c={name:"blog/2023/10/cve-numbering-authority.md"},u=e("p",null,[t("It's our pleasure to announce, that Wren Security has been authorized by the Common Vulnerabilities and Exposures "),e("a",{href:"https://www.cve.org",target:"_blank",rel:"noreferrer"},"CVE"),t(" Program as a CVE Numbering Authority "),e("a",{href:"https://www.cve.org/ResourcesSupport/Glossary?activeTerm=glossaryCNA#",target:"_blank",rel:"noreferrer"},"CNA"),t(". As a CNA, we have the ability to directly assign CVE IDs and publish CVE records for vulnerabilities discovered in our projects.")],-1),h=e("p",null,"Security is a fundamental aspect of our efforts, which is even reflected in our name. Therefore, we have recently made several releases that include significant security improvements and have clarified our disclosure processes. And since the principles of open source dictate that we respect transparency, it was a natural step to contribute to the global initiative of identifying, defining, and cataloging publicly-disclosed cybersecurity vulnerabilities.",-1),d=e("p",null,"It's a commitment, but we believe that it will help to build trust with our users.",-1),b=e("h2",{id:"what-is-cve-program",tabindex:"-1"},[t("What is CVE Program? "),e("a",{class:"header-anchor",href:"#what-is-cve-program","aria-label":'Permalink to "What is CVE Program?"'},"​")],-1),p=e("p",null,"The mission of the Common Vulnerabilities and Exposures (CVE®) program is to identify, define, and catalog publicly disclosed cybersecurity vulnerabilities. There is one CVE Record for each vulnerability in the catalog. The vulnerabilities are discovered then assigned and published by organizations from around the world that have partnered with the CVE Program. Partners publish CVE Records to communicate consistent descriptions of vulnerabilities. Information technology and cybersecurity professionals use CVE Records to ensure they are discussing the same issue, and to coordinate their efforts to prioritize and address the vulnerabilities.",-1),m=e("h2",{id:"what-are-cnas",tabindex:"-1"},[t("What are CNAs? "),e("a",{class:"header-anchor",href:"#what-are-cnas","aria-label":'Permalink to "What are CNAs?"'},"​")],-1),f=e("p",null,"CNAs are organizations responsible for the regular assignment of CVE IDs to vulnerabilities, and for creating and publishing information about the Vulnerability in the associated CVE Record. Each CNA has a specific Scope of responsibility for vulnerability identification and publishing.",-1),g=e("h2",{id:"disclosure",tabindex:"-1"},[t("Disclosure "),e("a",{class:"header-anchor",href:"#disclosure","aria-label":'Permalink to "Disclosure"'},"​")],-1),y=e("p",null,[t("If you think you've found a vulnerability, please don't disclose it publicly until you've checked with us. Please, refer to the "),e("a",{href:"https://wrensecurity.org/community/disclosure.html",target:"_blank",rel:"noreferrer"},"disclosure policy"),t(".")],-1);function v(_,C,w,V,E,N){const r=n("Post");return l(),a("div",null,[s(r,null,{default:o(()=>[u,h,d,b,p,m,f,g,y]),_:1})])}const x=i(c,[["render",v]]);export{P as __pageData,x as default}; diff --git a/assets/blog_2023_10_cve-numbering-authority.md.1Rwm8cpS.lean.js b/assets/blog_2023_10_cve-numbering-authority.md.1Rwm8cpS.lean.js new file mode 100644 index 0000000..9563335 --- /dev/null +++ b/assets/blog_2023_10_cve-numbering-authority.md.1Rwm8cpS.lean.js @@ -0,0 +1 @@ +import{_ as i,c as a,J as s,w as o,G as n,o as l,m as e,a as t}from"./chunks/framework.dxpx44BK.js";const P=JSON.parse(`{"title":"We've been authorized as CVE Numbering Authority","description":"","frontmatter":{"title":"We've been authorized as CVE Numbering Authority","date":"2023-10-17T00:00:00.000Z","excerpt":"It's our pleasure to announce, that Wren Security has been authorized by the Common Vulnerabilities and Exposures (CVE) Program as a CVE Numbering Authority (CNA).\\n","sidebar":false},"headers":[],"relativePath":"blog/2023/10/cve-numbering-authority.md","filePath":"blog/2023/10/cve-numbering-authority.md"}`),c={name:"blog/2023/10/cve-numbering-authority.md"},u=e("p",null,[t("It's our pleasure to announce, that Wren Security has been authorized by the Common Vulnerabilities and Exposures "),e("a",{href:"https://www.cve.org",target:"_blank",rel:"noreferrer"},"CVE"),t(" Program as a CVE Numbering Authority "),e("a",{href:"https://www.cve.org/ResourcesSupport/Glossary?activeTerm=glossaryCNA#",target:"_blank",rel:"noreferrer"},"CNA"),t(". As a CNA, we have the ability to directly assign CVE IDs and publish CVE records for vulnerabilities discovered in our projects.")],-1),h=e("p",null,"Security is a fundamental aspect of our efforts, which is even reflected in our name. Therefore, we have recently made several releases that include significant security improvements and have clarified our disclosure processes. And since the principles of open source dictate that we respect transparency, it was a natural step to contribute to the global initiative of identifying, defining, and cataloging publicly-disclosed cybersecurity vulnerabilities.",-1),d=e("p",null,"It's a commitment, but we believe that it will help to build trust with our users.",-1),b=e("h2",{id:"what-is-cve-program",tabindex:"-1"},[t("What is CVE Program? "),e("a",{class:"header-anchor",href:"#what-is-cve-program","aria-label":'Permalink to "What is CVE Program?"'},"​")],-1),p=e("p",null,"The mission of the Common Vulnerabilities and Exposures (CVE®) program is to identify, define, and catalog publicly disclosed cybersecurity vulnerabilities. There is one CVE Record for each vulnerability in the catalog. The vulnerabilities are discovered then assigned and published by organizations from around the world that have partnered with the CVE Program. Partners publish CVE Records to communicate consistent descriptions of vulnerabilities. Information technology and cybersecurity professionals use CVE Records to ensure they are discussing the same issue, and to coordinate their efforts to prioritize and address the vulnerabilities.",-1),m=e("h2",{id:"what-are-cnas",tabindex:"-1"},[t("What are CNAs? "),e("a",{class:"header-anchor",href:"#what-are-cnas","aria-label":'Permalink to "What are CNAs?"'},"​")],-1),f=e("p",null,"CNAs are organizations responsible for the regular assignment of CVE IDs to vulnerabilities, and for creating and publishing information about the Vulnerability in the associated CVE Record. Each CNA has a specific Scope of responsibility for vulnerability identification and publishing.",-1),g=e("h2",{id:"disclosure",tabindex:"-1"},[t("Disclosure "),e("a",{class:"header-anchor",href:"#disclosure","aria-label":'Permalink to "Disclosure"'},"​")],-1),y=e("p",null,[t("If you think you've found a vulnerability, please don't disclose it publicly until you've checked with us. Please, refer to the "),e("a",{href:"https://wrensecurity.org/community/disclosure.html",target:"_blank",rel:"noreferrer"},"disclosure policy"),t(".")],-1);function v(_,C,w,V,E,N){const r=n("Post");return l(),a("div",null,[s(r,null,{default:o(()=>[u,h,d,b,p,m,f,g,y]),_:1})])}const x=i(c,[["render",v]]);export{P as __pageData,x as default}; diff --git a/assets/blog_2023_10_wrenam-15-0-0-released.md.PUmKPr5B.js b/assets/blog_2023_10_wrenam-15-0-0-released.md.PUmKPr5B.js new file mode 100644 index 0000000..62ca92d --- /dev/null +++ b/assets/blog_2023_10_wrenam-15-0-0-released.md.PUmKPr5B.js @@ -0,0 +1 @@ +import{_ as a,c as r,J as s,w as o,G as i,o as l,a as t,m as e}from"./chunks/framework.dxpx44BK.js";const M=JSON.parse(`{"title":"Wren:AM 15.0.0 Released","description":"","frontmatter":{"title":"Wren:AM 15.0.0 Released","date":"2023-10-10T00:00:00.000Z","excerpt":"We're thrilled to announce the release of the anticipated new version of Wren:AM.\\nTake a closer look at the carefully curated changes that we have worked on.\\n","sidebar":false},"headers":[],"relativePath":"blog/2023/10/wrenam-15-0-0-released.md","filePath":"blog/2023/10/wrenam-15-0-0-released.md"}`),d={name:"blog/2023/10/wrenam-15-0-0-released.md"},c=e("p",null,"Numbers worth mentioning include:",-1),h=e("ul",null,[e("li",null,"89 pull requests merged;"),e("li",null,"136 new commits;"),e("li",null,"22 issues closed;"),e("li",null,"27 known AM security vulnerabilities fixed;"),e("li",null,"35 Dependabot alerts fixed;"),e("li",null,"93 security issues (reported by Trivy) fixed.")],-1),u=e("p",null,"If you're already running Wren:AM or an unsupported version of OpenAM, we strongly recommend upgrading to get the best out of your access management solution.",-1),p=e("h2",{id:"changes",tabindex:"-1"},[t("Changes "),e("a",{class:"header-anchor",href:"#changes","aria-label":'Permalink to "Changes"'},"​")],-1),g=e("p",null,"List of significant changes:",-1),m=e("ul",null,[e("li",null,"Upgraded build pipeline (wrensec-parent, JFrog repository, GitHub Actions)"),e("li",null,"Upgraded dependencies (including switch to Jakarta compatible coordinates)"),e("li",null,"Added support for Java 17 as the default build and runtime environment"),e("li",null,"Added Dockerfile and official images published to Docker Hub"),e("li",null,"Fixed ton of security, build and runtime issues")],-1),f=e("p",null,[t("Review all the changes on "),e("a",{href:"https://github.com/WrenSecurity/wrenam/releases/15.0.0",target:"_blank",rel:"noreferrer"},"GitHub"),t(".")],-1),_=e("h2",{id:"how-to-get",tabindex:"-1"},[t("How to get "),e("a",{class:"header-anchor",href:"#how-to-get","aria-label":'Permalink to "How to get"'},"​")],-1),w=e("p",null,[t("Refer to the "),e("a",{href:"https://docs.wrensecurity.org/wrenam/latest/getting-started.html",target:"_blank",rel:"noreferrer"},"Getting Started"),t(" page to learn how to get and run Wren:AM.")],-1),b=e("p",null,[t("Alternatively you can run the official Docker image from "),e("a",{href:"https://hub.docker.com/r/wrensecurity/wrenam",target:"_blank",rel:"noreferrer"},"Docker Hub"),t(":")],-1),k=e("div",{class:"language-bash vp-adaptive-theme"},[e("button",{title:"Copy Code",class:"copy"}),e("span",{class:"lang"},"bash"),e("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[e("code",null,[e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"docker"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," run --rm --name wrenam-test -p "),e("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"8080"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},":8080 wrensecurity/wrenam:15.0.0")])])])],-1);function y(v,A,F,x,C,W){const n=i("Post");return l(),r("div",null,[s(n,null,{default:o(()=>[t(" We're thrilled to announce the release of the anticipated new version of Wren:AM. Following Wren:IDM and Wren:DS, it's now completely independent of the legacy infrastructure, features an upgraded technology stack, and is compatible with JDK 17 (with preparations for Jakarta EE). Additionally, we've addressed a significant number of issues from previous versions, predominantly the security ones. The project remains highly compatible with abandoned community versions of OpenAM, allowing for a seamless migration process, with the added option to leverage Docker images for added convenience. "),c,h,u,p,g,m,f,_,w,b,k]),_:1})])}const B=a(d,[["render",y]]);export{M as __pageData,B as default}; diff --git a/assets/blog_2023_10_wrenam-15-0-0-released.md.PUmKPr5B.lean.js b/assets/blog_2023_10_wrenam-15-0-0-released.md.PUmKPr5B.lean.js new file mode 100644 index 0000000..62ca92d --- /dev/null +++ b/assets/blog_2023_10_wrenam-15-0-0-released.md.PUmKPr5B.lean.js @@ -0,0 +1 @@ +import{_ as a,c as r,J as s,w as o,G as i,o as l,a as t,m as e}from"./chunks/framework.dxpx44BK.js";const M=JSON.parse(`{"title":"Wren:AM 15.0.0 Released","description":"","frontmatter":{"title":"Wren:AM 15.0.0 Released","date":"2023-10-10T00:00:00.000Z","excerpt":"We're thrilled to announce the release of the anticipated new version of Wren:AM.\\nTake a closer look at the carefully curated changes that we have worked on.\\n","sidebar":false},"headers":[],"relativePath":"blog/2023/10/wrenam-15-0-0-released.md","filePath":"blog/2023/10/wrenam-15-0-0-released.md"}`),d={name:"blog/2023/10/wrenam-15-0-0-released.md"},c=e("p",null,"Numbers worth mentioning include:",-1),h=e("ul",null,[e("li",null,"89 pull requests merged;"),e("li",null,"136 new commits;"),e("li",null,"22 issues closed;"),e("li",null,"27 known AM security vulnerabilities fixed;"),e("li",null,"35 Dependabot alerts fixed;"),e("li",null,"93 security issues (reported by Trivy) fixed.")],-1),u=e("p",null,"If you're already running Wren:AM or an unsupported version of OpenAM, we strongly recommend upgrading to get the best out of your access management solution.",-1),p=e("h2",{id:"changes",tabindex:"-1"},[t("Changes "),e("a",{class:"header-anchor",href:"#changes","aria-label":'Permalink to "Changes"'},"​")],-1),g=e("p",null,"List of significant changes:",-1),m=e("ul",null,[e("li",null,"Upgraded build pipeline (wrensec-parent, JFrog repository, GitHub Actions)"),e("li",null,"Upgraded dependencies (including switch to Jakarta compatible coordinates)"),e("li",null,"Added support for Java 17 as the default build and runtime environment"),e("li",null,"Added Dockerfile and official images published to Docker Hub"),e("li",null,"Fixed ton of security, build and runtime issues")],-1),f=e("p",null,[t("Review all the changes on "),e("a",{href:"https://github.com/WrenSecurity/wrenam/releases/15.0.0",target:"_blank",rel:"noreferrer"},"GitHub"),t(".")],-1),_=e("h2",{id:"how-to-get",tabindex:"-1"},[t("How to get "),e("a",{class:"header-anchor",href:"#how-to-get","aria-label":'Permalink to "How to get"'},"​")],-1),w=e("p",null,[t("Refer to the "),e("a",{href:"https://docs.wrensecurity.org/wrenam/latest/getting-started.html",target:"_blank",rel:"noreferrer"},"Getting Started"),t(" page to learn how to get and run Wren:AM.")],-1),b=e("p",null,[t("Alternatively you can run the official Docker image from "),e("a",{href:"https://hub.docker.com/r/wrensecurity/wrenam",target:"_blank",rel:"noreferrer"},"Docker Hub"),t(":")],-1),k=e("div",{class:"language-bash vp-adaptive-theme"},[e("button",{title:"Copy Code",class:"copy"}),e("span",{class:"lang"},"bash"),e("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[e("code",null,[e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"docker"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," run --rm --name wrenam-test -p "),e("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"8080"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},":8080 wrensecurity/wrenam:15.0.0")])])])],-1);function y(v,A,F,x,C,W){const n=i("Post");return l(),r("div",null,[s(n,null,{default:o(()=>[t(" We're thrilled to announce the release of the anticipated new version of Wren:AM. Following Wren:IDM and Wren:DS, it's now completely independent of the legacy infrastructure, features an upgraded technology stack, and is compatible with JDK 17 (with preparations for Jakarta EE). Additionally, we've addressed a significant number of issues from previous versions, predominantly the security ones. The project remains highly compatible with abandoned community versions of OpenAM, allowing for a seamless migration process, with the added option to leverage Docker images for added convenience. "),c,h,u,p,g,m,f,_,w,b,k]),_:1})])}const B=a(d,[["render",y]]);export{M as __pageData,B as default}; diff --git a/assets/blog_2024_01_happy-2024.md.-W4-UKjE.js b/assets/blog_2024_01_happy-2024.md.-W4-UKjE.js new file mode 100644 index 0000000..9f85a87 --- /dev/null +++ b/assets/blog_2024_01_happy-2024.md.-W4-UKjE.js @@ -0,0 +1 @@ +import{_ as r,c as a,J as o,w as s,G as i,o as l,m as e,a as t}from"./chunks/framework.dxpx44BK.js";const V=JSON.parse(`{"title":"2023 in Review and 2024 Plans and Wishes","description":"","frontmatter":{"title":"2023 in Review and 2024 Plans and Wishes","date":"2024-01-17T00:00:00.000Z","excerpt":"Last year passed by quickly, and now it's time to reflect on the highlights of 2023 and outline plans for 2024.\\n","sidebar":false},"headers":[],"relativePath":"blog/2024/01/happy-2024.md","filePath":"blog/2024/01/happy-2024.md"}`),h={name:"blog/2024/01/happy-2024.md"},d=e("p",null,[t("The past year's efforts were mainly focused on the Access Management tools. Both "),e("a",{href:"https://wrensecurity.org/projects/wrends/",target:"_blank",rel:"noreferrer"},"Wren:DS"),t(" and "),e("a",{href:"https://wrensecurity.org/projects/wrenam/",target:"_blank",rel:"noreferrer"},"Wren:AM"),t(" have undergone significant upgrades and security hardening to meet the standards earlier set by "),e("a",{href:"https://wrensecurity.org/projects/wrenidm/",target:"_blank",rel:"noreferrer"},"Wren:IDM"),t(". This means that the key components are now independent of the legacy infrastructure and have also been polished to ensure the high level of security and robustness. This progress paved the way for the introduction of new features, such as Cisco Duo authentication module.")],-1),c=e("p",null,[t("On top of that there was regular maintenance and improvements in the development infrastructure, e.g. cleanup of the UI libraries. To highlight our dedication to delivering dependable software, we have become a CVE numbering authority in the "),e("a",{href:"http://cve.org/",target:"_blank",rel:"noreferrer"},"CVE.org"),t(" Program, allowing us to transparently manage and share potential security vulnerabilities (see "),e("a",{href:"https://wrensecurity.org/community/disclosure.html",target:"_blank",rel:"noreferrer"},"Disclosure Policy"),t("). The importance of maintaining an active online presence led us to create an X (Twitter) account providing a more convenient way to share updates. "),e("a",{href:"https://twitter.com/WrenSecurity",target:"_blank",rel:"noreferrer"},"Follow us"),t(" to keep up with the latest news.")],-1),p=e("h2",{id:"plans-and-wishes-for-2024",tabindex:"-1"},[t("Plans and Wishes for 2024 "),e("a",{class:"header-anchor",href:"#plans-and-wishes-for-2024","aria-label":'Permalink to "Plans and Wishes for 2024"'},"​")],-1),u=e("p",null,[t("Looking ahead to 2024, our goal remains to get rid of the legacy heritage. We will soon release an upgraded and independent version of Wren:IG. After that, we will continue with the "),e("a",{href:"https://wrensecurity.org/projects/wrenicf/",target:"_blank",rel:"noreferrer"},"Wren:ICF"),t(" framework components to ensure a seamless interplay with the rest of the platform.")],-1),f=e("p",null,"Addressing the unfinished redesign of the Wren:AM administration interface is a priority, as it contributes significantly to our credibility. We'll focus on rewriting the remaining pages to enhance user experience.",-1),g=e("p",null,"For the same reasons, we will continue to fill the gaps in the documentation and create basic guides to help users get started.",-1),m=e("p",null,[t("What else? We'd like to keep up with the trends and go passwordless. So, we will start digging into the integration of "),e("a",{href:"https://fidoalliance.org/what-is-fido/",target:"_blank",rel:"noreferrer"},"FIDO standards"),t(".")],-1),w=e("p",null,"We aspire to improve the clarity of our development roadmap. This involves open planning of releases on GitHub allowing our community to easily track progress through our backlog.",-1),_=e("h2",{id:"conclusion",tabindex:"-1"},[t("Conclusion "),e("a",{class:"header-anchor",href:"#conclusion","aria-label":'Permalink to "Conclusion"'},"​")],-1),y=e("p",null,"As we wrap up 2023, let's look at the year in numbers:",-1),b=e("ul",null,[e("li",null,"267 commits;"),e("li",null,"130 000+ insertions and 120 000+ deletions in 4200+ files;"),e("li",null,"112 merged pull requests;"),e("li",null,"36 closed issues;"),e("li",null,"28 new releases and 35 tags;"),e("li",null,"285 dependabot issues fixed.")],-1),v=e("p",null,"We are determined to maintain the same pace in 2024 and deepen our footprint in the open-source identity and access management field.",-1),k=e("p",null,"Happy new year!",-1);function W(P,x,T,C,A,D){const n=i("Post");return l(),a("div",null,[o(n,null,{default:s(()=>[d,c,p,u,f,g,m,w,_,y,b,v,k]),_:1})])}const j=r(h,[["render",W]]);export{V as __pageData,j as default}; diff --git a/assets/blog_2024_01_happy-2024.md.-W4-UKjE.lean.js b/assets/blog_2024_01_happy-2024.md.-W4-UKjE.lean.js new file mode 100644 index 0000000..9f85a87 --- /dev/null +++ b/assets/blog_2024_01_happy-2024.md.-W4-UKjE.lean.js @@ -0,0 +1 @@ +import{_ as r,c as a,J as o,w as s,G as i,o as l,m as e,a as t}from"./chunks/framework.dxpx44BK.js";const V=JSON.parse(`{"title":"2023 in Review and 2024 Plans and Wishes","description":"","frontmatter":{"title":"2023 in Review and 2024 Plans and Wishes","date":"2024-01-17T00:00:00.000Z","excerpt":"Last year passed by quickly, and now it's time to reflect on the highlights of 2023 and outline plans for 2024.\\n","sidebar":false},"headers":[],"relativePath":"blog/2024/01/happy-2024.md","filePath":"blog/2024/01/happy-2024.md"}`),h={name:"blog/2024/01/happy-2024.md"},d=e("p",null,[t("The past year's efforts were mainly focused on the Access Management tools. Both "),e("a",{href:"https://wrensecurity.org/projects/wrends/",target:"_blank",rel:"noreferrer"},"Wren:DS"),t(" and "),e("a",{href:"https://wrensecurity.org/projects/wrenam/",target:"_blank",rel:"noreferrer"},"Wren:AM"),t(" have undergone significant upgrades and security hardening to meet the standards earlier set by "),e("a",{href:"https://wrensecurity.org/projects/wrenidm/",target:"_blank",rel:"noreferrer"},"Wren:IDM"),t(". This means that the key components are now independent of the legacy infrastructure and have also been polished to ensure the high level of security and robustness. This progress paved the way for the introduction of new features, such as Cisco Duo authentication module.")],-1),c=e("p",null,[t("On top of that there was regular maintenance and improvements in the development infrastructure, e.g. cleanup of the UI libraries. To highlight our dedication to delivering dependable software, we have become a CVE numbering authority in the "),e("a",{href:"http://cve.org/",target:"_blank",rel:"noreferrer"},"CVE.org"),t(" Program, allowing us to transparently manage and share potential security vulnerabilities (see "),e("a",{href:"https://wrensecurity.org/community/disclosure.html",target:"_blank",rel:"noreferrer"},"Disclosure Policy"),t("). The importance of maintaining an active online presence led us to create an X (Twitter) account providing a more convenient way to share updates. "),e("a",{href:"https://twitter.com/WrenSecurity",target:"_blank",rel:"noreferrer"},"Follow us"),t(" to keep up with the latest news.")],-1),p=e("h2",{id:"plans-and-wishes-for-2024",tabindex:"-1"},[t("Plans and Wishes for 2024 "),e("a",{class:"header-anchor",href:"#plans-and-wishes-for-2024","aria-label":'Permalink to "Plans and Wishes for 2024"'},"​")],-1),u=e("p",null,[t("Looking ahead to 2024, our goal remains to get rid of the legacy heritage. We will soon release an upgraded and independent version of Wren:IG. After that, we will continue with the "),e("a",{href:"https://wrensecurity.org/projects/wrenicf/",target:"_blank",rel:"noreferrer"},"Wren:ICF"),t(" framework components to ensure a seamless interplay with the rest of the platform.")],-1),f=e("p",null,"Addressing the unfinished redesign of the Wren:AM administration interface is a priority, as it contributes significantly to our credibility. We'll focus on rewriting the remaining pages to enhance user experience.",-1),g=e("p",null,"For the same reasons, we will continue to fill the gaps in the documentation and create basic guides to help users get started.",-1),m=e("p",null,[t("What else? We'd like to keep up with the trends and go passwordless. So, we will start digging into the integration of "),e("a",{href:"https://fidoalliance.org/what-is-fido/",target:"_blank",rel:"noreferrer"},"FIDO standards"),t(".")],-1),w=e("p",null,"We aspire to improve the clarity of our development roadmap. This involves open planning of releases on GitHub allowing our community to easily track progress through our backlog.",-1),_=e("h2",{id:"conclusion",tabindex:"-1"},[t("Conclusion "),e("a",{class:"header-anchor",href:"#conclusion","aria-label":'Permalink to "Conclusion"'},"​")],-1),y=e("p",null,"As we wrap up 2023, let's look at the year in numbers:",-1),b=e("ul",null,[e("li",null,"267 commits;"),e("li",null,"130 000+ insertions and 120 000+ deletions in 4200+ files;"),e("li",null,"112 merged pull requests;"),e("li",null,"36 closed issues;"),e("li",null,"28 new releases and 35 tags;"),e("li",null,"285 dependabot issues fixed.")],-1),v=e("p",null,"We are determined to maintain the same pace in 2024 and deepen our footprint in the open-source identity and access management field.",-1),k=e("p",null,"Happy new year!",-1);function W(P,x,T,C,A,D){const n=i("Post");return l(),a("div",null,[o(n,null,{default:s(()=>[d,c,p,u,f,g,m,w,_,y,b,v,k]),_:1})])}const j=r(h,[["render",W]]);export{V as __pageData,j as default}; diff --git a/assets/blog_index.md.UwO10QQo.js b/assets/blog_index.md.UwO10QQo.js new file mode 100644 index 0000000..a76dcda --- /dev/null +++ b/assets/blog_index.md.UwO10QQo.js @@ -0,0 +1 @@ +import{_ as o,c as t,J as a,o as n,G as s}from"./chunks/framework.dxpx44BK.js";const g=JSON.parse('{"title":"Blog","description":"","frontmatter":{"title":"Blog","sidebar":false},"headers":[],"relativePath":"blog/index.md","filePath":"blog/index.md"}'),r={name:"blog/index.md"};function l(c,d,i,p,_,m){const e=s("Blog");return n(),t("div",null,[a(e)])}const x=o(r,[["render",l]]);export{g as __pageData,x as default}; diff --git a/assets/blog_index.md.UwO10QQo.lean.js b/assets/blog_index.md.UwO10QQo.lean.js new file mode 100644 index 0000000..a76dcda --- /dev/null +++ b/assets/blog_index.md.UwO10QQo.lean.js @@ -0,0 +1 @@ +import{_ as o,c as t,J as a,o as n,G as s}from"./chunks/framework.dxpx44BK.js";const g=JSON.parse('{"title":"Blog","description":"","frontmatter":{"title":"Blog","sidebar":false},"headers":[],"relativePath":"blog/index.md","filePath":"blog/index.md"}'),r={name:"blog/index.md"};function l(c,d,i,p,_,m){const e=s("Blog");return n(),t("div",null,[a(e)])}const x=o(r,[["render",l]]);export{g as __pageData,x as default}; diff --git a/assets/chunks/framework.dxpx44BK.js b/assets/chunks/framework.dxpx44BK.js new file mode 100644 index 0000000..f5d932e --- /dev/null +++ b/assets/chunks/framework.dxpx44BK.js @@ -0,0 +1,17 @@ +/** +* @vue/shared v3.4.15 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function gs(e,t){const n=new Set(e.split(","));return t?s=>n.has(s.toLowerCase()):s=>n.has(s)}const te={},mt=[],xe=()=>{},li=()=>!1,Bt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ms=e=>e.startsWith("onUpdate:"),oe=Object.assign,ys=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},ci=Object.prototype.hasOwnProperty,X=(e,t)=>ci.call(e,t),B=Array.isArray,yt=e=>bn(e)==="[object Map]",Nr=e=>bn(e)==="[object Set]",U=e=>typeof e=="function",ne=e=>typeof e=="string",xt=e=>typeof e=="symbol",Z=e=>e!==null&&typeof e=="object",Fr=e=>(Z(e)||U(e))&&U(e.then)&&U(e.catch),$r=Object.prototype.toString,bn=e=>$r.call(e),ai=e=>bn(e).slice(8,-1),Hr=e=>bn(e)==="[object Object]",_s=e=>ne(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ot=gs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),vn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},ui=/-(\w)/g,Me=vn(e=>e.replace(ui,(t,n)=>n?n.toUpperCase():"")),fi=/\B([A-Z])/g,at=vn(e=>e.replace(fi,"-$1").toLowerCase()),wn=vn(e=>e.charAt(0).toUpperCase()+e.slice(1)),rn=vn(e=>e?`on${wn(e)}`:""),Qe=(e,t)=>!Object.is(e,t),Vn=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},di=e=>{const t=parseFloat(e);return isNaN(t)?e:t},hi=e=>{const t=ne(e)?Number(e):NaN;return isNaN(t)?e:t};let ks;const jr=()=>ks||(ks=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function bs(e){if(B(e)){const t={};for(let n=0;n{if(n){const s=n.split(gi);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function vs(e){let t="";if(ne(e))t=e;else if(B(e))for(let n=0;nne(e)?e:e==null?"":B(e)||Z(e)&&(e.toString===$r||!U(e.toString))?JSON.stringify(e,Dr,2):String(e),Dr=(e,t)=>t&&t.__v_isRef?Dr(e,t.value):yt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],o)=>(n[Dn(s,o)+" =>"]=r,n),{})}:Nr(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Dn(n))}:xt(t)?Dn(t):Z(t)&&!B(t)&&!Hr(t)?String(t):t,Dn=(e,t="")=>{var n;return xt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.4.15 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let be;class vi{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=be,!t&&be&&(this.index=(be.scopes||(be.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=be;try{return be=this,t()}finally{be=n}}}on(){be=this}off(){be=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n=2))break}this._dirtyLevel<2&&(this._dirtyLevel=0),ft()}return this._dirtyLevel>=2}set dirty(t){this._dirtyLevel=t?2:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Ge,n=it;try{return Ge=!0,it=this,this._runnings++,Us(this),this.fn()}finally{Ks(this),this._runnings--,it=n,Ge=t}}stop(){var t;this.active&&(Us(this),Ks(this),(t=this.onStop)==null||t.call(this),this.active=!1)}}function Ci(e){return e.value}function Us(e){e._trackId++,e._depsLength=0}function Ks(e){if(e.deps&&e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},an=new WeakMap,lt=Symbol(""),ss=Symbol("");function ye(e,t,n){if(Ge&&it){let s=an.get(e);s||an.set(e,s=new Map);let r=s.get(n);r||s.set(n,r=Gr(()=>s.delete(n))),Kr(it,r)}}function $e(e,t,n,s,r,o){const i=an.get(e);if(!i)return;let l=[];if(t==="clear")l=[...i.values()];else if(n==="length"&&B(e)){const c=Number(s);i.forEach((u,d)=>{(d==="length"||!xt(d)&&d>=c)&&l.push(u)})}else switch(n!==void 0&&l.push(i.get(n)),t){case"add":B(e)?_s(n)&&l.push(i.get("length")):(l.push(i.get(lt)),yt(e)&&l.push(i.get(ss)));break;case"delete":B(e)||(l.push(i.get(lt)),yt(e)&&l.push(i.get(ss)));break;case"set":yt(e)&&l.push(i.get(lt));break}Es();for(const c of l)c&&Wr(c,2);Cs()}function xi(e,t){var n;return(n=an.get(e))==null?void 0:n.get(t)}const Si=gs("__proto__,__v_isRef,__isVue"),zr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(xt)),Ws=Ti();function Ti(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=Y(this);for(let o=0,i=this.length;o{e[t]=function(...n){ut(),Es();const s=Y(this)[t].apply(this,n);return Cs(),ft(),s}}),e}function Ai(e){const t=Y(this);return ye(t,"has",e),t.hasOwnProperty(e)}class Xr{constructor(t=!1,n=!1){this._isReadonly=t,this._shallow=n}get(t,n,s){const r=this._isReadonly,o=this._shallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return o;if(n==="__v_raw")return s===(r?o?Di:Zr:o?Qr:Jr).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const i=B(t);if(!r){if(i&&X(Ws,n))return Reflect.get(Ws,n,s);if(n==="hasOwnProperty")return Ai}const l=Reflect.get(t,n,s);return(xt(n)?zr.has(n):Si(n))||(r||ye(t,"get",n),o)?l:de(l)?i&&_s(n)?l:l.value:Z(l)?r?xn(l):Cn(l):l}}class Yr extends Xr{constructor(t=!1){super(!1,t)}set(t,n,s,r){let o=t[n];if(!this._shallow){const c=Et(o);if(!un(s)&&!Et(s)&&(o=Y(o),s=Y(s)),!B(t)&&de(o)&&!de(s))return c?!1:(o.value=s,!0)}const i=B(t)&&_s(n)?Number(n)e,En=e=>Reflect.getPrototypeOf(e);function Wt(e,t,n=!1,s=!1){e=e.__v_raw;const r=Y(e),o=Y(t);n||(Qe(t,o)&&ye(r,"get",t),ye(r,"get",o));const{has:i}=En(r),l=s?xs:n?As:$t;if(i.call(r,t))return l(e.get(t));if(i.call(r,o))return l(e.get(o));e!==r&&e.get(t)}function qt(e,t=!1){const n=this.__v_raw,s=Y(n),r=Y(e);return t||(Qe(e,r)&&ye(s,"has",e),ye(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function Gt(e,t=!1){return e=e.__v_raw,!t&&ye(Y(e),"iterate",lt),Reflect.get(e,"size",e)}function qs(e){e=Y(e);const t=Y(this);return En(t).has.call(t,e)||(t.add(e),$e(t,"add",e,e)),this}function Gs(e,t){t=Y(t);const n=Y(this),{has:s,get:r}=En(n);let o=s.call(n,e);o||(e=Y(e),o=s.call(n,e));const i=r.call(n,e);return n.set(e,t),o?Qe(t,i)&&$e(n,"set",e,t):$e(n,"add",e,t),this}function zs(e){const t=Y(this),{has:n,get:s}=En(t);let r=n.call(t,e);r||(e=Y(e),r=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return r&&$e(t,"delete",e,void 0),o}function Xs(){const e=Y(this),t=e.size!==0,n=e.clear();return t&&$e(e,"clear",void 0,void 0),n}function zt(e,t){return function(s,r){const o=this,i=o.__v_raw,l=Y(i),c=t?xs:e?As:$t;return!e&&ye(l,"iterate",lt),i.forEach((u,d)=>s.call(r,c(u),c(d),o))}}function Xt(e,t,n){return function(...s){const r=this.__v_raw,o=Y(r),i=yt(o),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,u=r[e](...s),d=n?xs:t?As:$t;return!t&&ye(o,"iterate",c?ss:lt),{next(){const{value:h,done:m}=u.next();return m?{value:h,done:m}:{value:l?[d(h[0]),d(h[1])]:d(h),done:m}},[Symbol.iterator](){return this}}}}function Ve(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Pi(){const e={get(o){return Wt(this,o)},get size(){return Gt(this)},has:qt,add:qs,set:Gs,delete:zs,clear:Xs,forEach:zt(!1,!1)},t={get(o){return Wt(this,o,!1,!0)},get size(){return Gt(this)},has:qt,add:qs,set:Gs,delete:zs,clear:Xs,forEach:zt(!1,!0)},n={get(o){return Wt(this,o,!0)},get size(){return Gt(this,!0)},has(o){return qt.call(this,o,!0)},add:Ve("add"),set:Ve("set"),delete:Ve("delete"),clear:Ve("clear"),forEach:zt(!0,!1)},s={get(o){return Wt(this,o,!0,!0)},get size(){return Gt(this,!0)},has(o){return qt.call(this,o,!0)},add:Ve("add"),set:Ve("set"),delete:Ve("delete"),clear:Ve("clear"),forEach:zt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=Xt(o,!1,!1),n[o]=Xt(o,!0,!1),t[o]=Xt(o,!1,!0),s[o]=Xt(o,!0,!0)}),[e,n,t,s]}const[Mi,Ni,Fi,$i]=Pi();function Ss(e,t){const n=t?e?$i:Fi:e?Ni:Mi;return(s,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(X(n,r)&&r in s?n:s,r,o)}const Hi={get:Ss(!1,!1)},ji={get:Ss(!1,!0)},Vi={get:Ss(!0,!1)},Jr=new WeakMap,Qr=new WeakMap,Zr=new WeakMap,Di=new WeakMap;function Bi(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ki(e){return e.__v_skip||!Object.isExtensible(e)?0:Bi(ai(e))}function Cn(e){return Et(e)?e:Ts(e,!1,Oi,Hi,Jr)}function Ui(e){return Ts(e,!1,Ii,ji,Qr)}function xn(e){return Ts(e,!0,Li,Vi,Zr)}function Ts(e,t,n,s,r){if(!Z(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=r.get(e);if(o)return o;const i=ki(e);if(i===0)return e;const l=new Proxy(e,i===2?s:n);return r.set(e,l),l}function _t(e){return Et(e)?_t(e.__v_raw):!!(e&&e.__v_isReactive)}function Et(e){return!!(e&&e.__v_isReadonly)}function un(e){return!!(e&&e.__v_isShallow)}function eo(e){return _t(e)||Et(e)}function Y(e){const t=e&&e.__v_raw;return t?Y(t):e}function Lt(e){return cn(e,"__v_skip",!0),e}const $t=e=>Z(e)?Cn(e):e,As=e=>Z(e)?xn(e):e;class to{constructor(t,n,s,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new ws(()=>t(this._value),()=>It(this,1),()=>this.dep&&qr(this.dep)),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=Y(this);return(!t._cacheable||t.effect.dirty)&&Qe(t._value,t._value=t.effect.run())&&It(t,2),Rs(t),t.effect._dirtyLevel>=1&&It(t,1),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function Ki(e,t,n=!1){let s,r;const o=U(e);return o?(s=e,r=xe):(s=e.get,r=e.set),new to(s,r,o||!r,n)}function Rs(e){Ge&&it&&(e=Y(e),Kr(it,e.dep||(e.dep=Gr(()=>e.dep=void 0,e instanceof to?e:void 0))))}function It(e,t=2,n){e=Y(e);const s=e.dep;s&&Wr(s,t)}function de(e){return!!(e&&e.__v_isRef===!0)}function me(e){return so(e,!1)}function no(e){return so(e,!0)}function so(e,t){return de(e)?e:new Wi(e,t)}class Wi{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:Y(t),this._value=n?t:$t(t)}get value(){return Rs(this),this._value}set value(t){const n=this.__v_isShallow||un(t)||Et(t);t=n?t:Y(t),Qe(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:$t(t),It(this,2))}}function ro(e){return de(e)?e.value:e}const qi={get:(e,t,n)=>ro(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return de(r)&&!de(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function oo(e){return _t(e)?e:new Proxy(e,qi)}class Gi{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:s}=t(()=>Rs(this),()=>It(this));this._get=n,this._set=s}get value(){return this._get()}set value(t){this._set(t)}}function zi(e){return new Gi(e)}class Xi{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return xi(Y(this._object),this._key)}}class Yi{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Ji(e,t,n){return de(e)?e:U(e)?new Yi(e):Z(e)&&arguments.length>1?Qi(e,t,n):me(e)}function Qi(e,t,n){const s=e[t];return de(s)?s:new Xi(e,t,n)}/** +* @vue/runtime-core v3.4.15 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function ze(e,t,n,s){let r;try{r=s?e(...s):e()}catch(o){Sn(o,t,n)}return r}function Se(e,t,n,s){if(U(e)){const o=ze(e,t,n,s);return o&&Fr(o)&&o.catch(i=>{Sn(i,t,n)}),o}const r=[];for(let o=0;o>>1,r=ue[s],o=jt(r);oPe&&ue.splice(t,1)}function nl(e){B(e)?bt.push(...e):(!Ue||!Ue.includes(e,e.allowRecurse?rt+1:rt))&&bt.push(e),lo()}function Ys(e,t,n=Ht?Pe+1:0){for(;njt(n)-jt(s));if(bt.length=0,Ue){Ue.push(...t);return}for(Ue=t,rt=0;rte.id==null?1/0:e.id,sl=(e,t)=>{const n=jt(e)-jt(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function co(e){rs=!1,Ht=!0,ue.sort(sl);try{for(Pe=0;Pene(w)?w.trim():w)),h&&(r=n.map(di))}let l,c=s[l=rn(t)]||s[l=rn(Me(t))];!c&&o&&(c=s[l=rn(at(t))]),c&&Se(c,e,6,r);const u=s[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Se(u,e,6,r)}}function ao(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const o=e.emits;let i={},l=!1;if(!U(e)){const c=u=>{const d=ao(u,t,!0);d&&(l=!0,oe(i,d))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(Z(e)&&s.set(e,null),null):(B(o)?o.forEach(c=>i[c]=null):oe(i,o),Z(e)&&s.set(e,i),i)}function An(e,t){return!e||!Bt(t)?!1:(t=t.slice(2).replace(/Once$/,""),X(e,t[0].toLowerCase()+t.slice(1))||X(e,at(t))||X(e,t))}let fe=null,Rn=null;function dn(e){const t=fe;return fe=e,Rn=e&&e.type.__scopeId||null,t}function $a(e){Rn=e}function Ha(){Rn=null}function ol(e,t=fe,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&cr(-1);const o=dn(t);let i;try{i=e(...r)}finally{dn(o),s._d&&cr(1)}return i};return s._n=!0,s._c=!0,s._d=!0,s}function Bn(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:o,propsOptions:[i],slots:l,attrs:c,emit:u,render:d,renderCache:h,data:m,setupState:w,ctx:L,inheritAttrs:M}=e;let F,W;const J=dn(e);try{if(n.shapeFlag&4){const y=r||s,N=y;F=Ae(d.call(N,y,h,o,w,m,L)),W=c}else{const y=t;F=Ae(y.length>1?y(o,{attrs:c,slots:l,emit:u}):y(o,null)),W=t.props?c:il(c)}}catch(y){Nt.length=0,Sn(y,e,1),F=ae(ve)}let p=F;if(W&&M!==!1){const y=Object.keys(W),{shapeFlag:N}=p;y.length&&N&7&&(i&&y.some(ms)&&(W=ll(W,i)),p=Ze(p,W))}return n.dirs&&(p=Ze(p),p.dirs=p.dirs?p.dirs.concat(n.dirs):n.dirs),n.transition&&(p.transition=n.transition),F=p,dn(J),F}const il=e=>{let t;for(const n in e)(n==="class"||n==="style"||Bt(n))&&((t||(t={}))[n]=e[n]);return t},ll=(e,t)=>{const n={};for(const s in e)(!ms(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function cl(e,t,n){const{props:s,children:r,component:o}=e,{props:i,children:l,patchFlag:c}=t,u=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?Js(s,i,u):!!i;if(c&8){const d=t.dynamicProps;for(let h=0;he.__isSuspense;function ho(e,t){t&&t.pendingBranch?B(e)?t.effects.push(...e):t.effects.push(e):nl(e)}const fl=Symbol.for("v-scx"),dl=()=>wt(fl);function po(e,t){return On(e,null,t)}function Da(e,t){return On(e,null,{flush:"post"})}const Yt={};function Xe(e,t,n){return On(e,t,n)}function On(e,t,{immediate:n,deep:s,flush:r,once:o,onTrack:i,onTrigger:l}=te){if(t&&o){const I=t;t=(...D)=>{I(...D),N()}}const c=ce,u=I=>s===!0?I:pt(I,s===!1?1:void 0);let d,h=!1,m=!1;if(de(e)?(d=()=>e.value,h=un(e)):_t(e)?(d=()=>u(e),h=!0):B(e)?(m=!0,h=e.some(I=>_t(I)||un(I)),d=()=>e.map(I=>{if(de(I))return I.value;if(_t(I))return u(I);if(U(I))return ze(I,c,2)})):U(e)?t?d=()=>ze(e,c,2):d=()=>(w&&w(),Se(e,c,3,[L])):d=xe,t&&s){const I=d;d=()=>pt(I())}let w,L=I=>{w=p.onStop=()=>{ze(I,c,4),w=p.onStop=void 0}},M;if(Fn)if(L=xe,t?n&&Se(t,c,3,[d(),m?[]:void 0,L]):d(),r==="sync"){const I=dl();M=I.__watcherHandles||(I.__watcherHandles=[])}else return xe;let F=m?new Array(e.length).fill(Yt):Yt;const W=()=>{if(!(!p.active||!p.dirty))if(t){const I=p.run();(s||h||(m?I.some((D,R)=>Qe(D,F[R])):Qe(I,F)))&&(w&&w(),Se(t,c,3,[I,F===Yt?void 0:m&&F[0]===Yt?[]:F,L]),F=I)}else p.run()};W.allowRecurse=!!t;let J;r==="sync"?J=W:r==="post"?J=()=>pe(W,c&&c.suspense):(W.pre=!0,c&&(W.id=c.uid),J=()=>Ls(W));const p=new ws(d,xe,J),y=Br(),N=()=>{p.stop(),y&&ys(y.effects,p)};return t?n?W():F=p.run():r==="post"?pe(p.run.bind(p),c&&c.suspense):p.run(),M&&M.push(N),N}function hl(e,t,n){const s=this.proxy,r=ne(e)?e.includes(".")?go(s,e):()=>s[e]:e.bind(s,s);let o;U(t)?o=t:(o=t.handler,n=t);const i=kt(this),l=On(r,o.bind(s),n);return i(),l}function go(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r0){if(n>=t)return e;n++}if(s=s||new Set,s.has(e))return e;if(s.add(e),de(e))pt(e.value,t,n,s);else if(B(e))for(let r=0;r{pt(r,t,n,s)});else if(Hr(e))for(const r in e)pt(e[r],t,n,s);return e}function Ie(e,t,n,s){const r=e.dirs,o=t&&t.dirs;for(let i=0;i{e.isMounted=!0}),wo(()=>{e.isUnmounting=!0}),e}const we=[Function,Array],mo={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:we,onEnter:we,onAfterEnter:we,onEnterCancelled:we,onBeforeLeave:we,onLeave:we,onAfterLeave:we,onLeaveCancelled:we,onBeforeAppear:we,onAppear:we,onAfterAppear:we,onAppearCancelled:we},gl={name:"BaseTransition",props:mo,setup(e,{slots:t}){const n=Nn(),s=pl();let r;return()=>{const o=t.default&&_o(t.default(),!0);if(!o||!o.length)return;let i=o[0];if(o.length>1){for(const M of o)if(M.type!==ve){i=M;break}}const l=Y(e),{mode:c}=l;if(s.isLeaving)return kn(i);const u=Zs(i);if(!u)return kn(i);const d=os(u,l,s,n);is(u,d);const h=n.subTree,m=h&&Zs(h);let w=!1;const{getTransitionKey:L}=u.type;if(L){const M=L();r===void 0?r=M:M!==r&&(r=M,w=!0)}if(m&&m.type!==ve&&(!ot(u,m)||w)){const M=os(m,l,s,n);if(is(m,M),c==="out-in")return s.isLeaving=!0,M.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},kn(i);c==="in-out"&&u.type!==ve&&(M.delayLeave=(F,W,J)=>{const p=yo(s,m);p[String(m.key)]=m,F[Ke]=()=>{W(),F[Ke]=void 0,delete d.delayedLeave},d.delayedLeave=J})}return i}}},ml=gl;function yo(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function os(e,t,n,s){const{appear:r,mode:o,persisted:i=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:h,onLeave:m,onAfterLeave:w,onLeaveCancelled:L,onBeforeAppear:M,onAppear:F,onAfterAppear:W,onAppearCancelled:J}=t,p=String(e.key),y=yo(n,e),N=(R,T)=>{R&&Se(R,s,9,T)},I=(R,T)=>{const S=T[1];N(R,T),B(R)?R.every(K=>K.length<=1)&&S():R.length<=1&&S()},D={mode:o,persisted:i,beforeEnter(R){let T=l;if(!n.isMounted)if(r)T=M||l;else return;R[Ke]&&R[Ke](!0);const S=y[p];S&&ot(e,S)&&S.el[Ke]&&S.el[Ke](),N(T,[R])},enter(R){let T=c,S=u,K=d;if(!n.isMounted)if(r)T=F||c,S=W||u,K=J||d;else return;let O=!1;const q=R[Jt]=re=>{O||(O=!0,re?N(K,[R]):N(S,[R]),D.delayedLeave&&D.delayedLeave(),R[Jt]=void 0)};T?I(T,[R,q]):q()},leave(R,T){const S=String(e.key);if(R[Jt]&&R[Jt](!0),n.isUnmounting)return T();N(h,[R]);let K=!1;const O=R[Ke]=q=>{K||(K=!0,T(),q?N(L,[R]):N(w,[R]),R[Ke]=void 0,y[S]===e&&delete y[S])};y[S]=e,m?I(m,[R,O]):O()},clone(R){return os(R,t,n,s)}};return D}function kn(e){if(Ln(e))return e=Ze(e),e.children=null,e}function Zs(e){return Ln(e)?e.children?e.children[0]:void 0:e}function is(e,t){e.shapeFlag&6&&e.component?is(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function _o(e,t=!1,n){let s=[],r=0;for(let o=0;o1)for(let o=0;o!!e.type.__asyncLoader,Ln=e=>e.type.__isKeepAlive;function yl(e,t){vo(e,"a",t)}function _l(e,t){vo(e,"da",t)}function vo(e,t,n=ce){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(In(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Ln(r.parent.vnode)&&bl(s,t,n,r),r=r.parent}}function bl(e,t,n,s){const r=In(t,e,s,!0);Pn(()=>{ys(s[t],r)},n)}function In(e,t,n=ce,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;ut();const l=kt(n),c=Se(t,n,e,i);return l(),ft(),c});return s?r.unshift(o):r.push(o),o}}const je=e=>(t,n=ce)=>(!Fn||e==="sp")&&In(e,(...s)=>t(...s),n),vl=je("bm"),St=je("m"),wl=je("bu"),El=je("u"),wo=je("bum"),Pn=je("um"),Cl=je("sp"),xl=je("rtg"),Sl=je("rtc");function Tl(e,t=ce){In("ec",e,t)}function Ba(e,t,n,s){let r;const o=n&&n[s];if(B(e)||ne(e)){r=new Array(e.length);for(let i=0,l=e.length;it(i,l,void 0,o&&o[l]));else{const i=Object.keys(e);r=new Array(i.length);for(let l=0,c=i.length;lmn(t)?!(t.type===ve||t.type===ge&&!Eo(t.children)):!0)?e:null}function Ua(e,t){const n={};for(const s in e)n[t&&/[A-Z]/.test(s)?`on:${s}`:rn(s)]=e[s];return n}const ls=e=>e?Vo(e)?Fs(e)||e.proxy:ls(e.parent):null,Pt=oe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ls(e.parent),$root:e=>ls(e.root),$emit:e=>e.emit,$options:e=>Ps(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Ls(e.update)}),$nextTick:e=>e.n||(e.n=Tn.bind(e.proxy)),$watch:e=>hl.bind(e)}),Un=(e,t)=>e!==te&&!e.__isScriptSetup&&X(e,t),Al={get({_:e},t){const{ctx:n,setupState:s,data:r,props:o,accessCache:i,type:l,appContext:c}=e;let u;if(t[0]!=="$"){const w=i[t];if(w!==void 0)switch(w){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if(Un(s,t))return i[t]=1,s[t];if(r!==te&&X(r,t))return i[t]=2,r[t];if((u=e.propsOptions[0])&&X(u,t))return i[t]=3,o[t];if(n!==te&&X(n,t))return i[t]=4,n[t];cs&&(i[t]=0)}}const d=Pt[t];let h,m;if(d)return t==="$attrs"&&ye(e,"get",t),d(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(n!==te&&X(n,t))return i[t]=4,n[t];if(m=c.config.globalProperties,X(m,t))return m[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:o}=e;return Un(r,t)?(r[t]=n,!0):s!==te&&X(s,t)?(s[t]=n,!0):X(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:o}},i){let l;return!!n[i]||e!==te&&X(e,i)||Un(t,i)||(l=o[0])&&X(l,i)||X(s,i)||X(Pt,i)||X(r.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:X(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Ka(){return Rl().slots}function Rl(){const e=Nn();return e.setupContext||(e.setupContext=Bo(e))}function er(e){return B(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let cs=!0;function Ol(e){const t=Ps(e),n=e.proxy,s=e.ctx;cs=!1,t.beforeCreate&&tr(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:i,watch:l,provide:c,inject:u,created:d,beforeMount:h,mounted:m,beforeUpdate:w,updated:L,activated:M,deactivated:F,beforeDestroy:W,beforeUnmount:J,destroyed:p,unmounted:y,render:N,renderTracked:I,renderTriggered:D,errorCaptured:R,serverPrefetch:T,expose:S,inheritAttrs:K,components:O,directives:q,filters:re}=t;if(u&&Ll(u,s,null),i)for(const z in i){const H=i[z];U(H)&&(s[z]=H.bind(n))}if(r){const z=r.call(n,n);Z(z)&&(e.data=Cn(z))}if(cs=!0,o)for(const z in o){const H=o[z],Ne=U(H)?H.bind(n,n):U(H.get)?H.get.bind(n,n):xe,Ut=!U(H)&&U(H.set)?H.set.bind(n):xe,et=se({get:Ne,set:Ut});Object.defineProperty(s,z,{enumerable:!0,configurable:!0,get:()=>et.value,set:Oe=>et.value=Oe})}if(l)for(const z in l)Co(l[z],s,n,z);if(c){const z=U(c)?c.call(n):c;Reflect.ownKeys(z).forEach(H=>{$l(H,z[H])})}d&&tr(d,e,"c");function j(z,H){B(H)?H.forEach(Ne=>z(Ne.bind(n))):H&&z(H.bind(n))}if(j(vl,h),j(St,m),j(wl,w),j(El,L),j(yl,M),j(_l,F),j(Tl,R),j(Sl,I),j(xl,D),j(wo,J),j(Pn,y),j(Cl,T),B(S))if(S.length){const z=e.exposed||(e.exposed={});S.forEach(H=>{Object.defineProperty(z,H,{get:()=>n[H],set:Ne=>n[H]=Ne})})}else e.exposed||(e.exposed={});N&&e.render===xe&&(e.render=N),K!=null&&(e.inheritAttrs=K),O&&(e.components=O),q&&(e.directives=q)}function Ll(e,t,n=xe){B(e)&&(e=as(e));for(const s in e){const r=e[s];let o;Z(r)?"default"in r?o=wt(r.from||s,r.default,!0):o=wt(r.from||s):o=wt(r),de(o)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[s]=o}}function tr(e,t,n){Se(B(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Co(e,t,n,s){const r=s.includes(".")?go(n,s):()=>n[s];if(ne(e)){const o=t[e];U(o)&&Xe(r,o)}else if(U(e))Xe(r,e.bind(n));else if(Z(e))if(B(e))e.forEach(o=>Co(o,t,n,s));else{const o=U(e.handler)?e.handler.bind(n):t[e.handler];U(o)&&Xe(r,o,e)}}function Ps(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(u=>hn(c,u,i,!0)),hn(c,t,i)),Z(t)&&o.set(t,c),c}function hn(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&hn(e,o,n,!0),r&&r.forEach(i=>hn(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const l=Il[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Il={data:nr,props:sr,emits:sr,methods:Rt,computed:Rt,beforeCreate:he,created:he,beforeMount:he,mounted:he,beforeUpdate:he,updated:he,beforeDestroy:he,beforeUnmount:he,destroyed:he,unmounted:he,activated:he,deactivated:he,errorCaptured:he,serverPrefetch:he,components:Rt,directives:Rt,watch:Ml,provide:nr,inject:Pl};function nr(e,t){return t?e?function(){return oe(U(e)?e.call(this,this):e,U(t)?t.call(this,this):t)}:t:e}function Pl(e,t){return Rt(as(e),as(t))}function as(e){if(B(e)){const t={};for(let n=0;n1)return n&&U(t)?t.call(s&&s.proxy):t}}function Hl(e,t,n,s=!1){const r={},o={};cn(o,Mn,1),e.propsDefaults=Object.create(null),So(e,t,r,o);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);n?e.props=s?r:Ui(r):e.type.props?e.props=r:e.props=o,e.attrs=o}function jl(e,t,n,s){const{props:r,attrs:o,vnode:{patchFlag:i}}=e,l=Y(r),[c]=e.propsOptions;let u=!1;if((s||i>0)&&!(i&16)){if(i&8){const d=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[m,w]=To(h,t,!0);oe(i,m),w&&l.push(...w)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!o&&!c)return Z(e)&&s.set(e,mt),mt;if(B(o))for(let d=0;d-1,w[1]=M<0||L-1||X(w,"default"))&&l.push(h)}}}const u=[i,l];return Z(e)&&s.set(e,u),u}function rr(e){return e[0]!=="$"}function or(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function ir(e,t){return or(e)===or(t)}function lr(e,t){return B(t)?t.findIndex(n=>ir(n,e)):U(t)&&ir(t,e)?0:-1}const Ao=e=>e[0]==="_"||e==="$stable",Ms=e=>B(e)?e.map(Ae):[Ae(e)],Vl=(e,t,n)=>{if(t._n)return t;const s=ol((...r)=>Ms(t(...r)),n);return s._c=!1,s},Ro=(e,t,n)=>{const s=e._ctx;for(const r in e){if(Ao(r))continue;const o=e[r];if(U(o))t[r]=Vl(r,o,s);else if(o!=null){const i=Ms(o);t[r]=()=>i}}},Oo=(e,t)=>{const n=Ms(t);e.slots.default=()=>n},Dl=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=Y(t),cn(t,"_",n)):Ro(t,e.slots={})}else e.slots={},t&&Oo(e,t);cn(e.slots,Mn,1)},Bl=(e,t,n)=>{const{vnode:s,slots:r}=e;let o=!0,i=te;if(s.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:(oe(r,t),!n&&l===1&&delete r._):(o=!t.$stable,Ro(t,r)),i=t}else t&&(Oo(e,t),i={default:1});if(o)for(const l in r)!Ao(l)&&i[l]==null&&delete r[l]};function gn(e,t,n,s,r=!1){if(B(e)){e.forEach((m,w)=>gn(m,t&&(B(t)?t[w]:t),n,s,r));return}if(vt(s)&&!r)return;const o=s.shapeFlag&4?Fs(s.component)||s.component.proxy:s.el,i=r?null:o,{i:l,r:c}=e,u=t&&t.r,d=l.refs===te?l.refs={}:l.refs,h=l.setupState;if(u!=null&&u!==c&&(ne(u)?(d[u]=null,X(h,u)&&(h[u]=null)):de(u)&&(u.value=null)),U(c))ze(c,l,12,[i,d]);else{const m=ne(c),w=de(c),L=e.f;if(m||w){const M=()=>{if(L){const F=m?X(h,c)?h[c]:d[c]:c.value;r?B(F)&&ys(F,o):B(F)?F.includes(o)||F.push(o):m?(d[c]=[o],X(h,c)&&(h[c]=d[c])):(c.value=[o],e.k&&(d[e.k]=c.value))}else m?(d[c]=i,X(h,c)&&(h[c]=i)):w&&(c.value=i,e.k&&(d[e.k]=i))};r||L?M():(M.id=-1,pe(M,n))}}}let De=!1;const kl=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",Ul=e=>e.namespaceURI.includes("MathML"),Qt=e=>{if(kl(e))return"svg";if(Ul(e))return"mathml"},Zt=e=>e.nodeType===8;function Kl(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:o,parentNode:i,remove:l,insert:c,createComment:u}}=e,d=(p,y)=>{if(!y.hasChildNodes()){n(null,p,y),fn(),y._vnode=p;return}De=!1,h(y.firstChild,p,null,null,null),fn(),y._vnode=p,De&&console.error("Hydration completed but contains mismatches.")},h=(p,y,N,I,D,R=!1)=>{const T=Zt(p)&&p.data==="[",S=()=>M(p,y,N,I,D,T),{type:K,ref:O,shapeFlag:q,patchFlag:re}=y;let le=p.nodeType;y.el=p,re===-2&&(R=!1,y.dynamicChildren=null);let j=null;switch(K){case Ct:le!==3?y.children===""?(c(y.el=r(""),i(p),p),j=p):j=S():(p.data!==y.children&&(De=!0,p.data=y.children),j=o(p));break;case ve:J(p)?(j=o(p),W(y.el=p.content.firstChild,p,N)):le!==8||T?j=S():j=o(p);break;case Mt:if(T&&(p=o(p),le=p.nodeType),le===1||le===3){j=p;const z=!y.children.length;for(let H=0;H{R=R||!!y.dynamicChildren;const{type:T,props:S,patchFlag:K,shapeFlag:O,dirs:q,transition:re}=y,le=T==="input"||T==="option";if(le||K!==-1){q&&Ie(y,null,N,"created");let j=!1;if(J(p)){j=Lo(I,re)&&N&&N.vnode.props&&N.vnode.props.appear;const H=p.content.firstChild;j&&re.beforeEnter(H),W(H,p,N),y.el=p=H}if(O&16&&!(S&&(S.innerHTML||S.textContent))){let H=w(p.firstChild,y,p,N,I,D,R);for(;H;){De=!0;const Ne=H;H=H.nextSibling,l(Ne)}}else O&8&&p.textContent!==y.children&&(De=!0,p.textContent=y.children);if(S)if(le||!R||K&48)for(const H in S)(le&&(H.endsWith("value")||H==="indeterminate")||Bt(H)&&!Ot(H)||H[0]===".")&&s(p,H,null,S[H],void 0,void 0,N);else S.onClick&&s(p,"onClick",null,S.onClick,void 0,void 0,N);let z;(z=S&&S.onVnodeBeforeMount)&&Ee(z,N,y),q&&Ie(y,null,N,"beforeMount"),((z=S&&S.onVnodeMounted)||q||j)&&ho(()=>{z&&Ee(z,N,y),j&&re.enter(p),q&&Ie(y,null,N,"mounted")},I)}return p.nextSibling},w=(p,y,N,I,D,R,T)=>{T=T||!!y.dynamicChildren;const S=y.children,K=S.length;for(let O=0;O{const{slotScopeIds:T}=y;T&&(D=D?D.concat(T):T);const S=i(p),K=w(o(p),y,S,N,I,D,R);return K&&Zt(K)&&K.data==="]"?o(y.anchor=K):(De=!0,c(y.anchor=u("]"),S,K),K)},M=(p,y,N,I,D,R)=>{if(De=!0,y.el=null,R){const K=F(p);for(;;){const O=o(p);if(O&&O!==K)l(O);else break}}const T=o(p),S=i(p);return l(p),n(null,y,S,T,N,I,Qt(S),D),T},F=(p,y="[",N="]")=>{let I=0;for(;p;)if(p=o(p),p&&Zt(p)&&(p.data===y&&I++,p.data===N)){if(I===0)return o(p);I--}return p},W=(p,y,N)=>{const I=y.parentNode;I&&I.replaceChild(p,y);let D=N;for(;D;)D.vnode.el===y&&(D.vnode.el=D.subTree.el=p),D=D.parent},J=p=>p.nodeType===1&&p.tagName.toLowerCase()==="template";return[d,h]}const pe=ho;function Wl(e){return ql(e,Kl)}function ql(e,t){const n=jr();n.__VUE__=!0;const{insert:s,remove:r,patchProp:o,createElement:i,createText:l,createComment:c,setText:u,setElementText:d,parentNode:h,nextSibling:m,setScopeId:w=xe,insertStaticContent:L}=e,M=(a,f,g,_=null,b=null,C=null,A=void 0,E=null,x=!!f.dynamicChildren)=>{if(a===f)return;a&&!ot(a,f)&&(_=Kt(a),Oe(a,b,C,!0),a=null),f.patchFlag===-2&&(x=!1,f.dynamicChildren=null);const{type:v,ref:P,shapeFlag:V}=f;switch(v){case Ct:F(a,f,g,_);break;case ve:W(a,f,g,_);break;case Mt:a==null&&J(f,g,_,A);break;case ge:O(a,f,g,_,b,C,A,E,x);break;default:V&1?N(a,f,g,_,b,C,A,E,x):V&6?q(a,f,g,_,b,C,A,E,x):(V&64||V&128)&&v.process(a,f,g,_,b,C,A,E,x,dt)}P!=null&&b&&gn(P,a&&a.ref,C,f||a,!f)},F=(a,f,g,_)=>{if(a==null)s(f.el=l(f.children),g,_);else{const b=f.el=a.el;f.children!==a.children&&u(b,f.children)}},W=(a,f,g,_)=>{a==null?s(f.el=c(f.children||""),g,_):f.el=a.el},J=(a,f,g,_)=>{[a.el,a.anchor]=L(a.children,f,g,_,a.el,a.anchor)},p=({el:a,anchor:f},g,_)=>{let b;for(;a&&a!==f;)b=m(a),s(a,g,_),a=b;s(f,g,_)},y=({el:a,anchor:f})=>{let g;for(;a&&a!==f;)g=m(a),r(a),a=g;r(f)},N=(a,f,g,_,b,C,A,E,x)=>{f.type==="svg"?A="svg":f.type==="math"&&(A="mathml"),a==null?I(f,g,_,b,C,A,E,x):T(a,f,b,C,A,E,x)},I=(a,f,g,_,b,C,A,E)=>{let x,v;const{props:P,shapeFlag:V,transition:$,dirs:k}=a;if(x=a.el=i(a.type,C,P&&P.is,P),V&8?d(x,a.children):V&16&&R(a.children,x,null,_,b,Kn(a,C),A,E),k&&Ie(a,null,_,"created"),D(x,a,a.scopeId,A,_),P){for(const Q in P)Q!=="value"&&!Ot(Q)&&o(x,Q,null,P[Q],C,a.children,_,b,Fe);"value"in P&&o(x,"value",null,P.value,C),(v=P.onVnodeBeforeMount)&&Ee(v,_,a)}k&&Ie(a,null,_,"beforeMount");const G=Lo(b,$);G&&$.beforeEnter(x),s(x,f,g),((v=P&&P.onVnodeMounted)||G||k)&&pe(()=>{v&&Ee(v,_,a),G&&$.enter(x),k&&Ie(a,null,_,"mounted")},b)},D=(a,f,g,_,b)=>{if(g&&w(a,g),_)for(let C=0;C<_.length;C++)w(a,_[C]);if(b){let C=b.subTree;if(f===C){const A=b.vnode;D(a,A,A.scopeId,A.slotScopeIds,b.parent)}}},R=(a,f,g,_,b,C,A,E,x=0)=>{for(let v=x;v{const E=f.el=a.el;let{patchFlag:x,dynamicChildren:v,dirs:P}=f;x|=a.patchFlag&16;const V=a.props||te,$=f.props||te;let k;if(g&&tt(g,!1),(k=$.onVnodeBeforeUpdate)&&Ee(k,g,f,a),P&&Ie(f,a,g,"beforeUpdate"),g&&tt(g,!0),v?S(a.dynamicChildren,v,E,g,_,Kn(f,b),C):A||H(a,f,E,null,g,_,Kn(f,b),C,!1),x>0){if(x&16)K(E,f,V,$,g,_,b);else if(x&2&&V.class!==$.class&&o(E,"class",null,$.class,b),x&4&&o(E,"style",V.style,$.style,b),x&8){const G=f.dynamicProps;for(let Q=0;Q{k&&Ee(k,g,f,a),P&&Ie(f,a,g,"updated")},_)},S=(a,f,g,_,b,C,A)=>{for(let E=0;E{if(g!==_){if(g!==te)for(const E in g)!Ot(E)&&!(E in _)&&o(a,E,g[E],null,A,f.children,b,C,Fe);for(const E in _){if(Ot(E))continue;const x=_[E],v=g[E];x!==v&&E!=="value"&&o(a,E,v,x,A,f.children,b,C,Fe)}"value"in _&&o(a,"value",g.value,_.value,A)}},O=(a,f,g,_,b,C,A,E,x)=>{const v=f.el=a?a.el:l(""),P=f.anchor=a?a.anchor:l("");let{patchFlag:V,dynamicChildren:$,slotScopeIds:k}=f;k&&(E=E?E.concat(k):k),a==null?(s(v,g,_),s(P,g,_),R(f.children||[],g,P,b,C,A,E,x)):V>0&&V&64&&$&&a.dynamicChildren?(S(a.dynamicChildren,$,g,b,C,A,E),(f.key!=null||b&&f===b.subTree)&&Io(a,f,!0)):H(a,f,g,P,b,C,A,E,x)},q=(a,f,g,_,b,C,A,E,x)=>{f.slotScopeIds=E,a==null?f.shapeFlag&512?b.ctx.activate(f,g,_,A,x):re(f,g,_,b,C,A,x):le(a,f,x)},re=(a,f,g,_,b,C,A)=>{const E=a.component=tc(a,_,b);if(Ln(a)&&(E.ctx.renderer=dt),nc(E),E.asyncDep){if(b&&b.registerDep(E,j),!a.el){const x=E.subTree=ae(ve);W(null,x,f,g)}}else j(E,a,f,g,b,C,A)},le=(a,f,g)=>{const _=f.component=a.component;if(cl(a,f,g))if(_.asyncDep&&!_.asyncResolved){z(_,f,g);return}else _.next=f,tl(_.update),_.effect.dirty=!0,_.update();else f.el=a.el,_.vnode=f},j=(a,f,g,_,b,C,A)=>{const E=()=>{if(a.isMounted){let{next:P,bu:V,u:$,parent:k,vnode:G}=a;{const ht=Po(a);if(ht){P&&(P.el=G.el,z(a,P,A)),ht.asyncDep.then(()=>{a.isUnmounted||E()});return}}let Q=P,ee;tt(a,!1),P?(P.el=G.el,z(a,P,A)):P=G,V&&Vn(V),(ee=P.props&&P.props.onVnodeBeforeUpdate)&&Ee(ee,k,P,G),tt(a,!0);const ie=Bn(a),Te=a.subTree;a.subTree=ie,M(Te,ie,h(Te.el),Kt(Te),a,b,C),P.el=ie.el,Q===null&&al(a,ie.el),$&&pe($,b),(ee=P.props&&P.props.onVnodeUpdated)&&pe(()=>Ee(ee,k,P,G),b)}else{let P;const{el:V,props:$}=f,{bm:k,m:G,parent:Q}=a,ee=vt(f);if(tt(a,!1),k&&Vn(k),!ee&&(P=$&&$.onVnodeBeforeMount)&&Ee(P,Q,f),tt(a,!0),V&&jn){const ie=()=>{a.subTree=Bn(a),jn(V,a.subTree,a,b,null)};ee?f.type.__asyncLoader().then(()=>!a.isUnmounted&&ie()):ie()}else{const ie=a.subTree=Bn(a);M(null,ie,g,_,a,b,C),f.el=ie.el}if(G&&pe(G,b),!ee&&(P=$&&$.onVnodeMounted)){const ie=f;pe(()=>Ee(P,Q,ie),b)}(f.shapeFlag&256||Q&&vt(Q.vnode)&&Q.vnode.shapeFlag&256)&&a.a&&pe(a.a,b),a.isMounted=!0,f=g=_=null}},x=a.effect=new ws(E,xe,()=>Ls(v),a.scope),v=a.update=()=>{x.dirty&&x.run()};v.id=a.uid,tt(a,!0),v()},z=(a,f,g)=>{f.component=a;const _=a.vnode.props;a.vnode=f,a.next=null,jl(a,f.props,_,g),Bl(a,f.children,g),ut(),Ys(a),ft()},H=(a,f,g,_,b,C,A,E,x=!1)=>{const v=a&&a.children,P=a?a.shapeFlag:0,V=f.children,{patchFlag:$,shapeFlag:k}=f;if($>0){if($&128){Ut(v,V,g,_,b,C,A,E,x);return}else if($&256){Ne(v,V,g,_,b,C,A,E,x);return}}k&8?(P&16&&Fe(v,b,C),V!==v&&d(g,V)):P&16?k&16?Ut(v,V,g,_,b,C,A,E,x):Fe(v,b,C,!0):(P&8&&d(g,""),k&16&&R(V,g,_,b,C,A,E,x))},Ne=(a,f,g,_,b,C,A,E,x)=>{a=a||mt,f=f||mt;const v=a.length,P=f.length,V=Math.min(v,P);let $;for($=0;$P?Fe(a,b,C,!0,!1,V):R(f,g,_,b,C,A,E,x,V)},Ut=(a,f,g,_,b,C,A,E,x)=>{let v=0;const P=f.length;let V=a.length-1,$=P-1;for(;v<=V&&v<=$;){const k=a[v],G=f[v]=x?We(f[v]):Ae(f[v]);if(ot(k,G))M(k,G,g,null,b,C,A,E,x);else break;v++}for(;v<=V&&v<=$;){const k=a[V],G=f[$]=x?We(f[$]):Ae(f[$]);if(ot(k,G))M(k,G,g,null,b,C,A,E,x);else break;V--,$--}if(v>V){if(v<=$){const k=$+1,G=k$)for(;v<=V;)Oe(a[v],b,C,!0),v++;else{const k=v,G=v,Q=new Map;for(v=G;v<=$;v++){const _e=f[v]=x?We(f[v]):Ae(f[v]);_e.key!=null&&Q.set(_e.key,v)}let ee,ie=0;const Te=$-G+1;let ht=!1,Vs=0;const Tt=new Array(Te);for(v=0;v=Te){Oe(_e,b,C,!0);continue}let Le;if(_e.key!=null)Le=Q.get(_e.key);else for(ee=G;ee<=$;ee++)if(Tt[ee-G]===0&&ot(_e,f[ee])){Le=ee;break}Le===void 0?Oe(_e,b,C,!0):(Tt[Le-G]=v+1,Le>=Vs?Vs=Le:ht=!0,M(_e,f[Le],g,null,b,C,A,E,x),ie++)}const Ds=ht?Gl(Tt):mt;for(ee=Ds.length-1,v=Te-1;v>=0;v--){const _e=G+v,Le=f[_e],Bs=_e+1{const{el:C,type:A,transition:E,children:x,shapeFlag:v}=a;if(v&6){et(a.component.subTree,f,g,_);return}if(v&128){a.suspense.move(f,g,_);return}if(v&64){A.move(a,f,g,dt);return}if(A===ge){s(C,f,g);for(let V=0;VE.enter(C),b);else{const{leave:V,delayLeave:$,afterLeave:k}=E,G=()=>s(C,f,g),Q=()=>{V(C,()=>{G(),k&&k()})};$?$(C,G,Q):Q()}else s(C,f,g)},Oe=(a,f,g,_=!1,b=!1)=>{const{type:C,props:A,ref:E,children:x,dynamicChildren:v,shapeFlag:P,patchFlag:V,dirs:$}=a;if(E!=null&&gn(E,null,g,a,!0),P&256){f.ctx.deactivate(a);return}const k=P&1&&$,G=!vt(a);let Q;if(G&&(Q=A&&A.onVnodeBeforeUnmount)&&Ee(Q,f,a),P&6)ii(a.component,g,_);else{if(P&128){a.suspense.unmount(g,_);return}k&&Ie(a,null,f,"beforeUnmount"),P&64?a.type.remove(a,f,g,b,dt,_):v&&(C!==ge||V>0&&V&64)?Fe(v,f,g,!1,!0):(C===ge&&V&384||!b&&P&16)&&Fe(x,f,g),_&&Hs(a)}(G&&(Q=A&&A.onVnodeUnmounted)||k)&&pe(()=>{Q&&Ee(Q,f,a),k&&Ie(a,null,f,"unmounted")},g)},Hs=a=>{const{type:f,el:g,anchor:_,transition:b}=a;if(f===ge){oi(g,_);return}if(f===Mt){y(a);return}const C=()=>{r(g),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(a.shapeFlag&1&&b&&!b.persisted){const{leave:A,delayLeave:E}=b,x=()=>A(g,C);E?E(a.el,C,x):x()}else C()},oi=(a,f)=>{let g;for(;a!==f;)g=m(a),r(a),a=g;r(f)},ii=(a,f,g)=>{const{bum:_,scope:b,update:C,subTree:A,um:E}=a;_&&Vn(_),b.stop(),C&&(C.active=!1,Oe(A,a,f,g)),E&&pe(E,f),pe(()=>{a.isUnmounted=!0},f),f&&f.pendingBranch&&!f.isUnmounted&&a.asyncDep&&!a.asyncResolved&&a.suspenseId===f.pendingId&&(f.deps--,f.deps===0&&f.resolve())},Fe=(a,f,g,_=!1,b=!1,C=0)=>{for(let A=C;Aa.shapeFlag&6?Kt(a.component.subTree):a.shapeFlag&128?a.suspense.next():m(a.anchor||a.el);let $n=!1;const js=(a,f,g)=>{a==null?f._vnode&&Oe(f._vnode,null,null,!0):M(f._vnode||null,a,f,null,null,null,g),$n||($n=!0,Ys(),fn(),$n=!1),f._vnode=a},dt={p:M,um:Oe,m:et,r:Hs,mt:re,mc:R,pc:H,pbc:S,n:Kt,o:e};let Hn,jn;return t&&([Hn,jn]=t(dt)),{render:js,hydrate:Hn,createApp:Fl(js,Hn)}}function Kn({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function tt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Lo(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Io(e,t,n=!1){const s=e.children,r=t.children;if(B(s)&&B(r))for(let o=0;o>1,e[n[l]]0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function Po(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Po(t)}const zl=e=>e.__isTeleport,ge=Symbol.for("v-fgt"),Ct=Symbol.for("v-txt"),ve=Symbol.for("v-cmt"),Mt=Symbol.for("v-stc"),Nt=[];let Re=null;function Mo(e=!1){Nt.push(Re=e?null:[])}function Xl(){Nt.pop(),Re=Nt[Nt.length-1]||null}let Vt=1;function cr(e){Vt+=e}function No(e){return e.dynamicChildren=Vt>0?Re||mt:null,Xl(),Vt>0&&Re&&Re.push(e),e}function Wa(e,t,n,s,r,o){return No(Ho(e,t,n,s,r,o,!0))}function Fo(e,t,n,s,r){return No(ae(e,t,n,s,r,!0))}function mn(e){return e?e.__v_isVNode===!0:!1}function ot(e,t){return e.type===t.type&&e.key===t.key}const Mn="__vInternal",$o=({key:e})=>e??null,on=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ne(e)||de(e)||U(e)?{i:fe,r:e,k:t,f:!!n}:e:null);function Ho(e,t=null,n=null,s=0,r=null,o=e===ge?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&$o(t),ref:t&&on(t),scopeId:Rn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:fe};return l?(Ns(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=ne(n)?8:16),Vt>0&&!i&&Re&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&Re.push(c),c}const ae=Yl;function Yl(e,t=null,n=null,s=0,r=null,o=!1){if((!e||e===uo)&&(e=ve),mn(e)){const l=Ze(e,t,!0);return n&&Ns(l,n),Vt>0&&!o&&Re&&(l.shapeFlag&6?Re[Re.indexOf(e)]=l:Re.push(l)),l.patchFlag|=-2,l}if(ic(e)&&(e=e.__vccOpts),t){t=Jl(t);let{class:l,style:c}=t;l&&!ne(l)&&(t.class=vs(l)),Z(c)&&(eo(c)&&!B(c)&&(c=oe({},c)),t.style=bs(c))}const i=ne(e)?1:ul(e)?128:zl(e)?64:Z(e)?4:U(e)?2:0;return Ho(e,t,n,s,r,i,o,!0)}function Jl(e){return e?eo(e)||Mn in e?oe({},e):e:null}function Ze(e,t,n=!1){const{props:s,ref:r,patchFlag:o,children:i}=e,l=t?Ql(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&$o(l),ref:t&&t.ref?n&&r?B(r)?r.concat(on(t)):[r,on(t)]:on(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ge?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ze(e.ssContent),ssFallback:e.ssFallback&&Ze(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function jo(e=" ",t=0){return ae(Ct,null,e,t)}function qa(e,t){const n=ae(Mt,null,e);return n.staticCount=t,n}function Ga(e="",t=!1){return t?(Mo(),Fo(ve,null,e)):ae(ve,null,e)}function Ae(e){return e==null||typeof e=="boolean"?ae(ve):B(e)?ae(ge,null,e.slice()):typeof e=="object"?We(e):ae(Ct,null,String(e))}function We(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ze(e)}function Ns(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(B(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Ns(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(Mn in t)?t._ctx=fe:r===3&&fe&&(fe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else U(t)?(t={default:t,_ctx:fe},n=32):(t=String(t),s&64?(n=16,t=[jo(t)]):n=8);e.children=t,e.shapeFlag|=n}function Ql(...e){const t={};for(let n=0;nce||fe;let yn,fs;{const e=jr(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),o=>{r.length>1?r.forEach(i=>i(o)):r[0](o)}};yn=t("__VUE_INSTANCE_SETTERS__",n=>ce=n),fs=t("__VUE_SSR_SETTERS__",n=>Fn=n)}const kt=e=>{const t=ce;return yn(e),e.scope.on(),()=>{e.scope.off(),yn(t)}},ar=()=>{ce&&ce.scope.off(),yn(null)};function Vo(e){return e.vnode.shapeFlag&4}let Fn=!1;function nc(e,t=!1){t&&fs(t);const{props:n,children:s}=e.vnode,r=Vo(e);Hl(e,n,r,t),Dl(e,s);const o=r?sc(e,t):void 0;return t&&fs(!1),o}function sc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Lt(new Proxy(e.ctx,Al));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?Bo(e):null,o=kt(e);ut();const i=ze(s,e,0,[e.props,r]);if(ft(),o(),Fr(i)){if(i.then(ar,ar),t)return i.then(l=>{ur(e,l,t)}).catch(l=>{Sn(l,e,0)});e.asyncDep=i}else ur(e,i,t)}else Do(e,t)}function ur(e,t,n){U(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Z(t)&&(e.setupState=oo(t)),Do(e,n)}let fr;function Do(e,t,n){const s=e.type;if(!e.render){if(!t&&fr&&!s.render){const r=s.template||Ps(e).template;if(r){const{isCustomElement:o,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,u=oe(oe({isCustomElement:o,delimiters:l},i),c);s.render=fr(r,u)}}e.render=s.render||xe}{const r=kt(e);ut();try{Ol(e)}finally{ft(),r()}}}function rc(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return ye(e,"get","$attrs"),t[n]}}))}function Bo(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return rc(e)},slots:e.slots,emit:e.emit,expose:t}}function Fs(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(oo(Lt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Pt)return Pt[n](e)},has(t,n){return n in t||n in Pt}}))}function oc(e,t=!0){return U(e)?e.displayName||e.name:e.name||t&&e.__name}function ic(e){return U(e)&&"__vccOpts"in e}const se=(e,t)=>Ki(e,t,Fn);function ds(e,t,n){const s=arguments.length;return s===2?Z(t)&&!B(t)?mn(t)?ae(e,null,[t]):ae(e,t):ae(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&mn(n)&&(n=[n]),ae(e,t,n))}const lc="3.4.15";/** +* @vue/runtime-dom v3.4.15 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const cc="http://www.w3.org/2000/svg",ac="http://www.w3.org/1998/Math/MathML",qe=typeof document<"u"?document:null,dr=qe&&qe.createElement("template"),uc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?qe.createElementNS(cc,e):t==="mathml"?qe.createElementNS(ac,e):qe.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>qe.createTextNode(e),createComment:e=>qe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>qe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,o){const i=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{dr.innerHTML=s==="svg"?`${e}`:s==="mathml"?`${e}`:e;const l=dr.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Be="transition",At="animation",Dt=Symbol("_vtc"),ko=(e,{slots:t})=>ds(ml,fc(e),t);ko.displayName="Transition";const Uo={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};ko.props=oe({},mo,Uo);const nt=(e,t=[])=>{B(e)?e.forEach(n=>n(...t)):e&&e(...t)},hr=e=>e?B(e)?e.some(t=>t.length>1):e.length>1:!1;function fc(e){const t={};for(const O in e)O in Uo||(t[O]=e[O]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=o,appearActiveClass:u=i,appearToClass:d=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:m=`${n}-leave-active`,leaveToClass:w=`${n}-leave-to`}=e,L=dc(r),M=L&&L[0],F=L&&L[1],{onBeforeEnter:W,onEnter:J,onEnterCancelled:p,onLeave:y,onLeaveCancelled:N,onBeforeAppear:I=W,onAppear:D=J,onAppearCancelled:R=p}=t,T=(O,q,re)=>{st(O,q?d:l),st(O,q?u:i),re&&re()},S=(O,q)=>{O._isLeaving=!1,st(O,h),st(O,w),st(O,m),q&&q()},K=O=>(q,re)=>{const le=O?D:J,j=()=>T(q,O,re);nt(le,[q,j]),pr(()=>{st(q,O?c:o),ke(q,O?d:l),hr(le)||gr(q,s,M,j)})};return oe(t,{onBeforeEnter(O){nt(W,[O]),ke(O,o),ke(O,i)},onBeforeAppear(O){nt(I,[O]),ke(O,c),ke(O,u)},onEnter:K(!1),onAppear:K(!0),onLeave(O,q){O._isLeaving=!0;const re=()=>S(O,q);ke(O,h),gc(),ke(O,m),pr(()=>{O._isLeaving&&(st(O,h),ke(O,w),hr(y)||gr(O,s,F,re))}),nt(y,[O,re])},onEnterCancelled(O){T(O,!1),nt(p,[O])},onAppearCancelled(O){T(O,!0),nt(R,[O])},onLeaveCancelled(O){S(O),nt(N,[O])}})}function dc(e){if(e==null)return null;if(Z(e))return[Wn(e.enter),Wn(e.leave)];{const t=Wn(e);return[t,t]}}function Wn(e){return hi(e)}function ke(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Dt]||(e[Dt]=new Set)).add(t)}function st(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[Dt];n&&(n.delete(t),n.size||(e[Dt]=void 0))}function pr(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let hc=0;function gr(e,t,n,s){const r=e._endId=++hc,o=()=>{r===e._endId&&s()};if(n)return setTimeout(o,n);const{type:i,timeout:l,propCount:c}=pc(e,t);if(!i)return s();const u=i+"end";let d=0;const h=()=>{e.removeEventListener(u,m),o()},m=w=>{w.target===e&&++d>=c&&h()};setTimeout(()=>{d(n[L]||"").split(", "),r=s(`${Be}Delay`),o=s(`${Be}Duration`),i=mr(r,o),l=s(`${At}Delay`),c=s(`${At}Duration`),u=mr(l,c);let d=null,h=0,m=0;t===Be?i>0&&(d=Be,h=i,m=o.length):t===At?u>0&&(d=At,h=u,m=c.length):(h=Math.max(i,u),d=h>0?i>u?Be:At:null,m=d?d===Be?o.length:c.length:0);const w=d===Be&&/\b(transform|all)(,|$)/.test(s(`${Be}Property`).toString());return{type:d,timeout:h,propCount:m,hasTransform:w}}function mr(e,t){for(;e.lengthyr(n)+yr(e[s])))}function yr(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function gc(){return document.body.offsetHeight}function mc(e,t,n){const s=e[Dt];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const yc=Symbol("_vod"),_c=Symbol("");function bc(e,t,n){const s=e.style,r=s.display,o=ne(n);if(n&&!o){if(t&&!ne(t))for(const i in t)n[i]==null&&hs(s,i,"");for(const i in n)hs(s,i,n[i])}else if(o){if(t!==n){const i=s[_c];i&&(n+=";"+i),s.cssText=n}}else t&&e.removeAttribute("style");yc in e&&(s.display=r)}const _r=/\s*!important$/;function hs(e,t,n){if(B(n))n.forEach(s=>hs(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=vc(e,t);_r.test(n)?e.setProperty(at(s),n.replace(_r,""),"important"):e[s]=n}}const br=["Webkit","Moz","ms"],qn={};function vc(e,t){const n=qn[t];if(n)return n;let s=Me(t);if(s!=="filter"&&s in e)return qn[t]=s;s=wn(s);for(let r=0;rGn||(Ac.then(()=>Gn=0),Gn=Date.now());function Oc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;Se(Lc(s,n.value),t,5,[s])};return n.value=e,n.attached=Rc(),n}function Lc(e,t){if(B(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Cr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Ic=(e,t,n,s,r,o,i,l,c)=>{const u=r==="svg";t==="class"?mc(e,s,u):t==="style"?bc(e,n,s):Bt(t)?ms(t)||Sc(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Pc(e,t,s,u))?Ec(e,t,s,o,i,l,c):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),wc(e,t,s,u))};function Pc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Cr(t)&&U(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Cr(t)&&ne(n)?!1:t in e}const Mc=["ctrl","shift","alt","meta"],Nc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Mc.some(n=>e[`${n}Key`]&&!t.includes(n))},za=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...o)=>{for(let i=0;i{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const o=at(r.key);if(t.some(i=>i===o||Fc[i]===o))return e(r)})},$c=oe({patchProp:Ic},uc);let zn,xr=!1;function Hc(){return zn=xr?zn:Wl($c),xr=!0,zn}const Ya=(...e)=>{const t=Hc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Vc(s);if(r)return n(r,!0,jc(r))},t};function jc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Vc(e){return ne(e)?document.querySelector(e):e}const Ja=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},Dc="modulepreload",Bc=function(e){return"/"+e},Sr={},Qa=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){const o=document.getElementsByTagName("link");r=Promise.all(n.map(i=>{if(i=Bc(i),i in Sr)return;Sr[i]=!0;const l=i.endsWith(".css"),c=l?'[rel="stylesheet"]':"";if(!!s)for(let h=o.length-1;h>=0;h--){const m=o[h];if(m.href===i&&(!l||m.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${c}`))return;const d=document.createElement("link");if(d.rel=l?"stylesheet":Dc,l||(d.as="script",d.crossOrigin=""),d.href=i,document.head.appendChild(d),l)return new Promise((h,m)=>{d.addEventListener("load",h),d.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${i}`)))})}))}return r.then(()=>t()).catch(o=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o})},kc=window.__VP_SITE_DATA__;function $s(e){return Br()?(Ei(e),!0):!1}function Ye(e){return typeof e=="function"?e():ro(e)}const Ko=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Uc=Object.prototype.toString,Kc=e=>Uc.call(e)==="[object Object]",Ft=()=>{},ps=Wc();function Wc(){var e,t;return Ko&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function qc(e,t){function n(...s){return new Promise((r,o)=>{Promise.resolve(e(()=>t.apply(this,s),{fn:t,thisArg:this,args:s})).then(r).catch(o)})}return n}const Wo=e=>e();function Gc(e=Wo){const t=me(!0);function n(){t.value=!1}function s(){t.value=!0}const r=(...o)=>{t.value&&e(...o)};return{isActive:xn(t),pause:n,resume:s,eventFilter:r}}function zc(e){return e||Nn()}function qo(...e){if(e.length!==1)return Ji(...e);const t=e[0];return typeof t=="function"?xn(zi(()=>({get:t,set:Ft}))):me(t)}function Xc(e,t,n={}){const{eventFilter:s=Wo,...r}=n;return Xe(e,qc(s,t),r)}function Yc(e,t,n={}){const{eventFilter:s,...r}=n,{eventFilter:o,pause:i,resume:l,isActive:c}=Gc(s);return{stop:Xc(e,t,{...r,eventFilter:o}),pause:i,resume:l,isActive:c}}function Go(e,t=!0,n){zc()?St(e,n):t?e():Tn(e)}function gt(e){var t;const n=Ye(e);return(t=n==null?void 0:n.$el)!=null?t:n}const He=Ko?window:void 0;function Je(...e){let t,n,s,r;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,s,r]=e,t=He):[t,n,s,r]=e,!t)return Ft;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const o=[],i=()=>{o.forEach(d=>d()),o.length=0},l=(d,h,m,w)=>(d.addEventListener(h,m,w),()=>d.removeEventListener(h,m,w)),c=Xe(()=>[gt(t),Ye(r)],([d,h])=>{if(i(),!d)return;const m=Kc(h)?{...h}:h;o.push(...n.flatMap(w=>s.map(L=>l(d,w,L,m))))},{immediate:!0,flush:"post"}),u=()=>{c(),i()};return $s(u),u}let Tr=!1;function Za(e,t,n={}){const{window:s=He,ignore:r=[],capture:o=!0,detectIframe:i=!1}=n;if(!s)return Ft;ps&&!Tr&&(Tr=!0,Array.from(s.document.body.children).forEach(m=>m.addEventListener("click",Ft)),s.document.documentElement.addEventListener("click",Ft));let l=!0;const c=m=>r.some(w=>{if(typeof w=="string")return Array.from(s.document.querySelectorAll(w)).some(L=>L===m.target||m.composedPath().includes(L));{const L=gt(w);return L&&(m.target===L||m.composedPath().includes(L))}}),d=[Je(s,"click",m=>{const w=gt(e);if(!(!w||w===m.target||m.composedPath().includes(w))){if(m.detail===0&&(l=!c(m)),!l){l=!0;return}t(m)}},{passive:!0,capture:o}),Je(s,"pointerdown",m=>{const w=gt(e);l=!c(m)&&!!(w&&!m.composedPath().includes(w))},{passive:!0}),i&&Je(s,"blur",m=>{setTimeout(()=>{var w;const L=gt(e);((w=s.document.activeElement)==null?void 0:w.tagName)==="IFRAME"&&!(L!=null&&L.contains(s.document.activeElement))&&t(m)},0)})].filter(Boolean);return()=>d.forEach(m=>m())}function Jc(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function eu(...e){let t,n,s={};e.length===3?(t=e[0],n=e[1],s=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],s=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:r=He,eventName:o="keydown",passive:i=!1,dedupe:l=!1}=s,c=Jc(t);return Je(r,o,d=>{d.repeat&&Ye(l)||c(d)&&n(d)},i)}function Qc(){const e=me(!1);return Nn()&&St(()=>{e.value=!0}),e}function Zc(e){const t=Qc();return se(()=>(t.value,!!e()))}function ea(e,t={}){const{window:n=He}=t,s=Zc(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let r;const o=me(!1),i=u=>{o.value=u.matches},l=()=>{r&&("removeEventListener"in r?r.removeEventListener("change",i):r.removeListener(i))},c=po(()=>{s.value&&(l(),r=n.matchMedia(Ye(e)),"addEventListener"in r?r.addEventListener("change",i):r.addListener(i),o.value=r.matches)});return $s(()=>{c(),l(),r=void 0}),o}const en=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},tn="__vueuse_ssr_handlers__",ta=na();function na(){return tn in en||(en[tn]=en[tn]||{}),en[tn]}function zo(e,t){return ta[e]||t}function sa(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const ra={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},Ar="vueuse-storage";function oa(e,t,n,s={}){var r;const{flush:o="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:u=!1,shallow:d,window:h=He,eventFilter:m,onError:w=T=>{console.error(T)},initOnMounted:L}=s,M=(d?no:me)(typeof t=="function"?t():t);if(!n)try{n=zo("getDefaultStorage",()=>{var T;return(T=He)==null?void 0:T.localStorage})()}catch(T){w(T)}if(!n)return M;const F=Ye(t),W=sa(F),J=(r=s.serializer)!=null?r:ra[W],{pause:p,resume:y}=Yc(M,()=>N(M.value),{flush:o,deep:i,eventFilter:m});return h&&l&&Go(()=>{Je(h,"storage",R),Je(h,Ar,D),L&&R()}),L||R(),M;function N(T){try{if(T==null)n.removeItem(e);else{const S=J.write(T),K=n.getItem(e);K!==S&&(n.setItem(e,S),h&&h.dispatchEvent(new CustomEvent(Ar,{detail:{key:e,oldValue:K,newValue:S,storageArea:n}})))}}catch(S){w(S)}}function I(T){const S=T?T.newValue:n.getItem(e);if(S==null)return c&&F!=null&&n.setItem(e,J.write(F)),F;if(!T&&u){const K=J.read(S);return typeof u=="function"?u(K,F):W==="object"&&!Array.isArray(K)?{...F,...K}:K}else return typeof S!="string"?S:J.read(S)}function D(T){R(T.detail)}function R(T){if(!(T&&T.storageArea!==n)){if(T&&T.key==null){M.value=F;return}if(!(T&&T.key!==e)){p();try{(T==null?void 0:T.newValue)!==J.write(M.value)&&(M.value=I(T))}catch(S){w(S)}finally{T?Tn(y):y()}}}}}function Xo(e){return ea("(prefers-color-scheme: dark)",e)}function ia(e={}){const{selector:t="html",attribute:n="class",initialValue:s="auto",window:r=He,storage:o,storageKey:i="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:u,disableTransition:d=!0}=e,h={auto:"",light:"light",dark:"dark",...e.modes||{}},m=Xo({window:r}),w=se(()=>m.value?"dark":"light"),L=c||(i==null?qo(s):oa(i,s,o,{window:r,listenToStorageChanges:l})),M=se(()=>L.value==="auto"?w.value:L.value),F=zo("updateHTMLAttrs",(y,N,I)=>{const D=typeof y=="string"?r==null?void 0:r.document.querySelector(y):gt(y);if(!D)return;let R;if(d&&(R=r.document.createElement("style"),R.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),r.document.head.appendChild(R)),N==="class"){const T=I.split(/\s/g);Object.values(h).flatMap(S=>(S||"").split(/\s/g)).filter(Boolean).forEach(S=>{T.includes(S)?D.classList.add(S):D.classList.remove(S)})}else D.setAttribute(N,I);d&&(r.getComputedStyle(R).opacity,document.head.removeChild(R))});function W(y){var N;F(t,n,(N=h[y])!=null?N:y)}function J(y){e.onChanged?e.onChanged(y,W):W(y)}Xe(M,J,{flush:"post",immediate:!0}),Go(()=>J(M.value));const p=se({get(){return u?L.value:M.value},set(y){L.value=y}});try{return Object.assign(p,{store:L,system:w,state:M})}catch{return p}}function la(e={}){const{valueDark:t="dark",valueLight:n="",window:s=He}=e,r=ia({...e,onChanged:(l,c)=>{var u;e.onChanged?(u=e.onChanged)==null||u.call(e,l==="dark",c,l):c(l)},modes:{dark:t,light:n}}),o=se(()=>r.system?r.system.value:Xo({window:s}).value?"dark":"light");return se({get(){return r.value==="dark"},set(l){const c=l?"dark":"light";o.value===c?r.value="auto":r.value=c}})}function Xn(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function Yo(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const nn=new WeakMap;function tu(e,t=!1){const n=me(t);let s=null,r;Xe(qo(e),l=>{const c=Xn(Ye(l));if(c){const u=c;nn.get(u)||nn.set(u,r),n.value&&(u.style.overflow="hidden")}},{immediate:!0});const o=()=>{const l=Xn(Ye(e));!l||n.value||(ps&&(s=Je(l,"touchmove",c=>{ca(c)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},i=()=>{var l;const c=Xn(Ye(e));!c||!n.value||(ps&&(s==null||s()),c.style.overflow=(l=nn.get(c))!=null?l:"",nn.delete(c),n.value=!1)};return $s(i),se({get(){return n.value},set(l){l?o():i()}})}function nu(e={}){const{window:t=He,behavior:n="auto"}=e;if(!t)return{x:me(0),y:me(0)};const s=me(t.scrollX),r=me(t.scrollY),o=se({get(){return s.value},set(l){scrollTo({left:l,behavior:n})}}),i=se({get(){return r.value},set(l){scrollTo({top:l,behavior:n})}});return Je(t,"scroll",()=>{s.value=t.scrollX,r.value=t.scrollY},{capture:!1,passive:!0}),{x:o,y:i}}var Yn={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1},aa={};const Jo=/^(?:[a-z]+:|\/\/)/i,ua="vitepress-theme-appearance",Qo=/#.*$/,fa=/(index)?\.(md|html)$/,Ce=typeof document<"u",Zo={relativePath:"",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function da(e,t,n=!1){if(t===void 0)return!1;if(e=Rr(`/${e}`),n)return new RegExp(t).test(e);if(Rr(t)!==e)return!1;const s=t.match(Qo);return s?(Ce?location.hash:"")===s[0]:!0}function Rr(e){return decodeURI(e).replace(Qo,"").replace(fa,"")}function ha(e){return Jo.test(e)}function pa(e,t){var s,r,o,i,l,c,u;const n=Object.keys(e.locales).find(d=>d!=="root"&&!ha(d)&&da(t,`/${d}/`,!0))||"root";return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((o=e.locales[n])==null?void 0:o.title)??e.title,titleTemplate:((i=e.locales[n])==null?void 0:i.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:ti(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(u=e.locales[n])==null?void 0:u.themeConfig}})}function ei(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=ga(e.title,s);return n===r.slice(3)?n:`${n}${r}`}function ga(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function ma(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([o,i])=>o===n&&i[r[0]]===r[1])}function ti(e,t){return[...e.filter(n=>!ma(t,n)),...t]}const ya=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,_a=/^[a-z]:/i;function Or(e){const t=_a.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(ya,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const Jn=typeof process=="object"&&aa.VITE_EXTRA_EXTENSIONS||(Yn==null?void 0:Yn.VITE_EXTRA_EXTENSIONS)||"",ba=new Set(("3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip"+(Jn&&typeof Jn=="string"?","+Jn:"")).split(","));function va(e){const t=e.split(".").pop();return t==null||!ba.has(t.toLowerCase())}const wa=Symbol(),ct=no(kc);function su(e){const t=se(()=>pa(ct.value,e.data.relativePath)),n=t.value.appearance,s=n==="force-dark"?me(!0):n?la({storageKey:ua,initialValue:()=>typeof n=="string"?n:"auto",...typeof n=="object"?n:{}}):me(!1);return{site:t,theme:se(()=>t.value.themeConfig),page:se(()=>e.data),frontmatter:se(()=>e.data.frontmatter),params:se(()=>e.data.params),lang:se(()=>t.value.lang),dir:se(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:se(()=>t.value.localeIndex||"root"),title:se(()=>ei(t.value,e.data)),description:se(()=>e.data.description||t.value.description),isDark:s}}function Ea(){const e=wt(wa);if(!e)throw new Error("vitepress data not properly injected in app");return e}function Ca(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function Lr(e){return Jo.test(e)||!e.startsWith("/")?e:Ca(ct.value.base,e)}function xa(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),Ce){const n="/";t=Or(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];if(s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),!s)return null;t=`${n}assets/${t}.${s}.js`}else t=`./${Or(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let ln=[];function ru(e){ln.push(e),Pn(()=>{ln=ln.filter(t=>t!==e)})}function Sa(){let e=ct.value.scrollOffset,t=0,n=24;if(typeof e=="object"&&"padding"in e&&(n=e.padding,e=e.selector),typeof e=="number")t=e;else if(typeof e=="string")t=Ir(e,n);else if(Array.isArray(e))for(const s of e){const r=Ir(s,n);if(r){t=r;break}}return t}function Ir(e,t){const n=document.querySelector(e);if(!n)return 0;const s=n.getBoundingClientRect().bottom;return s<0?0:s+t}const Ta=Symbol(),ni="http://a.com",Aa=()=>({path:"/",component:null,data:Zo});function ou(e,t){const n=Cn(Aa()),s={route:n,go:r};async function r(l=Ce?location.href:"/"){var c,u;l=_n(l),await((c=s.onBeforeRouteChange)==null?void 0:c.call(s,l))!==!1&&(Mr(l),await i(l),await((u=s.onAfterRouteChanged)==null?void 0:u.call(s,l)))}let o=null;async function i(l,c=0,u=!1){var m;if(await((m=s.onBeforePageLoad)==null?void 0:m.call(s,l))===!1)return;const d=new URL(l,ni),h=o=d.pathname;try{let w=await e(h);if(!w)throw new Error(`Page not found: ${h}`);if(o===h){o=null;const{default:L,__pageData:M}=w;if(!L)throw new Error(`Invalid route component: ${L}`);n.path=Ce?h:Lr(h),n.component=Lt(L),n.data=Lt(M),Ce&&Tn(()=>{let F=ct.value.base+M.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!ct.value.cleanUrls&&!F.endsWith("/")&&(F+=".html"),F!==d.pathname&&(d.pathname=F,l=F+d.search+d.hash,history.replaceState(null,"",l)),d.hash&&!c){let W=null;try{W=document.getElementById(decodeURIComponent(d.hash).slice(1))}catch(J){console.warn(J)}if(W){Pr(W,d.hash);return}}window.scrollTo(0,c)})}}catch(w){if(!/fetch|Page not found/.test(w.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(w),!u)try{const L=await fetch(ct.value.base+"hashmap.json");window.__VP_HASH_MAP__=await L.json(),await i(l,c,!0);return}catch{}o===h&&(o=null,n.path=Ce?h:Lr(h),n.component=t?Lt(t):null,n.data=Zo)}}return Ce&&(window.addEventListener("click",l=>{if(l.target.closest("button"))return;const u=l.target.closest("a");if(u&&!u.closest(".vp-raw")&&(u instanceof SVGElement||!u.download)){const{target:d}=u,{href:h,origin:m,pathname:w,hash:L,search:M}=new URL(u.href instanceof SVGAnimatedString?u.href.animVal:u.href,u.baseURI),F=window.location;!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&!d&&m===F.origin&&va(w)&&(l.preventDefault(),w===F.pathname&&M===F.search?(L!==F.hash&&(history.pushState(null,"",L),window.dispatchEvent(new Event("hashchange"))),L?Pr(u,L,u.classList.contains("header-anchor")):(Mr(h),window.scrollTo(0,0))):r(h))}},{capture:!0}),window.addEventListener("popstate",async l=>{var c;await i(_n(location.href),l.state&&l.state.scrollPosition||0),(c=s.onAfterRouteChanged)==null||c.call(s,location.href)}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function Ra(){const e=wt(Ta);if(!e)throw new Error("useRouter() is called without provider.");return e}function si(){return Ra().route}function Pr(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(r){console.warn(r)}if(s){let r=function(){!n||Math.abs(i-window.scrollY)>window.innerHeight?window.scrollTo(0,i):window.scrollTo({left:0,top:i,behavior:"smooth"})};const o=parseInt(window.getComputedStyle(s).paddingTop,10),i=window.scrollY+s.getBoundingClientRect().top-Sa()+o;requestAnimationFrame(r)}}function Mr(e){Ce&&_n(e)!==_n(location.href)&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",e))}function _n(e){const t=new URL(e,ni);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),ct.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}const Qn=()=>ln.forEach(e=>e()),iu=bo({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=si(),{site:n}=Ea();return()=>ds(e.as,n.value.contentProps??{style:{position:"relative"}},[t.component?ds(t.component,{onVnodeMounted:Qn,onVnodeUpdated:Qn,onVnodeUnmounted:Qn}):"404 Page Not Found"])}}),lu=bo({setup(e,{slots:t}){const n=me(!1);return St(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function cu(){Ce&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const s=(n=t.parentElement)==null?void 0:n.parentElement;if(!s)return;const r=Array.from(s.querySelectorAll("input")).indexOf(t);if(r<0)return;const o=s.querySelector(".blocks");if(!o)return;const i=Array.from(o.children).find(u=>u.classList.contains("active"));if(!i)return;const l=o.children[r];if(!l||i===l)return;i.classList.remove("active"),l.classList.add("active");const c=s==null?void 0:s.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function au(){if(Ce){const e=new WeakMap;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,o=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!o)return;const i=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className),l=[".vp-copy-ignore",".diff.remove"],c=o.cloneNode(!0);c.querySelectorAll(l.join(",")).forEach(d=>d.remove());let u=c.textContent||"";i&&(u=u.replace(/^ *(\$|>) /gm,"").trim()),Oa(u).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const d=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,d)})}})}}async function Oa(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),r=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(s.removeAllRanges(),s.addRange(r)),n&&n.focus()}}function uu(e,t){let n=!0,s=[];const r=o=>{if(n){n=!1,o.forEach(l=>{const c=Zn(l);for(const u of document.head.children)if(u.isEqualNode(c)){s.push(u);return}});return}const i=o.map(Zn);s.forEach((l,c)=>{const u=i.findIndex(d=>d==null?void 0:d.isEqualNode(l??null));u!==-1?delete i[u]:(l==null||l.remove(),delete s[c])}),i.forEach(l=>l&&document.head.appendChild(l)),s=[...s,...i].filter(Boolean)};po(()=>{const o=e.data,i=t.value,l=o&&o.description,c=o&&o.frontmatter.head||[],u=ei(i,o);u!==document.title&&(document.title=u);const d=l||i.description;let h=document.querySelector("meta[name=description]");h?h.getAttribute("content")!==d&&h.setAttribute("content",d):Zn(["meta",{name:"description",content:d}]),r(ti(i.head,Ia(c)))})}function Zn([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),e==="script"&&!t.async&&(s.async=!1),s}function La(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function Ia(e){return e.filter(t=>!La(t))}const es=new Set,ri=()=>document.createElement("link"),Pa=e=>{const t=ri();t.rel="prefetch",t.href=e,document.head.appendChild(t)},Ma=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let sn;const Na=Ce&&(sn=ri())&&sn.relList&&sn.relList.supports&&sn.relList.supports("prefetch")?Pa:Ma;function fu(){if(!Ce||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(o=>{o.forEach(i=>{if(i.isIntersecting){const l=i.target;n.unobserve(l);const{pathname:c}=l;if(!es.has(c)){es.add(c);const u=xa(c);u&&Na(u)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(o=>{const{hostname:i,pathname:l}=new URL(o.href instanceof SVGAnimatedString?o.href.animVal:o.href,o.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||o.target!=="_blank"&&i===location.hostname&&(l!==location.pathname?n.observe(o):es.add(l))})})};St(s);const r=si();Xe(()=>r.path,s),Pn(()=>{n&&n.disconnect()})}export{Xa as $,Pn as A,Da as B,El as C,Sa as D,Ba as E,ge as F,ja as G,no as H,ru as I,ae as J,Va as K,Jo as L,si as M,Ql as N,wt as O,Za as P,eu as Q,bs as R,Tn as S,ko as T,nu as U,qa as V,xn as W,tu as X,$l as Y,Ua as Z,Ja as _,jo as a,za as a0,Ka as a1,uu as a2,Ta as a3,su as a4,wa as a5,iu as a6,lu as a7,ct as a8,Ya as a9,ou as aa,xa as ab,Qa as ac,fu as ad,au as ae,cu as af,ds as ag,Fo as b,Wa as c,bo as d,Ga as e,va as f,Lr as g,me as h,ha as i,Ce as j,se as k,St as l,Ho as m,vs as n,Mo as o,ro as p,$a as q,ka as r,Ha as s,Fa as t,Ea as u,da as v,ol as w,ea as x,Xe as y,po as z}; diff --git a/assets/chunks/theme.fmbmN27o.js b/assets/chunks/theme.fmbmN27o.js new file mode 100644 index 0000000..1f30b11 --- /dev/null +++ b/assets/chunks/theme.fmbmN27o.js @@ -0,0 +1 @@ +import{d as m,o as a,c as l,r as d,n as C,a as A,t as V,b as k,w as p,e as f,T as ve,_ as g,u as ye,i as Fe,f as Oe,g as W,h as S,j as K,k as b,l as G,m as c,p as r,q as E,s as x,v as U,x as le,y as R,z as te,A as he,B as we,C as We,D as je,F as L,E as H,G as z,H as Pe,I as se,J as _,K as j,L as Ve,M as Z,N as Q,O as ne,P as Ue,Q as Ge,R as Re,S as qe,U as Le,V as Ke,W as Ze,X as Se,Y as Me,Z as Je,$ as Ye,a0 as Qe,a1 as Xe}from"./framework.dxpx44BK.js";const et=m({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(s){return(e,t)=>(a(),l("span",{class:C(["VPBadge",e.type])},[d(e.$slots,"default",{},()=>[A(V(e.text),1)])],2))}}),tt={key:0,class:"VPBackdrop"},st=m({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(s){return(e,t)=>(a(),k(ve,{name:"fade"},{default:p(()=>[e.show?(a(),l("div",tt)):f("",!0)]),_:1}))}}),nt=g(st,[["__scopeId","data-v-c79a1216"]]),P=ye;function ot(s,e){let t,n=!1;return()=>{t&&clearTimeout(t),n?t=setTimeout(s,e):(s(),(n=!0)&&setTimeout(()=>n=!1,e))}}function ce(s){return/^\//.test(s)?s:`/${s}`}function pe(s){const{pathname:e,search:t,hash:n,protocol:o}=new URL(s,"http://a.com");if(Fe(s)||s.startsWith("#")||!o.startsWith("http")||!Oe(e))return s;const{site:i}=P(),u=e.endsWith("/")||e.endsWith(".html")?s:s.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${n}`);return W(u)}const _e=S(K?location.hash:"");K&&window.addEventListener("hashchange",()=>{_e.value=location.hash});function J({removeCurrent:s=!0,correspondingLink:e=!1}={}){const{site:t,localeIndex:n,page:o,theme:i}=P(),u=b(()=>{var v,$;return{label:(v=t.value.locales[n.value])==null?void 0:v.label,link:(($=t.value.locales[n.value])==null?void 0:$.link)||(n.value==="root"?"/":`/${n.value}/`)}});return{localeLinks:b(()=>Object.entries(t.value.locales).flatMap(([v,$])=>s&&u.value.label===$.label?[]:{text:$.label,link:at($.link||(v==="root"?"/":`/${v}/`),i.value.i18nRouting!==!1&&e,o.value.relativePath.slice(u.value.link.length-1),!t.value.cleanUrls)+_e.value})),currentLang:u}}function at(s,e,t,n){return e?s.replace(/\/$/,"")+ce(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,n?".html":"")):s}const rt=s=>(E("data-v-f87ff6e4"),s=s(),x(),s),it={class:"NotFound"},lt={class:"code"},ct={class:"title"},ut=rt(()=>c("div",{class:"divider"},null,-1)),dt={class:"quote"},vt={class:"action"},ht=["href","aria-label"],pt=m({__name:"NotFound",setup(s){const{site:e,theme:t}=P(),{localeLinks:n}=J({removeCurrent:!1}),o=S("/");return G(()=>{var u;const i=window.location.pathname.replace(e.value.base,"").replace(/(^.*?\/).*$/,"/$1");n.value.length&&(o.value=((u=n.value.find(({link:h})=>h.startsWith(i)))==null?void 0:u.link)||n.value[0].link)}),(i,u)=>{var h,v,$,y,w;return a(),l("div",it,[c("p",lt,V(((h=r(t).notFound)==null?void 0:h.code)??"404"),1),c("h1",ct,V(((v=r(t).notFound)==null?void 0:v.title)??"PAGE NOT FOUND"),1),ut,c("blockquote",dt,V((($=r(t).notFound)==null?void 0:$.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),c("div",vt,[c("a",{class:"link",href:r(W)(o.value),"aria-label":((y=r(t).notFound)==null?void 0:y.linkLabel)??"go to home"},V(((w=r(t).notFound)==null?void 0:w.linkText)??"Take me home"),9,ht)])])}}}),_t=g(pt,[["__scopeId","data-v-f87ff6e4"]]);function Te(s,e){if(Array.isArray(s))return X(s);if(s==null)return[];e=ce(e);const t=Object.keys(s).sort((o,i)=>i.split("/").length-o.split("/").length).find(o=>e.startsWith(ce(o))),n=t?s[t]:[];return Array.isArray(n)?X(n):X(n.items,n.base)}function ft(s){const e=[];let t=0;for(const n in s){const o=s[n];if(o.items){t=e.push(o);continue}e[t]||e.push({items:[]}),e[t].items.push(o)}return e}function mt(s){const e=[];function t(n){for(const o of n)o.text&&o.link&&e.push({text:o.text,link:o.link,docFooterText:o.docFooterText}),o.items&&t(o.items)}return t(s),e}function ue(s,e){return Array.isArray(e)?e.some(t=>ue(s,t)):U(s,e.link)?!0:e.items?ue(s,e.items):!1}function X(s,e){return[...s].map(t=>{const n={...t},o=n.base||e;return o&&n.link&&(n.link=o+n.link),n.items&&(n.items=X(n.items,o)),n})}function F(){const{frontmatter:s,page:e,theme:t}=P(),n=le("(min-width: 960px)"),o=S(!1),i=b(()=>{const B=t.value.sidebar,M=e.value.relativePath;return B?Te(B,M):[]}),u=S(i.value);R(i,(B,M)=>{JSON.stringify(B)!==JSON.stringify(M)&&(u.value=i.value)});const h=b(()=>s.value.sidebar!==!1&&u.value.length>0&&s.value.layout!=="home"),v=b(()=>$?s.value.aside==null?t.value.aside==="left":s.value.aside==="left":!1),$=b(()=>s.value.layout==="home"?!1:s.value.aside!=null?!!s.value.aside:t.value.aside!==!1),y=b(()=>h.value&&n.value),w=b(()=>h.value?ft(u.value):[]);function T(){o.value=!0}function I(){o.value=!1}function N(){o.value?I():T()}return{isOpen:o,sidebar:u,sidebarGroups:w,hasSidebar:h,hasAside:$,leftAside:v,isSidebarEnabled:y,open:T,close:I,toggle:N}}function gt(s,e){let t;te(()=>{t=s.value?document.activeElement:void 0}),G(()=>{window.addEventListener("keyup",n)}),he(()=>{window.removeEventListener("keyup",n)});function n(o){o.key==="Escape"&&s.value&&(e(),t==null||t.focus())}}function kt(s){const{page:e}=P(),t=S(!1),n=b(()=>s.value.collapsed!=null),o=b(()=>!!s.value.link),i=S(!1),u=()=>{i.value=U(e.value.relativePath,s.value.link)};R([e,s,_e],u),G(u);const h=b(()=>i.value?!0:s.value.items?ue(e.value.relativePath,s.value.items):!1),v=b(()=>!!(s.value.items&&s.value.items.length));te(()=>{t.value=!!(n.value&&s.value.collapsed)}),we(()=>{(i.value||h.value)&&(t.value=!1)});function $(){n.value&&(t.value=!t.value)}return{collapsed:t,collapsible:n,isLink:o,isActiveLink:i,hasActiveLink:h,hasChildren:v,toggle:$}}function bt(){const{hasSidebar:s}=F(),e=le("(min-width: 960px)"),t=le("(min-width: 1280px)");return{isAsideEnabled:b(()=>!t.value&&!e.value?!1:s.value?t.value:e.value)}}const de=[];function Ie(s){return typeof s.outline=="object"&&!Array.isArray(s.outline)&&s.outline.label||s.outlineTitle||"On this page"}function fe(s){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const n=Number(t.tagName[1]);return{element:t,title:$t(t),link:"#"+t.id,level:n}});return yt(e,s)}function $t(s){let e="";for(const t of s.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function yt(s,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[n,o]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;s=s.filter(u=>u.level>=n&&u.level<=o),de.length=0;for(const{element:u,link:h}of s)de.push({element:u,link:h});const i=[];e:for(let u=0;u=0;v--){const $=s[v];if($.level{requestAnimationFrame(i),window.addEventListener("scroll",n)}),We(()=>{u(location.hash)}),he(()=>{window.removeEventListener("scroll",n)});function i(){if(!t.value)return;const h=window.scrollY,v=window.innerHeight,$=document.body.offsetHeight,y=Math.abs(h+v-$)<1,w=de.map(({element:I,link:N})=>({link:N,top:Pt(I)})).filter(({top:I})=>!Number.isNaN(I)).sort((I,N)=>I.top-N.top);if(!w.length){u(null);return}if(h<1){u(null);return}if(y){u(w[w.length-1].link);return}let T=null;for(const{link:I,top:N}of w){if(N>h+je()+4)break;T=I}u(T)}function u(h){o&&o.classList.remove("active"),h==null?o=null:o=s.value.querySelector(`a[href="${decodeURIComponent(h)}"]`);const v=o;v?(v.classList.add("active"),e.value.style.top=v.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function Pt(s){let e=0;for(;s!==document.body;){if(s===null)return NaN;e+=s.offsetTop,s=s.offsetParent}return e}const Vt=["href","title"],Lt=m({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(s){function e({target:t}){const n=t.href.split("#")[1],o=document.getElementById(decodeURIComponent(n));o==null||o.focus({preventScroll:!0})}return(t,n)=>{const o=z("VPDocOutlineItem",!0);return a(),l("ul",{class:C(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),l(L,null,H(t.headers,({children:i,link:u,title:h})=>(a(),l("li",null,[c("a",{class:"outline-link",href:u,onClick:e,title:h},V(h),9,Vt),i!=null&&i.length?(a(),k(o,{key:0,headers:i},null,8,["headers"])):f("",!0)]))),256))],2)}}}),Ce=g(Lt,[["__scopeId","data-v-b933a997"]]),St=s=>(E("data-v-935f8a84"),s=s(),x(),s),Mt={class:"content"},Tt={class:"outline-title",role:"heading","aria-level":"2"},It={"aria-labelledby":"doc-outline-aria-label"},Ct=St(()=>c("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),Nt=m({__name:"VPDocAsideOutline",setup(s){const{frontmatter:e,theme:t}=P(),n=Pe([]);se(()=>{n.value=fe(e.value.outline??t.value.outline)});const o=S(),i=S();return wt(o,i),(u,h)=>(a(),l("div",{class:C(["VPDocAsideOutline",{"has-outline":n.value.length>0}]),ref_key:"container",ref:o,role:"navigation"},[c("div",Mt,[c("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),c("div",Tt,V(r(Ie)(r(t))),1),c("nav",It,[Ct,_(Ce,{headers:n.value,root:!0},null,8,["headers"])])])],2))}}),Bt=g(Nt,[["__scopeId","data-v-935f8a84"]]),Ht={class:"VPDocAsideCarbonAds"},At=m({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(s){const e=()=>null;return(t,n)=>(a(),l("div",Ht,[_(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),zt=s=>(E("data-v-3f215769"),s=s(),x(),s),Dt={class:"VPDocAside"},Et=zt(()=>c("div",{class:"spacer"},null,-1)),xt=m({__name:"VPDocAside",setup(s){const{theme:e}=P();return(t,n)=>(a(),l("div",Dt,[d(t.$slots,"aside-top",{},void 0,!0),d(t.$slots,"aside-outline-before",{},void 0,!0),_(Bt),d(t.$slots,"aside-outline-after",{},void 0,!0),Et,d(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(a(),k(At,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):f("",!0),d(t.$slots,"aside-ads-after",{},void 0,!0),d(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Ft=g(xt,[["__scopeId","data-v-3f215769"]]);function Ot(){const{theme:s,page:e}=P();return b(()=>{const{text:t="Edit this page",pattern:n=""}=s.value.editLink||{};let o;return typeof n=="function"?o=n(e.value):o=n.replace(/:path/g,e.value.filePath),{url:o,text:t}})}function Wt(){const{page:s,theme:e,frontmatter:t}=P();return b(()=>{var v,$,y,w,T,I,N,B;const n=Te(e.value.sidebar,s.value.relativePath),o=mt(n),i=o.findIndex(M=>U(s.value.relativePath,M.link)),u=((v=e.value.docFooter)==null?void 0:v.prev)===!1&&!t.value.prev||t.value.prev===!1,h=(($=e.value.docFooter)==null?void 0:$.next)===!1&&!t.value.next||t.value.next===!1;return{prev:u?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((y=o[i-1])==null?void 0:y.docFooterText)??((w=o[i-1])==null?void 0:w.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((T=o[i-1])==null?void 0:T.link)},next:h?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((I=o[i+1])==null?void 0:I.docFooterText)??((N=o[i+1])==null?void 0:N.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((B=o[i+1])==null?void 0:B.link)}}})}const jt={},Ut={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Gt=c("path",{d:"M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"},null,-1),Rt=c("path",{d:"M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"},null,-1),qt=[Gt,Rt];function Kt(s,e){return a(),l("svg",Ut,qt)}const Zt=g(jt,[["render",Kt]]),D=m({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(s){const e=s,t=b(()=>e.tag??(e.href?"a":"span")),n=b(()=>e.href&&Ve.test(e.href));return(o,i)=>(a(),k(j(t.value),{class:C(["VPLink",{link:o.href,"vp-external-link-icon":n.value,"no-icon":o.noIcon}]),href:o.href?r(pe)(o.href):void 0,target:o.target??(n.value?"_blank":void 0),rel:o.rel??(n.value?"noreferrer":void 0)},{default:p(()=>[d(o.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Jt={class:"VPLastUpdated"},Yt=["datetime"],Qt=m({__name:"VPDocFooterLastUpdated",setup(s){const{theme:e,page:t,frontmatter:n,lang:o}=P(),i=b(()=>new Date(n.value.lastUpdated??t.value.lastUpdated)),u=b(()=>i.value.toISOString()),h=S("");return G(()=>{te(()=>{var v,$,y;h.value=new Intl.DateTimeFormat(($=(v=e.value.lastUpdated)==null?void 0:v.formatOptions)!=null&&$.forceLocale?o.value:void 0,((y=e.value.lastUpdated)==null?void 0:y.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(i.value)})}),(v,$)=>{var y;return a(),l("p",Jt,[A(V(((y=r(e).lastUpdated)==null?void 0:y.text)||r(e).lastUpdatedText||"Last updated")+": ",1),c("time",{datetime:u.value},V(h.value),9,Yt)])}}}),Xt=g(Qt,[["__scopeId","data-v-7e05ebdb"]]),es={key:0,class:"VPDocFooter"},ts={key:0,class:"edit-info"},ss={key:0,class:"edit-link"},ns={key:1,class:"last-updated"},os={key:1,class:"prev-next"},as={class:"pager"},rs=["innerHTML"],is=["innerHTML"],ls={class:"pager"},cs=["innerHTML"],us=["innerHTML"],ds=m({__name:"VPDocFooter",setup(s){const{theme:e,page:t,frontmatter:n}=P(),o=Ot(),i=Wt(),u=b(()=>e.value.editLink&&n.value.editLink!==!1),h=b(()=>t.value.lastUpdated&&n.value.lastUpdated!==!1),v=b(()=>u.value||h.value||i.value.prev||i.value.next);return($,y)=>{var w,T,I,N;return v.value?(a(),l("footer",es,[d($.$slots,"doc-footer-before",{},void 0,!0),u.value||h.value?(a(),l("div",ts,[u.value?(a(),l("div",ss,[_(D,{class:"edit-link-button",href:r(o).url,"no-icon":!0},{default:p(()=>[_(Zt,{class:"edit-link-icon","aria-label":"edit icon"}),A(" "+V(r(o).text),1)]),_:1},8,["href"])])):f("",!0),h.value?(a(),l("div",ns,[_(Xt)])):f("",!0)])):f("",!0),(w=r(i).prev)!=null&&w.link||(T=r(i).next)!=null&&T.link?(a(),l("nav",os,[c("div",as,[(I=r(i).prev)!=null&&I.link?(a(),k(D,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:p(()=>{var B;return[c("span",{class:"desc",innerHTML:((B=r(e).docFooter)==null?void 0:B.prev)||"Previous page"},null,8,rs),c("span",{class:"title",innerHTML:r(i).prev.text},null,8,is)]}),_:1},8,["href"])):f("",!0)]),c("div",ls,[(N=r(i).next)!=null&&N.link?(a(),k(D,{key:0,class:"pager-link next",href:r(i).next.link},{default:p(()=>{var B;return[c("span",{class:"desc",innerHTML:((B=r(e).docFooter)==null?void 0:B.next)||"Next page"},null,8,cs),c("span",{class:"title",innerHTML:r(i).next.text},null,8,us)]}),_:1},8,["href"])):f("",!0)])])):f("",!0)])):f("",!0)}}}),vs=g(ds,[["__scopeId","data-v-48f9bb55"]]),hs=s=>(E("data-v-39a288b8"),s=s(),x(),s),ps={class:"container"},_s=hs(()=>c("div",{class:"aside-curtain"},null,-1)),fs={class:"aside-container"},ms={class:"aside-content"},gs={class:"content"},ks={class:"content-container"},bs={class:"main"},$s=m({__name:"VPDoc",setup(s){const{theme:e}=P(),t=Z(),{hasSidebar:n,hasAside:o,leftAside:i}=F(),u=b(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(h,v)=>{const $=z("Content");return a(),l("div",{class:C(["VPDoc",{"has-sidebar":r(n),"has-aside":r(o)}])},[d(h.$slots,"doc-top",{},void 0,!0),c("div",ps,[r(o)?(a(),l("div",{key:0,class:C(["aside",{"left-aside":r(i)}])},[_s,c("div",fs,[c("div",ms,[_(Ft,null,{"aside-top":p(()=>[d(h.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":p(()=>[d(h.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":p(()=>[d(h.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[d(h.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[d(h.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[d(h.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):f("",!0),c("div",gs,[c("div",ks,[d(h.$slots,"doc-before",{},void 0,!0),c("main",bs,[_($,{class:C(["vp-doc",[u.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),_(vs,null,{"doc-footer-before":p(()=>[d(h.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),d(h.$slots,"doc-after",{},void 0,!0)])])]),d(h.$slots,"doc-bottom",{},void 0,!0)],2)}}}),ys=g($s,[["__scopeId","data-v-39a288b8"]]),ws=m({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{}},setup(s){const e=s,t=b(()=>e.href&&Ve.test(e.href)),n=b(()=>e.tag||e.href?"a":"button");return(o,i)=>(a(),k(j(n.value),{class:C(["VPButton",[o.size,o.theme]]),href:o.href?r(pe)(o.href):void 0,target:t.value?"_blank":void 0,rel:t.value?"noreferrer":void 0},{default:p(()=>[A(V(o.text),1)]),_:1},8,["class","href","target","rel"]))}}),Ps=g(ws,[["__scopeId","data-v-c1c5efc1"]]),Vs=["src","alt"],Ls=m({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(s){return(e,t)=>{const n=z("VPImage",!0);return e.image?(a(),l(L,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),l("img",Q({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(W)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,Vs)):(a(),l(L,{key:1},[_(n,Q({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),_(n,Q({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):f("",!0)}}}),ee=g(Ls,[["__scopeId","data-v-8426fc1a"]]),Ss=s=>(E("data-v-da5d1713"),s=s(),x(),s),Ms={class:"container"},Ts={class:"main"},Is={key:0,class:"name"},Cs=["innerHTML"],Ns=["innerHTML"],Bs=["innerHTML"],Hs={key:0,class:"actions"},As={key:0,class:"image"},zs={class:"image-container"},Ds=Ss(()=>c("div",{class:"image-bg"},null,-1)),Es=m({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(s){const e=ne("hero-image-slot-exists");return(t,n)=>(a(),l("div",{class:C(["VPHero",{"has-image":t.image||r(e)}])},[c("div",Ms,[c("div",Ts,[d(t.$slots,"home-hero-info",{},()=>[t.name?(a(),l("h1",Is,[c("span",{innerHTML:t.name,class:"clip"},null,8,Cs)])):f("",!0),t.text?(a(),l("p",{key:1,innerHTML:t.text,class:"text"},null,8,Ns)):f("",!0),t.tagline?(a(),l("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,Bs)):f("",!0)],!0),t.actions?(a(),l("div",Hs,[(a(!0),l(L,null,H(t.actions,o=>(a(),l("div",{key:o.link,class:"action"},[_(Ps,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link},null,8,["theme","text","href"])]))),128))])):f("",!0)]),t.image||r(e)?(a(),l("div",As,[c("div",zs,[Ds,d(t.$slots,"home-hero-image",{},()=>[t.image?(a(),k(ee,{key:0,class:"image-src",image:t.image},null,8,["image"])):f("",!0)],!0)])])):f("",!0)])],2))}}),xs=g(Es,[["__scopeId","data-v-da5d1713"]]),Fs=m({__name:"VPHomeHero",setup(s){const{frontmatter:e}=P();return(t,n)=>r(e).hero?(a(),k(xs,{key:0,class:"VPHomeHero",name:r(e).hero.name,text:r(e).hero.text,tagline:r(e).hero.tagline,image:r(e).hero.image,actions:r(e).hero.actions},{"home-hero-info":p(()=>[d(t.$slots,"home-hero-info")]),"home-hero-image":p(()=>[d(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):f("",!0)}}),Os={},Ws={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},js=c("path",{d:"M19.9,12.4c0.1-0.2,0.1-0.5,0-0.8c-0.1-0.1-0.1-0.2-0.2-0.3l-7-7c-0.4-0.4-1-0.4-1.4,0s-0.4,1,0,1.4l5.3,5.3H5c-0.6,0-1,0.4-1,1s0.4,1,1,1h11.6l-5.3,5.3c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3l7-7C19.8,12.6,19.9,12.5,19.9,12.4z"},null,-1),Us=[js];function Gs(s,e){return a(),l("svg",Ws,Us)}const Rs=g(Os,[["render",Gs]]),qs={class:"box"},Ks={key:0,class:"icon"},Zs=["innerHTML"],Js=["innerHTML"],Ys=["innerHTML"],Qs={key:4,class:"link-text"},Xs={class:"link-text-value"},en=m({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(s){return(e,t)=>(a(),k(D,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:p(()=>[c("article",qs,[typeof e.icon=="object"&&e.icon.wrap?(a(),l("div",Ks,[_(ee,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),k(ee,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),l("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Zs)):f("",!0),c("h2",{class:"title",innerHTML:e.title},null,8,Js),e.details?(a(),l("p",{key:3,class:"details",innerHTML:e.details},null,8,Ys)):f("",!0),e.linkText?(a(),l("div",Qs,[c("p",Xs,[A(V(e.linkText)+" ",1),_(Rs,{class:"link-text-icon"})])])):f("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),tn=g(en,[["__scopeId","data-v-33204567"]]),sn={key:0,class:"VPFeatures"},nn={class:"container"},on={class:"items"},an=m({__name:"VPFeatures",props:{features:{}},setup(s){const e=s,t=b(()=>{const n=e.features.length;if(n){if(n===2)return"grid-2";if(n===3)return"grid-3";if(n%3===0)return"grid-6";if(n>3)return"grid-4"}else return});return(n,o)=>n.features?(a(),l("div",sn,[c("div",nn,[c("div",on,[(a(!0),l(L,null,H(n.features,i=>(a(),l("div",{key:i.title,class:C(["item",[t.value]])},[_(tn,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):f("",!0)}}),rn=g(an,[["__scopeId","data-v-a6181336"]]),ln=m({__name:"VPHomeFeatures",setup(s){const{frontmatter:e}=P();return(t,n)=>r(e).features?(a(),k(rn,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):f("",!0)}}),cn={class:"VPHome"},un=m({__name:"VPHome",setup(s){return(e,t)=>{const n=z("Content");return a(),l("div",cn,[d(e.$slots,"home-hero-before",{},void 0,!0),_(Fs,null,{"home-hero-info":p(()=>[d(e.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":p(()=>[d(e.$slots,"home-hero-image",{},void 0,!0)]),_:3}),d(e.$slots,"home-hero-after",{},void 0,!0),d(e.$slots,"home-features-before",{},void 0,!0),_(ln),d(e.$slots,"home-features-after",{},void 0,!0),_(n)])}}}),dn=g(un,[["__scopeId","data-v-d82743a8"]]),vn={},hn={class:"VPPage"};function pn(s,e){const t=z("Content");return a(),l("div",hn,[d(s.$slots,"page-top"),_(t),d(s.$slots,"page-bottom")])}const _n=g(vn,[["render",pn]]),fn=m({__name:"VPContent",setup(s){const{page:e,frontmatter:t}=P(),{hasSidebar:n}=F();return(o,i)=>(a(),l("div",{class:C(["VPContent",{"has-sidebar":r(n),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?d(o.$slots,"not-found",{key:0},()=>[_(_t)],!0):r(t).layout==="page"?(a(),k(_n,{key:1},{"page-top":p(()=>[d(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":p(()=>[d(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(t).layout==="home"?(a(),k(dn,{key:2},{"home-hero-before":p(()=>[d(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":p(()=>[d(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":p(()=>[d(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":p(()=>[d(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":p(()=>[d(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":p(()=>[d(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(t).layout&&r(t).layout!=="doc"?(a(),k(j(r(t).layout),{key:3})):(a(),k(ys,{key:4},{"doc-top":p(()=>[d(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":p(()=>[d(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":p(()=>[d(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":p(()=>[d(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":p(()=>[d(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":p(()=>[d(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":p(()=>[d(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[d(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[d(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[d(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":p(()=>[d(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),mn=g(fn,[["__scopeId","data-v-669faec9"]]),gn={class:"container"},kn=["innerHTML"],bn=["innerHTML"],$n=m({__name:"VPFooter",setup(s){const{theme:e,frontmatter:t}=P(),{hasSidebar:n}=F();return(o,i)=>r(e).footer&&r(t).footer!==!1?(a(),l("footer",{key:0,class:C(["VPFooter",{"has-sidebar":r(n)}])},[c("div",gn,[r(e).footer.message?(a(),l("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,kn)):f("",!0),r(e).footer.copyright?(a(),l("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,bn)):f("",!0)])],2)):f("",!0)}}),yn=g($n,[["__scopeId","data-v-e315a0ad"]]);function Ne(){const{theme:s,frontmatter:e}=P(),t=Pe([]),n=b(()=>t.value.length>0);return se(()=>{t.value=fe(e.value.outline??s.value.outline)}),{headers:t,hasLocalNav:n}}const wn={},Pn={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Vn=c("path",{d:"M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"},null,-1),Ln=[Vn];function Sn(s,e){return a(),l("svg",Pn,Ln)}const Be=g(wn,[["render",Sn]]),Mn={class:"header"},Tn={class:"outline"},In=m({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(s){const e=s,{theme:t}=P(),n=S(!1),o=S(0),i=S(),u=S();Ue(i,()=>{n.value=!1}),Ge("Escape",()=>{n.value=!1}),se(()=>{n.value=!1});function h(){n.value=!n.value,o.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function v(y){y.target.classList.contains("outline-link")&&(u.value&&(u.value.style.transition="none"),qe(()=>{n.value=!1}))}function $(){n.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(y,w)=>(a(),l("div",{class:"VPLocalNavOutlineDropdown",style:Re({"--vp-vh":o.value+"px"}),ref_key:"main",ref:i},[y.headers.length>0?(a(),l("button",{key:0,onClick:h,class:C({open:n.value})},[A(V(r(Ie)(r(t)))+" ",1),_(Be,{class:"icon"})],2)):(a(),l("button",{key:1,onClick:$},V(r(t).returnToTopLabel||"Return to top"),1)),_(ve,{name:"flyout"},{default:p(()=>[n.value?(a(),l("div",{key:0,ref_key:"items",ref:u,class:"items",onClick:v},[c("div",Mn,[c("a",{class:"top-link",href:"#",onClick:$},V(r(t).returnToTopLabel||"Return to top"),1)]),c("div",Tn,[_(Ce,{headers:y.headers},null,8,["headers"])])],512)):f("",!0)]),_:1})],4))}}),Cn=g(In,[["__scopeId","data-v-af18c0d5"]]),Nn={},Bn={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Hn=c("path",{d:"M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"},null,-1),An=c("path",{d:"M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"},null,-1),zn=c("path",{d:"M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"},null,-1),Dn=c("path",{d:"M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"},null,-1),En=[Hn,An,zn,Dn];function xn(s,e){return a(),l("svg",Bn,En)}const Fn=g(Nn,[["render",xn]]),On={class:"container"},Wn=["aria-expanded"],jn={class:"menu-text"},Un=m({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(s){const{theme:e,frontmatter:t}=P(),{hasSidebar:n}=F(),{headers:o}=Ne(),{y:i}=Le(),u=S(0);G(()=>{u.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),se(()=>{o.value=fe(t.value.outline??e.value.outline)});const h=b(()=>o.value.length===0),v=b(()=>h.value&&!n.value),$=b(()=>({VPLocalNav:!0,"has-sidebar":n.value,empty:h.value,fixed:v.value}));return(y,w)=>r(t).layout!=="home"&&(!v.value||r(i)>=u.value)?(a(),l("div",{key:0,class:C($.value)},[c("div",On,[r(n)?(a(),l("button",{key:0,class:"menu","aria-expanded":y.open,"aria-controls":"VPSidebarNav",onClick:w[0]||(w[0]=T=>y.$emit("open-menu"))},[_(Fn,{class:"menu-icon"}),c("span",jn,V(r(e).sidebarMenuLabel||"Menu"),1)],8,Wn)):f("",!0),_(Cn,{headers:r(o),navHeight:u.value},null,8,["headers","navHeight"])])],2)):f("",!0)}}),Gn=g(Un,[["__scopeId","data-v-0282ae07"]]);function Rn(){const s=S(!1);function e(){s.value=!0,window.addEventListener("resize",o)}function t(){s.value=!1,window.removeEventListener("resize",o)}function n(){s.value?t():e()}function o(){window.outerWidth>=768&&t()}const i=Z();return R(()=>i.path,t),{isScreenOpen:s,openScreen:e,closeScreen:t,toggleScreen:n}}const qn={},Kn={class:"VPSwitch",type:"button",role:"switch"},Zn={class:"check"},Jn={key:0,class:"icon"};function Yn(s,e){return a(),l("button",Kn,[c("span",Zn,[s.$slots.default?(a(),l("span",Jn,[d(s.$slots,"default",{},void 0,!0)])):f("",!0)])])}const Qn=g(qn,[["render",Yn],["__scopeId","data-v-b1685198"]]),Xn={},eo={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},to=c("path",{d:"M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"},null,-1),so=[to];function no(s,e){return a(),l("svg",eo,so)}const oo=g(Xn,[["render",no]]),ao={},ro={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},io=Ke('',9),lo=[io];function co(s,e){return a(),l("svg",ro,lo)}const uo=g(ao,[["render",co]]),vo=m({__name:"VPSwitchAppearance",setup(s){const{isDark:e,theme:t}=P(),n=ne("toggle-appearance",()=>{e.value=!e.value}),o=b(()=>e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme");return(i,u)=>(a(),k(Qn,{title:o.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(n)},{default:p(()=>[_(uo,{class:"sun"}),_(oo,{class:"moon"})]),_:1},8,["title","aria-checked","onClick"]))}}),me=g(vo,[["__scopeId","data-v-1736f215"]]),ho={key:0,class:"VPNavBarAppearance"},po=m({__name:"VPNavBarAppearance",setup(s){const{site:e}=P();return(t,n)=>r(e).appearance&&r(e).appearance!=="force-dark"?(a(),l("div",ho,[_(me)])):f("",!0)}}),_o=g(po,[["__scopeId","data-v-e6aabb21"]]),ge=S();let He=!1,ie=0;function fo(s){const e=S(!1);if(K){!He&&mo(),ie++;const t=R(ge,n=>{var o,i,u;n===s.el.value||(o=s.el.value)!=null&&o.contains(n)?(e.value=!0,(i=s.onFocus)==null||i.call(s)):(e.value=!1,(u=s.onBlur)==null||u.call(s))});he(()=>{t(),ie--,ie||go()})}return Ze(e)}function mo(){document.addEventListener("focusin",Ae),He=!0,ge.value=document.activeElement}function go(){document.removeEventListener("focusin",Ae)}function Ae(){ge.value=document.activeElement}const ko={},bo={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},$o=c("path",{d:"M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"},null,-1),yo=[$o];function wo(s,e){return a(),l("svg",bo,yo)}const ze=g(ko,[["render",wo]]),Po={},Vo={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Lo=c("circle",{cx:"12",cy:"12",r:"2"},null,-1),So=c("circle",{cx:"19",cy:"12",r:"2"},null,-1),Mo=c("circle",{cx:"5",cy:"12",r:"2"},null,-1),To=[Lo,So,Mo];function Io(s,e){return a(),l("svg",Vo,To)}const Co=g(Po,[["render",Io]]),No={class:"VPMenuLink"},Bo=m({__name:"VPMenuLink",props:{item:{}},setup(s){const{page:e}=P();return(t,n)=>(a(),l("div",No,[_(D,{class:C({active:r(U)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:p(()=>[A(V(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),oe=g(Bo,[["__scopeId","data-v-43f1e123"]]),Ho={class:"VPMenuGroup"},Ao={key:0,class:"title"},zo=m({__name:"VPMenuGroup",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),l("div",Ho,[e.text?(a(),l("p",Ao,V(e.text),1)):f("",!0),(a(!0),l(L,null,H(e.items,n=>(a(),l(L,null,["link"in n?(a(),k(oe,{key:0,item:n},null,8,["item"])):f("",!0)],64))),256))]))}}),Do=g(zo,[["__scopeId","data-v-69e747b5"]]),Eo={class:"VPMenu"},xo={key:0,class:"items"},Fo=m({__name:"VPMenu",props:{items:{}},setup(s){return(e,t)=>(a(),l("div",Eo,[e.items?(a(),l("div",xo,[(a(!0),l(L,null,H(e.items,n=>(a(),l(L,{key:n.text},["link"in n?(a(),k(oe,{key:0,item:n},null,8,["item"])):(a(),k(Do,{key:1,text:n.text,items:n.items},null,8,["text","items"]))],64))),128))])):f("",!0),d(e.$slots,"default",{},void 0,!0)]))}}),Oo=g(Fo,[["__scopeId","data-v-e7ea1737"]]),Wo=["aria-expanded","aria-label"],jo={key:0,class:"text"},Uo=["innerHTML"],Go={class:"menu"},Ro=m({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(s){const e=S(!1),t=S();fo({el:t,onBlur:n});function n(){e.value=!1}return(o,i)=>(a(),l("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:i[1]||(i[1]=u=>e.value=!0),onMouseleave:i[2]||(i[2]=u=>e.value=!1)},[c("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":o.label,onClick:i[0]||(i[0]=u=>e.value=!e.value)},[o.button||o.icon?(a(),l("span",jo,[o.icon?(a(),k(j(o.icon),{key:0,class:"option-icon"})):f("",!0),o.button?(a(),l("span",{key:1,innerHTML:o.button},null,8,Uo)):f("",!0),_(ze,{class:"text-icon"})])):(a(),k(Co,{key:1,class:"icon"}))],8,Wo),c("div",Go,[_(Oo,{items:o.items},{default:p(()=>[d(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),ke=g(Ro,[["__scopeId","data-v-9c007e85"]]),qo={discord:'Discord',facebook:'Facebook',github:'GitHub',instagram:'Instagram',linkedin:'LinkedIn',mastodon:'Mastodon',npm:'npm',slack:'Slack',twitter:'Twitter',x:'X',youtube:'YouTube'},Ko=["href","aria-label","innerHTML"],Zo=m({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(s){const e=s,t=b(()=>typeof e.icon=="object"?e.icon.svg:qo[e.icon]);return(n,o)=>(a(),l("a",{class:"VPSocialLink no-icon",href:n.link,"aria-label":n.ariaLabel??(typeof n.icon=="string"?n.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,Ko))}}),Jo=g(Zo,[["__scopeId","data-v-f80f8133"]]),Yo={class:"VPSocialLinks"},Qo=m({__name:"VPSocialLinks",props:{links:{}},setup(s){return(e,t)=>(a(),l("div",Yo,[(a(!0),l(L,null,H(e.links,({link:n,icon:o,ariaLabel:i})=>(a(),k(Jo,{key:n,icon:o,link:n,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),be=g(Qo,[["__scopeId","data-v-7bc22406"]]),Xo={key:0,class:"group translations"},ea={class:"trans-title"},ta={key:1,class:"group"},sa={class:"item appearance"},na={class:"label"},oa={class:"appearance-action"},aa={key:2,class:"group"},ra={class:"item social-links"},ia=m({__name:"VPNavBarExtra",setup(s){const{site:e,theme:t}=P(),{localeLinks:n,currentLang:o}=J({correspondingLink:!0}),i=b(()=>n.value.length&&o.value.label||e.value.appearance||t.value.socialLinks);return(u,h)=>i.value?(a(),k(ke,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:p(()=>[r(n).length&&r(o).label?(a(),l("div",Xo,[c("p",ea,V(r(o).label),1),(a(!0),l(L,null,H(r(n),v=>(a(),k(oe,{key:v.link,item:v},null,8,["item"]))),128))])):f("",!0),r(e).appearance&&r(e).appearance!=="force-dark"?(a(),l("div",ta,[c("div",sa,[c("p",na,V(r(t).darkModeSwitchLabel||"Appearance"),1),c("div",oa,[_(me)])])])):f("",!0),r(t).socialLinks?(a(),l("div",aa,[c("div",ra,[_(be,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):f("",!0)]),_:1})):f("",!0)}}),la=g(ia,[["__scopeId","data-v-d0bd9dde"]]),ca=s=>(E("data-v-e5dd9c1c"),s=s(),x(),s),ua=["aria-expanded"],da=ca(()=>c("span",{class:"container"},[c("span",{class:"top"}),c("span",{class:"middle"}),c("span",{class:"bottom"})],-1)),va=[da],ha=m({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(s){return(e,t)=>(a(),l("button",{type:"button",class:C(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=n=>e.$emit("click"))},va,10,ua))}}),pa=g(ha,[["__scopeId","data-v-e5dd9c1c"]]),_a=["innerHTML"],fa=m({__name:"VPNavBarMenuLink",props:{item:{}},setup(s){const{page:e}=P();return(t,n)=>(a(),k(D,{class:C({VPNavBarMenuLink:!0,active:r(U)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:p(()=>[c("span",{innerHTML:t.item.text},null,8,_a)]),_:1},8,["class","href","target","rel"]))}}),ma=g(fa,[["__scopeId","data-v-42ef59de"]]),ga=m({__name:"VPNavBarMenuGroup",props:{item:{}},setup(s){const e=s,{page:t}=P(),n=i=>"link"in i?U(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(n),o=b(()=>n(e.item));return(i,u)=>(a(),k(ke,{class:C({VPNavBarMenuGroup:!0,active:r(U)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||o.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),ka=s=>(E("data-v-7f418b0f"),s=s(),x(),s),ba={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},$a=ka(()=>c("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),ya=m({__name:"VPNavBarMenu",setup(s){const{theme:e}=P();return(t,n)=>r(e).nav?(a(),l("nav",ba,[$a,(a(!0),l(L,null,H(r(e).nav,o=>(a(),l(L,{key:o.text},["link"in o?(a(),k(ma,{key:0,item:o},null,8,["item"])):(a(),k(ga,{key:1,item:o},null,8,["item"]))],64))),128))])):f("",!0)}}),wa=g(ya,[["__scopeId","data-v-7f418b0f"]]);function Pa(s){const{localeIndex:e,theme:t}=P();function n(o){var N,B,M;const i=o.split("."),u=(N=t.value.search)==null?void 0:N.options,h=u&&typeof u=="object",v=h&&((M=(B=u.locales)==null?void 0:B[e.value])==null?void 0:M.translations)||null,$=h&&u.translations||null;let y=v,w=$,T=s;const I=i.pop();for(const Y of i){let O=null;const q=T==null?void 0:T[Y];q&&(O=T=q);const ae=w==null?void 0:w[Y];ae&&(O=w=ae);const re=y==null?void 0:y[Y];re&&(O=y=re),q||(T=O),ae||(w=O),re||(y=O)}return(y==null?void 0:y[I])??(w==null?void 0:w[I])??(T==null?void 0:T[I])??""}return n}const Va=["aria-label"],La={class:"DocSearch-Button-Container"},Sa=c("svg",{class:"DocSearch-Search-Icon",width:"20",height:"20",viewBox:"0 0 20 20","aria-label":"search icon"},[c("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none","fill-rule":"evenodd","stroke-linecap":"round","stroke-linejoin":"round"})],-1),Ma={class:"DocSearch-Button-Placeholder"},Ta=c("span",{class:"DocSearch-Button-Keys"},[c("kbd",{class:"DocSearch-Button-Key"}),c("kbd",{class:"DocSearch-Button-Key"},"K")],-1),$e=m({__name:"VPNavBarSearchButton",setup(s){const t=Pa({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(n,o)=>(a(),l("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[c("span",La,[Sa,c("span",Ma,V(r(t)("button.buttonText")),1)]),Ta],8,Va))}}),Ia={class:"VPNavBarSearch"},Ca={id:"local-search"},Na={key:1,id:"docsearch"},Ba=m({__name:"VPNavBarSearch",setup(s){const e=()=>null,t=()=>null,{theme:n}=P(),o=S(!1),i=S(!1);G(()=>{});function u(){o.value||(o.value=!0,setTimeout(h,16))}function h(){const y=new Event("keydown");y.key="k",y.metaKey=!0,window.dispatchEvent(y),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||h()},16)}const v=S(!1),$="";return(y,w)=>{var T;return a(),l("div",Ia,[r($)==="local"?(a(),l(L,{key:0},[v.value?(a(),k(r(e),{key:0,onClose:w[0]||(w[0]=I=>v.value=!1)})):f("",!0),c("div",Ca,[_($e,{onClick:w[1]||(w[1]=I=>v.value=!0)})])],64)):r($)==="algolia"?(a(),l(L,{key:1},[o.value?(a(),k(r(t),{key:0,algolia:((T=r(n).search)==null?void 0:T.options)??r(n).algolia,onVnodeBeforeMount:w[2]||(w[2]=I=>i.value=!0)},null,8,["algolia"])):f("",!0),i.value?f("",!0):(a(),l("div",Na,[_($e,{onClick:u})]))],64)):f("",!0)])}}}),Ha=m({__name:"VPNavBarSocialLinks",setup(s){const{theme:e}=P();return(t,n)=>r(e).socialLinks?(a(),k(be,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):f("",!0)}}),Aa=g(Ha,[["__scopeId","data-v-0394ad82"]]),za=["href","rel","target"],Da=m({__name:"VPNavBarTitle",setup(s){const{site:e,theme:t}=P(),{hasSidebar:n}=F(),{currentLang:o}=J(),i=b(()=>{var v;return typeof t.value.logoLink=="string"?t.value.logoLink:(v=t.value.logoLink)==null?void 0:v.link}),u=b(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.rel}),h=b(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.target});return(v,$)=>(a(),l("div",{class:C(["VPNavBarTitle",{"has-sidebar":r(n)}])},[c("a",{class:"title",href:i.value??r(pe)(r(o).link),rel:u.value,target:h.value},[d(v.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(a(),k(ee,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):f("",!0),r(t).siteTitle?(a(),l(L,{key:1},[A(V(r(t).siteTitle),1)],64)):r(t).siteTitle===void 0?(a(),l(L,{key:2},[A(V(r(e).title),1)],64)):f("",!0),d(v.$slots,"nav-bar-title-after",{},void 0,!0)],8,za)],2))}}),Ea=g(Da,[["__scopeId","data-v-8460f0a8"]]),xa={},Fa={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Oa=c("path",{d:"M0 0h24v24H0z",fill:"none"},null,-1),Wa=c("path",{d:" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z ",class:"css-c4d79v"},null,-1),ja=[Oa,Wa];function Ua(s,e){return a(),l("svg",Fa,ja)}const De=g(xa,[["render",Ua]]),Ga={class:"items"},Ra={class:"title"},qa=m({__name:"VPNavBarTranslations",setup(s){const{theme:e}=P(),{localeLinks:t,currentLang:n}=J({correspondingLink:!0});return(o,i)=>r(t).length&&r(n).label?(a(),k(ke,{key:0,class:"VPNavBarTranslations",icon:De,label:r(e).langMenuLabel||"Change language"},{default:p(()=>[c("div",Ga,[c("p",Ra,V(r(n).label),1),(a(!0),l(L,null,H(r(t),u=>(a(),k(oe,{key:u.link,item:u},null,8,["item"]))),128))])]),_:1},8,["label"])):f("",!0)}}),Ka=g(qa,[["__scopeId","data-v-74abcbb9"]]),Za=s=>(E("data-v-19c990f1"),s=s(),x(),s),Ja={class:"wrapper"},Ya={class:"container"},Qa={class:"title"},Xa={class:"content"},er={class:"content-body"},tr=Za(()=>c("div",{class:"divider"},[c("div",{class:"divider-line"})],-1)),sr=m({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(s){const{y:e}=Le(),{hasSidebar:t}=F(),{hasLocalNav:n}=Ne(),{frontmatter:o}=P(),i=S({});return we(()=>{i.value={"has-sidebar":t.value,"has-local-nav":n.value,top:o.value.layout==="home"&&e.value===0}}),(u,h)=>(a(),l("div",{class:C(["VPNavBar",i.value])},[c("div",Ja,[c("div",Ya,[c("div",Qa,[_(Ea,null,{"nav-bar-title-before":p(()=>[d(u.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[d(u.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),c("div",Xa,[c("div",er,[d(u.$slots,"nav-bar-content-before",{},void 0,!0),_(Ba,{class:"search"}),_(wa,{class:"menu"}),_(Ka,{class:"translations"}),_(_o,{class:"appearance"}),_(Aa,{class:"social-links"}),_(la,{class:"extra"}),d(u.$slots,"nav-bar-content-after",{},void 0,!0),_(pa,{class:"hamburger",active:u.isScreenOpen,onClick:h[0]||(h[0]=v=>u.$emit("toggle-screen"))},null,8,["active"])])])])]),tr],2))}}),nr=g(sr,[["__scopeId","data-v-19c990f1"]]),or={key:0,class:"VPNavScreenAppearance"},ar={class:"text"},rr=m({__name:"VPNavScreenAppearance",setup(s){const{site:e,theme:t}=P();return(n,o)=>r(e).appearance&&r(e).appearance!=="force-dark"?(a(),l("div",or,[c("p",ar,V(r(t).darkModeSwitchLabel||"Appearance"),1),_(me)])):f("",!0)}}),ir=g(rr,[["__scopeId","data-v-2d7af913"]]),lr=m({__name:"VPNavScreenMenuLink",props:{item:{}},setup(s){const e=ne("close-screen");return(t,n)=>(a(),k(D,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:p(()=>[A(V(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),cr=g(lr,[["__scopeId","data-v-05f27b2a"]]),ur={},dr={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},vr=c("path",{d:"M18.9,10.9h-6v-6c0-0.6-0.4-1-1-1s-1,0.4-1,1v6h-6c-0.6,0-1,0.4-1,1s0.4,1,1,1h6v6c0,0.6,0.4,1,1,1s1-0.4,1-1v-6h6c0.6,0,1-0.4,1-1S19.5,10.9,18.9,10.9z"},null,-1),hr=[vr];function pr(s,e){return a(),l("svg",dr,hr)}const _r=g(ur,[["render",pr]]),fr=m({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(s){const e=ne("close-screen");return(t,n)=>(a(),k(D,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:p(()=>[A(V(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),Ee=g(fr,[["__scopeId","data-v-19976ae1"]]),mr={class:"VPNavScreenMenuGroupSection"},gr={key:0,class:"title"},kr=m({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),l("div",mr,[e.text?(a(),l("p",gr,V(e.text),1)):f("",!0),(a(!0),l(L,null,H(e.items,n=>(a(),k(Ee,{key:n.text,item:n},null,8,["item"]))),128))]))}}),br=g(kr,[["__scopeId","data-v-8133b170"]]),$r=["aria-controls","aria-expanded"],yr=["innerHTML"],wr=["id"],Pr={key:1,class:"group"},Vr=m({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(s){const e=s,t=S(!1),n=b(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function o(){t.value=!t.value}return(i,u)=>(a(),l("div",{class:C(["VPNavScreenMenuGroup",{open:t.value}])},[c("button",{class:"button","aria-controls":n.value,"aria-expanded":t.value,onClick:o},[c("span",{class:"button-text",innerHTML:i.text},null,8,yr),_(_r,{class:"button-icon"})],8,$r),c("div",{id:n.value,class:"items"},[(a(!0),l(L,null,H(i.items,h=>(a(),l(L,{key:h.text},["link"in h?(a(),l("div",{key:h.text,class:"item"},[_(Ee,{item:h},null,8,["item"])])):(a(),l("div",Pr,[_(br,{text:h.text,items:h.items},null,8,["text","items"])]))],64))),128))],8,wr)],2))}}),Lr=g(Vr,[["__scopeId","data-v-65ef89ca"]]),Sr={key:0,class:"VPNavScreenMenu"},Mr=m({__name:"VPNavScreenMenu",setup(s){const{theme:e}=P();return(t,n)=>r(e).nav?(a(),l("nav",Sr,[(a(!0),l(L,null,H(r(e).nav,o=>(a(),l(L,{key:o.text},["link"in o?(a(),k(cr,{key:0,item:o},null,8,["item"])):(a(),k(Lr,{key:1,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):f("",!0)}}),Tr=m({__name:"VPNavScreenSocialLinks",setup(s){const{theme:e}=P();return(t,n)=>r(e).socialLinks?(a(),k(be,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):f("",!0)}}),Ir={class:"list"},Cr=m({__name:"VPNavScreenTranslations",setup(s){const{localeLinks:e,currentLang:t}=J({correspondingLink:!0}),n=S(!1);function o(){n.value=!n.value}return(i,u)=>r(e).length&&r(t).label?(a(),l("div",{key:0,class:C(["VPNavScreenTranslations",{open:n.value}])},[c("button",{class:"title",onClick:o},[_(De,{class:"icon lang"}),A(" "+V(r(t).label)+" ",1),_(ze,{class:"icon chevron"})]),c("ul",Ir,[(a(!0),l(L,null,H(r(e),h=>(a(),l("li",{key:h.link,class:"item"},[_(D,{class:"link",href:h.link},{default:p(()=>[A(V(h.text),1)]),_:2},1032,["href"])]))),128))])],2)):f("",!0)}}),Nr=g(Cr,[["__scopeId","data-v-d72aa483"]]),Br={class:"container"},Hr=m({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(s){const e=S(null),t=Se(K?document.body:null);return(n,o)=>(a(),k(ve,{name:"fade",onEnter:o[0]||(o[0]=i=>t.value=!0),onAfterLeave:o[1]||(o[1]=i=>t.value=!1)},{default:p(()=>[n.open?(a(),l("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[c("div",Br,[d(n.$slots,"nav-screen-content-before",{},void 0,!0),_(Mr,{class:"menu"}),_(Nr,{class:"translations"}),_(ir,{class:"appearance"}),_(Tr,{class:"social-links"}),d(n.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):f("",!0)]),_:3}))}}),Ar=g(Hr,[["__scopeId","data-v-cc5739dd"]]),zr={key:0,class:"VPNav"},Dr=m({__name:"VPNav",setup(s){const{isScreenOpen:e,closeScreen:t,toggleScreen:n}=Rn(),{frontmatter:o}=P(),i=b(()=>o.value.navbar!==!1);return Me("close-screen",t),te(()=>{K&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(u,h)=>i.value?(a(),l("header",zr,[_(nr,{"is-screen-open":r(e),onToggleScreen:r(n)},{"nav-bar-title-before":p(()=>[d(u.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[d(u.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":p(()=>[d(u.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":p(()=>[d(u.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),_(Ar,{open:r(e)},{"nav-screen-content-before":p(()=>[d(u.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":p(()=>[d(u.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):f("",!0)}}),Er=g(Dr,[["__scopeId","data-v-ae24b3ad"]]),xr=s=>(E("data-v-e31bd47b"),s=s(),x(),s),Fr=["role","tabindex"],Or=xr(()=>c("div",{class:"indicator"},null,-1)),Wr={key:1,class:"items"},jr=m({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(s){const e=s,{collapsed:t,collapsible:n,isLink:o,isActiveLink:i,hasActiveLink:u,hasChildren:h,toggle:v}=kt(b(()=>e.item)),$=b(()=>h.value?"section":"div"),y=b(()=>o.value?"a":"div"),w=b(()=>h.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),T=b(()=>o.value?void 0:"button"),I=b(()=>[[`level-${e.depth}`],{collapsible:n.value},{collapsed:t.value},{"is-link":o.value},{"is-active":i.value},{"has-active":u.value}]);function N(M){"key"in M&&M.key!=="Enter"||!e.item.link&&v()}function B(){e.item.link&&v()}return(M,Y)=>{const O=z("VPSidebarItem",!0);return a(),k(j($.value),{class:C(["VPSidebarItem",I.value])},{default:p(()=>[M.item.text?(a(),l("div",Q({key:0,class:"item",role:T.value},Je(M.item.items?{click:N,keydown:N}:{},!0),{tabindex:M.item.items&&0}),[Or,M.item.link?(a(),k(D,{key:0,tag:y.value,class:"link",href:M.item.link,rel:M.item.rel,target:M.item.target},{default:p(()=>[(a(),k(j(w.value),{class:"text",innerHTML:M.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),k(j(w.value),{key:1,class:"text",innerHTML:M.item.text},null,8,["innerHTML"])),M.item.collapsed!=null?(a(),l("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:B,onKeydown:Ye(B,["enter"]),tabindex:"0"},[_(Be,{class:"caret-icon"})],32)):f("",!0)],16,Fr)):f("",!0),M.item.items&&M.item.items.length?(a(),l("div",Wr,[M.depth<5?(a(!0),l(L,{key:0},H(M.item.items,q=>(a(),k(O,{key:q.text,item:q,depth:M.depth+1},null,8,["item","depth"]))),128)):f("",!0)])):f("",!0)]),_:1},8,["class"])}}}),Ur=g(jr,[["__scopeId","data-v-e31bd47b"]]),xe=s=>(E("data-v-575e6a36"),s=s(),x(),s),Gr=xe(()=>c("div",{class:"curtain"},null,-1)),Rr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},qr=xe(()=>c("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),Kr=m({__name:"VPSidebar",props:{open:{type:Boolean}},setup(s){const{sidebarGroups:e,hasSidebar:t}=F(),n=s,o=S(null),i=Se(K?document.body:null);return R([n,o],()=>{var u;n.open?(i.value=!0,(u=o.value)==null||u.focus()):i.value=!1},{immediate:!0,flush:"post"}),(u,h)=>r(t)?(a(),l("aside",{key:0,class:C(["VPSidebar",{open:u.open}]),ref_key:"navEl",ref:o,onClick:h[0]||(h[0]=Qe(()=>{},["stop"]))},[Gr,c("nav",Rr,[qr,d(u.$slots,"sidebar-nav-before",{},void 0,!0),(a(!0),l(L,null,H(r(e),v=>(a(),l("div",{key:v.text,class:"group"},[_(Ur,{item:v,depth:0},null,8,["item"])]))),128)),d(u.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):f("",!0)}}),Zr=g(Kr,[["__scopeId","data-v-575e6a36"]]),Jr=m({__name:"VPSkipLink",setup(s){const e=Z(),t=S();R(()=>e.path,()=>t.value.focus());function n({target:o}){const i=document.getElementById(decodeURIComponent(o.hash).slice(1));if(i){const u=()=>{i.removeAttribute("tabindex"),i.removeEventListener("blur",u)};i.setAttribute("tabindex","-1"),i.addEventListener("blur",u),i.focus(),window.scrollTo(0,0)}}return(o,i)=>(a(),l(L,null,[c("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),c("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:n}," Skip to content ")],64))}}),Yr=g(Jr,[["__scopeId","data-v-0f60ec36"]]),Qr=m({__name:"Layout",setup(s){const{isOpen:e,open:t,close:n}=F(),o=Z();R(()=>o.path,n),gt(e,n);const{frontmatter:i}=P(),u=Xe(),h=b(()=>!!u["home-hero-image"]);return Me("hero-image-slot-exists",h),(v,$)=>{const y=z("Content");return r(i).layout!==!1?(a(),l("div",{key:0,class:C(["Layout",r(i).pageClass])},[d(v.$slots,"layout-top",{},void 0,!0),_(Yr),_(nt,{class:"backdrop",show:r(e),onClick:r(n)},null,8,["show","onClick"]),_(Er,null,{"nav-bar-title-before":p(()=>[d(v.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[d(v.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":p(()=>[d(v.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":p(()=>[d(v.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":p(()=>[d(v.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":p(()=>[d(v.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),_(Gn,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),_(Zr,{open:r(e)},{"sidebar-nav-before":p(()=>[d(v.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":p(()=>[d(v.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),_(mn,null,{"page-top":p(()=>[d(v.$slots,"page-top",{},void 0,!0)]),"page-bottom":p(()=>[d(v.$slots,"page-bottom",{},void 0,!0)]),"not-found":p(()=>[d(v.$slots,"not-found",{},void 0,!0)]),"home-hero-before":p(()=>[d(v.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":p(()=>[d(v.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":p(()=>[d(v.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":p(()=>[d(v.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":p(()=>[d(v.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":p(()=>[d(v.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":p(()=>[d(v.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":p(()=>[d(v.$slots,"doc-before",{},void 0,!0)]),"doc-after":p(()=>[d(v.$slots,"doc-after",{},void 0,!0)]),"doc-top":p(()=>[d(v.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":p(()=>[d(v.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":p(()=>[d(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":p(()=>[d(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":p(()=>[d(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[d(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[d(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[d(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),_(yn),d(v.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),k(y,{key:1}))}}}),Xr=g(Qr,[["__scopeId","data-v-5a346dfe"]]),ei={Layout:Xr,enhanceApp:({app:s})=>{s.component("Badge",et)}},ti={class:"partner-container"},si=["href"],ni=["src"],oi=m({__name:"Partners",props:{data:{type:Array,required:!0}},setup(s){return(e,t)=>(a(),l("p",ti,[(a(!0),l(L,null,H(s.data,n=>(a(),l("a",{key:n.name,href:n.url,target:"_blank",class:"partner-item"},[c("img",{src:r(W)("partner/"+n.logo)},null,8,ni)],8,si))),128))]))}}),ai=g(oi,[["__scopeId","data-v-01ea75c4"]]),ri=JSON.parse(`[{"title":"2023 in Review and 2024 Plans and Wishes","url":"/blog/2024/01/happy-2024.html","excerpt":"Last year passed by quickly, and now it's time to reflect on the highlights of 2023 and outline plans for 2024.\\n","date":"2024-01-17T00:00:00.000Z"},{"title":"We've been authorized as CVE Numbering Authority","url":"/blog/2023/10/cve-numbering-authority.html","excerpt":"It's our pleasure to announce, that Wren Security has been authorized by the Common Vulnerabilities and Exposures (CVE) Program as a CVE Numbering Authority (CNA).\\n","date":"2023-10-17T00:00:00.000Z"},{"title":"Wren:AM 15.0.0 Released","url":"/blog/2023/10/wrenam-15-0-0-released.html","excerpt":"We're thrilled to announce the release of the anticipated new version of Wren:AM.\\nTake a closer look at the carefully curated changes that we have worked on.\\n","date":"2023-10-10T00:00:00.000Z"},{"title":"Wren:DS 5.0.0 Released","url":"/blog/2023/05/wrends-5-0-0-released.html","excerpt":"We are excited to announce the release of Wren:DS 5.0.0. This release is the first official\\nWren Security release compatible with JDK 17 and zero dependencies on legacy infrastructure.\\n","date":"2023-05-16T00:00:00.000Z"},{"title":"Happy 2023!","url":"/blog/2023/01/happy-2023.html","excerpt":"With 2022 gone, we feel it’s time for a brief recap. And we have some exciting news about the future as well, so buckle up!\\n","date":"2023-01-06T00:00:00.000Z"},{"title":"Wren:IDM 6.1.0 Released","url":"/blog/2022/12/wrenidm-6-1-0-released.html","excerpt":"Brand new release Wren:IDM 6.1.0 has been published. This release is fully compatible with JDK 17.\\n","date":"2022-12-30T00:00:00.000Z"},{"title":"Commons 22.2.0 Released","url":"/blog/2022/08/commons-22-2-0-released.html","excerpt":"We are excited to announce the release of Wren Security Commons 22.2.0. This release is\\ncompatible with JDK 17.\\n","date":"2022-08-11T00:00:00.000Z"},{"title":"Wren:IDM Cookbook Created","url":"/blog/2022/06/wrenidm-cookbook-created.html","excerpt":"We have prepared recipes (samples) demonstrating key Wren:IDM features.\\n","date":"2022-06-09T00:00:00.000Z"},{"title":"Brand New Website","url":"/blog/2022/04/brand-new-website.html","excerpt":"We have created a brand new website for Wren Security. :tada:\\n","date":"2022-04-27T00:00:00.000Z"},{"title":"Wren:IDM 6.0.0 Released","url":"/blog/2021/10/wrenidm-6-0-0-released.html","excerpt":"We are excited to announce the release of Wren:IDM 6.0.0. This release is the first official\\nWren Security release compatible with JDK 11 and zero dependencies on legacy infrastructure.\\n","date":"2021-10-08T00:00:00.000Z"}]`),ii=m({__name:"Blog",setup(s){return(e,t)=>{const n=z("PostList");return a(),k(n,{posts:r(ri)},null,8,["posts"])}}}),li=["innerHTML"],ci=["href"],ui=m({__name:"PostList",props:{posts:{type:Array,required:!0}},setup(s){return(e,t)=>{const n=z("PostHeader");return a(!0),l(L,null,H(s.posts,o=>(a(),l("article",{key:o.url},[_(n,{title:o.title,author:o.author,date:o.date,url:o.url,project:o.project},null,8,["title","author","date","url","project"]),c("section",null,[c("p",{innerHTML:o.excerpt},null,8,li)]),c("div",null,[c("a",{href:r(W)(o.url)},"Read more →",8,ci)])]))),128)}}}),di=g(ui,[["__scopeId","data-v-2a7b31cd"]]),vi=["href"],hi=["href"],pi=m({__name:"Post",setup(s){const{frontmatter:e}=ye(),t=Z().path;return(n,o)=>{const i=z("PostHeader");return a(),l("article",null,[_(i,{title:r(e).title,author:r(e).author,date:r(e).date},null,8,["title","author","date"]),c("section",null,[d(n.$slots,"default",{},void 0,!0)]),c("div",null,[r(t).startsWith("/guide")?(a(),l("a",{key:0,href:r(W)("/guide/")},"← Back to guides",8,vi)):f("",!0),r(t).startsWith("/blog")?(a(),l("a",{key:1,href:r(W)("/blog/")},"← Back to the blog",8,hi)):f("",!0)])])}}}),_i=g(pi,[["__scopeId","data-v-fc44a98f"]]),fi=["href"],mi={key:1},gi={key:0},ki={key:1},bi=m({__name:"PostHeader",props:{title:{type:String,required:!0},author:{type:String,required:!1,default:null},date:{type:String,required:!0},url:{type:String,required:!1,default:null},project:{type:String,required:!1,default:null}},setup(s){function e(t){return new Date(t).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})}return(t,n)=>(a(),l(L,null,[c("h1",null,[s.url?(a(),l("a",{key:0,href:r(W)(s.url)},V(s.title),9,fi)):(a(),l("span",mi,V(s.title),1))]),c("header",null,[s.project?(a(),l("div",gi,V(s.project),1)):f("",!0),s.author?(a(),l("div",ki,V(s.author),1)):f("",!0),c("div",null,V(e(s.date)),1)])],64))}}),$i=g(bi,[["__scopeId","data-v-b56ad766"]]),yi=JSON.parse('[{"title":"Identity Synchronization With Wren:IDM","url":"/guide/wrenidm-sync.html","excerpt":"Explore provisioning in our new series of blog posts introducing crucial features of Wren:IDM.\\n","date":"2023-11-29T00:00:00.000Z","project":"Wren:IDM"}]'),wi=m({__name:"Guide",setup(s){return(e,t)=>{const n=z("PostList");return a(),k(n,{posts:r(yi)},null,8,["posts"])}}}),Vi={...ei,enhanceApp({app:s}){s.component("Partners",ai),s.component("PostList",di),s.component("Blog",ii),s.component("Post",_i),s.component("PostHeader",$i),s.component("Guide",wi)}};export{Vi as R}; diff --git a/assets/community_contact.md.WARmMffh.js b/assets/community_contact.md.WARmMffh.js new file mode 100644 index 0000000..aba0a87 --- /dev/null +++ b/assets/community_contact.md.WARmMffh.js @@ -0,0 +1 @@ +import{_ as t,c as e,o as a,V as o}from"./chunks/framework.dxpx44BK.js";const m=JSON.parse('{"title":"Contact","description":"","frontmatter":{"title":"Contact"},"headers":[],"relativePath":"community/contact.md","filePath":"community/contact.md"}'),r={name:"community/contact.md"},s=o('

Product Support

If you have any questions or comments about the software, please visit our Gitter channel.

Security Issues

If you think you have found a security vulnerability, please refer to disclosure policy.

',4),c=[s];function i(n,u,l,p,_,d){return a(),e("div",null,c)}const f=t(r,[["render",i]]);export{m as __pageData,f as default}; diff --git a/assets/community_contact.md.WARmMffh.lean.js b/assets/community_contact.md.WARmMffh.lean.js new file mode 100644 index 0000000..8856504 --- /dev/null +++ b/assets/community_contact.md.WARmMffh.lean.js @@ -0,0 +1 @@ +import{_ as t,c as e,o as a,V as o}from"./chunks/framework.dxpx44BK.js";const m=JSON.parse('{"title":"Contact","description":"","frontmatter":{"title":"Contact"},"headers":[],"relativePath":"community/contact.md","filePath":"community/contact.md"}'),r={name:"community/contact.md"},s=o("",4),c=[s];function i(n,u,l,p,_,d){return a(),e("div",null,c)}const f=t(r,[["render",i]]);export{m as __pageData,f as default}; diff --git a/assets/community_disclosure.md.lyWmP7cC.js b/assets/community_disclosure.md.lyWmP7cC.js new file mode 100644 index 0000000..2b5a87b --- /dev/null +++ b/assets/community_disclosure.md.lyWmP7cC.js @@ -0,0 +1 @@ +import{_ as e,c as o,o as i,V as s}from"./chunks/framework.dxpx44BK.js";const _=JSON.parse('{"title":"Disclosure Policy","description":"","frontmatter":{"title":"Disclosure Policy"},"headers":[],"relativePath":"community/disclosure.md","filePath":"community/disclosure.md"}'),t={name:"community/disclosure.md"},r=s('

Disclosure Policy


Please do not disclose any potential security issues publicly. Report the vulnerability to our team and give us time to work on it. We will disclose it responsibly as soon as it is properly remediated.

How To Disclose

If you think you have found a security vulnerability, please send an email to disclosure@wrensecurity.org. Only security-related issues should be sent to this address.

Please provide as much information as possible, including a description of the vulnerability, the software version, and the steps to reproduce the issue. Additional supporting materials, such as proof-of-concept code or screenshots, can also be helpful.

Our team will contact you to acknowledge receipt of the report. If necessary, we will work together on clarification and validation of the issue.

Publication

Security vulnerabilities are published as a security advisories within the GitHub project repositories.

',9),a=[r];function l(c,n,u,d,p,h){return i(),o("div",null,a)}const m=e(t,[["render",l]]);export{_ as __pageData,m as default}; diff --git a/assets/community_disclosure.md.lyWmP7cC.lean.js b/assets/community_disclosure.md.lyWmP7cC.lean.js new file mode 100644 index 0000000..6269b95 --- /dev/null +++ b/assets/community_disclosure.md.lyWmP7cC.lean.js @@ -0,0 +1 @@ +import{_ as e,c as o,o as i,V as s}from"./chunks/framework.dxpx44BK.js";const _=JSON.parse('{"title":"Disclosure Policy","description":"","frontmatter":{"title":"Disclosure Policy"},"headers":[],"relativePath":"community/disclosure.md","filePath":"community/disclosure.md"}'),t={name:"community/disclosure.md"},r=s("",9),a=[r];function l(c,n,u,d,p,h){return i(),o("div",null,a)}const m=e(t,[["render",l]]);export{_ as __pageData,m as default}; diff --git a/assets/community_join.md.LwwL_nXF.js b/assets/community_join.md.LwwL_nXF.js new file mode 100644 index 0000000..ddaeec8 --- /dev/null +++ b/assets/community_join.md.LwwL_nXF.js @@ -0,0 +1 @@ +import{_ as e,c as t,o,V as n}from"./chunks/framework.dxpx44BK.js";const b=JSON.parse('{"title":"Get Involved","description":"","frontmatter":{"title":"Get Involved"},"headers":[],"relativePath":"community/join.md","filePath":"community/join.md"}'),i={name:"community/join.md"},r=n('

Get Involved

If you would like to become involved in the development process of Wren Security Suite there are many different ways in which you can contribute. The first step is to join our Gitter channel. Here are some of the areas ways in which you can help:

  • Investigate bugs reported in the GitHub issues.
  • Answer questions posted to the Gitter channels.
  • Contribute to the projects documentation.

Contributor Guidelines

If you want to start contributing changes, then the first step is to read our Contributor Guidelines.

Become a team member

Here are some of the roles we could use your help for:

Community Coordinator

Someone to help us get the word out about all the great technical work that’s being done behind the scenes on the Wren fork. The ideal person to help us is someone who’s great at communicating, understands technical issues (without necessarily having to be a developer), and can spend about 10-15 hours a week helping us with content, posts, and discussions in the issue queue.

DevOps Admin

Someone to help us ensure that our buildable projects stay buildable, as we continue to accept PRs and enhancements. Experience with automated container creation and with integrating code style (e.g. FindBugs, CheckStyle, etc.) automatically in GitHub PRs is a plus. We expect that there will be more time needed up-front for this role than on-going; likely it will take the next few weeks to get us completely tuned up for this.

Penetration Testers / Security Analysts

A lot of our current work involves fixing existing and/or known issues in projects like Wren:AM 13.5 and Wren:IDM 6. If you are someone who can help us find and plug the holes in our current releases, please reach out. We’d love to tap your skill to make our platform even more secure.

Project Leads

We’re currently looking for leads for Wren:AM and Wren:DS to enhance our technical team. Leads would help coordinate PRs and enforce project process. Likely 15 to 20 hours per week; more if the leads want to have a more hands-on role in PRs.

',11),a=[r];function s(l,c,u,d,h,p){return o(),t("div",null,a)}const f=e(i,[["render",s]]);export{b as __pageData,f as default}; diff --git a/assets/community_join.md.LwwL_nXF.lean.js b/assets/community_join.md.LwwL_nXF.lean.js new file mode 100644 index 0000000..4e30833 --- /dev/null +++ b/assets/community_join.md.LwwL_nXF.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o,V as n}from"./chunks/framework.dxpx44BK.js";const b=JSON.parse('{"title":"Get Involved","description":"","frontmatter":{"title":"Get Involved"},"headers":[],"relativePath":"community/join.md","filePath":"community/join.md"}'),i={name:"community/join.md"},r=n("",11),a=[r];function s(l,c,u,d,h,p){return o(),t("div",null,a)}const f=e(i,[["render",s]]);export{b as __pageData,f as default}; diff --git a/assets/guide_index.md.0SK2k_Zy.js b/assets/guide_index.md.0SK2k_Zy.js new file mode 100644 index 0000000..6847304 --- /dev/null +++ b/assets/guide_index.md.0SK2k_Zy.js @@ -0,0 +1 @@ +import{_ as o,c as s,J as n,m as e,a as i,o as a,G as d}from"./chunks/framework.dxpx44BK.js";const G=JSON.parse('{"title":"Guides","description":"","frontmatter":{"title":"Guides","sidebar":false},"headers":[],"relativePath":"guide/index.md","filePath":"guide/index.md"}'),r={name:"guide/index.md"},c=e("h1",{id:"guides",tabindex:"-1"},[i("Guides "),e("a",{class:"header-anchor",href:"#guides","aria-label":'Permalink to "Guides"'},"​")],-1),l=e("p",null,"Whether you need to kickstart your project or simply want to gain hands-on experience, these guides will help you get started. We are constantly working on new content to provide you with building blocks that cover common use cases. Missing something specific? Let us know.",-1),u=e("hr",null,null,-1);function h(p,_,m,g,f,x){const t=d("Guide");return a(),s("div",null,[c,l,u,n(t)])}const w=o(r,[["render",h]]);export{G as __pageData,w as default}; diff --git a/assets/guide_index.md.0SK2k_Zy.lean.js b/assets/guide_index.md.0SK2k_Zy.lean.js new file mode 100644 index 0000000..6847304 --- /dev/null +++ b/assets/guide_index.md.0SK2k_Zy.lean.js @@ -0,0 +1 @@ +import{_ as o,c as s,J as n,m as e,a as i,o as a,G as d}from"./chunks/framework.dxpx44BK.js";const G=JSON.parse('{"title":"Guides","description":"","frontmatter":{"title":"Guides","sidebar":false},"headers":[],"relativePath":"guide/index.md","filePath":"guide/index.md"}'),r={name:"guide/index.md"},c=e("h1",{id:"guides",tabindex:"-1"},[i("Guides "),e("a",{class:"header-anchor",href:"#guides","aria-label":'Permalink to "Guides"'},"​")],-1),l=e("p",null,"Whether you need to kickstart your project or simply want to gain hands-on experience, these guides will help you get started. We are constantly working on new content to provide you with building blocks that cover common use cases. Missing something specific? Let us know.",-1),u=e("hr",null,null,-1);function h(p,_,m,g,f,x){const t=d("Guide");return a(),s("div",null,[c,l,u,n(t)])}const w=o(r,[["render",h]]);export{G as __pageData,w as default}; diff --git a/assets/guide_wrenidm-sync.md.T1bYWFjO.js b/assets/guide_wrenidm-sync.md.T1bYWFjO.js new file mode 100644 index 0000000..09ec888 --- /dev/null +++ b/assets/guide_wrenidm-sync.md.T1bYWFjO.js @@ -0,0 +1,7 @@ +import{_ as t,c as n,J as a,w as o,G as l,o as r,m as e,a as i}from"./chunks/framework.dxpx44BK.js";const S=JSON.parse('{"title":"Identity Synchronization With Wren:IDM","description":"","frontmatter":{"title":"Identity Synchronization With Wren:IDM","date":"2023-11-29T00:00:00.000Z","excerpt":"Explore provisioning in our new series of blog posts introducing crucial features of Wren:IDM.\\n","project":"Wren:IDM","sidebar":false},"headers":[],"relativePath":"guide/wrenidm-sync.md","filePath":"guide/wrenidm-sync.md"}'),h={name:"guide/wrenidm-sync.md"},c=e("p",null,"Wren:IDM is an Identity Governance and Administration (IGA) platform designed to efficiently manage user accounts, access rights, and permissions within an organization. Unlike certain opinionated solutions, its flexible data model can adapt to the organizational structure and integrate naturally with established processes.",-1),d=e("p",null,"In this article, we will explore provisioning, which is a crucial feature of identity management systems. Employing a CSV file as a source system. Leveraging implicit synchronization settings of Wren:IDM, any modifications will be automatically propagated to an LDAP directory.",-1),p=e("ol",null,[e("li",null,[i("Start by cloning the Wren:IDM cookbook with Docker and Git being the prerequisites for this example: "),e("a",{href:"https://github.com/WrenSecurity/wrenidm-cookbook",target:"_blank",rel:"noreferrer"},"https://github.com/WrenSecurity/wrenidm-cookbook")]),e("li",null,"Navigate to the ‘sync’ sample folder, and spin up the prepared Docker containers using:")],-1),u=e("div",{class:"language-bash vp-adaptive-theme"},[e("button",{title:"Copy Code",class:"copy"}),e("span",{class:"lang"},"bash"),e("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[e("code",null,[e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"docker"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," compose up -d")])])])],-1),g=e("ol",null,[e("li",null,[i("Explore the admin user interface at: "),e("a",{href:"https://localhost:8443/admin",target:"_blank",rel:"noreferrer"},"https://localhost:8443/admin"),i(". Log in using 'openidm-admin' as both the username and password. Navigate to the 'User' tab under the 'Manage' section to verify the absence of the user data that have yet to be imported.")]),e("li",null,"In a typical scenario, the reconciliation process is initiated by a scheduler, but for simplicity we’ll execute it manually:")],-1),k=e("div",{class:"language-bash vp-adaptive-theme"},[e("button",{title:"Copy Code",class:"copy"}),e("span",{class:"lang"},"bash"),e("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[e("code",null,[e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"curl"),e("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," -k"),e("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," \\")]),i(` +`),e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," -u"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," openidm-admin:openidm-admin "),e("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"\\")]),i(` +`),e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," -XPOST"),e("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," \\")]),i(` +`),e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "https://localhost:8443/openidm/recon? ')]),i(` +`),e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'_action=recon&mapping=csvEmployee_managedUser"')])])])],-1),m=e("ol",null,[e("li",null,"In the Wren:IDM admin user interface, refresh the user management page to confirm the existence of new managed user identities under 'Manage' → 'User'"),e("li",null,"In our case Wren:IDM is configured to automatically propagate changes to LDAP. Ensure the synchronization by listing existing LDAP accounts using this command:")],-1),y=e("div",{class:"language-bash vp-adaptive-theme"},[e("button",{title:"Copy Code",class:"copy"}),e("span",{class:"lang"},"bash"),e("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[e("code",null,[e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"docker"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," exec ldap ldapsearch -H ldap://localhost -x -D ")]),i(` +`),e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},'"cn=admin,dc=wrensecurity,dc=org"'),e("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," -w"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," admin -b ")]),i(` +`),e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},'"dc=wrensecurity,dc=org"'),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "(objectClass=inetOrgPerson)"')])])])],-1),f=e("ol",null,[e("li",null,"When you’re done, feel free to continue exploring or remove the Docker containers using:")],-1),b=e("div",{class:"language-bash vp-adaptive-theme"},[e("button",{title:"Copy Code",class:"copy"}),e("span",{class:"lang"},"bash"),e("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[e("code",null,[e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"docker-compose"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," stop "),e("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"&& "),e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"docker-compose"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," rm -f")])])])],-1),F=e("p",null,"Onboarding, layoffs and employee changes do not pose any challenges. Automatic synchronization ensures seamless, automated propagation of changes between systems without the need for manual intervention.",-1),_=e("p",null,[i("For more information regarding synchronization, its types, mappings, scenarios, and actions, we advise reviewing our "),e("a",{href:"https://docs.wrensecurity.org/wrenidm/latest/components/sync.html",target:"_blank",rel:"noreferrer"},"documentation"),i(".")],-1),C=e("p",null,"Well, that is pretty sweet, but who is it for?",-1),v=e("p",null,"Automation of the identity lifecycle is beneficial for all medium to large businesses. However, it is indispensable for companies with a high number of IT systems, a complicated structure, a large number of employees, high fluctuation, or regulated environments. Banks, universities, healthcare organizations, telecommunication companies, technology firms, and even public organizations. It ensures that the right people have the right access, while maintaining security standards and freeing up the hands of operations staff.",-1),w=e("p",null,[i("If you enjoyed this article, we'd be delighted if you tried other recipes from our cookbook or explore other "),e("a",{href:"https://wrensecurity.org",target:"_blank",rel:"noreferrer"},"Wren Security tools"),i(".")],-1);function B(I,E,x,D,W,M){const s=l("Post");return r(),n("div",null,[a(s,null,{default:o(()=>[c,d,p,u,g,k,m,y,f,b,F,_,C,v,w]),_:1})])}const P=t(h,[["render",B]]);export{S as __pageData,P as default}; diff --git a/assets/guide_wrenidm-sync.md.T1bYWFjO.lean.js b/assets/guide_wrenidm-sync.md.T1bYWFjO.lean.js new file mode 100644 index 0000000..09ec888 --- /dev/null +++ b/assets/guide_wrenidm-sync.md.T1bYWFjO.lean.js @@ -0,0 +1,7 @@ +import{_ as t,c as n,J as a,w as o,G as l,o as r,m as e,a as i}from"./chunks/framework.dxpx44BK.js";const S=JSON.parse('{"title":"Identity Synchronization With Wren:IDM","description":"","frontmatter":{"title":"Identity Synchronization With Wren:IDM","date":"2023-11-29T00:00:00.000Z","excerpt":"Explore provisioning in our new series of blog posts introducing crucial features of Wren:IDM.\\n","project":"Wren:IDM","sidebar":false},"headers":[],"relativePath":"guide/wrenidm-sync.md","filePath":"guide/wrenidm-sync.md"}'),h={name:"guide/wrenidm-sync.md"},c=e("p",null,"Wren:IDM is an Identity Governance and Administration (IGA) platform designed to efficiently manage user accounts, access rights, and permissions within an organization. Unlike certain opinionated solutions, its flexible data model can adapt to the organizational structure and integrate naturally with established processes.",-1),d=e("p",null,"In this article, we will explore provisioning, which is a crucial feature of identity management systems. Employing a CSV file as a source system. Leveraging implicit synchronization settings of Wren:IDM, any modifications will be automatically propagated to an LDAP directory.",-1),p=e("ol",null,[e("li",null,[i("Start by cloning the Wren:IDM cookbook with Docker and Git being the prerequisites for this example: "),e("a",{href:"https://github.com/WrenSecurity/wrenidm-cookbook",target:"_blank",rel:"noreferrer"},"https://github.com/WrenSecurity/wrenidm-cookbook")]),e("li",null,"Navigate to the ‘sync’ sample folder, and spin up the prepared Docker containers using:")],-1),u=e("div",{class:"language-bash vp-adaptive-theme"},[e("button",{title:"Copy Code",class:"copy"}),e("span",{class:"lang"},"bash"),e("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[e("code",null,[e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"docker"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," compose up -d")])])])],-1),g=e("ol",null,[e("li",null,[i("Explore the admin user interface at: "),e("a",{href:"https://localhost:8443/admin",target:"_blank",rel:"noreferrer"},"https://localhost:8443/admin"),i(". Log in using 'openidm-admin' as both the username and password. Navigate to the 'User' tab under the 'Manage' section to verify the absence of the user data that have yet to be imported.")]),e("li",null,"In a typical scenario, the reconciliation process is initiated by a scheduler, but for simplicity we’ll execute it manually:")],-1),k=e("div",{class:"language-bash vp-adaptive-theme"},[e("button",{title:"Copy Code",class:"copy"}),e("span",{class:"lang"},"bash"),e("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[e("code",null,[e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"curl"),e("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," -k"),e("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," \\")]),i(` +`),e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," -u"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," openidm-admin:openidm-admin "),e("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"\\")]),i(` +`),e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," -XPOST"),e("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," \\")]),i(` +`),e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "https://localhost:8443/openidm/recon? ')]),i(` +`),e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'_action=recon&mapping=csvEmployee_managedUser"')])])])],-1),m=e("ol",null,[e("li",null,"In the Wren:IDM admin user interface, refresh the user management page to confirm the existence of new managed user identities under 'Manage' → 'User'"),e("li",null,"In our case Wren:IDM is configured to automatically propagate changes to LDAP. Ensure the synchronization by listing existing LDAP accounts using this command:")],-1),y=e("div",{class:"language-bash vp-adaptive-theme"},[e("button",{title:"Copy Code",class:"copy"}),e("span",{class:"lang"},"bash"),e("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[e("code",null,[e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"docker"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," exec ldap ldapsearch -H ldap://localhost -x -D ")]),i(` +`),e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},'"cn=admin,dc=wrensecurity,dc=org"'),e("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," -w"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," admin -b ")]),i(` +`),e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},'"dc=wrensecurity,dc=org"'),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "(objectClass=inetOrgPerson)"')])])])],-1),f=e("ol",null,[e("li",null,"When you’re done, feel free to continue exploring or remove the Docker containers using:")],-1),b=e("div",{class:"language-bash vp-adaptive-theme"},[e("button",{title:"Copy Code",class:"copy"}),e("span",{class:"lang"},"bash"),e("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[e("code",null,[e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"docker-compose"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," stop "),e("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"&& "),e("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"docker-compose"),e("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," rm -f")])])])],-1),F=e("p",null,"Onboarding, layoffs and employee changes do not pose any challenges. Automatic synchronization ensures seamless, automated propagation of changes between systems without the need for manual intervention.",-1),_=e("p",null,[i("For more information regarding synchronization, its types, mappings, scenarios, and actions, we advise reviewing our "),e("a",{href:"https://docs.wrensecurity.org/wrenidm/latest/components/sync.html",target:"_blank",rel:"noreferrer"},"documentation"),i(".")],-1),C=e("p",null,"Well, that is pretty sweet, but who is it for?",-1),v=e("p",null,"Automation of the identity lifecycle is beneficial for all medium to large businesses. However, it is indispensable for companies with a high number of IT systems, a complicated structure, a large number of employees, high fluctuation, or regulated environments. Banks, universities, healthcare organizations, telecommunication companies, technology firms, and even public organizations. It ensures that the right people have the right access, while maintaining security standards and freeing up the hands of operations staff.",-1),w=e("p",null,[i("If you enjoyed this article, we'd be delighted if you tried other recipes from our cookbook or explore other "),e("a",{href:"https://wrensecurity.org",target:"_blank",rel:"noreferrer"},"Wren Security tools"),i(".")],-1);function B(I,E,x,D,W,M){const s=l("Post");return r(),n("div",null,[a(s,null,{default:o(()=>[c,d,p,u,g,k,m,y,f,b,F,_,C,v,w]),_:1})])}const P=t(h,[["render",B]]);export{S as __pageData,P as default}; diff --git a/assets/index.md.FZ5-7OD4.js b/assets/index.md.FZ5-7OD4.js new file mode 100644 index 0000000..0c7ae88 --- /dev/null +++ b/assets/index.md.FZ5-7OD4.js @@ -0,0 +1 @@ +import{_ as t,c as n,o,m as e}from"./chunks/framework.dxpx44BK.js";const g=JSON.parse('{"title":"Home","description":"","frontmatter":{"layout":"home","title":"Home","hero":{"name":"Wren Security Suite","tagline":"Community-driven, open-source software for user authentication, user identity management, and single-sign-on.","image":{"src":"/wrensec-logo.png","alt":"Wren Security logo"},"actions":[{"theme":"brand","text":"Get Started","link":"https://docs.wrensecurity.org"},{"theme":"alt","text":"View on GitHub","link":"https://github.com/WrenSecurity"}]},"features":[{"title":"🗒️ Open-source Software","details":"Wren Security is an open-source community security suite. With roots in Sun Microsystems’ products, it adopted community projects formerly maintained by ForgeRock™."},{"title":"🔑 Identity Management","details":"Identity management system with flexible data model, multiple extension points and scripting support (Groovy and JavaScript). Can connect to and manage a wide range of systems through integrated Identity Connector Framework."},{"title":"🔐 Access Management","details":"Access management, entitlements and federation server platform. Provides centralized authentication and authorization for multiple realms with delegated administration."}]},"headers":[],"relativePath":"index.md","filePath":"index.md"}'),a={name:"index.md"},i=e("div",{class:"project-origin"},[e("div",{class:"tip custom-block"},[e("p",{class:"custom-block-title"},"Project Origin"),e("p",null,"Though our project originated with code that ForgeRock™ had previously released, we are not affiliated with ForgeRock™ in any way. Our projects are based on the very latest code from what was available under a CDDL license (OpenAM 13.5+, OpenDJ 3.5+, OpenIDM 4.5+, and OpenIG 4.0+). ForgeRock™ no longer releases any of the most recent versions of their software under an open-source license. ForgeRock™’s “Community Edition” are ancient versions of the projects. Join our community for the latest and greatest.")])],-1),r=[i];function s(c,d,l,m,u,p){return o(),n("div",null,r)}const y=t(a,[["render",s]]);export{g as __pageData,y as default}; diff --git a/assets/index.md.FZ5-7OD4.lean.js b/assets/index.md.FZ5-7OD4.lean.js new file mode 100644 index 0000000..0c7ae88 --- /dev/null +++ b/assets/index.md.FZ5-7OD4.lean.js @@ -0,0 +1 @@ +import{_ as t,c as n,o,m as e}from"./chunks/framework.dxpx44BK.js";const g=JSON.parse('{"title":"Home","description":"","frontmatter":{"layout":"home","title":"Home","hero":{"name":"Wren Security Suite","tagline":"Community-driven, open-source software for user authentication, user identity management, and single-sign-on.","image":{"src":"/wrensec-logo.png","alt":"Wren Security logo"},"actions":[{"theme":"brand","text":"Get Started","link":"https://docs.wrensecurity.org"},{"theme":"alt","text":"View on GitHub","link":"https://github.com/WrenSecurity"}]},"features":[{"title":"🗒️ Open-source Software","details":"Wren Security is an open-source community security suite. With roots in Sun Microsystems’ products, it adopted community projects formerly maintained by ForgeRock™."},{"title":"🔑 Identity Management","details":"Identity management system with flexible data model, multiple extension points and scripting support (Groovy and JavaScript). Can connect to and manage a wide range of systems through integrated Identity Connector Framework."},{"title":"🔐 Access Management","details":"Access management, entitlements and federation server platform. Provides centralized authentication and authorization for multiple realms with delegated administration."}]},"headers":[],"relativePath":"index.md","filePath":"index.md"}'),a={name:"index.md"},i=e("div",{class:"project-origin"},[e("div",{class:"tip custom-block"},[e("p",{class:"custom-block-title"},"Project Origin"),e("p",null,"Though our project originated with code that ForgeRock™ had previously released, we are not affiliated with ForgeRock™ in any way. Our projects are based on the very latest code from what was available under a CDDL license (OpenAM 13.5+, OpenDJ 3.5+, OpenIDM 4.5+, and OpenIG 4.0+). ForgeRock™ no longer releases any of the most recent versions of their software under an open-source license. ForgeRock™’s “Community Edition” are ancient versions of the projects. Join our community for the latest and greatest.")])],-1),r=[i];function s(c,d,l,m,u,p){return o(),n("div",null,r)}const y=t(a,[["render",s]]);export{g as __pageData,y as default}; diff --git a/assets/inter-italic-cyrillic-ext.OVycGSDq.woff2 b/assets/inter-italic-cyrillic-ext.OVycGSDq.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2a687296748f6b8bc8076cd11bde49cd27e4442b GIT binary patch literal 28332 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 HNCp4^t1hY; literal 0 HcmV?d00001 diff --git a/assets/inter-italic-cyrillic.-nLMcIwj.woff2 b/assets/inter-italic-cyrillic.-nLMcIwj.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..f64035158d7e4c01654e3f23dcd6e8299928a28c GIT binary patch literal 17824 zcmV(|K+(TGZYzoV0yihRy3;{L*Bm;yv3xXa1 z1Rw>42nQe=C3zL>7I?PUshK)MG!ta^L3b^d$O{#w!;WOi#caU z9epdi^~z}FXC1zMc;nw||B-~iJKZ7-`H(Kn3lKjZ5N5RqaHof~Lr#JsXW1jml58&> zQGi~|0cnL4zB|P8}0t5&U@c|JdMvNGlmzMw!d_sgsBSwh~ z<3uKERMdzOA;C{wc9u@*KWk~1ZrQFoOIvrA?XoRxnU;2`Lr2EaDbuDiOouv|*;F%- z#gKPJ>8fl=HUf*mFq&P*op#SRB5uMwrI5O=D|BV|t7*jYszMn6_y=vT5wbG)8zDBN(kmfH1b)al)=7_XtiK52#|ESncdAW0QK2HvRY`_;WiO>pz_-Xk zH!T)&YR`MAJa7J@pNA;Ve=XlUuY2Z4Y1bh`Bcza^p&9I}QLUiMj74g|4NyqjXq$hi zG1}j&v`P|}Bqr@5l@eV;qy>fq`v}SgHrfA#@*v!mV~$a+B6D&Jh-sRueXL+`%jr?vt30*Vq&Bs(79VL�!Z1%E;0yxE z|K3;4_8&YEA~%B^4Y(?IW(#R>0NLiFo0g?~VKuQ|6DOah|4*D1Xseu?FwGAc* zSTx{p4&t@y;B;Jo}Xdid+2g1*vKxD23o*f^?kJ>1gYybYKijA?uv}C> z*9z~*sY$+}srsPket-pf7Yz;hvK)91!>_pOy&)qNAZv`y&}Vp1WY9US$?ESrTaqs4 zD0d`>W>5y$;pdjm{G;p|Zl(xsQP)q<=zq zSKS%6b8u^VqPa|ESXTZyBx>MK1zSd@(}SAB>S0*s%dtB$KipbVRw(NI|Rj7G?3#%E{EJ*?oAe)-kLfOml*fUGMln zrn>B&Ow#W_F8!0^NKymEOX#^P4&8&h!T6^^CBR@l`|6|ol{}a(53xca5w8wm4-+vl zlQ5h~nVczDIwM&IQ-*R>!;;TnQLC{OFj@-LilX30{)2^Kc3CJ{t6qa`UVh>24mzY< zD+irpj#Iuam+dp)mLCQ@_|eX?5nmQeVW5K=kV~1Au`s@ZEQ^Q-Fbt%Eq+c|20n9jE z&H|$`?Aic}J`MpLLdy1lYYo>)XtsmY(r=&*p=&4lI@G&_NQA#89VpKu#__I$x(3Z) zLf=(&cL*yZ*Va)y*|vu))Zr)hh0mdGd8Zf)X1%!r(SutkuATu<00gZGJHr5CIl->0 z0Sw_y$YNFF6>o+s0Z)7oBM%^TLmCGPDhq!Q=;k@GC%XPf(VtMMu{HobQwCPpA_fW2 zAjmQcs5&{p1ktI*3{962%voX`H^U~3x~Pi?m?ysizqQ|QyW4I$f{=IV=HpfLCtG}I zcK1DOck zzd*QeKKJq~rQo%|TnpT_z}*Pqoe;Vo zf)9fFkjP^|JOQF7pz;YQcnK=sfr4*f^an`(111(1QQJety|?rj^b2C}DH=@?IxBU| zWP|zS!X$<4X|tC0(4-@5>9Pv-1eVZpdP9{yE65!o9>kID)hLS&*Eu@jMK-wDVLY<* zv9$C$jdqJw{lu1##jqy4JO14LUh>>aoB)f5=wbu!`L1SNaNJJ=VBNrVat0Aqlzz$6 z&jWG$J=7R;Z|TADwoVQnb97R7D7@*F(~+u+*(opKtl;|rhhK%rZz4U~7TIgXYl{>I z0Ws!(fz3m1qK)OniR^Xqd=M76sg`$42drK&MwNhizUu4w9uw5o>DD4~i_&NTElUCG zx3UA-uuV5R)DA-}Y|hED$^RVy-CK(&h-(1Vcl9}#M#p71x0LgDI%+R>AIb;DD^#Hd zD_?b;askpGJ^Zb8oO$c`&{-$MsC8n*tdk0db#gIdozl`+rnZJvo>o|sYnh2f0}R1Y z7idMfQ~8DRy*ZVFfUyhgqEZOIPw>$4`CjZ(&3OX=4Jn74{!2bN1yY-Kyj$LI+b$vu z%nhtm7FHCclh2SlRA}> zNlLFgddr$_BBMGuU#UustCzbqY1YcJt6d*C01nNCH&L-E1Z9HLEHsLReBU&jW*KD> zS0QQGMmQdL@Nt6RB22_T(j>oZ9f%*;MmPm{XysJB2!L;?jx(iyr)M9OBf%T-c$im` zkPs6CSk&skt!AQRkMv1_Zz2L&c9W^aOjSn{psm_KASH!Udz7T6{z1q{k5=lGqUHf~ z&uYbk}t%Uds92a(Y;AKYHYTXf1W>A+NPv+)cCeJ4 z{I_-RdS=&_^)iG?bfFyBm?9Lv%K??3M*}+e5SDdUxt0nP7kbK#46lG?FN<`d$r>Nw zGkfx5$zkl>tNgkrZfCwkGD=K=312&-pp9c7k(FZK#+NpPj#Rtt{Un{(WHD-6D7R{~ zR?tBZAUG;lWYGWIriMz}OY5I@^?HsC^6zU;YO_6@4Gp)akd@0EMM)*^mXFCmkRj4y znlpRTRAlY_CRRocNLa`-S}{q1s$Ge*&`$onP7V8=-rAl`*IIm()_&}sGb}LtMVX2Z z@^9P&A4((Sy;Ikfp2#7n&d#QxI~1~O%5Y1P3@uT_;n&~}Od)FzrKDj;0d>Z$27 zG_47=0fPp++8B^pK>Rj`6eFFTuw%wc{`96NQrT@OI!-zJr!ULfrY7>})i>1vwDNZu zz}=_k%x)4@KON2LOlRrZGhs6rLBcP%|&+Fi|)T(hZ6%iu**Fj`vjybIH|XTBSmCgABvS=$SJ}S z(w5xqLuCb`CyFAgCW8V#)FlxR+9~i7MS*}q?ONKyL#35NihNg2P8jD7Dj0MfY-Nkn1iF~(6;paQ&oRUM ziX?DA_dBEyyqRF&p?!ji&kB3zAUCH>1JM%Fw)g51D&wuaW75>bbq}<@evilBx}^3# ztBuGSc?>Cb4oNZWY9YRfOw*)BLHg~8F7&BLnmnoP-#BRwr0I<(8+uh{^^8mt#7AZl z*iKBMm;*?zLpY>$#X3*4VWM)9)fs8_E3y4s)8S?aV{rhaK2XA0w&|=>6cG`W2tETY z488dG#@QdFT%+!}jznbpY2{mCr{Cw6kqVptU}t{sMWxHqHbSEI1-`ECa-tl0ITRrI zoS;P8J14QIZD*$leltjwTKfUks!xZBrf=&fBid3U0s8y=u$K-<`izRM3 zjhwA=U;`cOG)i!y59Bj@wn)-|#icae{TUTBol_*$a6Z6KWV!g=J#(eOAP$7BaT3Uh zEJZoX%tEwI$y2vl@NhHTKOZQ4U}~sRNjwObX|G{k#}bFzgWv~3kCt?_`AUYBQhglf zK$=Weu=H^2#6+$PLPeP)kLS@}3U2u@SBw^8CJ5aj;eU!v|5%!2_&e?<)Mjd97xUzU zuQCLkuS5f*Bv}#qQTxO#e$`F-sth>JmQ}sJ{W$rxujD zDT%e~&dDTKz0z?1N9okM^t6AqYd|gNTwX6XGDCKzxLVg=*XwlLJ>CWC5@*^f6^L2t zozGyK(bYrBxb~NB8R#c55Y!c56%*>KGUTxs&~kxjVW+cJV#nCl1ymt09)Y!1EXEEc zDC`2z?E?x)(nj29(MH+V)r658m*XEJ5Re>(tl@B&uw_e|QV?Ks( zBc`&v_G9)=+mTl5)M?S5zXTtBw7T5e=5;}fx?n|$j9|ZA4eV(>G%+&n%fF}XQuHMNMZavLqTL^w+pSZ!eS2CJS@tod*`buU1uhDOJ08ue>N_F5{*G z`5v{Nt=f7$?M#VTR2X6_txW28r5_6~>2K*>f$nP-**kY}^nV223V+*L)?j9WywLU- zrw`WQ<5`1~A@K>HGYVhn`I8?|pPu~qrhBeS$&Q%I>v%6;*cH_CI>uGfH$@hvIqY~@ zjrFRR)!t)vo*GB*xH|lI*!hA6=XHQwk(xjxHQ<6YYKh{6$x>TIFQT1*-mPx2 z7*SUgQ(HuRRlz+clb=Z9>8%0F_or|`O0OWsCqL|P4PbB-!i#!81sk{~JK;kaO6Kxn zPC6(d{L z3od`WlnVh?ToGgRNos$v_nL1ei=WQfh!-X)10geUM@pZVAWMv0&r^t+2X{{QnWlrq~#?K&6!|G5pWn;kf%hjDr9umN8u*vBmBP?)|Y z{Fu6ibeOCm*}mC#haztlwI01BT*g2tI@Qu?;0#44!%Sg;T+y^m?=VLpfa_d zE9=+hd~Is_B_?e$;A(@mN6wAkCdV<%2~)><fh6lHLyPVP)F6t%&s9zY!~#`T$nGf7AtA4jrnM=zaNg zh{;yl8>>mdS5 z4wkiAH<;$lTrycw_6oscBMsht*_4)PtEZk_78o7~L zeLc+;cIMLT{QpQ+bNF#^%W0}TTa|2w37>$^`Zg|@}m0z!^4 z2Zy}JX(t^6;An_X}QoU+-U^4%;Okw>aLP{fj++qjEC| zS(JBvweqCduPY{XQJdfdALMP0(Nz7$Golq2No~D9@zd1g{g$tUVow64iPqFfK3Trh z#F=puO$7x;u$xbrKk!vhu|bF4zL`dPRQQ){#I!tP6Mjrd0|K(C$w^5SP#^FELUn(_4M98#Vydq$qAPqtJoAKLyKG1owM7o5KDV!cE z!PlDZ}?8X0xO1toYosx7;qKsL$>gmpjtonUF{ts#kA+0@M zU}&w8<#N16Ka5(p`S;&PUamyl4Ayd|!h(~+SLlN|=dSN?c2~2=aLMvd&jG6*K+rzT zZpM^ouvd+K(NRi=uZb!sF1yt~n{VY1cuaKU6J46`GAd7CNb?LSr!|1qL_2#%gT-Mk z1kGi_3xL_Ih@D#|W@qxfGo_OhJqU4nnI^$f^0UK-WZYoGqq1Rd(m!e!zV4lxF%^uv zs(&RjEe(TAVA6`>v|Y&aG0{nhz2OGuX}Th1OKQ@jcM@zt z&^>I=T~;YvIa8ck1B@H3+0EDygsf?ErzLhgcH_grL*|=U;_%)?5EFY~>i9gNz1b2d zBb=0Y5Y%dEsmadmH@&3LrvMBb3KLv180eLgyWzb-Rw=`kT>wC~c+QpNy9I2u4U6!ET15zo5 zfFh_JwQ55h@uG?bX(NfZ7>W5aL(K9sj=1LjvkS5lIl)ptDFHvb!~iMgQ@68MIIVpM z>d0m=o-su*`B3YtuF)9bTGaV16lG3trCMi-{sz-UW|b z+`mo~e=bW`B^441cd9+8C@!9>NLR~(gsh7YR;F&#g4BjMU4K2_$e3sug33fAz79jm zG(vjmAox~?>!?6@``@tGbXeFS=*rU8<{u)Mi}%V!E0!fUsP~wUJ4?+Xw`(eXg^RuY zf-vBFk-2E{dCtSRf3bWiEdC`}N>&h*Pp1GI*NmEt-~=Ofg1yz^_Z#W-le}>+n1Sas zH?T6jPiCGNdw51?|0fQucIou#Gnd9GLv(F}7DtL$q3a|nqsrxHTG62UnCs%TvAIia zj}EpUw`u9W^B?{8wXumyw!B=w=Rf@I`CsNgKW6WbhI-}b7kxezwyfn^wo;Cd!PeDI zdp*%%svv}=Kw_HjrKw%jQ#367e36O_fWUkTyXhdv(pe^>wz?W6Y6@SAL@&z`c}rHr zibbgyrBbDR(_~svsj#zeFv7wrn2zmYyTu-0d&NE}+n;jHR{^`Hzn3ef5cB_r0jT8^ zv+9BW3<)cY-3fczF078dz;c;bsF$q3U8hkWg@vBcU~PCMjr$~9@1b$s zY)d}B_D^yjHFOc=>h+bs`0_=AC9!I702ly3+J-+sP=F+A1@P&bX*0X|mT@rC00(ZW zNCqGFpV;l|8>{W5&7@oauaZ(K1aNPzHcDI#znI^v$CHExX@9$vf?v(w?e`|>ms?b@ zInM48!CsJ(vQF5D#;sQH)}}1SC5ta5(;FVwuSqKQ3USM(v_)bE?$ zbUcm^iyg(j;+5h%#e2oa#V5t{R#)ql)(=Z>=`4rJ3+2acfBR1RN&9)_sq^dY^`6>X zk2O1*#^z}AdNbBM@1V|bXOGVL&O4nycaL{ZcR%iK^t3&Fudg@VyW0EnP|DC&Lsy5E zhO>shJ*|9FrbW_HXce@2T03oo_LjD24r1Ud00G+p z!43fEKNT}U+5w*osx6DUj?$@64$x#)0531!m$a6HgJ?9O0>5i;m;)>@h(J*BxBdVY%RbyF;y@L!IZ9xgF=aag!8BPM30foSx-ht-VW+>uGo z0q3D=Iz-iXoNzeZ<J--5&N@5{WCk3&6*Gu*G$RTwE?KLI21qZ1N-f^T45%Uf zw(K%Z9YGL^v`np1GUUq0hV}~&FMK1(lUVpTN;*}8!vly-VxM$ug_;$*&|fWFYB|j3 z-Wj`h)+vC&*E>>bTdUXCH#_$X`%HhhxmZ(>p2%-a{qPFpLz z^Bz&{H_St(T})}fl9J4=JPVlqIHCICFV{lU=%B7{Dr~L?u`*F1s)DCld&|D(mv<_F z(eE;qbndUw#Pr2fo>W@=W;iM|;5Weri3YRkk+7V{P@x>V2}Tuj#aW7urKjhHyE+_V~{1cgDI=4H_1!$V5wQ$phobBLvXm`CXS2O1zkLutax z2sJmj-CoD|7TW6_q4ClKzPM}B&2FS3H8j{%&6xqhM3!a&CS?;Enp1s5F1B4Eat}93 z?LB>;|H<`G2=eh^Q-UAk`C)8?{(cf|wwR5O&~&1MCk=3P)_T42t!IO#yx9RMh?qDO z@@y%_19%dtk9wi8?sYcS*xi23s3e#hQHT1ffZioIFbmp3lCe3LVg-eucsQhdv|31m z6w(yd9{McNDVFVa^9cD0le1IxgK{fh07;iuyOwxIRNP@jGFWpCy*TB%3J4L>WMv8i znB3L~Ebq#bX^$JKQ-K^JOO%h@Oh&oy9C!>EHHLPm=hQ(dfqqx*#`!zD+JQQVGV? zXxL=-)oZW5ZuX1-Ki>O4i-7`Xdwn(3S(kxV`Eh)+Td?C)<;wV_$%WK|&00-SCKUep zDBgUwdmsLXQ?9PVMjL9f4j2{w<$pkriOf+1EMkcMwHmN&nWOezmWR@o^X23x$4=hn z^2lvJUQp|Whi57_G+ke%G&Q{zpr=*4%ayKR>tVPQNR4Rtl&|rce?vwmG{+QK`qXFn ztYFK_2$-cJ;tjVU(vkL9vuO2ad{xuN0_JAy1%ILBdbmiG3@uQ}`{Eu=2Lrf;)=-*Vt(EgILHG(#(5-_PZ#6P3#m51^A?g_P;`CWbTs z#cz)5@irF=2JeAKX8z-N$R&wTeAweQzH`IEYa4gO(-#g=l#^_XG$Q=Ri<}b{C>(T* z=2B!N>zFuxcZ|xWQ@Zyv=z@UTV9hu>W6HRjJ)J7PtwDy0OJ%vmI&C7ZHy4lvIKY;uKchw$-)5894<-H=Py~(c+pM z6(_1+V0BuR4@Xod!;+!i*Q5W56U54%`i6P^QV-kzK~Z;tg)R(wfHx4jleRA_!g~AF z`<8u1=7$4a2rpvm-rcliKWJHfKF)fiM`mPaXrlVX1uY&u?-LS={bwDMqIwa(-${ zPv7~oy)XATDxvTzO0;hYF@wYL;r=7-5!x+a|FmSe>c}`(hYPeBb=g$K9G9&SXCp@t zZKG%c48rlsvw6w|=MiPijw5&fR%5clAxRoT`+&x5BZ%Z`{_zWiT1Dn*DDuCY0N5la z;MgBmAv~KOUrtpIS#W$cYcoSw__9-xXU<$09ZQT)J+5>z5Z;ECNisL09cRkS$dwgu z)0P&$=Wofpf`6-#*zhbNT%_$b~GENU^O~77UXRL>CK@Y>$h( zII-O8q+Q=KtdrPhpHWsib$LRTZ<=%#X!pL*^!MTG<+gelD-01x2~UI>yWpt%{qW6@Nu=g4$AaL7S*|7s7cNC|@|y~f zUY+8|`X`#A>Cy0S9(7fc8<%lK+66`U2Q{pwks0foegxT&+vS;f@}&jC{`}F(*KM{r zdHopb^z{|szS;QB=?!B$F&yF_ZW^|c8}lE^lln__+qE103=rKvs}jgkADS;eTn|#E zA_5{_xxHR9W;`AYJBz!ht2Kceds&I1RVEH>UcHvgs%otv*6uV4`No+qFjN0vg)VUz zuD85A19Wp~u`b4U56$nP^#8|^w)y+C0sWURve_T3;rT2R-` zLP(nf?U*6)mEl4Bfvwo8QJ%dK_hjDoIDrmM*88rQ}MF$H7)MWpwrxv zm+{yWIeGbYI?ALfI5V(}TF&AG%s?>#c{42}Kk=FV`p_~2?4214mcD=7jaH~8ClgNL z&ewn)wRb3b^qDN9yh^Rzsoz&dffs$dJhfU3?BaDK(U+(Kiebzb#idY)PCu zHLF4-F>7SCTgjT91sBrPM}6$WWLQ0D*^^l4_&ie@ zq)?c|b3x02oD?KHKtkJ;=AT_M&a*7^=+=4BUM+sKXjB9SQVVL=PPT{x@)U4PEhjwU z{n4Yt3Bzvs?|EOf@2(?pcQp1jlE+KwtyOId5Xb&22QRQxUSU(O6*?r0xZuD*Vf^Bh zaL-!6WTP}QBY4tp4=jFsQE&hehD2yy!x8{G1Y9M;6zsX+nP`k??HI|fZbA0G~)Wc6d+kC2wLtAfULXk`nW(CQ(MD}>= z8W)l=4P2kUf(`8ht8^S{#cbjDjMXuxf>k_vb-vOIZlMa*s?5Y~SR}HNHf8_u!WOuIyYRIiPp2)3PFzk8Jrc{8L&KDR5rizBE4<ELul>jwD!$; zvFj5PSM;*lE(-*tr4c!@__i8CGoN4gm0$#w zDZ^M$c#lLcjNb`3Q6J{+c&4f`!$FESyk8ZkFdPy6vvF)*H!8~aTgtZ3wg4uon>Td~Q(`e<#|V2eE-$V#-?`|_Wc-NBVs$sl9_4b$ltJK{Q3j= zCe$xbVz&lX_cN4yo&SRG3G`nRyraB8xj){Rsma}DheXARQo?DOusM+!&^Mumiko{ z_Q80EfO^<$w!7~1Vv!rY1(O3642j9|SeT=FuXU?tNIVV~(}~VXUAoJ7mL#w@gFOW# zhzw*$Qq^osAPnb21hlE|Fo)g@kyv5aK@xho|NRYlP-|uh;`H+CRu)L-u)ff;q&rGpO7vJ7__ZZHfv*c&^$s{dW2Gk$=NU2crJA)h)UOessZH~l}wxq zB?cJr?L-s^9`bbev-VnQ$W;ow=hmIKBFy8LXl19tr;-#P5a;8Bh&s zL_Zxw@d1kyRI2fIjZTpG+sFnM*Gtkky%Lod7#Ky58q@~O@6&UGwS<_sBeB~7?yt3t z&M)GXYbG~(XLMs`J|)m3ND3YYo0Cac4R-eIuxqH;A_#VQ{q9bc>hrsY&S4Xh9_6~Fzv`n1SsvKD-(HLX0Cev`L3 z%3^bahw1vgIZxA*=LR^g%^4d@Tsdf`JJ|6#aXKcJ3}MSh1S;djk*hjpw3DXi&VEKU zSep&;lnr6YjldFR1zjM)@b%9NR_U-spB&?acvRIA>vg{PS3v^tFAk{{t59uz^F;XI zjIGjRhF;P2PB6OSsJB8VNy24^%k8#8z|~fE&8g;qeId=7cCWVqj+vH*MN~&GoV!-I zl001%QJHYto^xn{n_6Yo zlMXR^F2Cj^aXz(=ryw1|WfnU1^wa*SaOJe|@MK_9yn;&R*K#^eCf5YvN|CmR?Hva2 zhS-@xWthPrHoUfTYB@g3M<~&^OZ7t{_!v1SIA6rOY|3ePnXz|7Swh<$*}LK;XNb2I z7ZY)PFbq}Q)aVO8!yf{F*aAN6UwfpDAaLs(p2-%dMj_4#`-a`9h!iv1z|pw~w=7gC zVmiY-iRK((PRj2l16FGf*U{F%nN}O39JHB~F9Ozy&F=<857CeU9cT66CBgI|lBT|n zVua{NzyR+*<+L}{q=YLhVswmjlKCv7w4?-o^6GKeWpNE_=Uy0AN4pH zXjBw~&};jeiB_Jj=QoH&aS;g5)^Jqrb!kt}FP(BhNrU}(E%V5iW9AjyPpAr6PzwrR zgV=TSzv!QkN@~n~GOykKyj=ZaGYq*-bH`n0HJ2M+it#u9l>rM}EtvoJLWwco!nR;-sNY_J13NpGH9n+i{e&fLMBy=U1XDQ~aLKRPW)(#Q1 zwh1nJqwB2$J8$v`AZI2?vNm#|%-O1~bP z7@fRl%B+yQotVjfMr!gZ+*hvpDs+c@os3-$xoW!E^P+dd-d%eAuG*dCZOA{4N~A?q zh=9Myx*)JW&#M#Fd-h*6gQBBXtrtXVC#HKrHi^-$dg#JJu5N+zSyw1JmejQ8)ii$8 z!*NMr_KG^~vWpMppulHc`n@|cqK1;KtSOTumgjZlFDK5!nnN}`zaHJ%=*_Xv>pIL$ zC9Yjp)$3Dpx!abN1S`4M5DuZp=(I^52QFOAI!qZUTT>`e$F{JH1&C=g8pMD)k{Ef} z@7OZCla7U4kbm06{^W>tk1ppCtNH<<8kOXV43z5p(Zagu38EYm@L8B7Qv&Fa-Nav% z_z89#)gcGk@2p4r5d(4IdO*n(pi)S(op|Oj2lflIlfm>eF(t@+aS|qn_IRf1+NFEB zpKYE|z?Q*a6p8d;*C8WBqNKvG=e=nI4vx`Dd0RWbjM6?S{Vmtq&q>czDwSE7N6*ca z;ZVm(L*ZShiuz?eEyeDmXhM**Y6mq)h9a|1x7u+YAo9mEwy}(zG6SWCXeddw;JQ)Wh~TQxy?h~l zn{*8%e9rT-!;OXA+S{#jwdZ`7i-aYdGluWtqVI}$5@e=Jed@inbk*GJVMgHl5Iosu z3!YV_1;peVuM^Dr5DT}i1~VkY^tHeFTd^Z|`H*lU9ZguFQStQWk<9)+Nvo#*z z1tgSGZ-{AGYPjr`=T(>MRfdI8H(foPjh4}oNKAd=D~T`3b%l~3*oQIFzDeno0E3;J zfp7@OzL-S_iC75v4NWEKYS0#Brro7m!;hxAI$CEF$&B%46U#C$WIlAI9bczBb=xxn7(v|JU3?C5Mx!Hc$y=`!_=xYcsTa1?(=p*=)4HpX zxeyp6+AN@uE`&1Jj*cgu+Cv&17Af}8#J!gRjH1#Ba2}TjPs=`&6>1E7q;HK5272=! zh4*gVm;GeoDBwVppW__AXBg>c(ELlHd2x$1>-~k4GP96Z9b_SB5Wj|)i6_O~4RFdM z1v#I)rE77wrX+Z05=m^mG?z(BfJ8!C1m%ypjNcNykw|p8F>7S`uC`IJR%wL*IUBa` z=rS0zav1&g$Y>YhL{{PhnxVSXPl!0;4z`y0*U zK9FzHNcxKs9VtJ#lj&*L0;!Nl`2sr$c0UOBY1~r_8Y|jIgHZ3OO^^%+JEI@p9qW~I zp@FG&{nn-SR_b6xh;e=F>4}FqaZV1YP^HK|xp`x*tkLE$WfM<^d`^%?sIxE~0y}XY zZVSAsSFcFU?VQiD`qdwwybN?!pBX!EegjYuQOJze8-HofurLM*<&Vc+EcHmM zH{f;{N9%UQ3vF0o$3=vYn%r^PkQjmBWb=P3Q=gYK~?n7 z!H;j@hz?3dyH>)K#HWNDajbr=9V2L?cp! z&HrIl&^=HjDHX^)@W(Jw^Cd$7QwgYBqq)y%Q$8gGQIkeQ0~-Bc$ct9$N1+j~XcjcH zc17ui?Tg>AhhxLUN2?00hY^AqeeKK#n-ZSrwV&rz)rNt;QEsAQ<5%_FVMiKB%oyU4 zj#-7@m;z)MEz8vmDj!7ULO>;nIh{wO{2@kh@e5wux<;WI7nbQaU(>(*Vz1Zb^R#u? zPI)fZD*kW~37!l!74r2v?}$>Ze(Pf*}E(LCw?|t<70r{Teq%BmsY-h&I}r3 zUA&Rk8v89UPIMXD-0nUru&$7N;PiTqFMoE6@aLE~?(ztUo-Z4OSyD~=Gv#FEN*jZk zmVFf{SH??{#o|j_dZO^sg2QQoJc;5VnK|2gr-Y_8K(DK~mn39@X4;R2<95Ta38BKm z(`PXFnif&o08h~PNf1poP=OXZT;f+)Z=z?(nVV2lBavWeKy!5Yu$cr277}wfhSzON z&le60Qx6RaVQOIkL6;w>OnEj>$_c7rI``SOSjt>ntWufo^LwvPQT{$l$GkSmnXY>3>`J=5Pt*VW8Uyt6-;Nb>{lo(G4_WVGIC1*6lVD|%{YAMLtM zF}o+Dzj%@lvXCE?BId`epFF-FhC(Rp)Wq7(UXd~VW`ma`KVCP7bF9hxa7vx@SBD2e z^=&Y=U#xaqf^bW$L?5T11%vcLLXH81SMj&009(v(<5ASDy zY1h<05lWp-kMz}>|GHdGE-!C27;8&~KRxkry%mmIlD6W=nj0+-LsJ4JBn40Zdmh|5 zjJZSfB718s%zc;rQTl&b*k+f3-CSZL2kt`6|69)Am#1gPJRUQOVv}W_7oJVZSMHWI zdwf1K&?4pFyTE7KS}72P@=+GttVt|{g|JC%$y6k25qU*F6n$5eihhmFW3ORN=u1d~ z0OB^VzvvF;M+pKg*oVMES}_ch%CO{%mp-uUgrwwLt87=FOk1kVa7eN+EKvHqXu)Nv z82i0p4D{2b*t_oZf6)?2W1jq;tysyPqG4sS}huSP4OjR?0=C(!PwsCeAi~c?0 zRO^g)>Es?_HtQude;+5{7a`081Cr8UDm9-#D8%;k)Ve!i^fdhM=#-nm=9Sie%>wQ& zg*Z*QdfmQOPs}b?qDY-!Cl0(X<@B?SyWU@aB;9?Lw!g+S+C~Ki7vy;`;@|$ddwDIx zu!@WYTf4?{95?946Y#sSh%NF~?O_IjJ^Q=7xU(dQ;*56D-jxI1__w>p`4LeRV@ffh z6uA37-zj5(Mr9_d8$obdH4(FEvzZ%@zN$;y-SHPQKS8_>dGiB|YsFF{8c%Qzpy_!f zw_*H6|JThi+FW>rlO?}Srl$*&GK}V$?MZ*J_`G|;pG}^T!xliN7mjFQx)NIX&pv6B zUUY#8=3MnNaMwj1{OR0?9==YeQ#cOatSH-+814oxrK9H0h(q%f5k|wIeMuLQAZBzd zJce6gxP$L*X1YPL53cgxsZ*Fy6{Bc#M#CQ3Ib+UEXHs+>;K+sIP8>G0$m5jKJqSTtpOH@hxgY(?NKgnLT|Z)iCBgehEMs7;qF zFiZAAVIg-?0Llo3>X}}@Cxf{?h-}iSLxA(_k`HHBkJ-y z2mUNJU3SR%^4_Qhi}96Bi+c`$sAmjLdrS>t#x6fqa~xiR))I~*EDT^AYi@1A=%UY^(PJK9~YUXCK@#W?7}i#YzapVR9rbMZv6XvQ&Y>!r`~^iDE)-mQoy z;5j{J!5Yla>Uh8J*>c}+iot(hLk$1XlsIwY8MUvc&)ercSxc?om{OgRRL6RYv2Z#) zq#8iFD2+m#_Bx@KbRr$_(!~iuxD91i9M4FL**Bm2EQ!B!I4)WtMumh(w@|SgVS37` zCRbABsBs!sNi?42q~!@&jpiFchS#%lRZ96&Ey0~)`(tuKHe2|Ps$_9()XAmcx@{C@ zQ;)>JR)QiDFVbY@>4T;xFzj#HE%UsEkc-hA`m`wcyLosk3R{8Du&q-c(lA8V)o!H*J>^UyW2$NU23A z6Z8(nun2* zMoIKyO;10MyCkhsn`9l*=a-9{FZ5oQ&~cxU_(bYg>1@;Xvzg4>3y!XSx-=%H<0RaC zeIXZJ+lOsPuH`qN=xy}TeZM;%R}n0RsRm73p8Ji!mK>czEyxEOAmQ5?16_|Q5e`eD z7`~;a!)`xe1p;S6wq%2-L@XwPFwN~uV9xkiT{RB-?!kZ@8UcOM$OJ5xPL+TN3t+Lu zPJsfMXImWRYg8b|{DU9t`hmZsHt*eas3xIm=el0?2c&~I1?af~s^)aRnT+Pjm&Qe= z`SSBd4I>x)={`^$!w61r_jX_S%@(wvsjNohmP?5;kpkW_glw%Hsqlp^l5aZN`1Hpg zc6J}v08NL~vRnCQjs}uW5(<<9PP9*m4L0ySaseeS%{}ND&py0=3DElj`NdRXRH1z1 z;Pq>JX%)M)&4oM}!>i_3Jx+j?&+4Bedstl5ILMX;)c&R-i=CD8%aT_j!6R zH$y90r-&Yms2Em<@XmX}!SfD(J)9y@M7l%JMrZtwwjOH)-pdm(a_D9ZuV2vslwGY@C%p7_ODS+d(- zOmU!I^TKa>P3Ob@9uFU8EcP5Iy>?vXhcA}L8~}rD4IE@3(W-tL80gHx6zLBVDgtQ2 za}=6&D3DX3xB?qtfsNTTC)WqDM7bF>Qu=QUJl7!dk$JY%_xdp88yH=VwmX=wf799% zSim&{+GN9?gIJS~vzn__e-sxksgX}&!KxRQ$5ufAt@6_=xBu3|u5{DCczzE6pZxXT zlV}AyZ>R~sI>!MD5+Xpz|JUC;tM90Nw(&e6qZ(#k(9MafdUL+i(|ix30l2yf`@?39 z)>^FDrX8odiCV|knZNypt9QA#r>ekLW87PjVa$^YV+(aH0x6+ZQ2w z-Co){NVKRXm=#C;y41gs@ol?VR`t;=>=-rqWGFjd9p$eXzEq&GrmySGg#oye1 z&iPq0u9|5c;5;O`g=p@qg|X}Nb?3$k&xWz%z*PxcZ#AdSK3}KH-CiX%>S~*RXwoRq z4*O6IdZ*HHvO0#!IY9aY9Vukvct##+pui<=2tHg4q&Eux7>-ZB@ z9JRrOWTGw&I^UEU*WN@kvve8jqOkUu`L?fkTMA58L{VQx<4a)B(ECr62pm38L=^kv zcofd9n?F)UE!kFW5={%rZX*^X>V!}8MO%vsXu4&R55)p0M4}{colt!>N z=b^Y~F_CMlvVsXOrJ+@GhyWT8Lovf)5pCC~3YpLlyeKr3*DqZ$?WJy43@<&WsXPjmh^@6=*fX2oApigX DQ~*_|WkeBd9E9O{*N&ouaSDq6|E~#j$gp%87^3=HGF1Ru z9WZ5RDx@w|?0~M(UFthj>e^drZW1$3sjjelkDk(I9GW4FDnp^H(y%!)1Hz$p6o5QJ!CIfw$H8c6Q)U`}62w$pTMIwl~X(7Aj-vELu`)AgX+xT(mk zDdxC{mG&?)9(w3-Im~dKjdF@TPBE9O=tV^*Izp)n`3N+G|Mx<-Rin$mulHRI2 zF;=FOC^ z59j%@r}?S)kGit=C3)fr0C&kjd8OeS2QyS>VA96U7I@$x2o18l_SE z@0xBl|1tnHdcyx+t^{sm(|+L!ZqJjRBgqOla8MjJgbvc>zij%I_M7e=&j@x$vi4hA zv;rMrkjT~%U@rBH-5$-zFp~DZY<*z)(6B@;Ssx@HEdfP_W#s4pWrc{g}NrlSaJ<(;T zYkKCP-FetX%rK+r5gFq75N%0zT<+IA`Vx_x$aE_~LMXR=AaI1NyMK*n>zHGOIp!ea0?fzyG0D~f41lQ?;6R37zIB798i%j_AZ#%VbU}+@U^W4|%u4_t z)U(GtrYS67`hR%3ih2M8Kqwvm{QmhvK0mzi@$Lhi}A`V-xWcgRwg}yA$yc%CY0&JjRD>)QD`oPvnf1}@yhqb__Vjw; zunKqejEQn2;BldD#}3blaPleV$gtzp_6Nvhe=jTYnen(Hh}We@<6&0^5h zmGE3$NQSynh3mo+>&l9=uDqn`B30Yv)BpgpIKLFZuV9_|Y=l4d9A0ape?CkHpaAUlq9O}@v;mBx3`2z~HR?2U>(Q%EzX1$` zOqnrf!IBj$Yb5g)ELyT`#i}(CB1MT7BUYSvg`S{!>au69crMfn6JA>Pinu{T5RgzH zXmoYzHE7hNSqp7Cbm`G&z>tv*o3?D*v1`x1L`jlSq)3$}-4RC#0}gJ&Yj3>u&U>xe zwCm7Gfg(*>jD7IQ7ej_!_02Wc*|25D-giIzGHJ>*X-2#};5pA*V4+3QW+_1Msn4YJ zS>`$J;5ighsSQfu_Yj7|s7z&NKsh{wA}V)V z9l{Vm@??Wq0Oo?22m%8jxE7Fa0RVvc>x{lLKv-o`U%t86UbPHXi9~bUYM|K{^YZP@ zI(IpyT;#W~tg=n176xy@!B%Wb(3uTUr0k+yn(~s4v6irH$2d%_t z%eMZQccgR0F(?$n(ZpJskn(C(uE7(NNT)&&SMcLZ26?E&_X zmL$t<;#nQ9@+peA#GU5U%VQ7P?h2o!nK)ur9>&0u#;jsz7!F;~ni);}OA@EJ&+!9} zxg>Zcht+#0zMIhjGHpU-5F^`{a7Yj+l@@SqQx7GtDnVnWeTf^C!_zHZ8V~N##w3!o zy*jzn4`Wg3;Nfv+|3rhA29uqD6={e{6ym%t31v*~a&i3RV|N6|mg_AvMysECYR(w3 zDxP!vV74umi<_8$cy70KwI|UoT^*RX6Wt_~E>G*{*lQ5j)!8+{3S8iaPx1v`f(roB zGk|xY(+FIPhc1QLmjZ3yD|mU{7(ZqzVXKCmmr>~=UOp!ex5Ye!N`xfL5 z^JZfX?cez`@#fC*35&YAu7t{L#qw!MkJra5+{7tp>yijpbzl)9o>_yTSPEXlB1eP( zivjtAT)+lq|4#N0-3IB|*Wc)?ZVszz34_hiz!~ifXk#}CIs%}Se=xN(T)Fv^TbRmQ zf6vre7iRwC70kL{|EX*9WyT3yzcxl@eYCa3GTp}cH(ZhEiB^@rDnB%#P8@jmVZ;85 z*8R*PHmU$sWW~Cc);^39PyvV;AScZpkgz}0 zKCFcexw)Jawa=m<(_b9dEWYW~o18X-l;*$8yUKoe%a*N#zM z-=VLJ*<+>13q{kWri^HlLM|y1-|3;#u~%-_>pU(y`jW@Zd7d%t6>noU(}RTO$7%f3 zjg=Zmrg7-uWq0(~wlT|r>+7V=&tq)Cn~M0pP&DDhZ31!pld=DuJ&(&gl(LCjr%!iw{ew79l?4LTVYc5^H4sF}!& zVKK{#4yHF)bXHOFW7*40wurMx7ykUwsH{WmV+Btn4`Zbm8j@$5kDZuoq5gm>#18rb zv=ewE#AZmI#WKo0yejV3T^5mPgJ<#yC=1ADa^%PgzqsVl2bEVRGn}71|2|RM7!MTM zf#tQ~`6fC@**91(AA1i9OnR%FCL6 zM-!pjeGTJuoGxbPKJkkeOzw-y*tUbYf8>UsLawKlT%gki*G_jTP6M0`$}&ydi>y)R zqD<2rQBQnMQc`LTFc1`+3*Zd_J$G>-niL^i9N^tgk<%UVsrl$bhWab|+L!Muz>I|? zk3Y3Ey4)x_M-B-{URWBhu=G}QHYBQ8K* zWZL|9k@@^%Z-)TpWcdt+JVadJ*vyztkHhEc`{uv(&4KEa&gbiLDrBbAk=r5H&N6?< zRKXs+o~^0l9EZIwWa*ZDl(#|#fP^oP=4cj>X>n{%01l)ET!rn~bhYQwn)CJzWBx+J z4C>Dn{U&Af)?oH{>~|xC;uWC*8Gw)vmP$jwo$Oy11*rfh)|3A=^+?lCKCjtbM&~l% z;+_B;c+^792ePKRxgvAu4zSgod(cHfKt`|Okc+>R*HU^e>KHbKBm!EVvjMw2*#++P z9Qp;1x^w@#8UL0?E<3q4f7$W2O(cyCXo)8=yL(ZY&LpExHnl1Sg^U#+#-)tPW-+5O zE@xEiPrz8wK{^SCC1MvywU`N*D2O^%o4wzhH*uoals3JQ(Pp$UQoSafg&AdOh8t|t zeQ^73Vp8nT`)9{i{gx)8x;jW6;V*5#sqK(9tzFgQF7(s`)`%*02C@cj@qt5z+yx8d ztl|rwC_R<8D_O%ox9WK}WZ97t$ES+1@fAo5Vs~qh*xd>S z?2_#Jz9G*f#@)n!|H_YL4HAWQJX_E{px$CXr{5Efv2XPUwUM_tu9m%(fnEi{^>~o* zTx5WddGP9`1HyW6-qzB^kuB)+l47bDo99pp*cQm8R_^}_?VkZu3$RUnP#DpVXS$K|-mNWj5QqdoXmm6g706OHxBu=R;x zeUh|3>9W3gbuAxO0Ezm9TydpoAb4Ad?7#Ua@m>Jj^&JeZy1v5bXIe7%< zl)#A2%;*(>9{XU>df&b#7gM&cCtZh*w*4epaE#|;4G9DFaf;y;bBSDpC`x3Gd}I+R zTSO8T5vxW%gvP^S)AL|(LXLPeY`A|mK-eWg10Dbs0~>&lffGPWz|63`A-O9qS01rQ zmEi-8_ldOM1|L9AR)+&eM;ZB_`XS93X$e7?3|F z4jdGq5$*dR?Wgx_60eJzb^e5Ay&Tl6mm$r1y+N~HPHWcd1Df^Prdj8mL44jWPg&4{ z39t>Y5x~m8%&;AB28Od}V0igt{3<|akA3B1#A4s$S+>{YmlpAc_z{>u(thF7#AxH! zQu~X2#WYcZC-S~8xEn?&SR4A3va#hd|9tzqixWddT%YhViX z=<)e<(gu?QGOH>C!`%i&kdq;8z6eCInAgmqsMmDW_9}o;6rX1BjW&E%ikUV>wGnh4 zB_J-HlkQUq(uaCRoC)Y8pp$@39E>J3EBZ5InC=nwjIdNQ(y8-kf=3fQ(%{yfXQ5fq zKc8qf0C||!BZ{hceu-W`Q8TE9nxW`ztlDAB0!Hko@#=MG1sZKsNItUKtO#lYs7?h) zZxcl|HE8U;AR{Yrz= zz@isbLk-T9Ho%GE)AZ4x4WAXUBy?w%&LIi1*{V7XpclPUHPITw+{-{#7^eO*V7o@Q zKS>^?%G`}914Ou&&Y6d&F~x_q0S1KdHmFiW7cR5%g}>cDwD)X^R@-tsCjsX&t(6Ci zR~k|P)9N(GM3jJn*r@>*@6bSi4b!1zj;BFoC?`v`Dx*ix?NKgKDvKjr<)hGP48mCj`>T*9@7Dj082ukrqK)_ElDl0Kk z9JRT|luUVT0t2OMzi;dvC!u9D7Vg^=)hmkPb?7NY5$e+UDx=sC5kAZ-Aw^7~<+k!| zD6(Z1aS5#>j|N{t8=*99oLXDV3)z9m03cuhwvHNr|3QHNvFJhv_wopROjFcdbU!^o zFVi-9oAywOW@N0aB45Eu+4by?>@oHN+sfW#KyZV_x*WUv0(KZvFP| z=q~L3zKl_DAtfRiDGx1;>B~qKb2o3xH84`unwC)C#x%R-t?6nX_Ty=A=#)$IY1;R97=;OLetPEvJ#+;dKpw9I(2RFjtAJI5$Yeo( zKZ3v0_g|AYh>@iw;oI3}g&h0MnRDmF+NpjoE7SE5E#cU?q=OSj4l+xNwrbt@`ca|W zxtWL5{-(mhq84Fn9b=T0e~61;dKmVHPV73hUlh5zRAE*;3E< zCnD+XG0AP@W?&-Z6eCut^xPv=GZ+^h^8Y$_B1(|}-H`BvOE0XZ^0!;5FVQ^fFZ)hh zlMg`vnSH?Hal|Kl-zdQ*D>D#LL24ohK8GxzG{_k+Kxf0^5Un-GdJi8%BrhZr-G=yN z@_^U9BAm zysza@sDS$OC1^`sk9>T26#xEqCm&*jh)RdaKKnF<{8^tevELm4MY z)Q$4cFJed;S&&7YvZ0Em2TB3)bJcY)Y6WQy63qn2uW47+XMk)vqC$c06sqBhYLSSk$wuH#)u^uTFDi)7Qj7r& z=wKZdEu25|04B1W(xhw1hkd2UtPhoW_*BK4DtqM*@jV>0^hKrK*{1L+$dRIPJK~{& z3=Q0piD-yRJ!>wDqYwk*$O@Jm;4==Lpi186UpEW*6%a98R808qng4QnT824`!uPT$&Dto z=VkxD^f{ya`rOL4c<&leB=Rv8;ohrTV&fN>3;MX!d8Kh713$6qc-|sH{@i_p!XVz! z=G1acUb}N)CQ&^DT5<#vJt9WB0go`RGIwQ9QD8&+X5*!Z+w zjZE-onTC33STY=0V~dQ9{c5m_%*dr`0`B~wDWBis*+?G#IruYV#wamAAR{5o&=x{*U#eIRR5>Qu z2ShEJp}z+%)@Q}!27Z$Au%4>L^gV=#GfdZ0#1&QTz^qy>$`sXeOtsZz{xpQxK53W| zefPYqJp2196ZEa-hMuVtwf0MMmLaB5Ihx!*3Q2Y zFMUtPx4MEt)Qmc0gChcnpqwbyd=_GbLk7}|3>mz2P4@UDE;hT3ZRnAdSr4|60ZaEK z-yY<5f^4wC(OBy-E6E}Y(o6P$#_<-+)kitU{6&-7QIE92qO4NbZI!^F&go{GR#!u|7 z&!^xBH6^Y%=)>JpWA$YLpSY~7Y3v#XhwB3mcc}@%-Nl+uP16mqgcezqldP-QQX%9F z1v#GwK2)YbUo3X}Y0SLUVsuG*I)g_~)%E9AvVmLS?&B1!&TYPF+38Qeoc!?XWTQ7z zSxHe!)0);_B>N9>Z*%0qOU+8H?y2znoM}7_ZJK)l?=~e-CWp@QcQ^PGr>7#U2lWFDP?{3Kw)UIjNg4 z@N^R#J#>PM6|d}1>V}u^bS>TE*}ooY$7wReHe1KXdLHim>)nd59WD!pffF0LHTL)A z)GZgOl7Cb}spUwk&u_&kF&g`|pj7u9ICxU+_weHw8jP)0*i~pWZRh#6i}mau@D(Id zpeKv45}7pLFgan}0<$8BzX`Ewutzn&C3|@S9j+oY%zTt0-$NHRlKCk&)o|DRs-g*6 zzC0AtWbJnbV(LHd<|NYAVu1vZlp`T(vJq&uDvEJ1N5$drj52_~>CSUH-%p_PyeD1N zXfVLeb8>N|7$=MO3UrZV#NHdoqAIWxHeF%up^<2HRZYYWSI>>nKb6@{D;Op^=$nGs zUpBcsuI%$0m$ah4>b%f1UZUoWwr?qLp{)ASso}~6AAP^W!D#8f5(hiyt1tM#pQ2H$y=Fm)H6oEQb%k*SJ^_)44#+)V1u`^Z5 zU4oy%KQ2?6;=1HsdY3C9O8FSe@a-4dO-^d;oX9+z3|Uq6B%-huSV4z-2iM@l0Zb=wdrxFhibl_eyffp<1_5NZy)0dxqY0W}MDcROkev z)5P6DEm%V)>JP^82KL@rVn5JEzGE}6Kl zBT;yt6HP`2=sC;f7JTd^k8Hu{X~Gu5hGJv;+@S!8e69z{2a1h?4@dq>M5lcshHSz@ z38~SfoPVnXB+=0xo#qwcYl36YCIud(g<5%mrPOMLu8SEHtbq!YWOY>j)v&OOG*(hp zF-6gF7~dF7^AteQO$~;@l!_gAiTJ5-LJYvh3SdI%EAk!3$w4`Y+c=rPinh=sM-d&j zc0r@dq7)RX35${vo@$B$ZE7@xWd-F}3EW~RVKQ{@58;2F!85FnAZnM&vbNWf>zCR; z=0JA;>1-DqxLI-#pTapG*!|PxMCDwm$w0T@lGJoPVWc4hA2R`2?>H_2F7%0hB{)Pn zzr!XWhiV-WVto44mr_7cI|N>+_yGl2B^yMHiYWQ%1{#n^8Pw+9ey2GxLMi{1n*U={ zK}}JS0zzZZ-3tulHG_Dbp?t$2j3`<43RvY9+RhtU!gS7I4<+0q2V{e2;hSkV+Dso+Zum$>JrlF9hyALf6|73v+f6d&JOb1-w}#=xjv$OU#bezjGy%ZKSu z{aJHA%jL|9M8l4DL6W3P3hj(qRhNCnh{U68JKiGvw|~M&hKUj5ZASSBif!!RYbruX;V|FeA9S_<=cH1S-G;BILl~qui%6xx6^iMDmwW+n z@k;A>jpoC>D=10Fx=tTv@d?FjY_h(1q~8|=$8Cfy%g8Jn@L6pH)5Z(hDz511zXj8? z#SoB$IX7Z+{qJ+V+!Z&QeH^b!W00MM)|X0!eBtOfbLiFGlcC(AS*7qNSBfb)w(YLT z6y|^>o%(KZ?mHhT_xq7NH5P{dF;(yP&JIoE)5wxLL;l`%K~&cy|2FjaWEz;(#25%5 zpf^vT_v_tIDh34>2KS?nPBDJ|{)3P ze1smiZE)$@b!)Z(o}|{IedhL-m){pU4%_GFL;i|6$oA2+EJEFM3wWm3LxLD%O>VXUE!4qULvJr=n5kwIB(uNOn+43gF)XboQRYT#;@XQRu>jTD910=O0%b3VnLE zhCFiC)0o@cY>eIY#3cKo1vt6;%%*1Xykl2p;^o+g=45s~CFML1(m5J#=A3OBfjzl! zvDTBtjdo6YlCYcPE$)0Hs7{vDJZctbL0d<_S_R%!SylRHPj1d3wzmOz+Cp-7{&h}S zM$&^rXmZmHD9Ysmrd3DPY>g9*TUN{`Tf1(q$Kfr8MvIGQOAjV78XC8{2yF_tYO$dF@K}nTAbS(7JHw6ULU#4%GkhF=>0S~;>FEBelzpVW^!)5R~ zZ?c<6lZ8SBEgi9DBX{OX&G--ktGs@HhW71Ev4)CVKOeZ4I`2rf^qm0KW3j{RP>}Vv zfU7$DA(FoirL|au{s?F{rRcb+c)BDv7~FWCTOaL4@JLPe0TRjbwWHQTwusi1ADI$C~_Va6O1 zTLv%hbo2mlLZN%g#IOKsCa-^0g=~m7jEBT=uPC;a-{zPT><_Haq;gx+j>@^kg^!9~ z)*ul>e8r_XXkUHWR^Jkj-!*9`&ymg$<&?}j)5TI^s!|!0q$W!bqHG&^7OQ@?M^BOP zwy9beA_ylhgyw574AB@%O!+^@owkq+ieVX zZmnm6OKQ8V_597`;)B{x^`?6N-8;wjobhGKm64ST-&}AD*V(Hyh6%HC{Fj*ebKX_G z7aXH83CTqFOuAlXn|@>x?=sqt9I3Ca&zC7|BQ!JT`*n(JnlcBRXngQtStEiDvv_q{gH zJ#Y@p19egIgR3gQsz);F=Jr85xjY?^ZkhLs=Dp`3VCQ^G;)7&piwdR5@c@aVG)r?%h`Fx>b2A;!LXkFJmb1g zwyWK4`(R%l*|2SW;~gzH+iIHHSz-!_JK~3r*e#r`|CVqH&UKhjUwcmVS;C=zw@-UhTh8WWKW`14&)=gUzTmQX{6&cf`r&E9Aa$IpE~6;7vCn+15rUZ9Ttr| z&6?}^puo$6;_B!sFFajb%JIV4Wf)<6>quevZCu)NL*A1+lpIHl;N)Mc{&Vt+XaXGW zm{Wvrq(BoM8J*ALOr&%W}4L_lhlz4$h}vB+53 zqTX_f0Y!c0R5=%SY3P`~Vw-H-2Q}pK&CjYShX~jwk}ayF61Dv`RtwzxVJSiimDXUu z9=FUEgfZT1!ca#Hp#;MH1NF+rJN(5zhv*Q(GnGkz{CLX=HZ!DN9a#{Cs)A{oI_T>j zG&~oz;)4i=xltTxp6z7>;@;jNE)mvJF40oR+%c`@@OF00h+LOUV2o}U_j*%L4_HDb z9U6(9EFb_l^6{fbJQ5t3V>yCeZ2|y%^y~gX2g85;%jXC75j_D6B&7jU<6p_!tCdGN zbbj-khjG@okz~exsE$1T+nw2M4SrDq$~W2%NuYmJ1#!g7nhYdUCQ(%%Ma*GTUNS2! z4cj{OPdJ%VFUnptD?v2_5CXbWL09F4?rw^8$JWj@dLg12VUNN?f9Kg%gsYbvAg9C_ z)X34UMTzY&q>es*Ras0#sfM~RGEu`j8K7oU2k$hAk*O_1o*^frpvM`RTxOvkhk@Dx z4$|lf69EPzAdbJ^N=wroT!}YukkA37K@%YuNJkhfoEPEf zuyS^RjA$6|@3YC)MNu&{!=5}~ev zv~f=S}f;E@4=E>pS2#}5*c&8&8@R?&AQku*JD$bTW;O% z>>KcA9~CaN+KOR?ZHu1lG&4-LlvQ}%3b6%Fv8pl>!i19j1Dnh_asv+ z8`o;1c2jgZcZRXIRuBkWeA8_;Gs6VeYy%NFu-5K5mRLNj*(PfmSOjbKjH}l=t1YgD ewvvnnXq?F4!b+=}JBbYT3fut6a4>42nQe=w~qy5*8}JdaH3V7WQUnZVdDUb2b&m)uoZ(-ME3tRxj3ZCz7Ci@jG)jv zx)?!3s>qbNR3&S1DzpsqHZqTR;c02p=4z-?dEls8YQl0Dmz_5#7~Kf_8_}=DrQEJM z!uO{KF8}qm`YeOvBU0st*>ncBjr>VYUZW_db*~nE2rNK62ARmVcrA!{g88$%TEPZn zEMo=BST-2&6Ppn1!`~xBo}aqP`#r84`F}1&e$L@ELzJ6Mk|l%?!jdduNkRxDK!kwd z5h6rbAOd292ti&U$RpLD5hx;pLW1CffXY`(DJoi2s#NKxTuX&&inMZ;Divy}BBG== zB4We<^Urif*VwlQU1RHx9g{?i#C+{HVk8OX5HX@s#gtl9?BQLsakS;VQZL=<+PS`T z%;C|^{snPUOSf%r>=A^!^ZweC1UmM%c5xQ1MT#k+7d1y?45LVqLWluEOk>3G9z?aI z_3WoqKBCDQb$7%Rm!l90i9{kCLLw{*^@T9xX&%C*y_y;A+Gk&DCp_YqA4 z05v`0pI`gluXRp$&m9V~ib5IrkYt?fJ$Lfr7#xuX{NM;35cU;0b@%@Mg=$)DcmIHt z*84xaBw{0sWuhR3phhGjWBgW-g5`!~EE5GOL?$xsxGOf}kkXZBQq}z0^Q9EIbiI#f z<7HT;b+kg$cm*%RGQ-kMK@?1Z6hvnHZ0WNubH*&gj~S+1ZvQbyb9xk_&j(r_AZc)< zko?q)tlFFa6lwu5Ky&M;Tr@E17?DPg9$ESzNTg(ro}@4$N}G(yM&xGX$On6fHi~g@ zGsA$qL<3yhw)%0mTkGDn&#O%~pAXsfRgsXbp3USw8~`Res&;?RRvm#XknkY0aJyGv zp-W&p9^eZGV7qK!aTa(A0T+2by*aD&zy1T$EZQx#Eb9y^*4fydkM6Pznr4RXKc+#{ z7SLmnDIwPMfDA&?ID^iI#@Yz82F626<6Mu08Lv5~J0D%TL3kzz^1IXp(OI=zdaFrx z3Zc*#gQh$@ViUqDBC+ayoxbic0zm)`ZoS6@E*1ee5F;Ec^2QPrR9K?{!2kma6ca2QIC287TmT0*IIKz# z!mC7pgHM7#0xAe_SO-lQfNAAuaR6|EP+pCt zoo(Qs0S*w#L{b4ruQL)%Qj*m=*rR-RNH@+Tts_HQp#^Z}i%^JK5C#A{`0xQM2$m0ou#f3V7MWrvg7(l=EE>&Lv$I|fw#Klv zOssE;Ze*Jb-JFmSrpiu#!cSVCG{{27Xh`dI3;@jp37xH;W^0Tl0rMOf8u1pF;pnV_8bO;{F;PKw{&f{1c}gP zJ_ysF){rNOtOjg7C6~53S>Ae_5njEgT{|;^gt|+*xOm)@#-6+Xpt{FW-a65-K zZW6mhIQ;N#u$)WpCh5&%I&SgU4-j(mZxju<)$5_F>1~9l3OJI{)8v>NtjGb;v*2NF z{W|GxbK5XBrI?LQvENH{Kv%!dIUz!HCvYM8N38txbcEzRF)oP?*(qAef0w|T`)fr9 z)rxdjza9-jQsS8)g-&UwH;$K-W?9bZjpL(6q^E7M4`SBp5j?Byf<`BD0*gOG>*0 z(N@H=Dy21HTdYX6UT{bPJ5saDYGD}}l4RG=HL)(f=6i$`p2gL%*ujxpU;vG5dgZcF zniqmY;-WcH;J|~8kdz}L5KJJ_yp++JDKrR-jH=a0zoZ7kt+Ash$}vd+FbFv;B!06- zvtV%v0x$rkI3^7gs6`Quh7gn(fZEIeNNRh(Z@)onx#ngqny=OXADotG@*r^kwVwdq zJ`+&tiQv3Gd@mbw(cHR|doTCv4<}58(DDXVx0O2Mka9%+pkz!sCL2>uNOnaW`8<2R zXrYMO;&6TUmEEuHLNnl^6GHJf^ctBaH~>uTLE}YG9s=cIkRAo;aS)ya;TaI02ku4S zUIy?c;O_zUK471KwVwg%tDx=c;OMsj^-HkwkKifb87oYFru3N?!2ka?5|!*AaMDZI z$!--W6I>2W22GUYpb0F04KqQ;94`*||DQCGk|H)@8rYy&!Fo!dlnP>8Q{qHbNz(e3 z;MQt(uYZYdzC{)ikrZ-4nzkrIVQk62zeH>cNMsASLAo0jc}=O*zo;6&>}t%S4pbC0 z-%`}5rKp|1tli=NzYePLsi?pIl$>+~8iR&d-?K$MgN^G$m`csfv&*)-M~NM?e%ZRp9Ow^p zBlg3H3mm$Hb$6X`PB3^~%iNQYAYgE|uDh#|gkF!+BqLZH;V6S~l#3NO zLTV&qmzwZMiBeB#0^U5LFw1?Nwnp1xPhHh9*eS#Xa}$QH3JXWPqGRK>WNtVD9ZZaT zbG)J?sjNKNKP7eR=VJ+F_S)l7JrcJCWaZT*R85VD%&9mA(+%3#y#@OVHTx@%eQxad zWCoepuGYM!_!=io9nK`PF=UZ-}gm&OG6#RE{tRGVQGh3K)L28Tr+>TOG%1D=$ z#-sJ7)355)ZYe~y#@CFpy)YRZ$kn4<8?`r8Eh(!K_<{I-gG*%QMT5Eq$3qd3QevWJ z7@>4!idq^8iu@usUun{~*Dk>&Z+RD289IC)?PAaao7{p)7Bpm|)^=18d_k2w#S z+1t$_@|`2@R?>t785B-297(r3BfAG>OiJ0XMoul#*pymMjHbz0;K-SP76NQzOZAHDiLJ!l5J= zk7`=fJ2k0~dMj>ifT*KBHiKE28LXUSK4ZKhFZK&rEHmtA^{_aG=2ZdMgQ%Joy+^5) z6C=VNQLUceC(nuedN6;rU@>Te4%Iz&rAy7ZMtOV-j-r{8O633KLC%a%C<(}{^uY=W zB-*B{vgDohWt?dFNs_T!TZ-n1im!^G^3D&nHT6P8>5WE2JrDr z2nYCzf2it64t#{&QToxc<}lPP>8frQNIzQ-l2Ud{c(t(_VE5ucb zpBS=jXSi+vk+Q?=KIWth?G9Xv7K>0ImIB~ahWt$w8-_vZ#YDT33a0XDy_v7Dx9C(V z)(SKTIMrcz>&Z%^k@TcQE68iTRLtRCGWXnz+M^M6)sV0#ng_)fkhR`wD5j`d=j>;Y zKBk7Sq4Rk)RA*EP6uBADq84%rA%xcs6gpT+`^jox2no@?O&Jo5`un15Gx$P%?plK%yuZ2nQf8k&E2 zf5)do+hiN^z;suKdE$C3a;VXgS?Lb4`dPmpI9TSdHuyzL)MvXB1(bOAKvgxYaCN0^ z_!!mlmh2^Mw;ggqx3Zq7%#>lcYq4{1`=!_$P7&$g1yMz)Ac?-WTw*CGzlEA&WdI_7TuEQ&Q=cNZ==fR3sONU#Tv&1nlQ)|Bi57LgOhem%8%d{Gd; zza4y}Np$*eI5JK?x>zT#X&jvx-g%{A6w zhfw+|F+_*!Ys>ZVbqVu8+My8}R^iVNPdZVp9>5PbSQ1EZH=U;3g>}IN+{1N&6nlE{ z;usXdsW$EyWj$d=8IzvKW8IoiY|a4=EZ1aUm{G`ZiyWQg|7F7NgJ981{@~Q87jh!`{68bsOO##yY3mRu0byJQyUmqJ!naRUA`wa#s2<1a!vjI zzN_u~u9xS?tjjqMg+pR`3PK?>z}nmRA-rsapUX2n;`X>5fw*`_>c3BAyO^po=DuRg zUlZWq!`dab&Jtu$3PN~)%Ar~0EMXSHL(DwEY@WZ`#)OSsqUzFT`!f{0QkIjwE^h@) zGU&MdB>4D>M#eBCjRJtZ4nRmmA5@j64F%aKaO8hT#6A=#ImiqQ|1X`~`rW=scINp{ z)!=bgvx|FOH|<++H3Q$)*MGhCY%euRRvJZFCP>*g=0%`Ew+?vU@GKll~;D5mxH?7SA`AY;I1Bj2aVbZPN^kT6Gk*b{}<>zDCu z(L)?(f1%Mr+hC-HgSFL|X#|95a;jhb75Sw}hl7Nqb$)hdEfu~Z(T6=R{0&PE5Q)6v zv-iyan^M4Ny}sX(eoYiP+JEcE{=yx*I*w)Xy7X)#kFZ;AQN5_NOjDD!MpQ~LIzmWo zs=V1kdCIVsOn3{x)&T*NzZ2DACAb(fu?d1agK*1kHZf@H8=wIb8P*V^%GTK^<9bkp zOv~;I=iv*G7gT>tp0|ist~UD!UI_+SoZ^@D*oKGVtGv!6~+q>}?_--LDcBLw(>UZViAl>qR@ ztKOAS%YaY!L&FtN6}p0di~$^~06tmL_mc8Y@B+>t05&?nwx{=DHAsC@=NP?$12Q9R z%c1i&d)BMJ>-#zOUEo)zf$Ssa7^lC8BdX6mZ%ptsVdHXy!d2wXU*&KSPx5#U6 zt;>I1*TBvC65nGi@a>5Lw?H7;vc#Fb`n}VtNa0ErJ|9ek&+Fow=iC-1El=!GZaK zeqe_ZzxVUO%G9}otKumnEg!H8Iib)W2BS;ujINkLq=6tiFzUFn^B#q;ABhS)5nS+< z`E$0dt8o}4GLTSzm1?#BN|j><+`t{bU*7zSfTaT-lMW>&!7q@;2w~P4T+19evi$`N zvSI3d#lcoYbi8?V=b$qc3hb}|-uQ%0;ZnXh#F$&uH8Ct}YcG?T+$ELcNr}U3EQWdP z&2|%p&^x~rnruosGq!*-m$Sf>ilnR;ro+s@>rVR0%820bUdsXaVm&EaK}6D6H^>yx z5m|~9_^=xY?-UYvx@$8}*HOOHunypao6n9OoHrRWABZ&a5`anx<>e~~%PrTmf`o>o{VsgF8zUWsu2yHttd)udE#v)4fptYgi^`b)WRy)nu zYRuKsJkvMzWv0N#yOV|P-a5fwG&)j`lxV&hw)#V__6J-)$AKe-mEX$04DinqJ9vUsh5%FVhgdHby3 z@JvV~!aq;9hq zCtC-@m*TLPA0ai6Ole1}PjcpJzP1k<2>VESOCur~w05(imDB^Znp03;dP>)UbLVoA z(~`QV&m+7>EP;{NH&Ek0=$KLg^|HNof}{77Xqb8LUJp=-09Zi{F19)FHk-`K;QTuV znAJ}ly3amYP<4VAcuMcL4+i*`6kHUIh?j9JycnyF4;ecsg4^?!MZ?=vIXSeN_#L}EdqjB9i^k?COwMdw;#=UUm1SA) z{x0~sabT=yBpiH`a{Kz?!2rrf&d!QE!zpjWj`Z^Fu9!n8w~en*WA-BV>9MY^geyZ3 z8THu0{sm_6)w^Hv%4eZtMkuca9=q-%H3E`xXBgxok8D~YHt+4|mt=JTHDQ~qhFDOm!e4cNMBYU9K1<2mFJgUA%| zWJdl{GjovDwtQa@SNqhi7*n|T$GZ4|ygocO+Gp9mjdA&BW(yrH!!=Yt?oz1$CpD-U zuu#kJgbGTjqkdt0sIPvIPlKI)1lH7gHD+`ZeD_(i8VXbm0B<}Ub9y8ubJAiY_qB`^ zm_}oi<&3S?^Vp;vjL@g@p8-8c+)VDy^-v+Y)?NL)xN^<)gv2BfWd0hqW|-DS+rMLn zRX0YrjI_KMUX|w+l}$gIxNDa~#C9uVDq8akX3oX@L@LD&DS*IgBoE2oLlk0NDjqLN zXEjj&I-ILQ#wZxWC+k(Km1`X}y{{q?ZoDgqPb7P~k-WWx!eu8DSdV>#`*YZ`qg5(z zA1Nak;M0c(omNISL`|_y8639_KiutIJb2=leG3uacR$4Z&i(tOJGluu-wxUpDSv4^ zm7hC(D&b3BF%6ZY`l_*DOxDJ|irr=hvf()ZNj%6&e8Tm53RG*I$TJHU=kiV2sg7e7 z$1ISYM2~B%aX&c<< zYMR&OvS62J-{2tm>#NC`kefqdb|+9(`asv|+!Jpi=%!rYzhaZF%q&d+*LiGx{H~Sf zHngWUYAgHWIda+5Cx&h>Y_yal^F80_bv(YDvxd%J_*Zn|iVlavXPO{gH0sQS!_2?N z^Ue!FFMYb}^0JK1z3=QRtY=W%_LxYj*-w-K);QA1Mj zOt|%ctZmxe?k;)=X6N(w+z#Hnp6gCSPB@ggyZ$uQ&DqAr(3wj0bV}WIoqX(q1VfcB zKcx#QKU}&bjh%o*Dv#%xn%f-+JvgfYzyY}eJ0GLzX%qSWyj9B{OKV0w%tDOfqAg`hFj{`DGP3OMxO<@%6low*%O32qzJD!m?Z|(1d=A@I&Jm&gIl697^&ij`;8DC4kcXI7SkgXDn zZoE)mxU}w=PK>^nCv20~i_P~gxM~;>6?d<){7s%ee!$NUmJ-R%?caKI2$cn{9)yMu z(~659*yYL2H$4DW;Z-t25$FcER0Fm;3Dg;)=93y&fZpmiU}ouGfC*$hh{ zhyXAVAev5|2jZ+<-h8vPq73LOaQB5d;6m{PVyvD@>^w{P$8RPu$|kL2dAvd)kKUPq z{C27G+yW>)8vxWp5PW9oPx&#G^IUu#CpeACW1XZ1eoQ=kYKngf>WRQ*{2+EKy>hH3 zcd-(a@q)L$F20W&#Y9$DoQr-Gds#IuZ$XF)&$RyW3-SE2;|sPdBO~n#G~H>%_>I#! zyiTPae{By=&R?+qj@9bjHwOH}a4yIVwRER*EseH~|5p`0eXH?@G=6V)+K?`0ysWRWR#;Ixavb^xxb_Q`Ygu}32$!5o>O<1P%^ zfhE1;e?Q%clb*0#g6RgFk*de%D_3uG=UX4ouGA*o<9vDuBAvT&=4@?i=-hb6)7i#G z*E#ypQ?rqTLvk;t7)sg5dU9>=WYBNqb6#qFJ-wxd(H?TZsEId^#vC-X*HbpWz*Bfx z$CmX@R0x}eu1mk-f=_>{fwJ`tp_|v~BGZg_s&N-e`GL`_r(f+K58Y}16BFiq zr_u9f>2|p}1Fruf6kC4+84SRbM{fHBw{usIlVC0#XnD8y@{p}OeemAjV5-+?8u0)5 zLhN1RDeyA-hP<90>ocKpSG12FM~m9po1b(`*T>0)s^dL1bD@PahoKAL(fo0}7q(4g z;W}{b;%%M70MaZpEF8|4!vr=ztI4ZW&IIA=nSjEB>3$ZZ`86c*(_1U1sakPzZuKSk z*PkPQ#l<|5hfra@*v%WGmScPQXb>jwt#AvjLe38@BD2t$f-I#yxBVA6$ulED<}lsL zFS6+QEoQRSaoA-2r<3~qNnzOdm+`fCy!h2bZ z{GZwKT&kaF9p3otj|DZKA^Wgb(AP2hgz<10soG2gR;+*a`-1XaU>Jo@NKab`Np5>> z|GgU){=63()HpUjlRo$#0`+RS1e`1-4_`g1LAC#|}pWvXn%!X78rD7X)rcTH2k3L--dwiqwHz=L}lOtl5& z9y^B5#FRK{0aeKIh<^{Z8*Z|CrBpTxL$1aA9TLb-I$S+~B?jBduzU&N_J4vg;2Xep zj-_IJc?E{=AcIS9@jvk|2}v3izv&wbhTX(VPLg??wE{i^u)1IUPP(u~h3c%)CL)5ytOnbSC z$Tw3G^Gn}|Xz`h503h%H?E1?Sy8q7uR3R8LqPeAzOg_Y?#71(ER!a#|rc@|Zkw3^k zC@T)1_bVxWM+!Y=QPpP%sB1g+xR`x>IT+I&vxk#0%% zq@`L5%c!NyGFmoiky_=}3~O(>i%n&#F7K{j*%kI;yJX*6N-eu6{**|{ca$N@BdZLn z$5#JRPf)+M-VO7^w$L0X3*NNxwdsTn!e(ur&NKISPfQGzF^$J{qWK{*6cVPz+L?zA>)HTYMdT>RFlvIL-!1E8@8?drENc!+M zHq4Dr2FJe>q5TT*IlV6}(ol95GYw-d{87L0^_X|@xc_)KykO^JnBcGQa_fQEvT8w_ ze&v>R(b(oPqzmqpvx?zG-Jb>}f#iH%KPrf#h`!=&%MFdDgVneW`3u z0F=q&f;D+~cK|kXHc7U&D>|&;!3{yU_>U9-8g3F}yOLJaNx8|W=RZQ;blLrkib`LhA9XMtK8`S5f>06abs z@0fGcB#UQ69{-`Ll6WhNHI$H)#YvJp9%fu{q!o2)uUb{h=?Fp&jU0O6wdFmg;X|j* zk)W~4Y5d!zb=-MA8dt51@ck+>!5It{D^$Bg1q>>R_+?u$Y!fPcC=5$N)(_c3hc;Jh z=sUy8wbc+q_>faUOLkqQy3-uYVyjD;Y&-X=FahJPrOfB~4b0K2=3*XU4&3AX_aYa` zmQ62yp5qG^N+ZyJJc<~eD5}5s)Bz3rZ$T?Oc8MUrC2o>*$pq(EX^3;HNDHqHhZlJ; zINS4kmh{P*S~j}&=SPC}X{hunWb->iq1Zpc2|A3jIXPe(IqRy7V`=c0S_cNh(aCD* z>6Y#M!7k{Dw>mr>tuJA&*9N1$xQ5KrOTKBc6*hP&r z2rg;lCQxS>=y>(0`#!O*_5=f`p%I6QS8?IN7V=@0zyg$T%A_}xK%g2qDu1ta!<_7W z5pmY=Q{A;)g9ppKlhJDP_dV&My8fwD{D95Ewx?XJl06_$PKxF|6dPN{vg4^ly6i#! z5*yZ2>SW?pv-W$))yM4M>9VECe3MUq@2Vwni{{Jl@#ql^G`ozp9doMlklxr1i<2&n zH2n{rg;O^ZI!*8ba~feNgFaMU5Q}V7t^damjP-SaKOi`!hi(mtWWBvBOn5Bi;Y#Xb zt6P$P2AnS5hxm?V^Ovz6)n9M;ZfuW1CHQpwXp9K zM`25BHP^xgVP|M^Yqok*aWeL;|5M;Wun(M(ahQ$ok{j!`T=Kyk1>6ij#T`5_awK?C z`{PEg2NNKan-!?7*8N5&WN-;i5PH=A5}0d>=IUJf%7ZX2lGUN+%)Ht{q3gtcwvON8 z+6Hrd`H`Fo;4r?hi3)LWJz+@+ZZ=N~s&hb4(+gWJ;{*=r73ldqBn=S?az9xGD3EJB z=Yella`D^se2*gy7=QDz=aEYT4W#jQh1d?WtGBmhz}xE(C<5nFHPj4-UnwMAsxr*q z(X|g6_LRZ@X0_2soLK9xBZ7HH6;jIIu{^KL=lbsm04!4TigW7Fupqpl(oF$okxl0L zlBo{ZP>Fui1WDiO7G{Pe-Bk9CiGl>gR9*KXQ%p9X$BR2+Vy1Eq&=wdC{GxfgVS0LYHXe8ZSN zskvM;W)A+{;c?23YaR=o;ISc4Ux1?_DY!s?7UySQTNd{WvFD4`CJcOp&t9cVyT! zT??`lyrSXCh4>MGsZSLfygCPiJ#byfA(NL;^rM0@v_u0Km5KDjkpK%tT;&09sQT{g z-?=!|tqQmh*D#QGxeI1@$FT|?l$Rw^3Xnvnh9j8{Sv=XjH9R;LVsxOFNfZ&HSDI%# zY=J6e>MGSzQWUC*^1hPX?LH%L*OrYX#6NqZv4YK(JbU^=c3t!*yt71DfF<Zsr1Lp<_pm@(7nRK({wkmqk)ia&C#5_x-3w#2d9L-W%4=QD?% zSh#2c$fZ>hZSw!28IsKoN1p}?pE%?#G^O^-Mps%i<_LT{<+cbcW5X0RViE?BsuEnv zs{VVcJcz15bT9}1**eIpKhWJW8qURR0}4?RB#UK;D31ekOvNi0&>J3Se|l$+Ta;1C>0?6Ji#ZP6i&1VH$oXxRkEWQ-F03Cy)@F$ zznw&!926F=RBR20qEqS?n-gk{4K|MbvB-Ne;Olj35>zu5aA^9J}!bk_9rWw*}MvRyC8O^0! zaf~*xZC%Qle+&l#y?kR}UjRw*>!Xu%p#?8%Mr`~Y&IGV!JZ#& zz`96&e-$@D50(Dlm&+!3$tD2K`hsjE{Cgb@Gju>D6P^^{$IQ71`a|?Jd`)1fgGO-h z3H6EC7qbzf2ZvWWfgy9jYawY1HrXjAU0;$ms>4j7VOmyktzc*zh5b58T&;4Pi_)hp zH^}ov)QuSA`%H&i>^iRs?yZ7a^1dkGIA1>rElL~PM&WZ+two{-I_2|{s@fwqm6(zgo%SrC zJepOKLj0z*TZ0rH_&BSsPT+{%w}R#h^~#CB)z%rFS@YKl63=F>KH?C!6@3wG2qlv9k?XT$CrkD&x%9-Wt8s*7z(Ks za=4sO3C~4X%?@1G<5P@t)a`|&YuLaxW;s$g9q(!3QhUmQ7ct2n3M%l^2F6uVob?3` zxZ9x19VR4Fr>gh`E!`A!D)T+wMB@5FZPD)1JpGFMo|f3Dt}Z$u1AG1{N*zO!%=Fz` z`ddgf*HEzSJ zp!6dRI)yMX-)$>w2RhcZ@s0x*FrT~CR~wjMD=KG;hEQ+mgK)u4P%Um$c9HXdkUl@> zNnmMeJHTnIt3HoD(;^7LMs44aI(=XF`|?nn8N|zR98V}SOq)GOQT8k1_Ss~Fn{aw1 z#=&O&4?+?8wAUem0D-P86xI@=l@Zym7Qz&TN~#rm1igahEs+<~Q{oX;QmC|9B&&oL z)t8y#;_=F|Tsl2I+!4LrNzTa2fDi#`R%w=Ft&+NA36p6cwnM0!h zPm$OUhN~@|WGd!_LE~8kSe(OdQg2xg@6Q@)We~-#?6Nj;+nCY7W$0!hwUn%?U~zbU zTVo&+#X^39XR#eW!&=M%n*y%F&(rLx0nVM$ID)h>E5zF!RFOug zYY|)wk!~1-85ao58WpJ9Czhs%!o#z>q0pJfvV1Gt@P5_Z)hg>R4F}Xz7oMIldA5bu zgiG*K1G5zeC|BA)jS+O0s%XJZvObU(RD%>3gt6o$5!#bx7Gx52e#64T01EK(5q+~| zqE~jr1h3V7+jsf~#;D$5(JH`BGC**l<+&D!R`ek|sn-65BBlVG{9#%cfkX{v0?~p=@O6{Ub=%x@q)c;Hki*lC4n2XG zN8_*{mU{x}3@fP4tY`RB3uwSB7&+Lz|1M8dx7Mx%BU)DtVR~d|b3!ThZNA>rHc6S} zxs^hnP4S0$15Ct~dduI)BjXe+DPh|+l+lU=`)QDz*A7MHGqrQsLwLV>G?E&;-n}pw zO7(2h?JbIkO*uVh6LM)Hq0kP!qJFe4$I0|Aibo$^>unOguyX2alz{#u$t`sQuGgyf z&>(-HV(lfl(wAKn3kV>@Bg1QDuLd|;aflhzerpn?rDPI zr#Z3$7eAfYb|1z1*!BB|UZ@j~jRo_-RH@>!mY3vd691aXg``G`1G*78n)D#y$wPh> z{3o;-T~$-e__Ve?j)rg9Y52q;CjAyo4~+@Q&~Pf=TsCx1W_U0$M>-Hhkq16Iub-&O6o5kL=po8aXo)SiKq+7=++vp#fB?z2#Z;E||@5;=6c+0{rKip!|y1wWB z_{5}1%Zu$}-?YK@6^`Po>1+R?=nW6WV#7DM{md-t+}uL;%khEn(le<;!z(@bWre@i zwP@&@!PT&w)*Aw116$i&Gm_uyxjcBCD*@%yMS(&Xhj=s#x4TN3rWaryr^^ zX7T2+?W1iytwbbXtWgS?>Pa>FY#JS_C?z!-0%wt{NJ`hrE+jiij3}tP*WdmVG(a&W zYTr)5((&AYzd4d~tn-k!!Ri!I5sL)yA*#2Ib!(Cw<>$lw*M|GyCY%z!|Z(1Y|@!>nK#*b5y(sz%LRQtfUz0k7dK3Yw&1 zs2E*=1@6}2R|Gxkp79oazBjnww-%2m2O${>-Q;E= z@TSn+=5*i5AD(9=dxlbr>joTvy)ceoKDs|7Gz@lJt*4)>+Pg!+uI}ZE?CY`joM;+e zgE{0O!rtM+HZe1i^|@t<^NV$|qzK8?y$qqII-q&6c-Y$+g)dI}_4?k?k>P5n`D#gLIAFwC2Uq%LF1O+ zc0x(6rJmL(8-NMtvk3;g9x)mOUI<=O{k~iW^grNu{!X@a&w3qpYVn#oH*+{?;YY>-H&ukL(u##{#0QIg zHSU8c+1%$FlD>Mb(Cw$=erPHSGe4S>Yw=@!vR+lL-=z?Rc7`ApP%k$owqs?UUClJp zP{`qQ=4#zX-c8Zzu~`ssE|D076Y|q zxSKg!mGJF-BYQ+cHW@cGc5i+tF$fhc%p(GBhJDon@<43YLweUmtjQT+jsC}W$~1m_7g z-^H&Zh{xhgQ_X+@IGJ+FEAe?#56M;Jx;Zn10^gbpr$v&?PMIr#Ibz3k_;^9>s5$Jz zN7_Uauou;d4s*Y8<~Ri#>v=gPAdIf<4*6Pa4(&p=ykpg;Vk`TP*2%qDI!q#vzko&L zFE7uo1bBM2vM%d}Tlx=YTWb!oab#ZmIu#e!;062pZLN2Dt=0A~eBcT=`HS|>NTLMu zf!Tm+7BZ2m2;&VO7mBRZx!~xgH@ESKARpUwumjc92>BaMVgFL#Bl=+ld`u!jzuhP+ zn_~ZSlRfbM?P~NF2@`6ABvcpKfdwqI!(rFsum2`~3xm^bMlxdn>Rrz*0PdK4;NyJa zM`^7Dw~<0C(y{ZpNq=C?QU-ATtE?)9WsX0sXzOr{&Mn?qO)b9m1&2;tPvDXP-V%xC zU%>-6DNsmm?iD$eSh`0BaKxYat%xNZN-?ANAopbUtNqd@vM-DU#uf-D8#WAgg7TCi zBu11nhBjb3d)qvfY@y6xLWf~T6&A}tKk#40T6I~~OWe?#BtFi*9}up4-TpF7A4u|1 zARJ6bl&BRa(3K=#Godr*Vw&mn1|LWH%ZM7z6f|8^Z})q8+QtW>iR;emtOJ&b713$l zlL+NJHim0n?nBGK4|lD-mqGsk_7}W53}hd=-J*J?;iBX|m|;t|rlcgQKZxSz%+*{2 z&7@CxJuYVX)I5K8Gv~fMA*8Cx%VOwPry^%z|r)lumgEdX40McBHI>Lm%7ESbKj z6@7ZB(I>qVv>J?vP71#fSt*+_w907Km;cCx3(tg#yY}_JCr2s?-e7AOJb5=# zc@?lXlfn*+<3tu#HL;G3);jlbjf#rjQ&pA8s(D9qY5r}M18E8LpB{Tu_|ay z9N9j4(t?R8de+$-#_8}lJ#HA9R<{}$LTSPy!*Iz0I3-)fYT0U^9Y86CDE*3pp+*jn zI9&x~dxw37IXq)BkA<-xM=m?-tXeKbf>-9wVdm!(Uwj@2e&*{--BuL45AiXDpAQ9> z9HiVbwAHZBthCwnc59F4gJ44)iZ_}`vMiPMZrQOVR3G7bXGqf2vm@6^^z|h1!Dir{9@Hw! z@=LRu7-HVaVE^oiENB*AaLp@5|<$XU+6Gf{@CTdh{L%f z4)o+svG@&an?7wo4*4lnT^5&5MpK`$iiyi&X~+b}9Bq}+-69y(JsAMFr<`}(UadMI z^W*h|zD*${`}Z^xUU)>)T?*{2+r)I1P=g;aj!G63Rj4VXm{JNc&?3V?qr+((5d7w( z)ni}xC@O<{Nm$bWtV4=Tg;QH6Juc6}-3#M(?muWpGba_;eJ~kj!oz)uI#x>{pvE;~ z2yc<~dED(tx{Og$WmBI!vyhe^Ymoz>-9F*Rjsv=h2AOq2l`{tjsdzF zMddQmc)tN%;~I{gDFw-gg^u(Xbao^t>;m&U^lz?5ggMOn4>vDRb0|W+ATvo%+hIZ5 zdl_KfT$85nR$u_9Uh@8tE+P)<$#?Amd! z^o>@{1^Y@^okh`jU8PaiRWVYMyDdZ-i+Kir#=AHa!?&=rGR-N%GpnbR6O4{kO1c6c z!etEesAdrrTt_*5Fzt*&`I-{QqgaLc%;ss86-r!X;+C-|!r2fcN#iw^1&g^t4+QAG zn{VLy4`>ZzT;G`vePUAxt}oiG+(DF~uoCM#I}I}=&t=1{&SEoLMl1$VEl2(_ma|jg zuaZ#acA`5xFY0EJ811r2?ZJ?3{pbWVD};*6kRU6#jEi^*P^442Ox7>%1kF7G5CDJ} z66b^GuW>W%Vo_9(mW)dM>WINKR^k`Spk%EK$Eq-muf3%6_lSe1AmKPYhs zg-1T!NWk~7nMIGLB4irJC4)dyg+xf6*iW^wi2~+6-|h3Ytx$laY2&c%p%{5l)}P}u zpU@uvq>1+|_@3wEnaT2pt_ZZ63qE%OJYr?rtsM*9P)2CX+ZharG@xC#naI!qv9fo( zDecIk@2^UH+@$!e)m7jAerRD{rp@RUW_2PYCqO!eh896Nf#=vr_xr8!4+_;gNMSxj z3}G~7+(3U)FlgG9XP^Os*y+19vgiF3WE(~hkbuf|gDk9Vk(-flYqS zJ%tG?djS^2TnhHs6Jdasji2HV=fl1lp76-Dyz=L(63jFf2^<mjKjCsbzn z*bWq%uyWddk>bS&C<~U&(2YN)rdD z#&&JnI{e1qSeB=)&nr?R_sO{MEV#D|#cl;B zl!#YLfjwrM*j}TQDZ-Bjy&=al#h`lO~_2A)1qzIbG%Ql!-MPY847UfZefI4&} zJdf*<9y_rBCjN5IF#{xy;JP^8UL-t;o?{e-s?kl~bzD=EfE-klNJm64J1?VwSKr3G z(iFp+^EYuCY;fRoy6v`oKbbVlAn)&9&rAo?o5Ju7JKk{7o*Q=D13r=Y`#dB>C>>Vm zN56P&0Pul-!1#dmAGn#}FCl3{zo)0_bKI}6LIAt2;T!I1jc!=1*zj;c^qu>@-xo9; zqm??+sINAMLajR95%T2AfB6w2X+Il}_IT8jBQN7!rVjEj3R7?d4#5F<4F+HmmQcM& zE4KWkj@BGBuD>iwQK5)OJ_f7K!G>rWhnV%K6@zg1cwA6@p?BOvb88fygeOZ+K0ria z0GS15gbBJ);10vPbYttjer!K4C$58|m!mx@6lD+Xj3IxFOjaT9-8cIZ9>?uWVl3BE z$QZWb5dMKLaNcAmxk^ONVN2LDHib{HM`Z<0ne9nhCdoRUUyyX#?11+RtF)|gK(le! zxdCa8NpeVOk^y&1RJ)S}$X@nJNL{B&e` z)GW}=%OWwaKU^R6De2hEiX_f0xbOT)N`zwgE@xo+qe{pDZ~*sr$sC9rbzl-EBM=cC zUY-)vF+vJ|dakcnm^?POouW<=A78X_N zGGCLJyjLzc4pbMkRfWzwpY4lptb7ZpTQ?4Xc5s2ANlN z@n5X8T!=h0uV&d`$L|E|Mago5dvk^cj|+x|2YY4p4oSduI>*9b4iD9T|*Eyec5TYL*)ybnQYdkuHY8$!f>Mhoc0 z5C0w8Q^;n?B)sM*quQo^|4M;n2w7z6ZcuEK z)fq7qwEEE-0;r-xb9a6b+w}#4+n5#eYAPlcHN!B*S}fdz#i4cNe(z1p6uWw{I5qZK zXCM%me63VNHkxZJSn?~iO0@yOzP%-IWKxj%Kdv;(#V0YqbsZd4fQRffi4!p;%{QvD z@%=qes3Ea}d+xfVbB1JvcxES{&lOCk6 zZUH#HlE!kqzN}WG5#J{0^S|3@_L~aG(LRcz{ClSn6h-g&E-Ec^)Ubd4(_@UWNr~oH zBC|dFJcA#6AafLBUMEFRVP`ZYPp<6%rUc0gzPGe!vW7zEpA%V~Gupx5XSeXdT1AZj zUav^j3!+?y5*G!w?z**&;3%E9cUF6B)}O)qIZsHLS6h*gc0iC(RVs+Ch$E%Tm+4$7 zvUx^^|2ne%mOsl$H=*Dt_p#xp0z3mSZD~(-qqCcZE>F_bmReWj@46`Pq&bc3sOr)R z@4wNWSQ%J=r_94XJq`2>CDf{eq!F66C>T}X*-4)k$C6fPQLRH(3~TW4vTknMINI;F4nBEf z>;&ABkP~YtMh)Tlolg-^{N*HLzkg(v!9g720mmY@v!3;(UX7y>t!+`QGKMXoLNq&Lv7N9WF{$52B<>7?+DY0ts z=2i#X?)vo`Z9ZmMO{p1kxWHB=hz8S`4n+icBQOr-34HvI8>g}@K|(+OP>?fwPqqh2 z2rua~3n=c810jO%+q$E90w>050udIkFGWyVI+G6uo~sKR&`$;aeZZugXTil11RkzH z%fV@F=3Ib*mC%<8b+aSu#PXt&Hoxm zJ?l)b4XP7i+EW3f2|`zXHnv96siDJ~%NI?tF|8hw&HqGw9d6w!mkRjuQ|A(MZFH!w zevZ3pGY8D`w~8!|0%|hVGw@cG-2U7bp2x6t|aZQ`&B2pcROz^*B;;`PupRqHe3&XT^J0UHgnzTv{^oN}^Zsl@XUUNh{ zIE_v^KpKxC*rr_1eJv}stfp-SlAYieLhR@fHKGr@!F%3y0982v+fBF}q| zT$i?fbtu%@mwbs@8+AhCQ5ua?O)8K_Bg$tw;~W|Y7FEHcnrsLtQtjV!W=KN+)-jCM zjti-gSBYCA{=ki2l+~6{s$H5Zj07$PJ+2#0xu2BTv`q8j z&l?s;^N!4*)jny_q-y5o0d6#*V?Q_(-cBzq%#lDgSyUU(BB+uiDXUB*+NpuX_-iaG zU%YQBmn#H^@A?Mf-^*2$#DN_{E9hX)o;s}kSjvaGWjJk>Y~G{5JQiQnvdg+g2FgP! z-JPHe?uX4~ozYF~+2-qj!q>i|h6lZoN+OiE(2nMtTS{Ff1>Bd0VRZ!H6!ZQ0g^KXd z-u)UlJmU~04X@&~faADWjUvCV?a36B3Ys=*>gf5P!#t+MG@tOjV{rA9dHI2Gp_=3& z>rglHAU`|v&-6E zxpSE#58>rH>94zz7 z;2cw$E&nSH*l|+Pj;(T=%#CTbE@F?4IxHIF%5J+dG($3*N3_u;Dm@ zlM%%Vm<-VBRRJt7dgGx}kC~P5X>H>~eHbPJXcFJ+Y4=mbIqo~2lfD9*5LE}oV|P=( zEA;}ur?-G%J-g0ZYtMUZd;*wh=wQZEtHsO1##|9%*#xH%#q7c^6?V1##$AUVbFz>) zqH2AuUK_V#p>&mG%z(xD(7A>J=$yp(fkTzZO;_0490Pk> z5`3Y$!*mAg@I^p*)pN-4+^{V>%n{5lUz)Z%gmP($I(aq|U^z&9eyp%)?8IFJq9GP5 z*{wz{WAbwfZzE!0We2v5LH4OSU~)LJ4vrZRK;REkUm-yQX1DT z3Rs7%&17&=yAULb$tpuPN@f3i4*Y(|Jm7_C^D!wEb`+C;yE!2n`=s@k-jcmmKKU0d z`5`({Nrd25mc7IjA8Z?+z={S$*&ulF(8FcwpD9ERcGe0rhny5>_kMYpx%;D?qYAJd zYtnybvrBqjUd(zMKHnAY>gnoTnQ36kpuNaQ=4|i5ta9bF`YihEH^4q1>2^f^wN8-K zKR@SH+qn{n)8j7aAHX}RVLP^pf-%jGfgQ(b7Eg5PpHgrF&W&_MtXY&d+{P@rkUT zE;u_Momn&Yg~#aKLV2cYjy^l<)96b_T+^4_R%f_!#uRrt-M8)a^s5@02f?QiD-O#1 zSZJpyLY&vFh8oLpYWAIBI9Dqkdr*BvI4ppSc{O|}h(z2bH=&`b*7)s^vqI$TErTnX zRXg`8F!g9@u9Iu3ed6ux)42;@eA(00)!LUSHj%zNI6&m_f!@O`d)3UrMc+7_J}{p~ zFk`(sSA?(tOu8sFRFrPsBjR}ubq2AbzU`~^0l!r&O94hLz zbg9$eL-c?Ix?UHFY&WAM#X4hMyhB!hSn|Wt2@x@*+a!j4z0Shmp5eFeCL|0>t1nj? zsU_-dXtK>bS@MsRE=9Bl^GMyti5psxQwDU@&A@D;WLo^)?||#(XvS8cIWvT#IE;hX z0Hz#972fzk@Fmet)!0WLU$*NhD-Prg_q4CsKIHN zg1yjV_QUIN99a>IrWz2VgYH-$KGb@=jp1}~r!+Ag#`#UvrA(+vROZGfuZ(5(D{i{9 zGz8upNRDtaUIe+z?zQ!|v@XB9yvlrl)|MtXRv_`6`f0It|I8as(a5F3eP&wT#4f$L zMObYtDH!iQl%h-xr2U%ucB!}#Zi0km7VGf%3O5w6Wbb|hMwAk&fMF$y^S7jQb@-%e z8AskC5-=!KN7{mcsd)H?`JI$5*M#+|uyOa&NE9e)IjaY6+2SJ_V*UML{_#x}8hj%= zAXq{Clke;+T?id_c{>L$9E^E6Vf9~JL3NB&x#H7bbZOpjJTp|}oE|6>K zfm;aUf$7IX440b$rkvuiWE`>x$=d8)Qt+YBMGl^}g3`%}Hdn?8Z^}tbVv(e;C8Nn| zT(C-?3pvyrsronP?dfOUr2u#p+~SLbO2|L(W6o=P>D){MuT0?TfS*cxqDKEvmS*S0 z$2PW7DdtyQ{$ziWr$<3h90ch&shZ+)m}c_)dt{@*;>VsH$0jV;!F%@AnnEk5Ge@Cb zHL5*j`QNVe_(Y>{`PP4p?K)+7c-}e1eb`57-mz>9qTI&-oCVKpnL(%u-Lw%hL+LID zFztyZU~#2G8iJCxHj!h-YLUWh1o2v~!^PfmGyQXREF%=ve9ERK zj^$5UO+1I7!ISvhY$7L;0GCa!!#Uz5>HU;aE6_=Y?4iM<(hVDYjun-~r73z2(O@+udHLKS$A(vaA59@u*7!Xx$6C9>o$$8` zMG$@)CxUQ*#XdG}=}a&ED#59+}K-vEJgVnBNw1dt$LjXt;HbK(QXq&7c2ax0fH_q!CFr;Qw1BaVG1kLr5n!;66sv9rvw)M}2Y+GF=Oq zA%4VKpk%0tHGSN`oh)SuYw;N7GlG63L+8ZI3O`Py`nCumX=|6)->!*!l}Xg!eKHah z0hB-aOgi`)lb}I*wHETe9CIp`bmR0JYchmyX#8uo6|Q8}z9QqJcH&A=N1(kU*yd|C z29|@i66E1Zy|H}eU!4wNs@%FgoG6cKMVX9kLz@S8Dlm@w_V4Up_8aMpDx5rB0QdOt zu^`;UhCl@Zs)A+!Fv*_^DYYei^CW-Pu~GqgKKb*NgM9u+elo^?<{GO2kU&(?EF!@F z;;IV{H~7h^uM%e9IP=pl-!cGwLoL4angl4hc@%)FFmcaSQzPtq!bl?mk{2b<7%OA8 zGz0&L4J1MIu^}UP3b$B?FE3?WCZ`fZ6h$nb}`&0Cp%^%VG3R5 zNq7lOeC)WTw3((mYZ_qp*2YRkVryweGJszUE3hv&F~x|{fMjz6_)qQeuURoTR}JV~ zc&s%WpIM?9XBDH!XPA3SMspHWy|m$~(xTZUB+sRQ=Tc0-jtBO`{z;7$o?72`iXMK0 zP-(!cfRiGq>hFj7F8>rIzJ`-@HOW6Ozn6aviBL7E%vM(v>>ufYh*2@FuJrKrDrf1y zJQE2!2N0o84jyMBJ(d`-GIIryq{R1|4d4&phc@7pSq=;gm>EkTcwe?FzUjB25vk_Pzq;H|zcI+;@f-Ov2B!1cZdAA6ed>+N9fZd7 literal 0 HcmV?d00001 diff --git a/assets/inter-italic-latin-ext.RnFly65-.woff2 b/assets/inter-italic-latin-ext.RnFly65-.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..9c1b9440ed419d4a71ba46b0db3951164f9e10df GIT binary patch literal 63552 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 literal 0 HcmV?d00001 diff --git a/assets/inter-italic-latin.27E69YJn.woff2 b/assets/inter-italic-latin.27E69YJn.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..01fcf20724f915f68a974ef2fb85f86f3039b1d8 GIT binary patch literal 46048 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 literal 0 HcmV?d00001 diff --git a/assets/inter-italic-vietnamese.xzQHe1q1.woff2 b/assets/inter-italic-vietnamese.xzQHe1q1.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..e4f788ee02bb687bc1d5045483ff0d381e7654e0 GIT binary patch literal 8784 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 G0002QVTgqQ literal 0 HcmV?d00001 diff --git a/assets/inter-roman-cyrillic-ext.8T9wMG5w.woff2 b/assets/inter-roman-cyrillic-ext.8T9wMG5w.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..28593ccb8a4d849a746f2b970678fe426cb136e8 GIT binary patch literal 26600 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 literal 0 HcmV?d00001 diff --git a/assets/inter-roman-cyrillic.jIZ9REo5.woff2 b/assets/inter-roman-cyrillic.jIZ9REo5.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..a20adc161f433a7c4e3d92306301b9228bcf9fb4 GIT binary patch literal 16780 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

KZ;k8ywA} z5k-SpDU(i8*gg^cv8>58r3@ub4OcK9&& znNhG_@GxqjVK3B&J%{D^HbH;deaX7Mp9Z32&^3D3f90mP=tF!fe9&>s;W0m~7?~A3 zux4`Z+_2B&&IRlyCT>ODZ`DXBg;?l>VcO7-v}Qn30>_G#L1tGZ60ycSW|dPuxCY~C z?DBUN4%cm!9{5w@zZ1rtvV6t&#meNl)pp}^FESGHmRz)CQKWID{e* zKl&Jl=Nczd7`2WWH@A)KYebMQNnqpHcr{eH5E61_)_fc#_p$9HX1N4TnjTJg-%wWH zoq3G1+6~rHwRoT!c1E-&qYs_3xi#$fI(6%GlvNp~MUmFlAu`Q+Aa;zrmahphCCG}z z0y;PaNCP>ruFkBkB;~qvNr}(}C+wTEUKCkk+*V_on5fG3DN%xiKzSk#3FGD1ut~Lt z^w~RQ$7Jwk)6g@$ICnR$+9l9SPld{*PkotiKI(+q(R~t;(U^h;-`ly|GZwjNukIR3 zZZy16I<`IW={p?5Hpoa7@rR}ZL~6p8EN_CWl6QP)wre$ha9MQ@W$csCm3+r!rzVG zx!T-w3Y0SrGE^(c^j=TXYZ)WoQ$z68k4d}y*m)BwN`KQ+4lR)8mFnO_%}^BGtC#DqKj zsiy#o)h5GqQwNXI^!m$bKqyP4dq^G;Stj9AG=8NZ;#|?4Tyy-|5bOl!Q)paeVE>yJ zuixF^`PGr0)8kVsCQkBj&{;$w2JFcfKBqLLz{vs59pkEXIBMN>!gZuKW`^>ZM5d!Z zdtW`z?~$Vc&(G7&wYjulSCXV=0YkS3u?AB8{)D=lld)i{-6PoSA09a9! zBKcMT7hg+|U}vzwa3?iA9NwU8YOxVlCk_EUe9%nIY1jhY6h-u&sQ zo~O3G8DUww5+pR$DZi4{K;GtL2NFf*uT7L}E3w=)T^1||9ej$q)%lDowBv7+?!~e_6 zcszLNdUHpKLJ3`bQG#^v^-~e2b!6fIi88l~FM9Lm6MHiTpLhCg92#G4-riia;MU$E zJu;x$YiIqmr)3SK38&$5IvWV2QiYy+r>tk?4QH!#k0}%H{}!~+`zY4HQ^z+>pj}d`krItpcjKIlWE>kp1b;D;pG(3ut>NJ1P>G>z#yH|x3;marSq~R zL;vRLF6aEH6Yn@{7TcvY7MpzJ-Io7Gux(NgfmvRle{GAcfM{0#20Dza>wY68gnB_y zkAgJ@M*v4GqN>XI4X)`m2=nD26)6BZiV(G@Ty$u}XRUVqTO3f; zl$&n1Z!3uto*%&!O~d~BSd8#e99SaHL-anSvoo>S@%fTGiR>b&6=bY_H6g4D_D(vTPN@jVlle&rLPv#80IFF* z6(&zPi4Ef`is03;Yl)>-TdbQu6{fX&xTKk{8((IxfidA)eHGUfHqattu}56Nj_t6&cOl)314;z(c99T~X^aD*%S* zT}i8&MW3qMgsm3k?@ylWz0=(o(r$nJHfzmqsBl=3E5FC z4}slCp-}ONBuqFbDJWZViA5Txy)XdJRI&3dZ^zI>%gR7!H{Ch#B|kKv1tW9IuOwfs za6?s=(L0Xzb!rQD!p#nX%lhLF!L)JY#CacD>5el$(S+Xh`_FjM8;{o%bTGXUAm?5J zp=8Oi>8P}3JtGAmtvOl#z7l{p#t{Vx!xCo=l~F=4&;)3r8iG@tBMd3+UAJpZQu%)g zArhsZ?&Q7|@WO#@wtt6>Y($LbGLGyvsHZ}`p>N4UqMH`F=tsCcmF5N|dR?DOePv{0 z`KYo(KCHjecqmmacJ0HU#`YWH{!v#xm%m* zFprO$_g|ZOr9KygX5Y?g$38Rr<;qK5O=6C-sIRVM-)RGSZONPRxml-iza!0QdpnTT zfM2X|3^FW`B2osEqRjcbQQCbzsWgdfpBD;g?$j1%Qo-e+orc`*Tj|W>Z*$k4d%T8Q zANqsEqL7)n4akzOv3qZ}ByFgsF|M@rKIf6Rg<2J(s)a@}+)k~ z+GLuI@rxP^LZx9umelc-Y?2q%{VJKCjkJP9M*PYb*gb(ZE0)QY7nPNA6s$4Q(GlPm zb%F-gFA3j(?}y-6HqwtT=0EIJ`2P0ZZLOW*cf^z#wpkY8hof$rK6igIs<<>eJ28?9 z-qO?9TZ@D}ATEX9#CmGYa7QRRJj1KW+!n9e8x_oiVdA+A%NDU}PPz5l+NLp%C`w0O zDvko#g-WKTBGbFwlg;I=drj1A41O;T@_=MnRML{GJHkn)Yr~}8-b;RT!(;QQ@QYkje2^bGk(Z{@u;X*SZSw6el@?CiO*z^T?N$*%{NIT z;UEinEsSGJOHMS9!>o^q%zL;qN@UB>YDmoQc*S8YQa zH`RVqR?x;E{-aRFmT2FiD?l0Wa>Des;w^AS)B;vBne6ug3N(qCu@!P2Xx|<2{ zUM#$xs*~qq7D3YW984#)(xQsV-wz&dkfb#npZXC|F!(&LySwe!``5&*_V54lR-Uk^ zZT-!MY_=$0J~jH`ArVf=TbRX69;!W(qZ5m95OYM#r)1uQ$9v8>eHk4No~1i|B5T4kL+W zv13|^R1ldoZGyFDfEvmz;Lh67dh zv-2Q;pa~9>tmyBok@aBWN4~2w`s~JM#;~;(8D#8j5PceKenmq>5?AsmT~^$Kv!5{36@B5>{_4lhVOmfC!f0 zHj*Pw29#JKbWF?v)I7{>xR902Ec%Latk!WInzIminxD);6Ob8@$OcDSC4;R(8-EIB z4RuI1z?7UKaYg+d5yKT+Er!pHND@NMNv=?YOAG!n`K@mg%XTn&`WixU#GqEKNlqPVPm1mtwo+zK@V zl)!WOhtx8RU-u&a!<`ad>{`3Z)*CivaJhQpKro@r#7Z_J%{d4=%t9<6n#1~B{b3n| zdV!&TI&CCmWfK~pSvQTR1B4=EH+OeMnES32!GCeJ%Gs~~oVtoZwb%o4-8sPv1QK}z z{AY^xOoE;BbHi8NjArzmxc{?dPcH(Piz#ARY;qViqR#Khd=Q}3nE`osNC3t7kz zj^#df!|oK!8e}*jZR(1_-3D7exio%B7NgSApN9W-eCcnyRHWvkNm#V^jTfR-*@$W& z+ei<-6Gqz*5w4&mCaIJbGq-zn6pEv%dvo67jcbvnJntZOkC9#BGmB8|IAXI6E|q$3 z+rWA*zZMX3;#308!i7C(_IleiulGTc%GOg;!%^xNze*KVl}ujh{_)pS#MR9zU9ei` zM2Oq2Af2;;7KdZIP>^cm?l&vpWxt3^(m5vy+(0vg^D4?VZ9~mAdCC<(HDoYLmzQLE zpEoOrPYT@KW2K)yVE%HxWb#&RuI)0f_xS+0>RETjKV01vwwMsB{ z&iv&IFI)Igd;Uc~29O~wn0;byhT(3e6qe$75`i;tS@O_}I!`d;!aFU0?}fo655vvH zu`jwkPLD0#`~JbKvJV#*dK@UBDZA%k+BM(5MjjvOWcvDo!9OD~>NCme_7$S~R@8S) z_k$)B8tKWkj*TykBG2eM9kJ-Ry{u+EZ8w*uHv9VHSSOs zK~9X{a{WUAsw;VKgKN*m?=cCoYP=6aa8}{)bWjur+x+Q7@WiAg>|XL|NwP~st>E@R z$|TlpYx?V~5cw+Tv+UJ`A91^fy(@4{_Ds?$XEGRcW;16-D>%Xe9SGKJN@8>~TfXhV z;+qp^wX7oXzqULse6t*Ml_8pXrn>7)GWoNs-^nx8x#_k$IgE$jr?M{rl}90+e!Y>6 zrj~tID_WI_6(nle5QztkplzgYRsH*zgihBs2#sbTYP>}l8gJ7TrgY+NCGQa9tjJh6 zX4K8|?%91X*ahz6jH}?f5PC* z70GZe#Jm#m#emauwCJ@3pHaxB^2Wxum|u-NYgW@zLnON*bzV;~)b~_V(Z+aag@egv zcpmN2_)zI|3Z1HS z7c(%Ww&mxHie+d{D-v1iQKHPsiTt&S0LP5?>nS&{<woNkCT~l)8Zv+lb zfB*#kGH^)+uN*`(ByF4|gv9QmgDBl$_UmZ^$q*v)9jbsiZnr#n=uf7K;nhnfZYh(` zwOSXZA7p6pU|P0T73E#=wO_%BFocO)TWvr@z#(lKC4?d~O8ukO38cx|aL+ z5YY_MP>*s!*^o4#en?VhW9}b+65N=o+z@AFH-)UENjn~AmjO#`=K1tMsvU#Omc6uf%G}Ks zSMpGQ4_z@blevfN1NEH<@1!k2reiTl3Lth`*}36rOF`92_pi4;x)r>Ant(7;+qS3# z;t-ao6r($~NucV}px&{}K%hPg4R>v=sL5A_OqYdhCnEzTdOuu49V$D(LT70&SOiy> zG%kUw=ODa9*NsaEuT3L{eq;tdo3cPm+FhL^WtssSAIY7a2v4nv7U@DqdanRcmZ7Er zWC5H0ZFF%v)WRDQO0-K*sx_mb)S;oJYRJR~;qI~I??v>Hd3dK30u&PaTsIj-=2+*1 zi_~kd0iUc?n**xP!tdH*)Rz<#s|1LppO)A(NHiykMA0n7f%S9sdB}*K<9|_Gkax3O zm^{CoZ+g45?L502drX3P@s$kV2Yy8EQ|1AYtjgY0i8o{rRtq33DRmR*5Oz}-aKg=C zm&jRVfi*tBInDl`i|gOt1}@+Eczrh=7(mTOD_53k@vWVy%7E z7M$Jj5)lC-AtH=nibx0}AOuFhNHA*Ry?^}3y@pc>JU>E`S@`eEeb$W#DWxwH;I6x8 zRAhSy&K>}lnf}$l14LB$4v4wkvxhyvws*sc6DKK6OlFj*Q&AcF85$ZYD%w(1R8&-) zm`h0+%()gBPRgZZOV`{Cm2xR56&WfmGFodbqog^N3Jnz%H{^+McfTZ{G|o#R5?|xi`GS-yUNeCYZql_zi;k+yUEO!rscdM#n{GH zMONwCymLS7e!{}>HEKQ(JM&e{nI)G%8FA|2>;C8e%bd>*A|2xRV^f>|ifN3uA!5v- zl#cz4Ffz!s%w2~<9{&C3L*N(z;Thv0Ody3IGYi7YUWPD-3c?~45SB4OsPqQPOpKF=PVxM=-@$r?2I2K_ECUChmCkZT708}K#zcor}O`hBR%i{4q#+%$yt-vbW!Km z`t^RpWzAJpNEuRxDmoS2CNaNFd|UBt&G#i?;>XgThK<<3jbwq#mKV{O4*T`o_%@z$R#mF||L#w?h=hxpT} zK0>@CgGMQ^No`6}OS`m&k~#y@KwJjnkVZqv?exh+n775jCJrb8r~t!185M&4IVfmc0iK zyj?#FXR=tnwsf6h-pcn%&pwh_s)e9)hOu=s4)oGyUK_@q*=k+m!Z{x%XGJX!8V+u< zy{oNVwZ`D6GuCK#*W@*;^_|TIgMOF29?))_*`Wg6!E^}VYsIGcF1|A7Py?W#qqzL7 zzx$lC0DK)r{NdG06%4QTR={2aKmr3`Hx>v87zn_6bb#$BPkf-xh~xmUR-xxiBs14i zYg9r2u+?b6-@Y{j`qrATZ=Kou)?1=)gRA>Cy0>pr@VuL&rWhO`sO${7-!{}y08ZjT z$==nCST$mU)YhA0u_a#hnm6rrT06gA{NaCzT~)#^BkG9NLK#O++4RO(&a95xS(kPD z)BRoll&-A*ox|S?{G@q3eTg1)AN=^Orw=TretelZo?^fMep~=#z~@CnL0ABG5@3&! zM&Wx_k{{@r<~^YnF%JEq{L)XOeLZ8gP^^=gFby`kig_Ty(T5XLT`s{bp zVYhtlwhB>x|MtY+*ipxfB~)yj=ZU=FMO}W??KeGscg-Jk z)>&@@y^S{6tj=2)Fkz8JzW>DBao7KveWJy2tqP4W#&gDtyD#C4c3*hptaGNBZU(8x zo)~b+Wmi1)rSk&5H_vzc4=bbwN^4Qw`P8~5;jv`LNKW1H;+!O|thmjiHT&>RQS3xE}m z0Mgf4cDtrDrw54lj;&R0BxZ@rNm(KH+X4%4VxMj7vUd3=Q_%3x?nV?$82s0x(;)TTZ(KfE_K^Ka&kf z&5B2W$fPXPLbJ3udqgc>**q@BNj$tAt-c*iPN=hsQ73Tl&b@LM_g)*qs~B}@md(HF z=UP}SI}|7vNypzR)zF^n;XOi}pUwE{HI6rR&$bHv#rJf-+bjq=2N%WW1Rs5Gnukc(BvbI?gQTaf?ZRm0irtPNOd0f_O5%w9A6u<{@rf zz&1f&&7EU{YZzl ztR?W>U`l{3w){G6*ZH3U1^PS&u)a^xqM2TtSLWn|IdIAEfA)7V_TdXW?$k2}elk>9 zFKsW~uwdEb{i}2he;t@tVEevR)s8ij6vMBS4lgdAPK@6^V%3|@HP6o~EF1Gu;n-ps zVHIlTF8FN0)a_-B&u%N%LJ|zRz8`LPhMk^R_}^X0ClmIcp{ElL7_k*FKyBE$2*huG zJ4n*fK@!V}`TYOO819Y23+KkN(5*g~nO>pRK1_zt}z8nq+NQb@~(2 zb=g~=b2c?y*)wh2o*i3z<(3(t(>-OCdO`KHeFwhBHk>|9TX*DgZhexo_QLMNN4~1r zplRNE+ymS)r!xjL==(E!g7J@ir=0)nss=waJO(sqfA0^U7~Ct?T!1VZ#1{32sWS>^ zX5EbRtjLwWbN;ix;K~(1RZ@uo2G&3yvZ?71go)k5se@2lPW6iT!I!%fT=R?&vpS>KgWllpmBoKLKRTKC zrdmga)@@&GcCj{mx^8=jtbWja;mMEwbXFGsKHhcLKa5(m`}QcFw(lHuQ;PucX$ZVJ z0OJD?e(CieeP8|c7+>h=TF2=c6t*NfsD+&oE z%L{YH(``40%CD=O{LbcW^Tw8U5c?&~xy%nvU96tGxagG^R7Ddf&sEPjljA&fuDX0l zQTYpViY8BhWB$Ub=x9+>Wfo~;%2EtOXvV-cO*!z}&=Gtxv5*Whp8Y)I9o8TQK#N&z5H~F2M#5b5v&C zz@*gaNyl%@o4Z)Ducszt>|>6K4~5#yeV$rT|86Vp%eiEK!O{`lYb9Gs8aX_9o(w`<+CTN^x6BXd?2L? zL<7AhrGWPDPe=&TgPsh*7at<#W{zgAlZPOeuRNd7055y$SH(bI2na_*Ov`uu#mQQ! zTtui%FcP*3?ma*8S&n2R7ku==br+?|`ky^wkqSWqVwa2~o_U;w21v~)(TW$51f*&- z`EAjTKKQ*jtpES!{+Wk&JT0M^D#eQkA_TL(n2}WBxzPxD;*0y57n-<$4<`>F@M0w= z@L~xs@IpN|@Zr|U59C%q&~1??J(bw%LWA0~M$#j3xK%=BIa!A+ChG94mgH3I4g#oW zn;a)`5?D>C80xUmvuJ?ZVr#!&N@I0)Lqa9%&n6>ms?>d`Y!@V1vnVZYdD+*Vc^DV z4+?dGLXf~Dm8?SjmJ5R0M`Gh8~t zHuiP#AAc_VuSc%gV?meOb{D# zOm*Q5YT{_X#ChNGpyHo{#5TKk>!cva;z1&UTppw&$ml>)56@dBFQH4t7aIznuehGt z!fi@vn~_0nvl`SktBu-b5^I~)q_&x~+Gdh!o000=Ho%PpiEXY{r)!AT=kMy{|Id43 zrs>HSAi;QHud@}$xdxBXq00hFw4V^TkmwTP+X2I^*MJDXQS=VN^MBXsG)=TVe^~N3UK9EfR zJ|fy6!At8^yVK-uJ=Qnh8W{Lyn-h8cM`WpP)&;%$V+slYTmm`)R&=I6?Z-&bMj+Wz z&lH_#@-7$v8AA?rNiBn#{Lr4wWiH#P4^TdIigkcke%Qc$1nV>+AL z1ia?oJ*USU5Qw0UfrJiT#=@{ehGq<(dr2>(L=bb3t)V^)NP`+2&}|aZb)W=XH(VGwbZTD-PCuehpD%zk7y%l zFVYCwBH9|->$Do0gZ4=#BXelx=*$V3<(aBXZDwWW07l1#U`5z3ST7dGNcu|p2zoJH zLRZk2($~}9px4nG=_lyt7%wtP8Lu#2V{BxY7&gWsMl0hi<1*t{Mjzu5lg8vQM>8if z38sp(q?VVs>yO> zHD`IUzRwD0#j*ynv$Kb17iUYd71{4(f0%tT`>X6=b~yXL?13C+&aj-ZIg@i{8@Z42Sa}6`#d*{6lzG~`gLxP7zR&wD?^fO;HpHk3*&BG6X%_e*7x$-*F&x?DX&f<$z686IUFO@Sm`7p)ml z0}8FQVj@V;OdvI7_0==Ng&T&Il7xt9c3=S=5TFB)En#U}HsKY=kvbSWA}(|Up_G!Q z+5n*$nn_6ZyD?jIWB0rZ5oonAXH5$4_KOmQT`rD{l%#aU(5ldl__(E-g*RDR_qf7n z7?z7+gjkZ>g%uH48~h%vF@-`s(P)p$^=YfWJ#gCXZj%eN6mFrXAoBHIAP#0lYCPzs z0pO>Vk{a(pza~BX714jMJ5nqTha-`{ z{!6o18F8+CnVaD#&FX7D+?rueA14sHm%wqBC%1ri?~O?HoxhGEP_mw$NLh&ySrOUD zB{@u&mI0}g8%0xD_|}GEP{t$%!;JeA#qMje8={z81B?_)q~bJ&5zBK0EQ#?t_(zi2 z21LuF*927S=85bl25#O1EQE6stf{;b{oSB=n>8{(9^&lkXb5FFk0$p#`TbA+c+YT+ zahh8(lGXz9>q0-ZKN;YR;KNIAc9@cTzOnAS8;MdVg}mzV9Sk|%~#9* z6vJ?T`1(jBgR52L31s6+VxkYD6l%;vKY}CI)J^G*+Y@M1XW!$st{wwmN=)?Z32%-i zgU4l|PU3+kpEzngIv6b0J?K2=~} z-wk|lGZ+fC&`Ftra1=sc6jA|HOeIDjrX`XGeie2!KTi##!^`;6hl?3 zV$OnL6(J-+K-D%Tv}`;fKe);@VNz*9O5<^yN@6-Ow0-u}8b4LwYk&q=+FAT^$2CpN zUkYXt<|OfRJ#g^oxvNzt5INT|ttmN=gG)*%3jQgjAWRD(VNMjzch)unC`7l0p(IW> zDq%nkJdC02Y)JHH?*T5*FF%V1(Aw>nEk%G@`ip$ETM-w^&{$Zt<%ME_2 zrI{#Z;8rQ43P~tJNttq!HU8lhWzrL|h}y-9T#V3BIyw%ne}o-kn0#F5>AMDs5xhK) z1hTMu6epKF42GwmN<`)6g?&OeOHHrPca*lZb2C=c=*p<$>WE>eW(mtanfdEA>4YFOzOe*UZ1rTTmEvr zR8;t&%P-=CLXlK21Dm9hh8;xrA|PZu6hbI8BCzMKMn+Sz-MwdN9>gJcl_eu57f#J< znou;E=BHr(JbXtg)A#RU{xsmhSP-5Z!czlF&l3m7bvQ7n^B*9M62@%s)F;2ZDkbii*i7-r)=Cmu9$Bs+&rkl-q zlxg)R(Wa(9-<*iml72g3e=_beU70slG-M|-EI5k>i;c~8$J?%yfh}vE zDxMd!*}=C6DJ01TE9~u1DZVq#ASu>(^84H0nbX#NK9S_i4eM#&KlkD&FJE;rj(sIi z3r%tmo`s@PHjkvjeQy2%k*wfOXR~3*Dk&BURZB5fEvG~;SP9svQ^Z6FpM{h}0;I-y zK{1&el_;0dy~k0$Qe$3E`c@4Njwc+e&ypamoIF@kNUJ8tQ6k>^$P}0z{`%cPKRkR4#4G5L$6-*p``~=1P%ZUDY;)H*)KtrFnAaXOXWTV3VUQ?P#uAXc^)@3FmK-!EstS9$WIm z$8+%JJYo^?dP_+|O7{-0n*4?dq-*7{2M4@fBFJ%)z_7?$GE&hXYX24J2nZUQHHRyW zK`sYnF_%GKcCO#YMlnCjf@TgDh&PtO_m`b>ks%xeg)f{)c?ois0C}_An<8erFJUOc zsp;2(Y#u~EO(XzuTnt|WoWn?e&!%csyWtpBgT z*(3J4y1g=TVU4Hbth%~zIK`h-GI_+Ez)^zSq9symu{QX7?d_%HL{0SCmKJHcgW1y3 z^7mb#dfBpNaJKdHbIzk=l9E(wF<(gWC-cQgD>EK%ZVtq)8BI{P!w04QvRz6dZWA~xTp4kY{_aj_ZnV$h%(;#E8kNdQCJ*~2v^ zuHF|X!3ZDD9wPRENgVqIQ9oRLK2}PL3NuDShtclZ42`mIAD{XnaCQ~GRf*vQyV_z` zZH8K2xQ=`?=D_+G95iw6CJaF_oDX3q(U-e2Io?2}V~as^o&Yc)Ygs+ZVoyJzK ztbNdwvh-k@IP6q5GMgh9IfAE4TR4m}-Bf{NeoZOZFt-&Gxt!<`+3NlO9=^e`I(f562tVFbPU_n&7DeM} zzFZ0+LS8{ftog}DksvSTUw5M4{t?7Xy7oYz>z=S;S23|w)6R%+UTDKV!}gn})=@CntBn#wXJp9Oc7T64LcCfo@q zt2&F1@@YT}8R5yD;=?Eu#JvdT66dNDiuur6sv$8o9KmeCHc`lKaYhTGUZdRdMwF}R zggW@(4XBKkmdl=ZWC_=D7{iWVYqyq? zn^f66S9t&0DH*v#ReHT?yW9fZ1uH0+ZKoF_J;!CFu4vi*fTC0?#gaolj1CeC3UKyA zY5g=ln`%MngK%6c0|#c?<-)|*D6m4}B2N4QYB|gmek91%W~~tMI%Uwz=X^L+y{4V^ z@RI*hEH7UQ&LQy(@7}k*Z|_gnRm$KPK3t9S97#N>9InyBHBO?%nZZ;rp!U<>9wpu? zgC?|Y=O>f@{hP4lq@JQhq7fL5v!y;oa2&Is1NWlQFJ)u}W?M%ORf5&5y@3A&bfd;7 zCf{`EuG*|8IvnI6EOd%=f4Neq!&D-d)cw2yU_xfv{cc&Nab<_RyC-RaNie4c$7U-j zaX9MgjyW0}DnDCjz9!l8;UhLe1@u$z)*~(cB)g;C)~J) zUwK5FBqTyMLG`PIB{!CWk2v?mEBL3BVDMiH<-aIe4Ndb}CboLnRO%CedBR8T@i3U4 z&$!akGv2N(nAtn#8p(p9oLF@v(mf zVDo~|>ta?g>VgnEw>-fVhkQfC($By-ewfnr5iwv&IS$dl@Gan0m;M(s>}Yt{^^ho^ z$XR0+5exZDV4)}_xJ2kScfNYD&jgswdeRsvN2oA873~Jfadl2}X|9_gVGoBv*%1sV zfobWGI#jqIgY??HZLO6d)t~(EL+J=o8B4iP>{6Z7C;QKn!eR*vk?f5!C4L9vAUKi> z*GU>39vC11-{Ux~LEMjn)X)!$XyrS6>R$UCSK`q7t56i3sItBk1a4{!Lex<4i3T7f zBP1{?O7bSkb&b|cDYWy-%09{B4ajI#v5Z&bqAV0=Q8;2HYa%3|gFPl+L&+QW|M~gL6KDDD zZ(UuNLP?AL>~GOtR@pLZt9O#;@MF!z2R> zd#PF3+11slo4ups20C<72{5XwDeIAAZ zvZ{raOu=6Fu||iE(b&XsH0G#kyo6vYM z-I@MBok~AUC(;kdsag~7`ZQBc62*L_*2$FKJ?28`v1{{5w&()H_N9dqsZ15pp`*sG z0m;=&txSzydOYs0Kw4eZ)##Mj&lUVAd$i|@q;nCQO~hkb&`dfE%Bx261_3?OLSyno zx#`Hc1{bGw+%9--_7rO+oVR_*r^sofDL<+L$%bwkJ5Ae4jTA$Q8+^uo9K63b8W$c! zK1bS-b1+wrb6kkix9T+a$+sX=5FD=3dafUEBugps>S~me)lbvOVtJ?SDk;q`uJ6)| zEa>g--hXJ-DD9u#?%NiMNWV+J+e&toHT=;z+`L5V&*E5n&;ZG)t{_rFk&6Qpa`jYK z6}uGC9pS+&EmuK|JnFe|L_w5x?cGjDmSM++D0oC24T^)0dA5&14^UqMz>-+(33G>& zH&51{18~=B6pGxf0UG%oswM0>LE076$})XjmGkJt)C>%gSIc_M(j} z1zRy^N`zuY5DFzVj2eW@&5jT4J3uPV<8K`Kxfh6i=|LK2rV5^Fpx4Bi4~Onm?mqy= z^i=M68t1x?isXDM-GX`Y5fk0q@S6)@4yx~;)FP)t?)43KR?{@!uB6rX%BR654 z%~+;rH2REW@ncVo`^6G|6vL)hY?px>CvLV^Ovg&f!D;Q68`nmqR=cqj%$S!6mPM0h zsnxSeUTc$mK2CBFAmhJ!1HZ&}&w>#N79;NgxgS5JxFB6%}pdx*ZD& zcm-x%`XRl|hrSGkI)D19^WxX-_fvh{fBw}S?D)Osk-)irkF7ht&5!m_dFBM+SAXrk>c9ANsEkyt^4{!fu15R#-h*owUj;$}YE)a>tJW@6FEbc894@zD^c1;# zhEUC|&v5wh`&ok&8>#z4WO7uC!2~Eym)BqlkX%VlRx6CbC?n^uThY{93^71jyQ_0L zH`ZP>Fe$>iawTFb-Q#)li(mZa#l@WGw0l&3Eu{BaD^f`c1y7|cL<%jERYXAVS6D!7 z30)=qDIm7QC#x!>PzZANkEfEUIUk@v)mcM^-|uz3{{2sW@=Z70_)>d8ovOUy-ELSV zFhLqUDVcjeubs2^QQM)fYlaXPuRBU}^H^IB-tD;(u``w+XQ4G3HGD-mK}aOi#)u8O z5&DC#e=bs;5lN3CoUkf$K`$on(RwkjSEi`k~L$-s;q`!bVM zw?d;)tCy53VOu;&U=F)0jvAKVk3=XcDI&uIpL-zAPLotxp`X+u zV=0)iZjq*pktnr>zEmnfXO}?u?T9jHAz)#V_4k)){pveZwZjs+*`GK}Rl1wmR-w>o zbY+`;k&SmvapXi<%Z`@{ch~iyE%j;~Fr(gr-7t7PAP7RCtc}x=)p?bXOXaB1`fpsv zu&^RcK}SFmx8yilJKKL;&W6? z$F|t^Tf2ghIunbx<|go4z8E-`S&6BVO%I}EAQs}mUJScFkMo^$eX4sMp<1K$_3PSS zkIYlXiBnbX!FvHPd`tZD7yfB7^*ym(Pd{XilmGmPLGcz0>;3 z#5g!=sfod$)2&;+M5Ej~B6P#G0s|n>KMy}~|9tr>$wO=y69D-BUoULeM@5H-CDv`v_uK^}!< zV^Erk$<#;?0T(IM)`aSU9wmD+O-+ogoroIKKx>~Q;}bP#m+|&P20IxTgh>UJiLuSz z1?H53WUq#rP6_fp35ucF1}!TA`C#nol=tgN2`DC9&?h_CGs9K=1gQG}8JGw_GQ`cS z0~k@WI_ZK4A}W%Zoqy?$1$Olew5fl|WPqM5=rIU^57|}HVb+}i2frBscp(9;U;rJc z2Xsjefu(Yf`oBmAf=wKnm9UTb!<_J$#Y)08lVWQKDgFj*&`1MP7=>io;W4rXb{tYL zp=Y*6%*;k4ok=mF3jTXOl6`&%V@gSLUMpbNQH4Q!r?*W>kH??px@4O!w_b}GBiAx+~DDSFdG>j0z1!L z84e7aPMOUN-cV_swRDVl+SdLTi84H@46M$~vMKPcR#~W2X|wgCwW@KZ)V6&_XET>? zZDh{hnrri4sJB98o||HknT$IyUpQ_OSz$s(Wa5w!Ss7ZZEoIi(To>|;H;#z8$);MH z`EW+X252$&f>94$XOnVO-byRR6~cnw=A73}ZJpa@qXlQ!_?A2}o9StPatorKc~!K^ O1{o}0SRMEP0000Yp_Hru literal 0 HcmV?d00001 diff --git a/assets/inter-roman-greek.Cb5wWeGA.woff2 b/assets/inter-roman-greek.Cb5wWeGA.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..f790e047daa346583880da2be470431e35aa6054 GIT binary patch literal 21776 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 De!(H( literal 0 HcmV?d00001 diff --git a/assets/inter-roman-latin-ext.GZWE-KO4.woff2 b/assets/inter-roman-latin-ext.GZWE-KO4.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..715bd903b9b14d22a056f10e6d13b8d7e0acce57 GIT binary patch literal 59608 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

Getting Started

You can get Wren:AM Web Application Archive (WAR) in couple of ways:

Download binary release

The easiest way to get the Wren:AM is to download the latest binary release.

Docker image

You can also run Wren:AM in a Docker container. Official Wren:AM Docker images can be found on Docker Hub.

Build the source code

You can also create your own build from the source code. Manual how to build the source code can be found here.

',8),c=[n];function i(d,l,s,h,u,_){return r(),a("div",null,c)}const p=e(t,[["render",i]]);export{m as __pageData,p as default}; diff --git a/assets/projects_wrenam_download.md.aeVMQODC.lean.js b/assets/projects_wrenam_download.md.aeVMQODC.lean.js new file mode 100644 index 0000000..be237c3 --- /dev/null +++ b/assets/projects_wrenam_download.md.aeVMQODC.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as r,V as o}from"./chunks/framework.dxpx44BK.js";const m=JSON.parse('{"title":"Wren:AM","description":"","frontmatter":{"title":"Wren:AM"},"headers":[],"relativePath":"projects/wrenam/download.md","filePath":"projects/wrenam/download.md"}'),t={name:"projects/wrenam/download.md"},n=o("",8),c=[n];function i(d,l,s,h,u,_){return r(),a("div",null,c)}const p=e(t,[["render",i]]);export{m as __pageData,p as default}; diff --git a/assets/projects_wrenam_index.md.dfLPuNWk.js b/assets/projects_wrenam_index.md.dfLPuNWk.js new file mode 100644 index 0000000..0361a19 --- /dev/null +++ b/assets/projects_wrenam_index.md.dfLPuNWk.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a,V as o}from"./chunks/framework.dxpx44BK.js";const f=JSON.parse('{"title":"Wren:AM","description":"","frontmatter":{"title":"Wren:AM","sidebarDepth":2},"headers":[],"relativePath":"projects/wrenam/index.md","filePath":"projects/wrenam/index.md"}'),n={name:"projects/wrenam/index.md"},i=o('

Wren:AM

Overview

Wren:AM is an "all-in-one" access management solution providing strong and adaptive authentication, authorization, single sign-on (SSO), entitlements, federation and web services security.

Wren:AM provides mobile support out of the box, with full OAuth 2.0 and OpenID Connect (OIDC) support - modern protocols that provide the most efficient method for developing secure native or web-based mobile applications optimized for bandwidth and CPU.

Wren:AM is one of the projects in the Wren Security Suite, a community initiative that adopted open‐source projects formerly developed by ForgeRock, which has its own roots in Sun Microsystems’ products.

Acknowledgments

Wren:AM is standing on the shoulders of giants and is a continuation of a prior work:

  • OpenSSO by Sun Microsystems
  • OpenAM by ForgeRock AS

We'd like to thank them for supporting the idea of open-source software.

Disclaimer

Please note that the acknowledged parties are not affiliated with this project. Their trade names, product names and trademarks should not be used to refer to the Wren Security products, as it might be considered an unfair commercial practice.

Wren Security is open source and always will be.

',12),r=[i];function s(d,c,l,p,h,m){return a(),t("div",null,r)}const _=e(n,[["render",s]]);export{f as __pageData,_ as default}; diff --git a/assets/projects_wrenam_index.md.dfLPuNWk.lean.js b/assets/projects_wrenam_index.md.dfLPuNWk.lean.js new file mode 100644 index 0000000..127ee52 --- /dev/null +++ b/assets/projects_wrenam_index.md.dfLPuNWk.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a,V as o}from"./chunks/framework.dxpx44BK.js";const f=JSON.parse('{"title":"Wren:AM","description":"","frontmatter":{"title":"Wren:AM","sidebarDepth":2},"headers":[],"relativePath":"projects/wrenam/index.md","filePath":"projects/wrenam/index.md"}'),n={name:"projects/wrenam/index.md"},i=o("",12),r=[i];function s(d,c,l,p,h,m){return a(),t("div",null,r)}const _=e(n,[["render",s]]);export{f as __pageData,_ as default}; diff --git a/assets/projects_wrenam_resources.md.TKiJbPpB.js b/assets/projects_wrenam_resources.md.TKiJbPpB.js new file mode 100644 index 0000000..c61ac98 --- /dev/null +++ b/assets/projects_wrenam_resources.md.TKiJbPpB.js @@ -0,0 +1 @@ +import{_ as e,c as r,o as t,V as o}from"./chunks/framework.dxpx44BK.js";const p=JSON.parse('{"title":"Wren:AM","description":"","frontmatter":{"title":"Wren:AM"},"headers":[],"relativePath":"projects/wrenam/resources.md","filePath":"projects/wrenam/resources.md"}'),a={name:"projects/wrenam/resources.md"},n=o('

Resources

Documentation

Project documentation can be found in our documentation platform (docs.wrensecurity.org).

',3),s=[n];function c(i,_,d,u,l,m){return t(),r("div",null,s)}const f=e(a,[["render",c]]);export{p as __pageData,f as default}; diff --git a/assets/projects_wrenam_resources.md.TKiJbPpB.lean.js b/assets/projects_wrenam_resources.md.TKiJbPpB.lean.js new file mode 100644 index 0000000..604569e --- /dev/null +++ b/assets/projects_wrenam_resources.md.TKiJbPpB.lean.js @@ -0,0 +1 @@ +import{_ as e,c as r,o as t,V as o}from"./chunks/framework.dxpx44BK.js";const p=JSON.parse('{"title":"Wren:AM","description":"","frontmatter":{"title":"Wren:AM"},"headers":[],"relativePath":"projects/wrenam/resources.md","filePath":"projects/wrenam/resources.md"}'),a={name:"projects/wrenam/resources.md"},n=o("",3),s=[n];function c(i,_,d,u,l,m){return t(),r("div",null,s)}const f=e(a,[["render",c]]);export{p as __pageData,f as default}; diff --git a/assets/projects_wrends_download.md.Tz_XNYJK.js b/assets/projects_wrends_download.md.Tz_XNYJK.js new file mode 100644 index 0000000..1eb633c --- /dev/null +++ b/assets/projects_wrends_download.md.Tz_XNYJK.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as r,V as t}from"./chunks/framework.dxpx44BK.js";const p=JSON.parse('{"title":"Wren:DS","description":"","frontmatter":{"title":"Wren:DS"},"headers":[],"relativePath":"projects/wrends/download.md","filePath":"projects/wrends/download.md"}'),o={name:"projects/wrends/download.md"},n=t('

Getting Started

You can get Wren:DS application in a few ways.

Download binary release

The easiest way to get the Wren:DS is to download the latest binary release.

Docker image

You can also run Wren:DS in a Docker container. Official Wren:DS Docker images can be found on Docker Hub.

Build the source code

You can also create your own build from the source code. Manual how to build the source code can be found here.

',8),d=[n];function c(s,i,l,h,u,_){return r(),a("div",null,d)}const f=e(o,[["render",c]]);export{p as __pageData,f as default}; diff --git a/assets/projects_wrends_download.md.Tz_XNYJK.lean.js b/assets/projects_wrends_download.md.Tz_XNYJK.lean.js new file mode 100644 index 0000000..4c17dd8 --- /dev/null +++ b/assets/projects_wrends_download.md.Tz_XNYJK.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as r,V as t}from"./chunks/framework.dxpx44BK.js";const p=JSON.parse('{"title":"Wren:DS","description":"","frontmatter":{"title":"Wren:DS"},"headers":[],"relativePath":"projects/wrends/download.md","filePath":"projects/wrends/download.md"}'),o={name:"projects/wrends/download.md"},n=t("",8),d=[n];function c(s,i,l,h,u,_){return r(),a("div",null,d)}const f=e(o,[["render",c]]);export{p as __pageData,f as default}; diff --git a/assets/projects_wrends_index.md._fr-cRME.js b/assets/projects_wrends_index.md._fr-cRME.js new file mode 100644 index 0000000..e5967bf --- /dev/null +++ b/assets/projects_wrends_index.md._fr-cRME.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as t,V as r}from"./chunks/framework.dxpx44BK.js";const u=JSON.parse('{"title":"Wren:DS","description":"","frontmatter":{"title":"Wren:DS","sidebarDepth":2},"headers":[],"relativePath":"projects/wrends/index.md","filePath":"projects/wrends/index.md"}'),o={name:"projects/wrends/index.md"},i=r('

Wren:DS

Overview

Wren:DS is an LDAPv3 compliant directory service, which has been developed for the Java platform, providing a high performance, highly available, and secure store for the identities managed by your organization. Its easy installation process, combined with the power of the Java platform makes Wren:DS the simplest, fastest directory to deploy and manage.

Acknowledgments

Wren:DS is standing on the shoulders of giants and is a continuation of a prior work:

  • OpenDS by Sun Microsystems
  • OpenDJ by ForgeRock AS

We'd like to thank them for supporting the idea of open-source software.

Disclaimer

Please note that the acknowledged parties are not affiliated with this project. Their trade names, product names and trademarks should not be used to refer to the Wren Security products, as it might be considered an unfair commercial practice.

Wren Security is open source and always will be.

',10),n=[i];function s(d,l,c,h,p,m){return t(),a("div",null,n)}const _=e(o,[["render",s]]);export{u as __pageData,_ as default}; diff --git a/assets/projects_wrends_index.md._fr-cRME.lean.js b/assets/projects_wrends_index.md._fr-cRME.lean.js new file mode 100644 index 0000000..4857146 --- /dev/null +++ b/assets/projects_wrends_index.md._fr-cRME.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as t,V as r}from"./chunks/framework.dxpx44BK.js";const u=JSON.parse('{"title":"Wren:DS","description":"","frontmatter":{"title":"Wren:DS","sidebarDepth":2},"headers":[],"relativePath":"projects/wrends/index.md","filePath":"projects/wrends/index.md"}'),o={name:"projects/wrends/index.md"},i=r("",10),n=[i];function s(d,l,c,h,p,m){return t(),a("div",null,n)}const _=e(o,[["render",s]]);export{u as __pageData,_ as default}; diff --git a/assets/projects_wrends_resources.md.SlxSr3dy.js b/assets/projects_wrends_resources.md.SlxSr3dy.js new file mode 100644 index 0000000..d9cd254 --- /dev/null +++ b/assets/projects_wrends_resources.md.SlxSr3dy.js @@ -0,0 +1 @@ +import{_ as e,c as r,o as t,V as o}from"./chunks/framework.dxpx44BK.js";const p=JSON.parse('{"title":"Wren:DS","description":"","frontmatter":{"title":"Wren:DS"},"headers":[],"relativePath":"projects/wrends/resources.md","filePath":"projects/wrends/resources.md"}'),a={name:"projects/wrends/resources.md"},s=o('

Resources

Documentation

Project documentation can be found in our documentation platform (docs.wrensecurity.org).

',3),n=[s];function c(i,d,_,u,l,h){return t(),r("div",null,n)}const f=e(a,[["render",c]]);export{p as __pageData,f as default}; diff --git a/assets/projects_wrends_resources.md.SlxSr3dy.lean.js b/assets/projects_wrends_resources.md.SlxSr3dy.lean.js new file mode 100644 index 0000000..afe8ba2 --- /dev/null +++ b/assets/projects_wrends_resources.md.SlxSr3dy.lean.js @@ -0,0 +1 @@ +import{_ as e,c as r,o as t,V as o}from"./chunks/framework.dxpx44BK.js";const p=JSON.parse('{"title":"Wren:DS","description":"","frontmatter":{"title":"Wren:DS"},"headers":[],"relativePath":"projects/wrends/resources.md","filePath":"projects/wrends/resources.md"}'),a={name:"projects/wrends/resources.md"},s=o("",3),n=[s];function c(i,d,_,u,l,h){return t(),r("div",null,n)}const f=e(a,[["render",c]]);export{p as __pageData,f as default}; diff --git a/assets/projects_wrenicf_index.md.lM5Ee79Z.js b/assets/projects_wrenicf_index.md.lM5Ee79Z.js new file mode 100644 index 0000000..649f5b5 --- /dev/null +++ b/assets/projects_wrenicf_index.md.lM5Ee79Z.js @@ -0,0 +1 @@ +import{_ as e,c as r,o,V as n}from"./chunks/framework.dxpx44BK.js";const u=JSON.parse('{"title":"Wren:ICF","description":"","frontmatter":{"title":"Wren:ICF","sidebarDepth":2},"headers":[],"relativePath":"projects/wrenicf/index.md","filePath":"projects/wrenicf/index.md"}'),t={name:"projects/wrenicf/index.md"},a=n('

Wren:ICF

Overview

Wren:ICF is an umbrella brand encompassing community-developed Identity Connector Framework as well as a set of production-ready connectors – LDAP, Office 365, SSH, SQL, PowerShell, REST and many more.

The main project is Wren:ICF Java Framework where the various parts of the framework (specification, APIs, SPIs and network protocol) are forged, and it also provides the default connector runtime environment for the Java world.

Wren:ICF .NET Framework is a connector framework implementation and runtime environment for Microsoft's .NET world.

Framework Features

Wren:ICF addresses the following topics:

  • connector specification – definition of connector interfaces and available operations
  • connector runtime environment – Java and .NET server implementations managing individual connectors, their discoverability and lifecycle (e.g. pooling)
  • remote connector protocol – low-level remote connector network protocol

Runtime environment manages individual connectors through connector SPI methods and offers their functionality through public API. Each connector works with a specific set of objects (e.g. accounts and groups) defined by self-described schema, and can implement one or more well defined operations.

Identity Connectors

Wren:ICF provides a set of common basic connectors and scriptable connectors with sample integrations:

  • LDAP Connector – integration with LDAP server (e.g. Active Directory)
  • CSV File Connector – reading and writing rows from a CSV file
  • Scriptable SSH Connector – custom remote shell invocations through managed JSch connection
  • Scriptable SQL Connector – custom database commands through managed JDBC connection
  • Scriptable REST Connector – custom calls through managed HTTP connection
  • Scriptable Groovy Connector – custom groovy scripts for Wren:ICF operations
  • Scriptable PowerShell Connector – custom PowerShell scripts for Wren:ICF operations

Many other connectors are available under Wren Security's GitHub organization or by third-party vendors.

Acknowledgments

Wren:ICF is standing on the shoulders of giants and is a continuation of a prior work:

  • Sun Identity Framework by Sun Microsystems
  • OpenICF by ForgeRock AS

We'd like to thank them for supporting the idea of open-source software.

Disclaimer

Please note that the acknowledged parties are not affiliated with this project. Their trade names, product names and trademarks should not be used to refer to the Wren Security products, as it might be considered an unfair commercial practice.

Wren Security is open source and always will be.

',20),i=[a];function c(s,l,d,m,h,p){return o(),r("div",null,i)}const w=e(t,[["render",c]]);export{u as __pageData,w as default}; diff --git a/assets/projects_wrenicf_index.md.lM5Ee79Z.lean.js b/assets/projects_wrenicf_index.md.lM5Ee79Z.lean.js new file mode 100644 index 0000000..73fa7bb --- /dev/null +++ b/assets/projects_wrenicf_index.md.lM5Ee79Z.lean.js @@ -0,0 +1 @@ +import{_ as e,c as r,o,V as n}from"./chunks/framework.dxpx44BK.js";const u=JSON.parse('{"title":"Wren:ICF","description":"","frontmatter":{"title":"Wren:ICF","sidebarDepth":2},"headers":[],"relativePath":"projects/wrenicf/index.md","filePath":"projects/wrenicf/index.md"}'),t={name:"projects/wrenicf/index.md"},a=n("",20),i=[a];function c(s,l,d,m,h,p){return o(),r("div",null,i)}const w=e(t,[["render",c]]);export{u as __pageData,w as default}; diff --git a/assets/projects_wrenidm_download.md.IhUDRcfg.js b/assets/projects_wrenidm_download.md.IhUDRcfg.js new file mode 100644 index 0000000..cc66bc3 --- /dev/null +++ b/assets/projects_wrenidm_download.md.IhUDRcfg.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as r,V as t}from"./chunks/framework.dxpx44BK.js";const _=JSON.parse('{"title":"Wren:IDM","description":"","frontmatter":{"title":"Wren:IDM"},"headers":[],"relativePath":"projects/wrenidm/download.md","filePath":"projects/wrenidm/download.md"}'),o={name:"projects/wrenidm/download.md"},n=t('

Getting Started

You can get Wren:IDM application in a few ways.

Download binary release

The easiest way to get the Wren:IDM is to download the latest binary release.

Docker image

You can also run Wren:IDM in a Docker container. Official Wren:IDM Docker images can be found on Docker Hub.

Build the source code

The last but not least you can create your own build from the source code. Manual how to build the source code can be found here.

',8),i=[n];function d(c,l,s,h,u,b){return r(),a("div",null,i)}const p=e(o,[["render",d]]);export{_ as __pageData,p as default}; diff --git a/assets/projects_wrenidm_download.md.IhUDRcfg.lean.js b/assets/projects_wrenidm_download.md.IhUDRcfg.lean.js new file mode 100644 index 0000000..dd562bc --- /dev/null +++ b/assets/projects_wrenidm_download.md.IhUDRcfg.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as r,V as t}from"./chunks/framework.dxpx44BK.js";const _=JSON.parse('{"title":"Wren:IDM","description":"","frontmatter":{"title":"Wren:IDM"},"headers":[],"relativePath":"projects/wrenidm/download.md","filePath":"projects/wrenidm/download.md"}'),o={name:"projects/wrenidm/download.md"},n=t("",8),i=[n];function d(c,l,s,h,u,b){return r(),a("div",null,i)}const p=e(o,[["render",d]]);export{_ as __pageData,p as default}; diff --git a/assets/projects_wrenidm_index.md.XiTPTVga.js b/assets/projects_wrenidm_index.md.XiTPTVga.js new file mode 100644 index 0000000..ded07dc --- /dev/null +++ b/assets/projects_wrenidm_index.md.XiTPTVga.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a,V as o}from"./chunks/framework.dxpx44BK.js";const f=JSON.parse('{"title":"Wren:IDM","description":"","frontmatter":{"title":"Wren:IDM","sidebarDepth":2},"headers":[],"relativePath":"projects/wrenidm/index.md","filePath":"projects/wrenidm/index.md"}'),i={name:"projects/wrenidm/index.md"},n=o('

Wren:IDM

Overview

Wren:IDM is a community‐developed identity management system with a flexible data model, multiple extension points and scripting support, including JavaScript and Groovy. It can connect to and manage a wide range of systems through the Identity Connector Framework (Wren:ICF).

Wren:IDM is one of the projects in the Wren Security Suite, a community initiative that adopted open‐source projects formerly developed by ForgeRock, which has its own roots in Sun Microsystems’ products.

Wren:IDM itself is focused on identity management processes and it also provides a powerful framework for implementing IAG and a portion of IAM processes as well. Although the project is based on OpenIDM code, it is not affiliated with ForgeRock in any way. It is based on the very latest code available under a CDDL license (not‐yet‐released OpenIDM 5.x).

The features of Wren:IDM include:

  • A complete platform for building IDM and IG solutions using the concepts described below – roles, mappings, synchronizations, workflows, policies, etc.
  • ICF Connector Servers – services that allow connectors to be run outside of the IDM itself. Useful when a connector needs a specific client environment to talk to the integrated system. Also facilitates security. .NET and Java Connector Servers are available.
  • Administration GUI – an interface for making changes to data models and configuration using a point‐and‐click interface rather than Wren:IDM's REST interface.
  • Self‐service GUI – an interface for end‐users to update their profile information, passwords, and preferences.

Both the Administration GUI and Self‐Service GUI are web‐based, single‐page applications that can be turned off in deployments that do not desire to use them [1].

Acknowledgments

Large portions of the source code are based on the open-source projects previously released by:

  • Sun Microsystems
  • ForgeRock

We'd like to thank them for supporting the idea of open-source software.

Disclaimer

Please note that the acknowledged parties are not affiliated with this project. Their trade names, product names and trademarks should not be used to refer to the Wren Security products, as it might be considered an unfair commercial practice.

Wren Security is open source and always will be.

',15),r=[n];function s(c,d,l,p,h,m){return a(),t("div",null,r)}const w=e(i,[["render",s]]);export{f as __pageData,w as default}; diff --git a/assets/projects_wrenidm_index.md.XiTPTVga.lean.js b/assets/projects_wrenidm_index.md.XiTPTVga.lean.js new file mode 100644 index 0000000..cc8ad91 --- /dev/null +++ b/assets/projects_wrenidm_index.md.XiTPTVga.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a,V as o}from"./chunks/framework.dxpx44BK.js";const f=JSON.parse('{"title":"Wren:IDM","description":"","frontmatter":{"title":"Wren:IDM","sidebarDepth":2},"headers":[],"relativePath":"projects/wrenidm/index.md","filePath":"projects/wrenidm/index.md"}'),i={name:"projects/wrenidm/index.md"},n=o("",15),r=[n];function s(c,d,l,p,h,m){return a(),t("div",null,r)}const w=e(i,[["render",s]]);export{f as __pageData,w as default}; diff --git a/assets/projects_wrenidm_resources.md.ss5AOLoi.js b/assets/projects_wrenidm_resources.md.ss5AOLoi.js new file mode 100644 index 0000000..fd7baa0 --- /dev/null +++ b/assets/projects_wrenidm_resources.md.ss5AOLoi.js @@ -0,0 +1 @@ +import{_ as e,c as r,o,V as t}from"./chunks/framework.dxpx44BK.js";const p=JSON.parse('{"title":"Wren:IDM","description":"","frontmatter":{"title":"Wren:IDM"},"headers":[],"relativePath":"projects/wrenidm/resources.md","filePath":"projects/wrenidm/resources.md"}'),a={name:"projects/wrenidm/resources.md"},n=t('

Resources

Documentation

Project documentation can be found in our documentation platform (docs.wrensecurity.org). Repository hosting cookbook with common use cases is available on GitHub.

',3),s=[n];function c(i,d,u,_,l,m){return o(),r("div",null,s)}const f=e(a,[["render",c]]);export{p as __pageData,f as default}; diff --git a/assets/projects_wrenidm_resources.md.ss5AOLoi.lean.js b/assets/projects_wrenidm_resources.md.ss5AOLoi.lean.js new file mode 100644 index 0000000..f1bcf4f --- /dev/null +++ b/assets/projects_wrenidm_resources.md.ss5AOLoi.lean.js @@ -0,0 +1 @@ +import{_ as e,c as r,o,V as t}from"./chunks/framework.dxpx44BK.js";const p=JSON.parse('{"title":"Wren:IDM","description":"","frontmatter":{"title":"Wren:IDM"},"headers":[],"relativePath":"projects/wrenidm/resources.md","filePath":"projects/wrenidm/resources.md"}'),a={name:"projects/wrenidm/resources.md"},n=t("",3),s=[n];function c(i,d,u,_,l,m){return o(),r("div",null,s)}const f=e(a,[["render",c]]);export{p as __pageData,f as default}; diff --git a/assets/projects_wrenig_download.md.veYruhEu.js b/assets/projects_wrenig_download.md.veYruhEu.js new file mode 100644 index 0000000..3ead647 --- /dev/null +++ b/assets/projects_wrenig_download.md.veYruhEu.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as r,V as t}from"./chunks/framework.dxpx44BK.js";const p=JSON.parse('{"title":"Wren:IG","description":"","frontmatter":{"title":"Wren:IG"},"headers":[],"relativePath":"projects/wrenig/download.md","filePath":"projects/wrenig/download.md"}'),o={name:"projects/wrenig/download.md"},n=t('

Getting Started

You can get Wren:IG application in a few ways.

Download binary release

The easiest way to get the Wren:IG is to download the latest binary release.

Docker image

You can also run Wren:IG in a Docker container. Official Wren:IG Docker images can be found on Docker Hub.

Build the source code

The last but not least you can create your own build from the source code. Manual how to build the source code can be found here.

',8),i=[n];function c(d,l,s,h,u,b){return r(),a("div",null,i)}const g=e(o,[["render",c]]);export{p as __pageData,g as default}; diff --git a/assets/projects_wrenig_download.md.veYruhEu.lean.js b/assets/projects_wrenig_download.md.veYruhEu.lean.js new file mode 100644 index 0000000..47ec76f --- /dev/null +++ b/assets/projects_wrenig_download.md.veYruhEu.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as r,V as t}from"./chunks/framework.dxpx44BK.js";const p=JSON.parse('{"title":"Wren:IG","description":"","frontmatter":{"title":"Wren:IG"},"headers":[],"relativePath":"projects/wrenig/download.md","filePath":"projects/wrenig/download.md"}'),o={name:"projects/wrenig/download.md"},n=t("",8),i=[n];function c(d,l,s,h,u,b){return r(),a("div",null,i)}const g=e(o,[["render",c]]);export{p as __pageData,g as default}; diff --git a/assets/projects_wrenig_index.md.M9oTHO36.js b/assets/projects_wrenig_index.md.M9oTHO36.js new file mode 100644 index 0000000..919b076 --- /dev/null +++ b/assets/projects_wrenig_index.md.M9oTHO36.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as r,V as i}from"./chunks/framework.dxpx44BK.js";const f=JSON.parse('{"title":"Wren:IG","description":"","frontmatter":{"title":"Wren:IG","sidebarDepth":2},"headers":[],"relativePath":"projects/wrenig/index.md","filePath":"projects/wrenig/index.md"}'),a={name:"projects/wrenig/index.md"},o=i('

Wren:IG

Overview

Wren:IG is a community‐developed reverse proxy server providing single sign-on (SSO) to any application behind the proxy.

Wren:IG includes a number of pre-built filters to transform data of intercepred requests / responses. Scripted filter allows you to easily create your own filter using the Groovy language.

The features of Wren:IG include:

  • Authentication / Authorization using industry-standard protocols (SAML 2.0, OAuth 2.0, OpenID Connect)
  • Single Sign-On (SSO)
  • Single Logout (SLO)
  • Session management
  • Password replay

Wren:IG is one of the projects in the Wren Security Suite, a community initiative that adopted open‐source projects formerly developed by ForgeRock.

Acknowledgments

Wren:IG is standing on the shoulders of giants and is a continuation of a prior work:

  • OpenIG by ForgeRock AS

We'd like to thank them for supporting the idea of open-source software.

Disclaimer

Please note that the acknowledged parties are not affiliated with this project. Their trade names, product names and trademarks should not be used to refer to the Wren Security products, as it might be considered an unfair commercial practice.

Wren Security is open source and always will be.

',14),n=[o];function s(l,d,c,p,h,u){return r(),t("div",null,n)}const g=e(a,[["render",s]]);export{f as __pageData,g as default}; diff --git a/assets/projects_wrenig_index.md.M9oTHO36.lean.js b/assets/projects_wrenig_index.md.M9oTHO36.lean.js new file mode 100644 index 0000000..617531c --- /dev/null +++ b/assets/projects_wrenig_index.md.M9oTHO36.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as r,V as i}from"./chunks/framework.dxpx44BK.js";const f=JSON.parse('{"title":"Wren:IG","description":"","frontmatter":{"title":"Wren:IG","sidebarDepth":2},"headers":[],"relativePath":"projects/wrenig/index.md","filePath":"projects/wrenig/index.md"}'),a={name:"projects/wrenig/index.md"},o=i("",14),n=[o];function s(l,d,c,p,h,u){return r(),t("div",null,n)}const g=e(a,[["render",s]]);export{f as __pageData,g as default}; diff --git a/assets/projects_wrenig_resources.md.pwXF3TEG.js b/assets/projects_wrenig_resources.md.pwXF3TEG.js new file mode 100644 index 0000000..b301434 --- /dev/null +++ b/assets/projects_wrenig_resources.md.pwXF3TEG.js @@ -0,0 +1 @@ +import{_ as e,c as r,o as t,V as o}from"./chunks/framework.dxpx44BK.js";const p=JSON.parse('{"title":"Wren:IG","description":"","frontmatter":{"title":"Wren:IG"},"headers":[],"relativePath":"projects/wrenig/resources.md","filePath":"projects/wrenig/resources.md"}'),a={name:"projects/wrenig/resources.md"},n=o('

Resources

Documentation

Project documentation can be found in our documentation platform (docs.wrensecurity.org).

',3),s=[n];function c(i,_,d,u,l,h){return t(),r("div",null,s)}const f=e(a,[["render",c]]);export{p as __pageData,f as default}; diff --git a/assets/projects_wrenig_resources.md.pwXF3TEG.lean.js b/assets/projects_wrenig_resources.md.pwXF3TEG.lean.js new file mode 100644 index 0000000..459d826 --- /dev/null +++ b/assets/projects_wrenig_resources.md.pwXF3TEG.lean.js @@ -0,0 +1 @@ +import{_ as e,c as r,o as t,V as o}from"./chunks/framework.dxpx44BK.js";const p=JSON.parse('{"title":"Wren:IG","description":"","frontmatter":{"title":"Wren:IG"},"headers":[],"relativePath":"projects/wrenig/resources.md","filePath":"projects/wrenig/resources.md"}'),a={name:"projects/wrenig/resources.md"},n=o("",3),s=[n];function c(i,_,d,u,l,h){return t(),r("div",null,s)}const f=e(a,[["render",c]]);export{p as __pageData,f as default}; diff --git a/assets/style.ApYUUt6B.css b/assets/style.ApYUUt6B.css new file mode 100644 index 0000000..99be188 --- /dev/null +++ b/assets/style.ApYUUt6B.css @@ -0,0 +1 @@ +@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-cyrillic.jIZ9REo5.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-cyrillic-ext.8T9wMG5w.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-greek.Cb5wWeGA.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-greek-ext.9JiNzaSO.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-latin.bvIUbFQP.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-latin-ext.GZWE-KO4.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-vietnamese.paY3CzEB.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-cyrillic.-nLMcIwj.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-cyrillic-ext.OVycGSDq.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-greek.PSfer2Kc.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-greek-ext.hznxWNZO.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-latin.27E69YJn.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-latin-ext.RnFly65-.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-vietnamese.xzQHe1q1.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chinese Quotes;src:local("PingFang SC Regular"),local("PingFang SC"),local("SimHei"),local("Source Han Sans SC");unicode-range:U+2018,U+2019,U+201C,U+201D}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white)}.dark{--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black)}:root{--vp-c-gray-1: #dddde3;--vp-c-gray-2: #e4e4e9;--vp-c-gray-3: #ebebef;--vp-c-gray-soft: rgba(142, 150, 170, .14);--vp-c-indigo-1: #3451b2;--vp-c-indigo-2: #3a5ccc;--vp-c-indigo-3: #5672cd;--vp-c-indigo-soft: rgba(100, 108, 255, .14);--vp-c-purple-1: #6f42c1;--vp-c-purple-2: #7e4cc9;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .14);--vp-c-green-1: #18794e;--vp-c-green-2: #299764;--vp-c-green-3: #30a46c;--vp-c-green-soft: rgba(16, 185, 129, .14);--vp-c-yellow-1: #915930;--vp-c-yellow-2: #946300;--vp-c-yellow-3: #9f6a00;--vp-c-yellow-soft: rgba(234, 179, 8, .14);--vp-c-red-1: #b8272c;--vp-c-red-2: #d5393e;--vp-c-red-3: #e0575b;--vp-c-red-soft: rgba(244, 63, 94, .14);--vp-c-sponsor: #db2777}.dark{--vp-c-gray-1: #515c67;--vp-c-gray-2: #414853;--vp-c-gray-3: #32363f;--vp-c-gray-soft: rgba(101, 117, 133, .16);--vp-c-indigo-1: #a8b1ff;--vp-c-indigo-2: #5c73e7;--vp-c-indigo-3: #3e63dd;--vp-c-indigo-soft: rgba(100, 108, 255, .16);--vp-c-purple-1: #c8abfa;--vp-c-purple-2: #a879e6;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .16);--vp-c-green-1: #3dd68c;--vp-c-green-2: #30a46c;--vp-c-green-3: #298459;--vp-c-green-soft: rgba(16, 185, 129, .16);--vp-c-yellow-1: #f9b44e;--vp-c-yellow-2: #da8b17;--vp-c-yellow-3: #a46a0a;--vp-c-yellow-soft: rgba(234, 179, 8, .16);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .16)}:root{--vp-c-bg: #ffffff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #ffffff;--vp-c-bg-soft: #f6f6f7}.dark{--vp-c-bg: #1b1b1f;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-bg-soft: #202127}:root{--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3}.dark{--vp-c-border: #3c3f44;--vp-c-divider: #2e2e32;--vp-c-gutter: #000000}:root{--vp-c-text-1: rgba(60, 60, 67);--vp-c-text-2: rgba(60, 60, 67, .78);--vp-c-text-3: rgba(60, 60, 67, .56)}.dark{--vp-c-text-1: rgba(255, 255, 245, .86);--vp-c-text-2: rgba(235, 235, 245, .6);--vp-c-text-3: rgba(235, 235, 245, .38)}:root{--vp-c-default-1: var(--vp-c-gray-1);--vp-c-default-2: var(--vp-c-gray-2);--vp-c-default-3: var(--vp-c-gray-3);--vp-c-default-soft: var(--vp-c-gray-soft);--vp-c-brand-1: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-brand: var(--vp-c-brand-1);--vp-c-tip-1: var(--vp-c-brand-1);--vp-c-tip-2: var(--vp-c-brand-2);--vp-c-tip-3: var(--vp-c-brand-3);--vp-c-tip-soft: var(--vp-c-brand-soft);--vp-c-note-1: var(--vp-c-brand-1);--vp-c-note-2: var(--vp-c-brand-2);--vp-c-note-3: var(--vp-c-brand-3);--vp-c-note-soft: var(--vp-c-brand-soft);--vp-c-success-1: var(--vp-c-green-1);--vp-c-success-2: var(--vp-c-green-2);--vp-c-success-3: var(--vp-c-green-3);--vp-c-success-soft: var(--vp-c-green-soft);--vp-c-important-1: var(--vp-c-purple-1);--vp-c-important-2: var(--vp-c-purple-2);--vp-c-important-3: var(--vp-c-purple-3);--vp-c-important-soft: var(--vp-c-purple-soft);--vp-c-warning-1: var(--vp-c-yellow-1);--vp-c-warning-2: var(--vp-c-yellow-2);--vp-c-warning-3: var(--vp-c-yellow-3);--vp-c-warning-soft: var(--vp-c-yellow-soft);--vp-c-danger-1: var(--vp-c-red-1);--vp-c-danger-2: var(--vp-c-red-2);--vp-c-danger-3: var(--vp-c-red-3);--vp-c-danger-soft: var(--vp-c-red-soft);--vp-c-caution-1: var(--vp-c-red-1);--vp-c-caution-2: var(--vp-c-red-2);--vp-c-caution-3: var(--vp-c-red-3);--vp-c-caution-soft: var(--vp-c-red-soft)}:root{--vp-font-family-base: "Chinese Quotes", "Inter var", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-footer: 10;--vp-z-index-local-nav: 20;--vp-z-index-nav: 30;--vp-z-index-layout-top: 40;--vp-z-index-backdrop: 50;--vp-z-index-sidebar: 60}@media (min-width: 960px){:root{--vp-z-index-sidebar: 25}}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E")}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-color: var(--vp-c-brand-1);--vp-code-link-color: var(--vp-c-brand-1);--vp-code-link-hover-color: var(--vp-c-brand-2);--vp-code-bg: var(--vp-c-default-soft);--vp-code-block-color: var(--vp-c-text-2);--vp-code-block-bg: var(--vp-c-bg-alt);--vp-code-block-divider-color: var(--vp-c-gutter);--vp-code-lang-color: var(--vp-c-text-3);--vp-code-line-highlight-color: var(--vp-c-default-soft);--vp-code-line-number-color: var(--vp-c-text-3);--vp-code-line-diff-add-color: var(--vp-c-success-soft);--vp-code-line-diff-add-symbol-color: var(--vp-c-success-1);--vp-code-line-diff-remove-color: var(--vp-c-danger-soft);--vp-code-line-diff-remove-symbol-color: var(--vp-c-danger-1);--vp-code-line-warning-color: var(--vp-c-warning-soft);--vp-code-line-error-color: var(--vp-c-danger-soft);--vp-code-copy-code-border-color: var(--vp-c-divider);--vp-code-copy-code-bg: var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-c-bg);--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-copy-copied-text-content: "Copied";--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1);--vp-code-tab-active-bar-color: var(--vp-c-brand-1)}:root{--vp-button-brand-border: transparent;--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-3);--vp-button-brand-hover-border: transparent;--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-2);--vp-button-brand-active-border: transparent;--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-1);--vp-button-alt-border: transparent;--vp-button-alt-text: var(--vp-c-text-1);--vp-button-alt-bg: var(--vp-c-default-3);--vp-button-alt-hover-border: transparent;--vp-button-alt-hover-text: var(--vp-c-text-1);--vp-button-alt-hover-bg: var(--vp-c-default-2);--vp-button-alt-active-border: transparent;--vp-button-alt-active-text: var(--vp-c-text-1);--vp-button-alt-active-bg: var(--vp-c-default-1);--vp-button-sponsor-border: var(--vp-c-text-2);--vp-button-sponsor-text: var(--vp-c-text-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: transparent;--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-default-soft);--vp-custom-block-info-code-bg: var(--vp-c-default-soft);--vp-custom-block-note-border: transparent;--vp-custom-block-note-text: var(--vp-c-text-1);--vp-custom-block-note-bg: var(--vp-c-default-soft);--vp-custom-block-note-code-bg: var(--vp-c-default-soft);--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-tip-soft);--vp-custom-block-tip-code-bg: var(--vp-c-tip-soft);--vp-custom-block-important-border: transparent;--vp-custom-block-important-text: var(--vp-c-text-1);--vp-custom-block-important-bg: var(--vp-c-important-soft);--vp-custom-block-important-code-bg: var(--vp-c-important-soft);--vp-custom-block-warning-border: transparent;--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);--vp-custom-block-danger-border: transparent;--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);--vp-custom-block-caution-border: transparent;--vp-custom-block-caution-text: var(--vp-c-text-1);--vp-custom-block-caution-bg: var(--vp-c-caution-soft);--vp-custom-block-caution-code-bg: var(--vp-c-caution-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-switch-bg-color: var(--vp-c-default-soft)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}.hide-nav{--vp-nav-height: 0px}.hide-nav .VPSidebar{--vp-nav-height: 22px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand-1);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: transparent;--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-default-soft);--vp-badge-tip-border: transparent;--vp-badge-tip-text: var(--vp-c-tip-1);--vp-badge-tip-bg: var(--vp-c-tip-soft);--vp-badge-warning-border: transparent;--vp-badge-warning-text: var(--vp-c-warning-1);--vp-badge-warning-bg: var(--vp-c-warning-soft);--vp-badge-danger-border: transparent;--vp-badge-danger-text: var(--vp-c-danger-1);--vp-badge-danger-bg: var(--vp-c-danger-soft)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand-1);--vp-local-search-highlight-bg: var(--vp-c-brand-1);--vp-local-search-highlight-text: var(--vp-c-neutral-inverse)}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important}}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}mjx-container{display:inline-block;margin:auto 2px -2px}mjx-container>svg{margin:auto}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info a,.custom-block.info code{color:var(--vp-c-brand-1)}.custom-block.info a:hover,.custom-block.info a:hover>code{color:var(--vp-c-brand-2)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.note{border-color:var(--vp-custom-block-note-border);color:var(--vp-custom-block-note-text);background-color:var(--vp-custom-block-note-bg)}.custom-block.note a,.custom-block.note code{color:var(--vp-c-brand-1)}.custom-block.note a:hover,.custom-block.note a:hover>code{color:var(--vp-c-brand-2)}.custom-block.note code{background-color:var(--vp-custom-block-note-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip a,.custom-block.tip code{color:var(--vp-c-tip-1)}.custom-block.tip a:hover,.custom-block.tip a:hover>code{color:var(--vp-c-tip-2)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.important{border-color:var(--vp-custom-block-important-border);color:var(--vp-custom-block-important-text);background-color:var(--vp-custom-block-important-bg)}.custom-block.important a,.custom-block.important code{color:var(--vp-c-important-1)}.custom-block.important a:hover,.custom-block.important a:hover>code{color:var(--vp-c-important-2)}.custom-block.important code{background-color:var(--vp-custom-block-important-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning a,.custom-block.warning code{color:var(--vp-c-warning-1)}.custom-block.warning a:hover,.custom-block.warning a:hover>code{color:var(--vp-c-warning-2)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger a,.custom-block.danger code{color:var(--vp-c-danger-1)}.custom-block.danger a:hover,.custom-block.danger a:hover>code{color:var(--vp-c-danger-2)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.caution{border-color:var(--vp-custom-block-caution-border);color:var(--vp-custom-block-caution-text);background-color:var(--vp-custom-block-caution-bg)}.custom-block.caution a,.custom-block.caution code{color:var(--vp-c-caution-1)}.custom-block.caution a:hover,.custom-block.caution a:hover>code{color:var(--vp-c-caution-2)}.custom-block.caution code{background-color:var(--vp-custom-block-caution-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details a{color:var(--vp-c-brand-1)}.custom-block.details a:hover,.custom-block.details a:hover>code{color:var(--vp-c-brand-2)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.dark .vp-code span{color:var(--shiki-dark, inherit)}html:not(.dark) .vp-code span{color:var(--shiki-light, inherit)}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:2px;border-radius:2px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;text-decoration:none;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand-1);text-decoration:underline;text-underline-offset:2px;transition:color .25s,opacity .25s}.vp-doc a:hover{color:var(--vp-c-brand-2)}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{background-color:var(--vp-c-bg);border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;background-color:var(--vp-code-bg);transition:color .25s,background-color .5s}.vp-doc a>code{color:var(--vp-code-link-color)}.vp-doc a:hover>code{color:var(--vp-code-link-hover-color)}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code{font-size:.9em}.vp-doc div[class*=language-],.vp-block{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;transform:translate(calc(-100% - 1px));display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;padding:0 10px;width:fit-content;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:var(--vp-code-copy-copied-text-content)}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-code-lang-color);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.external-link-icon-enabled :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin-bottom:4px;text-align:center;letter-spacing:1px;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-default-soft)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:12px;padding:0 10px;line-height:22px;font-size:12px;font-weight:500;transform:translateY(-2px)}.VPBadge.small{padding:0 6px;line-height:18px;font-size:10px;transform:translateY(-8px)}.VPDocFooter .VPBadge{display:none}.vp-doc h1>.VPBadge{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge{margin-top:3px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge{vertical-align:middle}.vp-doc h4>.VPBadge,.vp-doc h5>.VPBadge,.vp-doc h6>.VPBadge{vertical-align:middle;line-height:18px}.VPBadge.info{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-c79a1216]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-c79a1216],.VPBackdrop.fade-leave-to[data-v-c79a1216]{opacity:0}.VPBackdrop.fade-leave-active[data-v-c79a1216]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-c79a1216]{display:none}}.NotFound[data-v-f87ff6e4]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-f87ff6e4]{padding:96px 32px 168px}}.code[data-v-f87ff6e4]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-f87ff6e4]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-f87ff6e4]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-f87ff6e4]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-f87ff6e4]{padding-top:20px}.link[data-v-f87ff6e4]{display:inline-block;border:1px solid var(--vp-c-brand-1);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:border-color .25s,color .25s}.link[data-v-f87ff6e4]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-b933a997]{position:relative;z-index:1}.nested[data-v-b933a997]{padding-right:16px;padding-left:16px}.outline-link[data-v-b933a997]{display:block;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s}.outline-link[data-v-b933a997]:hover,.outline-link.active[data-v-b933a997]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-b933a997]{padding-left:13px}.VPDocAsideOutline[data-v-935f8a84]{display:none}.VPDocAsideOutline.has-outline[data-v-935f8a84]{display:block}.content[data-v-935f8a84]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-935f8a84]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:2px;border-radius:2px;height:18px;background-color:var(--vp-c-brand-1);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-935f8a84]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-3f215769]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-3f215769]{flex-grow:1}.VPDocAside[data-v-3f215769] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-3f215769] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-3f215769] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-7e05ebdb]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-7e05ebdb]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-48f9bb55]{margin-top:64px}.edit-info[data-v-48f9bb55]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-48f9bb55]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-48f9bb55]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.edit-link-button[data-v-48f9bb55]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-48f9bb55]{margin-right:8px;width:14px;height:14px;fill:currentColor}.prev-next[data-v-48f9bb55]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-48f9bb55]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-48f9bb55]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-48f9bb55]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-48f9bb55]{margin-left:auto;text-align:right}.desc[data-v-48f9bb55]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-48f9bb55]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-39a288b8]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-39a288b8]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-39a288b8]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-39a288b8]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-39a288b8]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-39a288b8]{display:flex;justify-content:center}.VPDoc .aside[data-v-39a288b8]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-39a288b8]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-39a288b8]{max-width:1104px}}.container[data-v-39a288b8]{margin:0 auto;width:100%}.aside[data-v-39a288b8]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-39a288b8]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-39a288b8]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 48px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-39a288b8]::-webkit-scrollbar{display:none}.aside-curtain[data-v-39a288b8]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-39a288b8]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px));padding-bottom:32px}.content[data-v-39a288b8]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-39a288b8]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-39a288b8]{order:1;margin:0;min-width:640px}}.content-container[data-v-39a288b8]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-39a288b8]{max-width:688px}.VPButton[data-v-c1c5efc1]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-c1c5efc1]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-c1c5efc1]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-c1c5efc1]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-c1c5efc1]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-c1c5efc1]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-c1c5efc1]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-c1c5efc1]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-c1c5efc1]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-c1c5efc1]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-c1c5efc1]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-c1c5efc1]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-c1c5efc1]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-8426fc1a]{display:none}.dark .VPImage.light[data-v-8426fc1a]{display:none}.VPHero[data-v-da5d1713]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-da5d1713]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-da5d1713]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-da5d1713]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-da5d1713]{flex-direction:row}}.main[data-v-da5d1713]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-da5d1713]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-da5d1713]{text-align:left}}@media (min-width: 960px){.main[data-v-da5d1713]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-da5d1713]{max-width:592px}}.name[data-v-da5d1713],.text[data-v-da5d1713]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-da5d1713],.VPHero.has-image .text[data-v-da5d1713]{margin:0 auto}.name[data-v-da5d1713]{color:var(--vp-home-hero-name-color)}.clip[data-v-da5d1713]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-da5d1713],.text[data-v-da5d1713]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-da5d1713],.text[data-v-da5d1713]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-da5d1713],.VPHero.has-image .text[data-v-da5d1713]{margin:0}}.tagline[data-v-da5d1713]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-da5d1713]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-da5d1713]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-da5d1713]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-da5d1713]{margin:0}}.actions[data-v-da5d1713]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-da5d1713]{justify-content:center}@media (min-width: 640px){.actions[data-v-da5d1713]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-da5d1713]{justify-content:flex-start}}.action[data-v-da5d1713]{flex-shrink:0;padding:6px}.image[data-v-da5d1713]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-da5d1713]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-da5d1713]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-da5d1713]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-da5d1713]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-da5d1713]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-da5d1713]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-da5d1713]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-da5d1713]{width:320px;height:320px}}[data-v-da5d1713] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-da5d1713] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-da5d1713] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-33204567]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-33204567]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-33204567]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-33204567]>.VPImage{margin-bottom:20px}.icon[data-v-33204567]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-default-soft);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-33204567]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-33204567]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-33204567]{padding-top:8px}.link-text-value[data-v-33204567]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-33204567]{display:inline-block;margin-left:6px;width:14px;height:14px;fill:currentColor}.VPFeatures[data-v-a6181336]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-a6181336]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-a6181336]{padding:0 64px}}.container[data-v-a6181336]{margin:0 auto;max-width:1152px}.items[data-v-a6181336]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-a6181336]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-a6181336],.item.grid-4[data-v-a6181336],.item.grid-6[data-v-a6181336]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-a6181336],.item.grid-4[data-v-a6181336]{width:50%}.item.grid-3[data-v-a6181336],.item.grid-6[data-v-a6181336]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-a6181336]{width:25%}}.VPHome[data-v-d82743a8]{padding-bottom:96px}.VPHome[data-v-d82743a8] .VPHomeSponsors{margin-top:112px;margin-bottom:-128px}@media (min-width: 768px){.VPHome[data-v-d82743a8]{padding-bottom:128px}}.VPContent[data-v-669faec9]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-669faec9]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-669faec9]{margin:0}@media (min-width: 960px){.VPContent[data-v-669faec9]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-669faec9]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-669faec9]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-e315a0ad]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-e315a0ad]{display:none}.VPFooter[data-v-e315a0ad] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-e315a0ad] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-e315a0ad]{padding:32px}}.container[data-v-e315a0ad]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-e315a0ad],.copyright[data-v-e315a0ad]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-af18c0d5]{padding:12px 20px 11px}@media (min-width: 960px){.VPLocalNavOutlineDropdown[data-v-af18c0d5]{padding:12px 36px 11px}}.VPLocalNavOutlineDropdown button[data-v-af18c0d5]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-af18c0d5]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-af18c0d5]{color:var(--vp-c-text-1)}@media (min-width: 960px){.VPLocalNavOutlineDropdown button[data-v-af18c0d5]{font-size:14px}}.icon[data-v-af18c0d5]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}.open>.icon[data-v-af18c0d5]{transform:rotate(90deg)}.items[data-v-af18c0d5]{position:absolute;top:40px;right:16px;left:16px;display:grid;gap:1px;border:1px solid var(--vp-c-border);border-radius:8px;background-color:var(--vp-c-gutter);max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}@media (min-width: 960px){.items[data-v-af18c0d5]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-af18c0d5]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-af18c0d5]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-af18c0d5]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-af18c0d5]{transition:all .2s ease-out}.flyout-leave-active[data-v-af18c0d5]{transition:all .15s ease-in}.flyout-enter-from[data-v-af18c0d5],.flyout-leave-to[data-v-af18c0d5]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-0282ae07]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-0282ae07]{position:fixed}@media (min-width: 960px){.VPLocalNav[data-v-0282ae07]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-0282ae07]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-0282ae07]{display:none}}@media (min-width: 1280px){.VPLocalNav[data-v-0282ae07]{display:none}}@media (min-width: 1440px){.VPLocalNav.has-sidebar[data-v-0282ae07]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.container[data-v-0282ae07]{display:flex;justify-content:space-between;align-items:center}.menu[data-v-0282ae07]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-0282ae07]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-0282ae07]{padding:0 32px}}@media (min-width: 960px){.menu[data-v-0282ae07]{display:none}}.menu-icon[data-v-0282ae07]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPOutlineDropdown[data-v-0282ae07]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-0282ae07]{padding:12px 32px 11px}}.VPSwitch[data-v-b1685198]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s!important}.VPSwitch[data-v-b1685198]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-b1685198]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s!important}.icon[data-v-b1685198]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-b1685198] svg{position:absolute;top:3px;left:3px;width:12px;height:12px;fill:var(--vp-c-text-2)}.dark .icon[data-v-b1685198] svg{fill:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-1736f215]{opacity:1}.moon[data-v-1736f215],.dark .sun[data-v-1736f215]{opacity:0}.dark .moon[data-v-1736f215]{opacity:1}.dark .VPSwitchAppearance[data-v-1736f215] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-e6aabb21]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-e6aabb21]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-43f1e123]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-43f1e123]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-43f1e123]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-43f1e123]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-69e747b5]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-69e747b5]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-69e747b5]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-69e747b5]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-e7ea1737]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-e7ea1737] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-e7ea1737] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-e7ea1737] .group:last-child{padding-bottom:0}.VPMenu[data-v-e7ea1737] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-e7ea1737] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-e7ea1737] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-e7ea1737] .action{padding-left:24px}.VPFlyout[data-v-9c007e85]{position:relative}.VPFlyout[data-v-9c007e85]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-9c007e85]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-9c007e85]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-9c007e85]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-9c007e85]{color:var(--vp-c-brand-2)}.VPFlyout:hover .menu[data-v-9c007e85],.button[aria-expanded=true]+.menu[data-v-9c007e85]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-9c007e85]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-9c007e85]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-9c007e85]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-9c007e85]{margin-right:0;width:16px;height:16px;fill:currentColor}.text-icon[data-v-9c007e85]{margin-left:4px;width:14px;height:14px;fill:currentColor}.icon[data-v-9c007e85]{width:20px;height:20px;fill:currentColor;transition:fill .25s}.menu[data-v-9c007e85]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-f80f8133]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-f80f8133]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-f80f8133]>svg{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-7bc22406]{display:flex;justify-content:center}.VPNavBarExtra[data-v-d0bd9dde]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-d0bd9dde]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-d0bd9dde]{display:none}}.trans-title[data-v-d0bd9dde]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-d0bd9dde],.item.social-links[data-v-d0bd9dde]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-d0bd9dde]{min-width:176px}.appearance-action[data-v-d0bd9dde]{margin-right:-2px}.social-links-list[data-v-d0bd9dde]{margin:-4px -8px}.VPNavBarHamburger[data-v-e5dd9c1c]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-e5dd9c1c]{display:none}}.container[data-v-e5dd9c1c]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-e5dd9c1c]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-e5dd9c1c]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-e5dd9c1c]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-e5dd9c1c]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-e5dd9c1c]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-e5dd9c1c]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-e5dd9c1c],.VPNavBarHamburger.active:hover .middle[data-v-e5dd9c1c],.VPNavBarHamburger.active:hover .bottom[data-v-e5dd9c1c]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-e5dd9c1c],.middle[data-v-e5dd9c1c],.bottom[data-v-e5dd9c1c]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-e5dd9c1c]{top:0;left:0;transform:translate(0)}.middle[data-v-e5dd9c1c]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-e5dd9c1c]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-42ef59de]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-42ef59de],.VPNavBarMenuLink[data-v-42ef59de]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-7f418b0f]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-7f418b0f]{display:flex}}/*! @docsearch/css 3.5.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}[class*=DocSearch]{--docsearch-primary-color: var(--vp-c-brand-1);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-background: transparent;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark [class*=DocSearch]{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-default-soft);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand-1);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:0!important}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"Ctrl";font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.mac .DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"⌘"}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand-1);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-default-soft)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-0394ad82]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-0394ad82]{display:flex;align-items:center}}.title[data-v-8460f0a8]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-8460f0a8]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-8460f0a8]{border-bottom-color:var(--vp-c-divider)}}[data-v-8460f0a8] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-74abcbb9]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-74abcbb9]{display:flex;align-items:center}}.title[data-v-74abcbb9]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-19c990f1]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .5s}.VPNavBar.has-local-nav[data-v-19c990f1]{background-color:var(--vp-nav-bg-color)}@media (min-width: 960px){.VPNavBar.has-local-nav[data-v-19c990f1]{background-color:transparent}.VPNavBar[data-v-19c990f1]:not(.has-sidebar):not(.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-19c990f1]{padding:0 8px 0 24px}@media (min-width: 768px){.wrapper[data-v-19c990f1]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar .wrapper[data-v-19c990f1]{padding:0}}.container[data-v-19c990f1]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-19c990f1],.container>.content[data-v-19c990f1]{pointer-events:none}.container[data-v-19c990f1] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-19c990f1]{max-width:100%}}.title[data-v-19c990f1]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-19c990f1]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-19c990f1]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-19c990f1]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-19c990f1]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-19c990f1]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-19c990f1]{display:flex;justify-content:flex-end;align-items:center;height:var(--vp-nav-height);transition:background-color .5s}@media (min-width: 960px){.VPNavBar:not(.top) .content-body[data-v-19c990f1]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.top) .content-body[data-v-19c990f1]{background-color:transparent}}@media (max-width: 767px){.content-body[data-v-19c990f1]{column-gap:.5rem}}.menu+.translations[data-v-19c990f1]:before,.menu+.appearance[data-v-19c990f1]:before,.menu+.social-links[data-v-19c990f1]:before,.translations+.appearance[data-v-19c990f1]:before,.appearance+.social-links[data-v-19c990f1]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-19c990f1]:before,.translations+.appearance[data-v-19c990f1]:before{margin-right:16px}.appearance+.social-links[data-v-19c990f1]:before{margin-left:16px}.social-links[data-v-19c990f1]{margin-right:-8px}.divider[data-v-19c990f1]{width:100%;height:1px}@media (min-width: 960px){.VPNavBar.has-sidebar .divider[data-v-19c990f1]{padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .divider[data-v-19c990f1]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-19c990f1]{width:100%;height:1px;transition:background-color .5s}.VPNavBar.has-local-nav .divider-line[data-v-19c990f1]{background-color:var(--vp-c-gutter)}@media (min-width: 960px){.VPNavBar:not(.top) .divider-line[data-v-19c990f1]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.top) .divider[data-v-19c990f1]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-2d7af913]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-2d7af913]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-05f27b2a]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-05f27b2a]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-19976ae1]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-19976ae1]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-8133b170]{display:block}.title[data-v-8133b170]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-65ef89ca]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-65ef89ca]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-65ef89ca]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-65ef89ca]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-65ef89ca]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-65ef89ca]{transform:rotate(45deg)}.button[data-v-65ef89ca]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-65ef89ca]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-65ef89ca]{width:14px;height:14px;fill:var(--vp-c-text-2);transition:fill .5s,transform .25s}.group[data-v-65ef89ca]:first-child{padding-top:0}.group+.group[data-v-65ef89ca],.group+.item[data-v-65ef89ca]{padding-top:4px}.VPNavScreenTranslations[data-v-d72aa483]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-d72aa483]{height:auto}.title[data-v-d72aa483]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-d72aa483]{width:16px;height:16px;fill:currentColor}.icon.lang[data-v-d72aa483]{margin-right:8px}.icon.chevron[data-v-d72aa483]{margin-left:4px}.list[data-v-d72aa483]{padding:4px 0 0 24px}.link[data-v-d72aa483]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-cc5739dd]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-cc5739dd],.VPNavScreen.fade-leave-active[data-v-cc5739dd]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-cc5739dd],.VPNavScreen.fade-leave-active .container[data-v-cc5739dd]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-cc5739dd],.VPNavScreen.fade-leave-to[data-v-cc5739dd]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-cc5739dd],.VPNavScreen.fade-leave-to .container[data-v-cc5739dd]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-cc5739dd]{display:none}}.container[data-v-cc5739dd]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-cc5739dd],.menu+.appearance[data-v-cc5739dd],.translations+.appearance[data-v-cc5739dd]{margin-top:24px}.menu+.social-links[data-v-cc5739dd]{margin-top:16px}.appearance+.social-links[data-v-cc5739dd]{margin-top:16px}.VPNav[data-v-ae24b3ad]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-ae24b3ad]{position:fixed}}.VPSidebarItem.level-0[data-v-e31bd47b]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-e31bd47b]{padding-bottom:10px}.item[data-v-e31bd47b]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-e31bd47b]{cursor:pointer}.indicator[data-v-e31bd47b]{position:absolute;top:6px;bottom:6px;left:-17px;width:2px;border-radius:2px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-e31bd47b],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-e31bd47b],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-e31bd47b],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-e31bd47b]{background-color:var(--vp-c-brand-1)}.link[data-v-e31bd47b]{display:flex;align-items:center;flex-grow:1}.text[data-v-e31bd47b]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-e31bd47b]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-e31bd47b],.VPSidebarItem.level-2 .text[data-v-e31bd47b],.VPSidebarItem.level-3 .text[data-v-e31bd47b],.VPSidebarItem.level-4 .text[data-v-e31bd47b],.VPSidebarItem.level-5 .text[data-v-e31bd47b]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-e31bd47b],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-e31bd47b],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-e31bd47b],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-e31bd47b],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-e31bd47b],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-e31bd47b]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-1.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-2.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-3.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-4.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-5.has-active>.item>.text[data-v-e31bd47b],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-e31bd47b],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-e31bd47b],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-e31bd47b],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-e31bd47b],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-e31bd47b],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-e31bd47b]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-e31bd47b],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-e31bd47b],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-e31bd47b],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-e31bd47b],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-e31bd47b],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-e31bd47b]{color:var(--vp-c-brand-1)}.caret[data-v-e31bd47b]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-e31bd47b]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-e31bd47b]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-e31bd47b]{width:18px;height:18px;fill:currentColor;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-e31bd47b]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-e31bd47b],.VPSidebarItem.level-2 .items[data-v-e31bd47b],.VPSidebarItem.level-3 .items[data-v-e31bd47b],.VPSidebarItem.level-4 .items[data-v-e31bd47b],.VPSidebarItem.level-5 .items[data-v-e31bd47b]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-e31bd47b]{display:none}.VPSidebar[data-v-575e6a36]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-575e6a36]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-575e6a36]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-575e6a36]{padding-top:var(--vp-nav-height);width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-575e6a36]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-575e6a36]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-575e6a36]{outline:0}.group+.group[data-v-575e6a36]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-575e6a36]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSkipLink[data-v-0f60ec36]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand-1);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-0f60ec36]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-0f60ec36]{top:14px;left:16px}}.Layout[data-v-5a346dfe]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-96bd69d5]{border-top:1px solid var(--vp-c-gutter);padding:88px 24px 96px;background-color:var(--vp-c-bg)}.container[data-v-96bd69d5]{margin:0 auto;max-width:1152px}.love[data-v-96bd69d5]{margin:0 auto;width:28px;height:28px;color:var(--vp-c-text-3)}.icon[data-v-96bd69d5]{width:28px;height:28px;fill:currentColor}.message[data-v-96bd69d5]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-96bd69d5]{padding-top:32px}.action[data-v-96bd69d5]{padding-top:40px;text-align:center}.VPTeamPage[data-v-10b00018]{padding-bottom:96px}@media (min-width: 768px){.VPTeamPage[data-v-10b00018]{padding-bottom:128px}}.VPTeamPageSection+.VPTeamPageSection[data-v-10b00018-s],.VPTeamMembers+.VPTeamPageSection[data-v-10b00018-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-10b00018-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-10b00018-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-10b00018-s],.VPTeamMembers+.VPTeamPageSection[data-v-10b00018-s]{margin-top:96px}}.VPTeamMembers[data-v-10b00018-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-10b00018-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-10b00018-s]{padding:0 64px}}.VPTeamPageTitle[data-v-bf2cbdac]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-bf2cbdac]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-bf2cbdac]{padding:80px 64px 48px}}.title[data-v-bf2cbdac]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-bf2cbdac]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-bf2cbdac]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-bf2cbdac]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-b1a88750]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-b1a88750]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-b1a88750]{padding:0 64px}}.title[data-v-b1a88750]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-b1a88750]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-b1a88750]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-b1a88750]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-b1a88750]{padding-top:40px}.VPTeamMembersItem[data-v-0d3d0d4d]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-0d3d0d4d]{padding:32px}.VPTeamMembersItem.small .data[data-v-0d3d0d4d]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-0d3d0d4d]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-0d3d0d4d]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-0d3d0d4d]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-0d3d0d4d]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-0d3d0d4d]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-0d3d0d4d]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-0d3d0d4d]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-0d3d0d4d]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-0d3d0d4d]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-0d3d0d4d]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-0d3d0d4d]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-0d3d0d4d]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-0d3d0d4d]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-0d3d0d4d]{text-align:center}.avatar[data-v-0d3d0d4d]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-0d3d0d4d]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-0d3d0d4d]{margin:0;font-weight:600}.affiliation[data-v-0d3d0d4d]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-0d3d0d4d]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-0d3d0d4d]:hover{color:var(--vp-c-brand-1)}.desc[data-v-0d3d0d4d]{margin:0 auto}.desc[data-v-0d3d0d4d] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-0d3d0d4d]{display:flex;justify-content:center;height:56px}.sp-link[data-v-0d3d0d4d]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-0d3d0d4d]:hover,.sp .sp-link.link[data-v-0d3d0d4d]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-0d3d0d4d]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPTeamMembers.small .container[data-v-6cb0dbc4]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-6cb0dbc4]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-6cb0dbc4]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-6cb0dbc4]{max-width:876px}.VPTeamMembers.medium .container[data-v-6cb0dbc4]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-6cb0dbc4]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-6cb0dbc4]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-6cb0dbc4]{max-width:760px}.container[data-v-6cb0dbc4]{display:grid;gap:24px;margin:0 auto;max-width:1152px}.partner-container[data-v-01ea75c4]{display:flex;flex-wrap:wrap;row-gap:10px}.partner-item[data-v-01ea75c4]{display:flex;align-items:center;max-width:33%;min-width:180px;padding:20px;box-sizing:border-box}.partner-item>img[data-v-01ea75c4]{max-height:50px;margin:auto}article+article[data-v-2a7b31cd]{margin-top:1.5rem;border-top:1px solid var(--vp-c-divider)}section[data-v-fc44a98f]{margin-bottom:20px}h1[data-v-b56ad766]{margin-top:1.5rem;margin-bottom:5px}header div[data-v-b56ad766]{display:inline-block;color:#6b7280}header div[data-v-b56ad766]:not(:last-child):after{content:"|";margin:0 5px}:root{--vp-c-brand-1: #c12233;--vp-c-brand-2: #d92639;--vp-c-brand-3: #dd3c4d;--vp-custom-block-tip-text: #155F3E;--vp-custom-block-tip-bg: rgba(66, 184, 131, .05);--vp-custom-block-tip-border: rgba(66, 184, 131, .5)}.dark{--vp-c-brand-1: #dd3e4f;--vp-c-brand-2: #dd3c4d;--vp-c-brand-3: #d92639;--vp-custom-block-tip-text: #42D392;--vp-custom-block-tip-bg: rgba(66, 184, 131, .05);--vp-custom-block-tip-border: rgba(66, 184, 131, .25);--vp-c-gutter: var(--vp-c-divider)}.dark img{filter:grayscale(1) invert(1)}.vp-doc a{text-decoration:inherit}.vp-doc a:hover{text-decoration:underline}.project-origin{padding:16px 24px;display:flex;justify-content:center}.project-origin .custom-block{max-width:1152px}@media (min-width: 640px){.project-origin{padding:16px 48px}}@media (min-width: 960px){.project-origin{padding:16px 64px}} diff --git a/blog/2021/10/wrenidm-6-0-0-released.html b/blog/2021/10/wrenidm-6-0-0-released.html new file mode 100644 index 0000000..638065f --- /dev/null +++ b/blog/2021/10/wrenidm-6-0-0-released.html @@ -0,0 +1,27 @@ + + + + + + Wren:IDM 6.0.0 Released | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Wren:IDM 6.0.0 Released

October 8, 2021

We are excited to announce the release of Wren:IDM 6.0.0. Wren Security release compatible with JDK 11 and zero dependencies on legacy infrastructure (everything you need to build the project is hosted in JFrog Artifactory).

Changes

List of significant changes:

  • Change Maven parent to wrensec-parent (new Maven plugin versions, dedicated JFrog repository)
  • Upgrade core dependencies (Apache Felix, Activiti, RhinoJS, ...)
  • Support Java 11 as the default build and runtime environment
  • Add Dockerfile and publish official image to Docker Hub
  • Add GitHub Actions pipeline (switch from Semaphore CI)
  • Replace OrientDB with H2 as the default playground database

How to get

You can build your own binary as described by README.

Alternatively you can use the official Docker image from Docker Hub:

bash
docker run --rm --name wrenidm-test -p 8080:8080 wrensecurity/wrenidm:6.0.0
+ + + + \ No newline at end of file diff --git a/blog/2022/04/brand-new-website.html b/blog/2022/04/brand-new-website.html new file mode 100644 index 0000000..652bbfa --- /dev/null +++ b/blog/2022/04/brand-new-website.html @@ -0,0 +1,27 @@ + + + + + + Brand New Website | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Brand New Website

April 27, 2022

We have created a brand new website for Wren Security security suite.

Our former website (built using WordPress) was not easy to update and expand. It was created as more of a leaflet to define our presence and look and feel for the Wren Security brand. It served its purpose, but it was time to move on.

The new website has dedicated sections for top-level projects (Wren:IDM, Wren:AM, Wren:DS and Wren:ICF), instructions on community involvement and dedicated section for blog posts (various project related news).

New website is built and run using the following technologies:

Source code of the website is hosted in wrensec-website GitHub repository. Pull requests are welcome. 💯

+ + + + \ No newline at end of file diff --git a/blog/2022/06/wrenidm-cookbook-created.html b/blog/2022/06/wrenidm-cookbook-created.html new file mode 100644 index 0000000..93da243 --- /dev/null +++ b/blog/2022/06/wrenidm-cookbook-created.html @@ -0,0 +1,27 @@ + + + + + + Wren:IDM Cookbook Created | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Wren:IDM Cookbook Created

June 9, 2022

We have prepared recipes (samples) demonstrating key Wren:IDM features. From now it is possible to try Wren:IDM easily.

We have prepared following samples:

  • sync ⚙️ – synchronize data between Wren:IDM and source / target systems
  • workflow 📝 – create workflow with approval in Wren:IDM
  • roles 🔐 – manage roles and assignment values
  • endpoint 🗳️ – create custom REST API endpoint to execute custom business logic
  • scheduler ⏱️ – schedule synchronization or script to be automatically triggered
  • email 📧 – send email notification

Environment for each sample is defined through Docker Compose file. You need just one command to start relevant Docker containers, zero configuration needed.

Samples are hosted in wrenidm-cookbook GitHub repository.

+ + + + \ No newline at end of file diff --git a/blog/2022/08/commons-22-2-0-released.html b/blog/2022/08/commons-22-2-0-released.html new file mode 100644 index 0000000..6aae17f --- /dev/null +++ b/blog/2022/08/commons-22-2-0-released.html @@ -0,0 +1,27 @@ + + + + + + Commons 22.2.0 Released | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Commons 22.2.0 Released

August 11, 2022

We are excited to announce the release of Wren Security Commons 22.2.0. This release is compatible with JDK 17.

Maven groupId of all modules was switched to our package org.wrensecurity.commons.

Changes

List of significant changes:

  • Switched Maven groupId to org.wrensecurity.commons
  • Support for Java 17
  • Merged wrensec-guice project as its own module
  • Fixed Maven site generation where possible
+ + + + \ No newline at end of file diff --git a/blog/2022/12/wrenidm-6-1-0-released.html b/blog/2022/12/wrenidm-6-1-0-released.html new file mode 100644 index 0000000..f855656 --- /dev/null +++ b/blog/2022/12/wrenidm-6-1-0-released.html @@ -0,0 +1,27 @@ + + + + + + Wren:IDM 6.1.0 Released | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Wren:IDM 6.1.0 Released

December 30, 2022

Brand new release Wren:IDM 6.1.0 has been published. This release is fully compatible with JDK 17 and Maven groupId of all modules was switched to our package org.wrensecurity.wrenidm.

Changes

List of significant changes:

  • Add Java 17 support and drop Java 8 support
  • Change Maven groupId to org.wrensecurity.wrenidm

Other changes:

  • Change Maven packaging from bundle to jar (#112)
  • Support for custom operation-specific options in provisioner (#124)
  • Workaround Rhino JS file encoding issue (#130)
  • Improve docker build (multistage with buildkit cache)
  • Upgrade wrensec-parent to the latest release (4.0.0)
  • Upgrade wrensec-commons to 22.4.0
  • Upgrade wrensec-ui to 22.1.1
  • Upgrade wrenicf-java-framework to 1.5.3.0
  • Upgrade Rhino JS to 1.7.14

How to get

You can build your own binary as described by README.

Alternatively you can use the official Docker image from Docker Hub:

bash
docker run --rm --name wrenidm-test -p 8080:8080 wrensecurity/wrenidm:6.1.0
+ + + + \ No newline at end of file diff --git a/blog/2023/01/happy-2023.html b/blog/2023/01/happy-2023.html new file mode 100644 index 0000000..91d4fa7 --- /dev/null +++ b/blog/2023/01/happy-2023.html @@ -0,0 +1,27 @@ + + + + + + Happy 2023! | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Happy 2023!

January 6, 2023

With 2022 gone, we feel it’s time for a brief recap. And we have some exciting news about the future as well, so buckle up!

Some 6 years ago, when ForgeRock abandoned their community edition, our journey to save the future of open-source IAM platform began. Since then, we’ve spent countless hours crafting an independent fork. Just over the course of 2022, we’ve put a lot of effort into modernization of the stack and introduced full Java 17 support, Docker images as official artifacts and many other fixes and improvements. The numbers speak for themselves:

  • 283 commits;
  • 52 000+ insertions and 28 000+ deletions in 3100+ files;
  • 92 merged pull requests;
  • 29 closed issues;
  • 19 new releases and 26 tags.

On top of that, we fully migrated from Semaphore CI to GitHub CI for automated builds, and we drafted system tests for Wren:IDM, Wren:AM and Wren:DS that verify project’s release stability.

In addition to the purely technical advances, we’ve significantly improved the documentation infrastructure to start rebuilding what we had lost during the fork process, namely:

You might have noticed that our focus was shaped mainly by our passion for Identity Management. This led us to the point where Wren:IDM became a reliable foundation for IDM implementations of any scale. But the Wren Security Suite wouldn't be complete without its Access Management essentials, and we’re very aware that it has not received the care it deserves. That's why we are thrilled to announce that we will kickstart 2023 with a completely upgraded Wren:DS (former OpenDJ), shortly followed by Wren:AM, the successor of OpenAM.

Upgraded technological stack, carefully curated changes, Docker images and seamless migration will provide a reliable replacement for those who still run their aging OpenAM and OpenDS installations.

Follow us on Gitter, star our GitHub and stay tuned.

Happy New Year!

+ + + + \ No newline at end of file diff --git a/blog/2023/05/wrends-5-0-0-released.html b/blog/2023/05/wrends-5-0-0-released.html new file mode 100644 index 0000000..02b1e2e --- /dev/null +++ b/blog/2023/05/wrends-5-0-0-released.html @@ -0,0 +1,27 @@ + + + + + + Wren:DS 5.0.0 Released | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Wren:DS 5.0.0 Released

May 16, 2023

We are excited to announce that the brand new release of Wren:DS 5.0.0 is finally out! This is the first release of Wren:DS that is fully independent of the legacy infrastructure. Its technological stack has been updated to be compatible with JDK 17, and all changes have been carefully curated to provide a high level of security while still offering a reliable migration path from legacy OpenDJ installations.

If you are already running Wren:DS or an unsupported version of OpenDJ, we strongly recommend that you upgrade, as only the new versions will receive the support they deserve.

What's next? Wren:AM. Stay tuned!

Changes

List of significant changes:

  • Add Java 17 support and drop Java 8 support
  • Change Maven groupId to org.wrensecurity.wrends
  • Upgrade to the newest wrensec-parent and wrensec-commons
  • Upgrade Berkley DB JE dependency and remove PDB backend
  • Update visible project title and logo to Wren:DS
  • Switch to GitHub Actions for CI, create new project for system testing
  • Add docker build with amd64 and aarch64 support and Docker Hub publishing pipeline
  • Remove or replace files with non-CDDL license

How to get

Refer to the Getting Started page to learn how to get and run Wren:DS.

Alternatively you can run the official Docker image from Docker Hub:

bash
docker run --rm --name wrends-test -p 1389:1389 -p 1636:1636 wrensecurity/wrends:5.0.0
+ + + + \ No newline at end of file diff --git a/blog/2023/10/cve-numbering-authority.html b/blog/2023/10/cve-numbering-authority.html new file mode 100644 index 0000000..efacb9a --- /dev/null +++ b/blog/2023/10/cve-numbering-authority.html @@ -0,0 +1,27 @@ + + + + + + We've been authorized as CVE Numbering Authority | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

We've been authorized as CVE Numbering Authority

October 17, 2023

It's our pleasure to announce, that Wren Security has been authorized by the Common Vulnerabilities and Exposures CVE Program as a CVE Numbering Authority CNA. As a CNA, we have the ability to directly assign CVE IDs and publish CVE records for vulnerabilities discovered in our projects.

Security is a fundamental aspect of our efforts, which is even reflected in our name. Therefore, we have recently made several releases that include significant security improvements and have clarified our disclosure processes. And since the principles of open source dictate that we respect transparency, it was a natural step to contribute to the global initiative of identifying, defining, and cataloging publicly-disclosed cybersecurity vulnerabilities.

It's a commitment, but we believe that it will help to build trust with our users.

What is CVE Program?

The mission of the Common Vulnerabilities and Exposures (CVE®) program is to identify, define, and catalog publicly disclosed cybersecurity vulnerabilities. There is one CVE Record for each vulnerability in the catalog. The vulnerabilities are discovered then assigned and published by organizations from around the world that have partnered with the CVE Program. Partners publish CVE Records to communicate consistent descriptions of vulnerabilities. Information technology and cybersecurity professionals use CVE Records to ensure they are discussing the same issue, and to coordinate their efforts to prioritize and address the vulnerabilities.

What are CNAs?

CNAs are organizations responsible for the regular assignment of CVE IDs to vulnerabilities, and for creating and publishing information about the Vulnerability in the associated CVE Record. Each CNA has a specific Scope of responsibility for vulnerability identification and publishing.

Disclosure

If you think you've found a vulnerability, please don't disclose it publicly until you've checked with us. Please, refer to the disclosure policy.

+ + + + \ No newline at end of file diff --git a/blog/2023/10/wrenam-15-0-0-released.html b/blog/2023/10/wrenam-15-0-0-released.html new file mode 100644 index 0000000..4f5a260 --- /dev/null +++ b/blog/2023/10/wrenam-15-0-0-released.html @@ -0,0 +1,27 @@ + + + + + + Wren:AM 15.0.0 Released | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Wren:AM 15.0.0 Released

October 10, 2023
We're thrilled to announce the release of the anticipated new version of Wren:AM. Following Wren:IDM and Wren:DS, it's now completely independent of the legacy infrastructure, features an upgraded technology stack, and is compatible with JDK 17 (with preparations for Jakarta EE). Additionally, we've addressed a significant number of issues from previous versions, predominantly the security ones. The project remains highly compatible with abandoned community versions of OpenAM, allowing for a seamless migration process, with the added option to leverage Docker images for added convenience.

Numbers worth mentioning include:

  • 89 pull requests merged;
  • 136 new commits;
  • 22 issues closed;
  • 27 known AM security vulnerabilities fixed;
  • 35 Dependabot alerts fixed;
  • 93 security issues (reported by Trivy) fixed.

If you're already running Wren:AM or an unsupported version of OpenAM, we strongly recommend upgrading to get the best out of your access management solution.

Changes

List of significant changes:

  • Upgraded build pipeline (wrensec-parent, JFrog repository, GitHub Actions)
  • Upgraded dependencies (including switch to Jakarta compatible coordinates)
  • Added support for Java 17 as the default build and runtime environment
  • Added Dockerfile and official images published to Docker Hub
  • Fixed ton of security, build and runtime issues

Review all the changes on GitHub.

How to get

Refer to the Getting Started page to learn how to get and run Wren:AM.

Alternatively you can run the official Docker image from Docker Hub:

bash
docker run --rm --name wrenam-test -p 8080:8080 wrensecurity/wrenam:15.0.0
+ + + + \ No newline at end of file diff --git a/blog/2024/01/happy-2024.html b/blog/2024/01/happy-2024.html new file mode 100644 index 0000000..59b9c95 --- /dev/null +++ b/blog/2024/01/happy-2024.html @@ -0,0 +1,27 @@ + + + + + + 2023 in Review and 2024 Plans and Wishes | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

2023 in Review and 2024 Plans and Wishes

January 17, 2024

The past year's efforts were mainly focused on the Access Management tools. Both Wren:DS and Wren:AM have undergone significant upgrades and security hardening to meet the standards earlier set by Wren:IDM. This means that the key components are now independent of the legacy infrastructure and have also been polished to ensure the high level of security and robustness. This progress paved the way for the introduction of new features, such as Cisco Duo authentication module.

On top of that there was regular maintenance and improvements in the development infrastructure, e.g. cleanup of the UI libraries. To highlight our dedication to delivering dependable software, we have become a CVE numbering authority in the CVE.org Program, allowing us to transparently manage and share potential security vulnerabilities (see Disclosure Policy). The importance of maintaining an active online presence led us to create an X (Twitter) account providing a more convenient way to share updates. Follow us to keep up with the latest news.

Plans and Wishes for 2024

Looking ahead to 2024, our goal remains to get rid of the legacy heritage. We will soon release an upgraded and independent version of Wren:IG. After that, we will continue with the Wren:ICF framework components to ensure a seamless interplay with the rest of the platform.

Addressing the unfinished redesign of the Wren:AM administration interface is a priority, as it contributes significantly to our credibility. We'll focus on rewriting the remaining pages to enhance user experience.

For the same reasons, we will continue to fill the gaps in the documentation and create basic guides to help users get started.

What else? We'd like to keep up with the trends and go passwordless. So, we will start digging into the integration of FIDO standards.

We aspire to improve the clarity of our development roadmap. This involves open planning of releases on GitHub allowing our community to easily track progress through our backlog.

Conclusion

As we wrap up 2023, let's look at the year in numbers:

  • 267 commits;
  • 130 000+ insertions and 120 000+ deletions in 4200+ files;
  • 112 merged pull requests;
  • 36 closed issues;
  • 28 new releases and 35 tags;
  • 285 dependabot issues fixed.

We are determined to maintain the same pace in 2024 and deepen our footprint in the open-source identity and access management field.

Happy new year!

+ + + + \ No newline at end of file diff --git a/blog/index.html b/blog/index.html new file mode 100644 index 0000000..037ea9f --- /dev/null +++ b/blog/index.html @@ -0,0 +1,41 @@ + + + + + + Blog | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Wren:AM 15.0.0 Released

October 10, 2023

We're thrilled to announce the release of the anticipated new version of Wren:AM. +Take a closer look at the carefully curated changes that we have worked on. +

Wren:DS 5.0.0 Released

May 16, 2023

We are excited to announce the release of Wren:DS 5.0.0. This release is the first official +Wren Security release compatible with JDK 17 and zero dependencies on legacy infrastructure. +

Happy 2023!

January 6, 2023

With 2022 gone, we feel it’s time for a brief recap. And we have some exciting news about the future as well, so buckle up! +

Wren:IDM 6.0.0 Released

October 8, 2021

We are excited to announce the release of Wren:IDM 6.0.0. This release is the first official +Wren Security release compatible with JDK 11 and zero dependencies on legacy infrastructure. +

+ + + + \ No newline at end of file diff --git a/community/contact.html b/community/contact.html new file mode 100644 index 0000000..407a89c --- /dev/null +++ b/community/contact.html @@ -0,0 +1,27 @@ + + + + + + Contact | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Product Support

If you have any questions or comments about the software, please visit our Gitter channel.

Security Issues

If you think you have found a security vulnerability, please refer to disclosure policy.

+ + + + \ No newline at end of file diff --git a/community/disclosure.html b/community/disclosure.html new file mode 100644 index 0000000..a78c651 --- /dev/null +++ b/community/disclosure.html @@ -0,0 +1,27 @@ + + + + + + Disclosure Policy | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Disclosure Policy


Please do not disclose any potential security issues publicly. Report the vulnerability to our team and give us time to work on it. We will disclose it responsibly as soon as it is properly remediated.

How To Disclose

If you think you have found a security vulnerability, please send an email to disclosure@wrensecurity.org. Only security-related issues should be sent to this address.

Please provide as much information as possible, including a description of the vulnerability, the software version, and the steps to reproduce the issue. Additional supporting materials, such as proof-of-concept code or screenshots, can also be helpful.

Our team will contact you to acknowledge receipt of the report. If necessary, we will work together on clarification and validation of the issue.

Publication

Security vulnerabilities are published as a security advisories within the GitHub project repositories.

+ + + + \ No newline at end of file diff --git a/community/join.html b/community/join.html new file mode 100644 index 0000000..a66266c --- /dev/null +++ b/community/join.html @@ -0,0 +1,27 @@ + + + + + + Get Involved | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Get Involved

If you would like to become involved in the development process of Wren Security Suite there are many different ways in which you can contribute. The first step is to join our Gitter channel. Here are some of the areas ways in which you can help:

  • Investigate bugs reported in the GitHub issues.
  • Answer questions posted to the Gitter channels.
  • Contribute to the projects documentation.

Contributor Guidelines

If you want to start contributing changes, then the first step is to read our Contributor Guidelines.

Become a team member

Here are some of the roles we could use your help for:

Community Coordinator

Someone to help us get the word out about all the great technical work that’s being done behind the scenes on the Wren fork. The ideal person to help us is someone who’s great at communicating, understands technical issues (without necessarily having to be a developer), and can spend about 10-15 hours a week helping us with content, posts, and discussions in the issue queue.

DevOps Admin

Someone to help us ensure that our buildable projects stay buildable, as we continue to accept PRs and enhancements. Experience with automated container creation and with integrating code style (e.g. FindBugs, CheckStyle, etc.) automatically in GitHub PRs is a plus. We expect that there will be more time needed up-front for this role than on-going; likely it will take the next few weeks to get us completely tuned up for this.

Penetration Testers / Security Analysts

A lot of our current work involves fixing existing and/or known issues in projects like Wren:AM 13.5 and Wren:IDM 6. If you are someone who can help us find and plug the holes in our current releases, please reach out. We’d love to tap your skill to make our platform even more secure.

Project Leads

We’re currently looking for leads for Wren:AM and Wren:DS to enhance our technical team. Leads would help coordinate PRs and enforce project process. Likely 15 to 20 hours per week; more if the leads want to have a more hands-on role in PRs.

+ + + + \ No newline at end of file diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..9b35119cab89c8bbed7b4aa4756278b49f4bbeac GIT binary patch literal 2462 zcmbu9T}TvB6vyvq`BB*BXEV<3&WsThTIlZF1ND$CX_02BWTlnWLunrt3KfX?(FcW= z7MYr&phOS#5Jev^1=~~hP%lCdA_dV?Qj{+n)ZWhQ%(}bct~={2|DCya{^xfNch0?p zaQNeSg8wqPo=ivFZX6^Tj%!pOU5&Sh8Ou zpE)z~emgVih`MU?Im#DVI1(2tHYBbf)lM8~Yh-7}`gUg~d_g{={I*t_T|NL}b!v!t zkpnerBT@OnLdqArAiKf~;=yUK9zOl> zqRm5jS2gk(_UAZ=`v}-hl?V8p6I2=M!upZ_d>XkmD2DoovPP3b<+t3{`MZ40g6q>g z%a^W|BfrPsGhCligRkXyh*~fO^6&WgLYWh+M>+hy-wgf?NLLf7GWa5hUlhdGa<~>s zfa|jf`TwX;mH^fx#d`m1{nIi4@-2=k_kINNOXl#WaC`t&ftvS#iR0o4_D_{>kBPPY zvwVAV9>_f|>`$$KwDtEQqY|an?bjqe*P^szHsS^1egfj5DV^W=0qo}q$TtTA{AX{G zlZ)y_4Wa5#%OgUAUV^xHNnrn;Z3XE{67H{G0sfQvAiL>D5chCczelhCOfg88b{qRw zTc4k*{5a}b!zBl?c2ws#NFcQj2l)5yQjFPmU~eYK|D^N#-DcyX@q^THQRnxKMB_K>!TwAD`G%V+cRS6- zM(fA(A(<+D3!X84o`o^Oq1&aZGTYBWz_N@e<|} PL$6OAc>fxt8AkpC3U_R` literal 0 HcmV?d00001 diff --git a/feed.rss b/feed.rss new file mode 100644 index 0000000..cdaf078 --- /dev/null +++ b/feed.rss @@ -0,0 +1,358 @@ + + + + Wren Security + https://wrensecurity.org + The official blog for Wren Security projects + Mon, 04 Mar 2024 15:27:49 GMT + https://validator.w3.org/feed/docs/rss2.html + https://github.com/jpmonette/feed + en + + Wren Security + https://wrensecurity.org/wrensec-logo.png + https://wrensecurity.org + + Copyright © 2017-present Wren Security + + <![CDATA[2023 in Review and 2024 Plans and Wishes]]> + https://wrensecurity.org/blog/2024/01/happy-2024.html + https://wrensecurity.org/blog/2024/01/happy-2024.html + Wed, 17 Jan 2024 00:00:00 GMT + + +

The past year's efforts were mainly focused on the Access Management tools. Both Wren:DS and Wren:AM have undergone significant upgrades and security hardening to meet the standards earlier set by Wren:IDM. This means that the key components are now independent of the legacy infrastructure and have also been polished to ensure the high level of security and robustness. This progress paved the way for the introduction of new features, such as Cisco Duo authentication module.

+

On top of that there was regular maintenance and improvements in the development infrastructure, e.g. cleanup of the UI libraries. +To highlight our dedication to delivering dependable software, we have become a CVE numbering authority in the CVE.org Program, allowing us to transparently manage and share potential security vulnerabilities (see Disclosure Policy). The importance of maintaining an active online presence led us to create an X (Twitter) account providing a more convenient way to share updates. Follow us to keep up with the latest news.

+

Plans and Wishes for 2024

+

Looking ahead to 2024, our goal remains to get rid of the legacy heritage. We will soon release an upgraded and independent version of Wren:IG. After that, we will continue with the Wren:ICF framework components to ensure a seamless interplay with the rest of the platform.

+

Addressing the unfinished redesign of the Wren:AM administration interface is a priority, as it contributes significantly to our credibility. We'll focus on rewriting the remaining pages to enhance user experience.

+

For the same reasons, we will continue to fill the gaps in the documentation and create basic guides to help users get started.

+

What else? We'd like to keep up with the trends and go passwordless. So, we will start digging into the integration of FIDO standards.

+

We aspire to improve the clarity of our development roadmap. This involves open planning of releases on GitHub allowing our community to easily track progress through our backlog.

+

Conclusion

+

As we wrap up 2023, let's look at the year in numbers:

+
    +
  • 267 commits;
  • +
  • 130 000+ insertions and 120 000+ deletions in 4200+ files;
  • +
  • 112 merged pull requests;
  • +
  • 36 closed issues;
  • +
  • 28 new releases and 35 tags;
  • +
  • 285 dependabot issues fixed.
  • +
+

We are determined to maintain the same pace in 2024 and deepen our footprint in the open-source identity and access management field.

+

Happy new year!

+ +]]>
+
+ + <![CDATA[Identity Synchronization With Wren:IDM]]> + https://wrensecurity.org/guide/wrenidm-sync.html + https://wrensecurity.org/guide/wrenidm-sync.html + Wed, 29 Nov 2023 00:00:00 GMT + + +

Wren:IDM is an Identity Governance and Administration (IGA) platform designed to efficiently manage user accounts, access rights, and permissions within an organization. Unlike certain opinionated solutions, its flexible data model can adapt to the organizational structure and integrate naturally with established processes.

+

In this article, we will explore provisioning, which is a crucial feature of identity management systems. Employing a CSV file as a source system. Leveraging implicit synchronization settings of Wren:IDM, any modifications will be automatically propagated to an LDAP directory.

+
    +
  1. Start by cloning the Wren:IDM cookbook with Docker and Git being the prerequisites for this example: https://github.com/WrenSecurity/wrenidm-cookbook
  2. +
  3. Navigate to the ‘sync’ sample folder, and spin up the prepared Docker containers using:
  4. +
+
bash
docker compose up -d
+
    +
  1. Explore the admin user interface at: https://localhost:8443/admin. +Log in using 'openidm-admin' as both the username and password. +Navigate to the 'User' tab under the 'Manage' section to verify the absence of the user data that have yet to be imported.
  2. +
  3. In a typical scenario, the reconciliation process is initiated by a scheduler, but for simplicity we’ll execute it manually:
  4. +
+
bash
curl -k \
+  -u openidm-admin:openidm-admin \
+  -XPOST \
+  "https://localhost:8443/openidm/recon?        
+_action=recon&mapping=csvEmployee_managedUser"
+
    +
  1. In the Wren:IDM admin user interface, refresh the user management page to confirm the existence of new managed user identities under 'Manage' → 'User'
  2. +
  3. In our case Wren:IDM is configured to automatically propagate changes to LDAP. Ensure the synchronization by listing existing LDAP accounts using this command:
  4. +
+
bash
docker exec ldap ldapsearch -H ldap://localhost -x -D             
+"cn=admin,dc=wrensecurity,dc=org" -w admin -b 
+"dc=wrensecurity,dc=org" "(objectClass=inetOrgPerson)"
+
    +
  1. When you’re done, feel free to continue exploring or remove the Docker containers using:
  2. +
+
bash
docker-compose stop && docker-compose rm -f
+

Onboarding, layoffs and employee changes do not pose any challenges. Automatic synchronization ensures seamless, automated propagation of changes between systems without the need for manual intervention.

+

For more information regarding synchronization, its types, mappings, scenarios, and actions, we advise reviewing our documentation.

+

Well, that is pretty sweet, but who is it for?

+

Automation of the identity lifecycle is beneficial for all medium to large businesses. However, it is indispensable for companies with a high number of IT systems, a complicated structure, a large number of employees, high fluctuation, or regulated environments. Banks, universities, healthcare organizations, telecommunication companies, technology firms, and even public organizations. It ensures that the right people have the right access, while maintaining security standards and freeing up the hands of operations staff.

+

If you enjoyed this article, we'd be delighted if you tried other recipes from our cookbook or explore other Wren Security tools.

+ +]]>
+
+ + <![CDATA[We've been authorized as CVE Numbering Authority]]> + https://wrensecurity.org/blog/2023/10/cve-numbering-authority.html + https://wrensecurity.org/blog/2023/10/cve-numbering-authority.html + Tue, 17 Oct 2023 00:00:00 GMT + + +

It's our pleasure to announce, that Wren Security has been authorized by the Common Vulnerabilities and Exposures CVE Program as a CVE Numbering Authority CNA. As a CNA, we have the ability to directly assign CVE IDs and publish CVE records for vulnerabilities discovered in our projects.

+

Security is a fundamental aspect of our efforts, which is even reflected in our name. Therefore, we have recently made several releases that include significant security improvements and have clarified our disclosure processes. And since the principles of open source dictate that we respect transparency, it was a natural step to contribute to the global initiative of identifying, defining, and cataloging publicly-disclosed cybersecurity vulnerabilities.

+

It's a commitment, but we believe that it will help to build trust with our users.

+

What is CVE Program?

+

The mission of the Common Vulnerabilities and Exposures (CVE®) program is to identify, define, and catalog publicly disclosed cybersecurity vulnerabilities. There is one CVE Record for each vulnerability in the catalog. The vulnerabilities are discovered then assigned and published by organizations from around the world that have partnered with the CVE Program. Partners publish CVE Records to communicate consistent descriptions of vulnerabilities. Information technology and cybersecurity professionals use CVE Records to ensure they are discussing the same issue, and to coordinate their efforts to prioritize and address the vulnerabilities.

+

What are CNAs?

+

CNAs are organizations responsible for the regular assignment of CVE IDs to vulnerabilities, and for creating and publishing information about the Vulnerability in the associated CVE Record. Each CNA has a specific Scope of responsibility for vulnerability identification and publishing.

+

Disclosure

+

If you think you've found a vulnerability, please don't disclose it publicly until you've checked with us. Please, refer to the disclosure policy.

+ +]]>
+
+ + <![CDATA[Wren:AM 15.0.0 Released]]> + https://wrensecurity.org/blog/2023/10/wrenam-15-0-0-released.html + https://wrensecurity.org/blog/2023/10/wrenam-15-0-0-released.html + Tue, 10 Oct 2023 00:00:00 GMT + + +We're thrilled to announce the release of the anticipated new version of Wren:AM. Following Wren:IDM and Wren:DS, it's now completely independent of the legacy infrastructure, features an upgraded technology stack, and is compatible with JDK 17 (with preparations for Jakarta EE). Additionally, we've addressed a significant number of issues from previous versions, predominantly the security ones. +The project remains highly compatible with abandoned community versions of OpenAM, allowing for a seamless migration process, with the added option to leverage Docker images for added convenience. +

Numbers worth mentioning include:

+
    +
  • 89 pull requests merged;
  • +
  • 136 new commits;
  • +
  • 22 issues closed;
  • +
  • 27 known AM security vulnerabilities fixed;
  • +
  • 35 Dependabot alerts fixed;
  • +
  • 93 security issues (reported by Trivy) fixed.
  • +
+

If you're already running Wren:AM or an unsupported version of OpenAM, we strongly recommend upgrading to get the best out of your access management solution.

+

Changes

+

List of significant changes:

+
    +
  • Upgraded build pipeline (wrensec-parent, JFrog repository, GitHub Actions)
  • +
  • Upgraded dependencies (including switch to Jakarta compatible coordinates)
  • +
  • Added support for Java 17 as the default build and runtime environment
  • +
  • Added Dockerfile and official images published to Docker Hub
  • +
  • Fixed ton of security, build and runtime issues
  • +
+

Review all the changes on GitHub.

+

How to get

+

Refer to the Getting Started page to learn how to get and run Wren:AM.

+

Alternatively you can run the official Docker image from Docker Hub:

+
bash
docker run --rm --name wrenam-test -p 8080:8080 wrensecurity/wrenam:15.0.0
+
+]]>
+
+ + <![CDATA[Wren:DS 5.0.0 Released]]> + https://wrensecurity.org/blog/2023/05/wrends-5-0-0-released.html + https://wrensecurity.org/blog/2023/05/wrends-5-0-0-released.html + Tue, 16 May 2023 00:00:00 GMT + + +

We are excited to announce that the brand new release of Wren:DS 5.0.0 +is finally out! This is the first release of Wren:DS that is fully independent of the legacy +infrastructure. Its technological stack has been updated to be compatible with JDK 17, and all +changes have been carefully curated to provide a high level of security while still offering +a reliable migration path from legacy OpenDJ installations.

+

If you are already running Wren:DS or an unsupported version of OpenDJ, we strongly recommend +that you upgrade, as only the new versions will receive the support they deserve.

+

What's next? Wren:AM. Stay tuned!

+

Changes

+

List of significant changes:

+
    +
  • Add Java 17 support and drop Java 8 support
  • +
  • Change Maven groupId to org.wrensecurity.wrends
  • +
  • Upgrade to the newest wrensec-parent and wrensec-commons
  • +
  • Upgrade Berkley DB JE dependency and remove PDB backend
  • +
  • Update visible project title and logo to Wren:DS
  • +
  • Switch to GitHub Actions for CI, create new project for system testing
  • +
  • Add docker build with amd64 and aarch64 support and Docker Hub publishing pipeline
  • +
  • Remove or replace files with non-CDDL license
  • +
+

How to get

+

Refer to the Getting Started page to learn how to get and run Wren:DS.

+

Alternatively you can run the official Docker image from Docker Hub:

+
bash
docker run --rm --name wrends-test -p 1389:1389 -p 1636:1636 wrensecurity/wrends:5.0.0
+
+]]>
+
+ + <![CDATA[Happy 2023!]]> + https://wrensecurity.org/blog/2023/01/happy-2023.html + https://wrensecurity.org/blog/2023/01/happy-2023.html + Fri, 06 Jan 2023 00:00:00 GMT + + +

With 2022 gone, we feel it’s time for a brief recap. And we have some exciting news about the future as well, so buckle up!

+

Some 6 years ago, when ForgeRock abandoned their community edition, our journey to save the future of open-source IAM platform began. Since then, we’ve spent countless hours crafting an independent fork. Just over the course of 2022, we’ve put a lot of effort into modernization of the stack and introduced full Java 17 support, Docker images as official artifacts and many other fixes and improvements. The numbers speak for themselves:

+
    +
  • 283 commits;
  • +
  • 52 000+ insertions and 28 000+ deletions in 3100+ files;
  • +
  • 92 merged pull requests;
  • +
  • 29 closed issues;
  • +
  • 19 new releases and 26 tags.
  • +
+

On top of that, we fully migrated from Semaphore CI to GitHub CI for automated builds, and we drafted system tests for Wren:IDM, Wren:AM and Wren:DS that verify project’s release stability.

+

In addition to the purely technical advances, we’ve significantly improved the documentation infrastructure to start rebuilding what we had lost during the fork process, namely:

+ +

You might have noticed that our focus was shaped mainly by our passion for Identity Management. This led us to the point where Wren:IDM became a reliable foundation for IDM implementations of any scale. +But the Wren Security Suite wouldn't be complete without its Access Management essentials, and we’re very aware that it has not received the care it deserves. That's why we are thrilled to announce that we will kickstart 2023 with a completely upgraded Wren:DS (former OpenDJ), shortly followed by Wren:AM, the successor of OpenAM.

+

Upgraded technological stack, carefully curated changes, Docker images and seamless migration will provide a reliable replacement for those who still run their aging OpenAM and OpenDS installations.

+

Follow us on Gitter, star our GitHub and stay tuned.

+

Happy New Year!

+ +]]>
+
+ + <![CDATA[Wren:IDM 6.1.0 Released]]> + https://wrensecurity.org/blog/2022/12/wrenidm-6-1-0-released.html + https://wrensecurity.org/blog/2022/12/wrenidm-6-1-0-released.html + Fri, 30 Dec 2022 00:00:00 GMT + + +

Brand new release Wren:IDM 6.1.0 has been published. +This release is fully compatible with JDK 17 and Maven groupId of all modules was switched to our package org.wrensecurity.wrenidm.

+

Changes

+

List of significant changes:

+
    +
  • Add Java 17 support and drop Java 8 support
  • +
  • Change Maven groupId to org.wrensecurity.wrenidm
  • +
+

Other changes:

+
    +
  • Change Maven packaging from bundle to jar (#112)
  • +
  • Support for custom operation-specific options in provisioner (#124)
  • +
  • Workaround Rhino JS file encoding issue (#130)
  • +
  • Improve docker build (multistage with buildkit cache)
  • +
  • Upgrade wrensec-parent to the latest release (4.0.0)
  • +
  • Upgrade wrensec-commons to 22.4.0
  • +
  • Upgrade wrensec-ui to 22.1.1
  • +
  • Upgrade wrenicf-java-framework to 1.5.3.0
  • +
  • Upgrade Rhino JS to 1.7.14
  • +
+

How to get

+

You can build your own binary as described by README.

+

Alternatively you can use the official Docker image from Docker Hub:

+
bash
docker run --rm --name wrenidm-test -p 8080:8080 wrensecurity/wrenidm:6.1.0
+
+]]>
+
+ + <![CDATA[Commons 22.2.0 Released]]> + https://wrensecurity.org/blog/2022/08/commons-22-2-0-released.html + https://wrensecurity.org/blog/2022/08/commons-22-2-0-released.html + Thu, 11 Aug 2022 00:00:00 GMT + + +

We are excited to announce the release of Wren Security Commons 22.2.0. +This release is compatible with JDK 17.

+

Maven groupId of all modules was switched to our package org.wrensecurity.commons.

+

Changes

+

List of significant changes:

+
    +
  • Switched Maven groupId to org.wrensecurity.commons
  • +
  • Support for Java 17
  • +
  • Merged wrensec-guice project as its own module
  • +
  • Fixed Maven site generation where possible
  • +
+ +]]>
+
+ + <![CDATA[Wren:IDM Cookbook Created]]> + https://wrensecurity.org/blog/2022/06/wrenidm-cookbook-created.html + https://wrensecurity.org/blog/2022/06/wrenidm-cookbook-created.html + Thu, 09 Jun 2022 00:00:00 GMT + + +

We have prepared recipes (samples) demonstrating key Wren:IDM features. +From now it is possible to try Wren:IDM easily.

+

We have prepared following samples:

+
    +
  • sync ⚙️ – synchronize data between Wren:IDM and source / target systems
  • +
  • workflow 📝 – create workflow with approval in Wren:IDM
  • +
  • roles 🔐 – manage roles and assignment values
  • +
  • endpoint 🗳️ – create custom REST API endpoint to execute custom business logic
  • +
  • scheduler ⏱️ – schedule synchronization or script to be automatically triggered
  • +
  • email 📧 – send email notification
  • +
+

Environment for each sample is defined through Docker Compose file. +You need just one command to start relevant Docker containers, zero configuration needed.

+

Samples are hosted in wrenidm-cookbook +GitHub repository.

+]]>
+
+ + <![CDATA[Brand New Website]]> + https://wrensecurity.org/blog/2022/04/brand-new-website.html + https://wrensecurity.org/blog/2022/04/brand-new-website.html + Wed, 27 Apr 2022 00:00:00 GMT + + +

We have created a brand new website for Wren Security security suite.

+

Our former website (built using WordPress) was not easy to update and expand. It was +created as more of a leaflet to define our presence and look and feel for the Wren Security +brand. It served its purpose, but it was time to move on.

+

The new website has dedicated sections for top-level projects (Wren:IDM, Wren:AM, Wren:DS +and Wren:ICF), instructions on community involvement and dedicated section for blog +posts (various project related news).

+

New website is built and run using the following technologies:

+ +

Source code of the website is hosted in wrensec-website +GitHub repository. Pull requests are welcome. 💯

+]]>
+
+ + <![CDATA[Wren:IDM 6.0.0 Released]]> + https://wrensecurity.org/blog/2021/10/wrenidm-6-0-0-released.html + https://wrensecurity.org/blog/2021/10/wrenidm-6-0-0-released.html + Fri, 08 Oct 2021 00:00:00 GMT + + +

We are excited to announce the release of Wren:IDM 6.0.0. Wren Security release compatible with +JDK 11 and zero dependencies on legacy infrastructure (everything you need to build the project +is hosted in JFrog Artifactory).

+

Changes

+

List of significant changes:

+
    +
  • Change Maven parent to wrensec-parent (new Maven plugin versions, dedicated JFrog repository)
  • +
  • Upgrade core dependencies (Apache Felix, Activiti, RhinoJS, ...)
  • +
  • Support Java 11 as the default build and runtime environment
  • +
  • Add Dockerfile and publish official image to Docker Hub
  • +
  • Add GitHub Actions pipeline (switch from Semaphore CI)
  • +
  • Replace OrientDB with H2 as the default playground database
  • +
+

How to get

+

You can build your own binary as described by README.

+

Alternatively you can use the official Docker image from Docker Hub:

+
bash
docker run --rm --name wrenidm-test -p 8080:8080 wrensecurity/wrenidm:6.0.0
+
+]]>
+
+
+
\ No newline at end of file diff --git a/guide/index.html b/guide/index.html new file mode 100644 index 0000000..308bdfc --- /dev/null +++ b/guide/index.html @@ -0,0 +1,28 @@ + + + + + + Guides | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Guides

Whether you need to kickstart your project or simply want to gain hands-on experience, these guides will help you get started. We are constantly working on new content to provide you with building blocks that cover common use cases. Missing something specific? Let us know.


+ + + + \ No newline at end of file diff --git a/guide/wrenidm-sync.html b/guide/wrenidm-sync.html new file mode 100644 index 0000000..ef2fe88 --- /dev/null +++ b/guide/wrenidm-sync.html @@ -0,0 +1,33 @@ + + + + + + Identity Synchronization With Wren:IDM | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Identity Synchronization With Wren:IDM

November 29, 2023

Wren:IDM is an Identity Governance and Administration (IGA) platform designed to efficiently manage user accounts, access rights, and permissions within an organization. Unlike certain opinionated solutions, its flexible data model can adapt to the organizational structure and integrate naturally with established processes.

In this article, we will explore provisioning, which is a crucial feature of identity management systems. Employing a CSV file as a source system. Leveraging implicit synchronization settings of Wren:IDM, any modifications will be automatically propagated to an LDAP directory.

  1. Start by cloning the Wren:IDM cookbook with Docker and Git being the prerequisites for this example: https://github.com/WrenSecurity/wrenidm-cookbook
  2. Navigate to the ‘sync’ sample folder, and spin up the prepared Docker containers using:
bash
docker compose up -d
  1. Explore the admin user interface at: https://localhost:8443/admin. Log in using 'openidm-admin' as both the username and password. Navigate to the 'User' tab under the 'Manage' section to verify the absence of the user data that have yet to be imported.
  2. In a typical scenario, the reconciliation process is initiated by a scheduler, but for simplicity we’ll execute it manually:
bash
curl -k \
+  -u openidm-admin:openidm-admin \
+  -XPOST \
+  "https://localhost:8443/openidm/recon?        
+_action=recon&mapping=csvEmployee_managedUser"
  1. In the Wren:IDM admin user interface, refresh the user management page to confirm the existence of new managed user identities under 'Manage' → 'User'
  2. In our case Wren:IDM is configured to automatically propagate changes to LDAP. Ensure the synchronization by listing existing LDAP accounts using this command:
bash
docker exec ldap ldapsearch -H ldap://localhost -x -D             
+"cn=admin,dc=wrensecurity,dc=org" -w admin -b 
+"dc=wrensecurity,dc=org" "(objectClass=inetOrgPerson)"
  1. When you’re done, feel free to continue exploring or remove the Docker containers using:
bash
docker-compose stop && docker-compose rm -f

Onboarding, layoffs and employee changes do not pose any challenges. Automatic synchronization ensures seamless, automated propagation of changes between systems without the need for manual intervention.

For more information regarding synchronization, its types, mappings, scenarios, and actions, we advise reviewing our documentation.

Well, that is pretty sweet, but who is it for?

Automation of the identity lifecycle is beneficial for all medium to large businesses. However, it is indispensable for companies with a high number of IT systems, a complicated structure, a large number of employees, high fluctuation, or regulated environments. Banks, universities, healthcare organizations, telecommunication companies, technology firms, and even public organizations. It ensures that the right people have the right access, while maintaining security standards and freeing up the hands of operations staff.

If you enjoyed this article, we'd be delighted if you tried other recipes from our cookbook or explore other Wren Security tools.

+ + + + \ No newline at end of file diff --git a/hashmap.json b/hashmap.json new file mode 100644 index 0000000..f24d92a --- /dev/null +++ b/hashmap.json @@ -0,0 +1 @@ +{"blog_2022_08_commons-22-2-0-released.md":"z0pug-1o","blog_2023_10_wrenam-15-0-0-released.md":"PUmKPr5B","blog_2023_01_happy-2023.md":"GB0QqcOW","guide_wrenidm-sync.md":"T1bYWFjO","blog_index.md":"UwO10QQo","community_contact.md":"WARmMffh","guide_index.md":"0SK2k_Zy","index.md":"FZ5-7OD4","partners.md":"yrX0WVZu","blog_2024_01_happy-2024.md":"-W4-UKjE","projects_wrenam_index.md":"dfLPuNWk","projects_wrenam_download.md":"aeVMQODC","blog_2023_05_wrends-5-0-0-released.md":"leRQH6Y5","blog_2023_10_cve-numbering-authority.md":"1Rwm8cpS","projects_wrends_index.md":"_fr-cRME","blog_2021_10_wrenidm-6-0-0-released.md":"fj6-qguH","projects_wrends_resources.md":"SlxSr3dy","projects_wrenig_resources.md":"pwXF3TEG","projects_wrenicf_index.md":"lM5Ee79Z","blog_2022_06_wrenidm-cookbook-created.md":"lVwuHAPw","projects_wrenig_download.md":"veYruhEu","community_join.md":"LwwL_nXF","projects_wrenam_resources.md":"TKiJbPpB","blog_2022_04_brand-new-website.md":"J3wF5o9v","projects_wrenidm_index.md":"XiTPTVga","projects_wrenig_index.md":"M9oTHO36","projects_wrenidm_resources.md":"ss5AOLoi","blog_2022_12_wrenidm-6-1-0-released.md":"delIdvTd","projects_wrends_download.md":"Tz_XNYJK","community_disclosure.md":"lyWmP7cC","projects_wrenidm_download.md":"IhUDRcfg"} diff --git a/index.html b/index.html new file mode 100644 index 0000000..68af854 --- /dev/null +++ b/index.html @@ -0,0 +1,27 @@ + + + + + + Home | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Wren Security Suite

Community-driven, open-source software for user authentication, user identity management, and single-sign-on.

Wren Security logo

Project Origin

Though our project originated with code that ForgeRock™ had previously released, we are not affiliated with ForgeRock™ in any way. Our projects are based on the very latest code from what was available under a CDDL license (OpenAM 13.5+, OpenDJ 3.5+, OpenIDM 4.5+, and OpenIG 4.0+). ForgeRock™ no longer releases any of the most recent versions of their software under an open-source license. ForgeRock™’s “Community Edition” are ancient versions of the projects. Join our community for the latest and greatest.

+ + + + \ No newline at end of file diff --git a/partner/j3ag.png b/partner/j3ag.png new file mode 100644 index 0000000000000000000000000000000000000000..7c21dd91e052755b133016d3fb9633babe8743f6 GIT binary patch literal 9224 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 WB_)<@tm~iuZKTB&#HvLMgZ~GI5Vx2B literal 0 HcmV?d00001 diff --git a/partner/jfrog-artifactory.png b/partner/jfrog-artifactory.png new file mode 100644 index 0000000000000000000000000000000000000000..01d3e1352f9dd77f37be62ec3472ea25e44303d8 GIT binary patch literal 15142 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%0AZOvK-tmbE{mNdh% z3;4vmx3@1ZSF^5P8cFqju}Aqj|1fGkUvxT9(KI_V@ma(+%oBtixelct%kI_nY#k*6 zAM5mk)FYX}QQ$7D{cIV=KmWW(5#&{VEZW)GspTTvD~s%Z;x7+xe%T^Nv;1)hBLOoY zxDYRCu&w}0nn2QF#@d1;r;pc@u@sV2krNZD%`q`U6auyTo{jVMA&;`=Im=O;H3KWH zosuu)ifC^4ZfQ7kovzZ=@SmESn&u7n1l3^qJcV74lzBYkjzBGaa+(@Nrn4O%k}(5Z zgtphyl&udLOLMx=Ws@7o;}wghdE@eIB8K%6J;+dK%lv?VZQZ9aV?V8qJh{ahO+&dQ z@zg%jhFpA4Q=MRgs~ki zo!x1bxxq;3Y8>7CmfDM|K8I7+>S}(AY*845UNpjOOO0nZiE}{gl}ImnDpXO)HUfAD zzSOB;+Gy7&P)c>KasA6F*TIz$+ih(snickWS_rdL-=CcqI+~U~N608!884PPwu4^G zW4)5jwM0_ekI(a%*?|yw`UQ!{^Kf>((y&=n$rT(=)DAi!jzy;5y2N}`XZxCgSTVVG z$<4HWi}8czMo>DLy*wWYYAV=2a}{lUWU%B)D>e$R z8yw6XEL9QAAKEx!+cXw${ML;Dm7wX|F1v}C8cN=*H{vC>`y;H)i%>OF;I|Ceb0uqi zYKpT!a-&Si^YsXcen;Hl;E8TGX+rN9O6MXd@?r=*2+`(kHRey}?E4)CQXL(w7o%E4 zMv=-LFTBy_%+#TDhSx@Lr7BUgZYr#^Ymge!Z}qSzCE-ag#Bft2Dqa1JGr=adcgMmn z3Y({px!#VGd@0u*=ec2tKl?mK$tz?T!)6$+<&aTaNgD{GKRZ9)G`)ssl9$!opVR8T tr;6s^fAH3anSCZ;ib&flY3$BRgmh_Bmf>OxvULlkAfqZ>C298I{{X`nl*Rx6 literal 0 HcmV?d00001 diff --git a/partner/orchitech.png b/partner/orchitech.png new file mode 100644 index 0000000000000000000000000000000000000000..8387b725fc98611599f239fa6d866a5685162a06 GIT binary patch literal 12546 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 literal 0 HcmV?d00001 diff --git a/partner/sonpo.png b/partner/sonpo.png new file mode 100644 index 0000000000000000000000000000000000000000..e6273b9ab8c187d12c37e3d0b86637f6ab4361bb GIT binary patch literal 7960 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 literal 0 HcmV?d00001 diff --git a/partner/systemboost.png b/partner/systemboost.png new file mode 100644 index 0000000000000000000000000000000000000000..a52d7e1a6a3baf5b37bdbf566c6501612347d5d3 GIT binary patch literal 4147 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 literal 0 HcmV?d00001 diff --git a/partners.html b/partners.html new file mode 100644 index 0000000..9b7fb58 --- /dev/null +++ b/partners.html @@ -0,0 +1,27 @@ + + + + + + Partners | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Partners

The following is a list of Wren Security partners. Partners are listed in no particular order within each section.

Authorized certifying partner

Implementation partners

Infrastructure partners

+ + + + \ No newline at end of file diff --git a/projects/wrenam/download.html b/projects/wrenam/download.html new file mode 100644 index 0000000..93abce9 --- /dev/null +++ b/projects/wrenam/download.html @@ -0,0 +1,27 @@ + + + + + + Wren:AM | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Getting Started

You can get Wren:AM Web Application Archive (WAR) in couple of ways:

Download binary release

The easiest way to get the Wren:AM is to download the latest binary release.

Docker image

You can also run Wren:AM in a Docker container. Official Wren:AM Docker images can be found on Docker Hub.

Build the source code

You can also create your own build from the source code. Manual how to build the source code can be found here.

+ + + + \ No newline at end of file diff --git a/projects/wrenam/index.html b/projects/wrenam/index.html new file mode 100644 index 0000000..a3ce94f --- /dev/null +++ b/projects/wrenam/index.html @@ -0,0 +1,27 @@ + + + + + + Wren:AM | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Wren:AM

Overview

Wren:AM is an "all-in-one" access management solution providing strong and adaptive authentication, authorization, single sign-on (SSO), entitlements, federation and web services security.

Wren:AM provides mobile support out of the box, with full OAuth 2.0 and OpenID Connect (OIDC) support - modern protocols that provide the most efficient method for developing secure native or web-based mobile applications optimized for bandwidth and CPU.

Wren:AM is one of the projects in the Wren Security Suite, a community initiative that adopted open‐source projects formerly developed by ForgeRock, which has its own roots in Sun Microsystems’ products.

Acknowledgments

Wren:AM is standing on the shoulders of giants and is a continuation of a prior work:

  • OpenSSO by Sun Microsystems
  • OpenAM by ForgeRock AS

We'd like to thank them for supporting the idea of open-source software.

Disclaimer

Please note that the acknowledged parties are not affiliated with this project. Their trade names, product names and trademarks should not be used to refer to the Wren Security products, as it might be considered an unfair commercial practice.

Wren Security is open source and always will be.

+ + + + \ No newline at end of file diff --git a/projects/wrenam/resources.html b/projects/wrenam/resources.html new file mode 100644 index 0000000..98885c8 --- /dev/null +++ b/projects/wrenam/resources.html @@ -0,0 +1,27 @@ + + + + + + Wren:AM | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Resources

Documentation

Project documentation can be found in our documentation platform (docs.wrensecurity.org).

+ + + + \ No newline at end of file diff --git a/projects/wrends/download.html b/projects/wrends/download.html new file mode 100644 index 0000000..3b26b63 --- /dev/null +++ b/projects/wrends/download.html @@ -0,0 +1,27 @@ + + + + + + Wren:DS | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Getting Started

You can get Wren:DS application in a few ways.

Download binary release

The easiest way to get the Wren:DS is to download the latest binary release.

Docker image

You can also run Wren:DS in a Docker container. Official Wren:DS Docker images can be found on Docker Hub.

Build the source code

You can also create your own build from the source code. Manual how to build the source code can be found here.

+ + + + \ No newline at end of file diff --git a/projects/wrends/index.html b/projects/wrends/index.html new file mode 100644 index 0000000..6712c2f --- /dev/null +++ b/projects/wrends/index.html @@ -0,0 +1,27 @@ + + + + + + Wren:DS | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Wren:DS

Overview

Wren:DS is an LDAPv3 compliant directory service, which has been developed for the Java platform, providing a high performance, highly available, and secure store for the identities managed by your organization. Its easy installation process, combined with the power of the Java platform makes Wren:DS the simplest, fastest directory to deploy and manage.

Acknowledgments

Wren:DS is standing on the shoulders of giants and is a continuation of a prior work:

  • OpenDS by Sun Microsystems
  • OpenDJ by ForgeRock AS

We'd like to thank them for supporting the idea of open-source software.

Disclaimer

Please note that the acknowledged parties are not affiliated with this project. Their trade names, product names and trademarks should not be used to refer to the Wren Security products, as it might be considered an unfair commercial practice.

Wren Security is open source and always will be.

+ + + + \ No newline at end of file diff --git a/projects/wrends/resources.html b/projects/wrends/resources.html new file mode 100644 index 0000000..6c1e584 --- /dev/null +++ b/projects/wrends/resources.html @@ -0,0 +1,27 @@ + + + + + + Wren:DS | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Resources

Documentation

Project documentation can be found in our documentation platform (docs.wrensecurity.org).

+ + + + \ No newline at end of file diff --git a/projects/wrenicf/index.html b/projects/wrenicf/index.html new file mode 100644 index 0000000..78b892a --- /dev/null +++ b/projects/wrenicf/index.html @@ -0,0 +1,27 @@ + + + + + + Wren:ICF | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Wren:ICF

Overview

Wren:ICF is an umbrella brand encompassing community-developed Identity Connector Framework as well as a set of production-ready connectors – LDAP, Office 365, SSH, SQL, PowerShell, REST and many more.

The main project is Wren:ICF Java Framework where the various parts of the framework (specification, APIs, SPIs and network protocol) are forged, and it also provides the default connector runtime environment for the Java world.

Wren:ICF .NET Framework is a connector framework implementation and runtime environment for Microsoft's .NET world.

Framework Features

Wren:ICF addresses the following topics:

  • connector specification – definition of connector interfaces and available operations
  • connector runtime environment – Java and .NET server implementations managing individual connectors, their discoverability and lifecycle (e.g. pooling)
  • remote connector protocol – low-level remote connector network protocol

Runtime environment manages individual connectors through connector SPI methods and offers their functionality through public API. Each connector works with a specific set of objects (e.g. accounts and groups) defined by self-described schema, and can implement one or more well defined operations.

Identity Connectors

Wren:ICF provides a set of common basic connectors and scriptable connectors with sample integrations:

  • LDAP Connector – integration with LDAP server (e.g. Active Directory)
  • CSV File Connector – reading and writing rows from a CSV file
  • Scriptable SSH Connector – custom remote shell invocations through managed JSch connection
  • Scriptable SQL Connector – custom database commands through managed JDBC connection
  • Scriptable REST Connector – custom calls through managed HTTP connection
  • Scriptable Groovy Connector – custom groovy scripts for Wren:ICF operations
  • Scriptable PowerShell Connector – custom PowerShell scripts for Wren:ICF operations

Many other connectors are available under Wren Security's GitHub organization or by third-party vendors.

Acknowledgments

Wren:ICF is standing on the shoulders of giants and is a continuation of a prior work:

  • Sun Identity Framework by Sun Microsystems
  • OpenICF by ForgeRock AS

We'd like to thank them for supporting the idea of open-source software.

Disclaimer

Please note that the acknowledged parties are not affiliated with this project. Their trade names, product names and trademarks should not be used to refer to the Wren Security products, as it might be considered an unfair commercial practice.

Wren Security is open source and always will be.

+ + + + \ No newline at end of file diff --git a/projects/wrenidm/download.html b/projects/wrenidm/download.html new file mode 100644 index 0000000..57ee3e0 --- /dev/null +++ b/projects/wrenidm/download.html @@ -0,0 +1,27 @@ + + + + + + Wren:IDM | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Getting Started

You can get Wren:IDM application in a few ways.

Download binary release

The easiest way to get the Wren:IDM is to download the latest binary release.

Docker image

You can also run Wren:IDM in a Docker container. Official Wren:IDM Docker images can be found on Docker Hub.

Build the source code

The last but not least you can create your own build from the source code. Manual how to build the source code can be found here.

+ + + + \ No newline at end of file diff --git a/projects/wrenidm/index.html b/projects/wrenidm/index.html new file mode 100644 index 0000000..b83cd04 --- /dev/null +++ b/projects/wrenidm/index.html @@ -0,0 +1,27 @@ + + + + + + Wren:IDM | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Wren:IDM

Overview

Wren:IDM is a community‐developed identity management system with a flexible data model, multiple extension points and scripting support, including JavaScript and Groovy. It can connect to and manage a wide range of systems through the Identity Connector Framework (Wren:ICF).

Wren:IDM is one of the projects in the Wren Security Suite, a community initiative that adopted open‐source projects formerly developed by ForgeRock, which has its own roots in Sun Microsystems’ products.

Wren:IDM itself is focused on identity management processes and it also provides a powerful framework for implementing IAG and a portion of IAM processes as well. Although the project is based on OpenIDM code, it is not affiliated with ForgeRock in any way. It is based on the very latest code available under a CDDL license (not‐yet‐released OpenIDM 5.x).

The features of Wren:IDM include:

  • A complete platform for building IDM and IG solutions using the concepts described below – roles, mappings, synchronizations, workflows, policies, etc.
  • ICF Connector Servers – services that allow connectors to be run outside of the IDM itself. Useful when a connector needs a specific client environment to talk to the integrated system. Also facilitates security. .NET and Java Connector Servers are available.
  • Administration GUI – an interface for making changes to data models and configuration using a point‐and‐click interface rather than Wren:IDM's REST interface.
  • Self‐service GUI – an interface for end‐users to update their profile information, passwords, and preferences.

Both the Administration GUI and Self‐Service GUI are web‐based, single‐page applications that can be turned off in deployments that do not desire to use them [1].

Acknowledgments

Large portions of the source code are based on the open-source projects previously released by:

  • Sun Microsystems
  • ForgeRock

We'd like to thank them for supporting the idea of open-source software.

Disclaimer

Please note that the acknowledged parties are not affiliated with this project. Their trade names, product names and trademarks should not be used to refer to the Wren Security products, as it might be considered an unfair commercial practice.

Wren Security is open source and always will be.

+ + + + \ No newline at end of file diff --git a/projects/wrenidm/resources.html b/projects/wrenidm/resources.html new file mode 100644 index 0000000..ff7d06f --- /dev/null +++ b/projects/wrenidm/resources.html @@ -0,0 +1,27 @@ + + + + + + Wren:IDM | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Resources

Documentation

Project documentation can be found in our documentation platform (docs.wrensecurity.org). Repository hosting cookbook with common use cases is available on GitHub.

+ + + + \ No newline at end of file diff --git a/projects/wrenig/download.html b/projects/wrenig/download.html new file mode 100644 index 0000000..e83323d --- /dev/null +++ b/projects/wrenig/download.html @@ -0,0 +1,27 @@ + + + + + + Wren:IG | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Getting Started

You can get Wren:IG application in a few ways.

Download binary release

The easiest way to get the Wren:IG is to download the latest binary release.

Docker image

You can also run Wren:IG in a Docker container. Official Wren:IG Docker images can be found on Docker Hub.

Build the source code

The last but not least you can create your own build from the source code. Manual how to build the source code can be found here.

+ + + + \ No newline at end of file diff --git a/projects/wrenig/index.html b/projects/wrenig/index.html new file mode 100644 index 0000000..4d3a821 --- /dev/null +++ b/projects/wrenig/index.html @@ -0,0 +1,27 @@ + + + + + + Wren:IG | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Wren:IG

Overview

Wren:IG is a community‐developed reverse proxy server providing single sign-on (SSO) to any application behind the proxy.

Wren:IG includes a number of pre-built filters to transform data of intercepred requests / responses. Scripted filter allows you to easily create your own filter using the Groovy language.

The features of Wren:IG include:

  • Authentication / Authorization using industry-standard protocols (SAML 2.0, OAuth 2.0, OpenID Connect)
  • Single Sign-On (SSO)
  • Single Logout (SLO)
  • Session management
  • Password replay

Wren:IG is one of the projects in the Wren Security Suite, a community initiative that adopted open‐source projects formerly developed by ForgeRock.

Acknowledgments

Wren:IG is standing on the shoulders of giants and is a continuation of a prior work:

  • OpenIG by ForgeRock AS

We'd like to thank them for supporting the idea of open-source software.

Disclaimer

Please note that the acknowledged parties are not affiliated with this project. Their trade names, product names and trademarks should not be used to refer to the Wren Security products, as it might be considered an unfair commercial practice.

Wren Security is open source and always will be.

+ + + + \ No newline at end of file diff --git a/projects/wrenig/resources.html b/projects/wrenig/resources.html new file mode 100644 index 0000000..8615246 --- /dev/null +++ b/projects/wrenig/resources.html @@ -0,0 +1,27 @@ + + + + + + Wren:IG | Wren Security + + + + + + + + + + + + + + + + +
Skip to content

Resources

Documentation

Project documentation can be found in our documentation platform (docs.wrensecurity.org).

+ + + + \ No newline at end of file diff --git a/wren.png b/wren.png new file mode 100644 index 0000000000000000000000000000000000000000..2722e001924d2678b9b20b131369016f337c43d2 GIT binary patch literal 9004 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 WM4|6ZQ30g_s7wqj^zZAsMgJF(=iIjd literal 0 HcmV?d00001 diff --git a/wrensec-logo.png b/wrensec-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f2be6d548605afa12e28855580cc5c24e97b2940 GIT binary patch literal 32061 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

ZW z>LvWci|0Ys_~}zA<#r!FpYB||^on+Us`%f%qy+jTHN#5H_iqB-3Ph=a%NV&Ad-gHw zl4kvsk9?lBv!OO#qTiYn;vKECa%fn4tT|~nfbKPSY6FQp8|vk7r?}G(%x$_VOxJ)1tWAXy zcO*??y!+8dxoc9|2dW^~GN;B|U287!Nm=LIaJ|ooF+aLwJ~NGa1&q?uVsgUYS0mKc z^NMXa(-R0U<;Xo`mUgC|{_3V_zm68nk4b20hpwkRQkMb*pZZl2rg(>RoxTxgS~q>5 zb7#x}f7-3WFBmEwNSeWAM6RG)CF_BlV(;Q7?x!tD9MS)>b17=hXlnJg>danU(&=^r z-)3(3ih3{goV}bHi+zaagq6RWx_bm``PwSmsO_Yvdpio+qC;yl?_p;yv+s7FpwBj+ zQai?Me5wWN2(b*{1y)CJlZqTYJZ35$0sP!^-i64 z`d(46qTZAIEg zkrG#q7P)*}dk)#g;1erffjC^O)0hAQnxgE(`z}fm7Ix$@FIwC;_oNa zQb&n&LZp+=b$_xc{dgqZKj`Ci-p9j(Ryc}Wu~;G%Dtxnv98OyN+DAJgu2V;>(~qs& zkMFpj*r+4-hRg21{p371)eP8HBbcxVziL&b4fi2d@`LnFB1U$xu*{2mR8p>ft_poh zSMe{nu_Rcv;3^rP@5-rh|9xug(~ls?I)#9qyBhPnOY%II$Co)f@D+Kv_-R{h zXnyH(AMtPjD&-$N=K_KvHgl>^4Qkuj!*!WJ;SH=1X9TjeBd-x-1AbEA=ZaACwu*`O z0>$QkuFPMm%7?1@#NE3ripz13?~-Ww-aowBr@cqTsggA3 z3*J}p+tOY*WsqHRX2`&Z9p9#Ro4ul0WWTiGS|uwMo;BEVjY$vB+Ym)-U6|ZqF;3$! zrN(UN4VB^Vp_&@OB&0&+WJq@9)n3uzf+f zznj$JjkJc79b(a6waK(YWIRJ!Az;Yhj+_A5DxQ;Kv6B~B21}U1912nRRMCh4kTHon zgbPU{0EAg->BR!bLNdrCvr;(nAvdf6$s-c7u*ozhQK>)$bE0}2sB+FpRM6te|9d$z zsI5ztZ;OpjIolBaY**(tM0%96Ey=yE_lNV?pF1vK9eCUcm|=EY0VN(v_@u(f(o4}T zDPatNGza`q^$)!d@XiKafG`2@@smOcv1e`|<84JnJ<$xy@d428$9~ES%Y{8c)7c^n zCH|?WB}1}yOj(oly=x^m+d|brlb`{e)F_{pX_W>XA3CIEa{FgYkrY``lAH5~dex~$_1`jOy7Z>Rpw0O{g&wfc8 zQ=iC8D4!jalOX>Fj04tz^xgg$v?*Z*31uAo@4$U-n?rDBUjS!7h(YY2#tQ$g;|q`r z6c%wSK>q>Ig@9dl3le8G5Au%?{(s&QOGwMY?0V1x?*aY^;4c7v0ez8T2t?=ziU<*Q zMO}m4;J1V=b6XHD85m<@a-6rmf|5WzKtBLaw>$69b&G*`@%w?2Zjkc6QO@>=?2gJu zMR{rB{F(XX^z=(DJg1{C4X|8La0Q*-*h>dA!_qQDU=a$>G17i^XM`|v+iBl(Iv zYKMTn2yGB%@URuq#LNm(UQD`(h0j;Ag2v$b`0g3dRV!}5!n zTEcQZP5dOYHo4Ry7aVg&nCFwJ2=gMA7n7(ac8`;5MfKxIOA+d#TpcGn)LMvumjl_h zo=TuG8$p7Bf?;A&ZWQJu%%NpI#B&ojr;fSBGH2qv7l(3@jmyn)W{liT=O16Sw9;6L z{+-oC>l{M`sr;;@i}Pi}QD426)og?M6l$x zS285gwp@ILu`&NdHn$V;c6%=3-X!G9AXa1=cvs@ZL_|Vzr9F`=Ah$kY%Ji~+lH_D= zL7O9Z_ZSs!;N;Rya`B7GUm$`~Ji@B)bdN(}y-bR7g;nIr$RbUF^}8O`al0rNtw&g9LmFGLLJ}WJawYEuP%qpMa8&>OX((BGB7iL zav?s(?X2X)K#H-Ts&MCC_gC4>xZM`an()wF`FE zPdn)sjI?+bN3B7c4y#bF(PghHNxk}6vvN;Hv9F)~fUp=P%q3OF#j%NXp`xxh9l&44 z=jAvS{$#zW>(Kg?qqK&v&9m7?f77mxS$qJamj}TvR_Dm;DMFOQlcdEP`#VYx52Zox z-mW5ry3tedKXOK9e4(}cBy7K?kQR(iqc`g3o>c4aj!5&8Dy-LeO~M~!p(oxiu2*ho zLn9%w#gIoN#i!|qhQWk6#pSD%kD|;?in_(rx~ssH%rag?Sjw^?0W77Lz6RlQyIDF6 zJtPH865f#Vfh;!wD{fUcKiApATY)Fe&3}eFxo$iE0yUeVWI=<02d`rfxL5(W8Fs#& zD|%!AIC-?{7S>{`YwSP(puevN~8bE$j8Jz9Ekdec7tG3laqtU^S2(R!)|IFZidr8 zM?Ea*~cX?!2l%ch2t}LH@d0Z>zRw?(&cvQi&qA_X^7*j~MH%?!Vm{?-F zxBBi%s!LWQvKy7tFNzyd(X@tmZZzX@Tb{P0yIXo%MwByDUZ8^EiY8{k;i2N8iQ%i^ z=I3y8RZ=4?%qcxrOT?;@#QKt{uBuaGJH6_0+swNcL+{P~?o~_`Dy-W}Ij@h=n5$$m zPtoC`@Ym^ek#5v99bXR=wJd zjkC{>G-$8y&Q^AI=k_wycCAiIO>0onge-b}zDm_Sv$$%Rk(O5D)@m)!-4Pb9g0h^u zVh2jIrA)hORnx4S@%M{8>DJ1qwA0qIT)o#W^aRELD#loE<*;gecZ7;xU5Y3uCuLxMY*o3kV_?;x+$zS;kApXLtMS$yDy3%qX zFNWaAY&g0y92u@ zQbSQ1ixw`%hGI1p=aS+zmtaRV{HoQ_OU}%)X#LBKwRe`NWyfuHEq*Pzj zXVW&bQTtMDwPtyPfwI0&(ghi4>tTYLV%}?Vd**`tkiz(DqP3o}&%U>P4c{lrKJboL z^hH{#Y32c&bC0Gi$z4)^L8>~3O-(n!s*Z?i)z}2Aa4%$Q34HV3-t;6~PAHrQ%^J{8?pu7zZ2WqILvIix5cu~< z2cS5?>}{Zqt>^b`6&34|EjYvDU1h5H-N!Qkr3KbR9i=&rdqxMYwJ0m9{g`QoK3J z?cQ5Vzb2bf7Il>LYlch)(|rSKi><>nC)z9uhdB=+A^FS0mScljN_~eq8=8idCM4_H zG{T8czae68BX6#A(^U_S-_%L17*8(OS4WSrha#&&T223QEl{~|7BfyaSz7=N42Lb> z%3JS(T`RT{dIlXGQ#j5jtzZBMTV?EOFgu|(rT=2*D1Wo5Xr!23jnWfO-Q)V}K` zQPAF~LWXiwq>i{&PH;LI(%};6myPrntCEkHhjpXzR-2Fb z;?5o{%&u2lp~a6=#+Yf+)B7V7QmmGvdM^_3J5kir`MNpE_bk-w@7%;%IkaWfWMdFa zI&~ZNV_lD@LhHQvD53w8J6|v>kiSdK*9hq4jh++qR_j;RT6dcOGoE5f( zq~yp`FeKufrjhV&sgVleT4Dqgp<$^YHUE{7hT^?!R9Z^$cSd|P<=|SYlvDI4_bb6x zBUNqy&2h9%Ys>FZe6p0@H=ko(*>F2F^hG3N#pa^oJW<}YvTQ#jp02r9yuaQ%V@$qf zF-TS58swLOSYUkM2Unw`XgE>f{4gPqssfm?bWjQ#u0=$U> z=Jc?I?J=zxqkVC^1)C?mTmKS4M9MvcSCCjBiVE>B8vdy<0&FPPkf)XE9zKE%O21G4yIA*H6;_4fUyD;Cwk#)oXq2pLv#nW zKCi?Bq0JBx(&sR;M_GIYVsuT}5`X3L?0#HUCIEfRY694F#>%4_U8i-?QcgI!EMm$b ze|F3!dvVx8aJI>fg4hLsYsLg=nX{3~4agk1r$@=A*_%tD?E}=XSD^TwKD=v zTbsGdLP#Hz5Kv-eM<|n~H}YOAR|fksLfmO+e(Bf_L$hkx8C9rVgb**Z#yVBTq_F`h zx7_~0Uy&l_(gGi`Do$>YtHgVtc=yFcWi^(RF7XDqC351j{-nWUU_hq-f-DWJURP`d zQl27WA&6oeim2D7*Rqs{fN&5ZS#{fIh`yD~MTVpH8+`BfQ;Mm&&BImP6~-L0j5^aG zpfQVy)3ozqs_zbK`E~|qW&^Mm;_uY#9MEC?0HP6vnN>K~GOq}+0D`(!D z_KhCJC4n&(Rv9mn#X)1YPbe6V0(KZ%QUk}{4@mO@D8+9?aNrDFW?~@uk-fB$7sXt2 zp!w|&*KrhF*4GZU2Ra}M3VYj}QWz|MKHtfai+Y0e3ltW3vB4Aw3>D!D%mkICL6Vqb zIFe5pBKQ*TWo!)tndBT=V_XknuGkqF8nHO-5G{60g) zG&u(uh-CmrXe@}S1_q@3x5jZolcBo?Q$_;a;)i2~87(XzdbV+Jgc^Q?^|&fDm~?<_ zgKV@dltBUpwhkDu+6Yx*ihJ3}f>ZtxMYD%v~@)Z4coYVX8t;{Z2RMDD zTg)1GWmmEBB z6)Unp=FYv;i`MeJ4N6T#?$DUoW_X7Vxx;g|155RgZrH-b6_n_zbndns7gfXw@I-_S z=99|J0_L&B2^6Xa5?Zwyn{A@`IVZcMG)JRy$?W0-Nt_t z3)w@ClC|O?A2jfk6wojb9xGDU@ob}0k-J~OXkyi4%n?*t6(Aeq=T4q}O~4&C)9pIp zSEf#5eBe&@86Y)2iI~s8zYsIvw$^eqxWjnmhv}Q}f2tUSb*-3WW-;wkMuR?5)9r0v z9Ou#4&U9%!-d)ea4s}6STGnrj282tVgI3cC&_yYIkm$fQf)739>1{wwLd=XRA%_Qr zgH%P%(qwyK$_2my@7VH^p|k!hPyE6Td1Quf${;A+o^S$0-F(RJ_M`r4S6_TD?O&YV z%6-pqEsgmp%T(~M<%hrK?={3V{GE>D!< z6Qdlgz)g~tye8quf|t1kRD+MdJ(zzer_XqFmGk1A>kSN8E3+A1l9xx{J=D$mTzj@p zAHI~COYX-r8k8uhroB2}RT4rsWerlyZgzAys8eaoj5})qIxjE!>Nez%0X7^uCbi^& z=z2u*@yu7B6PmT|~?rr(PMa8;)g!;T~!S^(GSvD7! zD4Z>Lz!lQ%JQ4g)Z^ z2G7<_%0*Fu1J+ER>Ss1H7})UdwHPg)5uxe+sN=y01JWxWOf|f&n$Jx%je+k3W>#W7 z=`b>@9*K8d1K1R%_F!BYQSUV-a=1bF2v^p#J ztp}B6;=xa<_LK;f4#(;8m1}416L3f)yyQt}q+Z3vnxnz6LzA>b@Nr}rfiV`{npCr_ z`fc}cAB$~fkc)&xgR6S|-?8fzxBtqZVq^q``rc(}hND0B__^CRI-QyU>w@Pa)?JO0 zbpid?-)3wku=Pz7EtEJLA*MEo0eoH-a9c9UFr~jCiTg@|U>ngiJ7zM!zZhkDwx3P} zY|>n?wnU8)5b-njb<9JlRPH&`cQXOg(&nNH;yP4^rfb{hAI=UHWeBO_M`36~qkhEV zT{xVFR9dT8N6(-4+f^tfq%eha8OW#0K01%+w8AoVg3kqCA+O`<>aE#<(xVl7Giu)Hr2v53$$PF_!5& zZ7c3aH_Be+GJ=ZDwvN3VD8xls0B8D|b`r;)enF_(- zh?E-F7uPBqy|2Km`ntwK_%w$Z=*eKKYrb*u8<&vwkG!J0hws8xOi zBr%OCi6aE@)zx|IQEI7Nx0Df^}3U)$Ma{Vq(ZUEejB!Hlk ztBXR&vMCKZ0B{FEHhFbP}_@MbbxQ!45l|k(`VSj14nL3`&|Vsv&j&- z8tluCu*-ER(Y*#K(m(O|n<=uvnRs$b{@*wk38N?yVp=K_A73UuQX9D+FDdzAy!ObG zKIz(8i>@#TrmL&&`%Ad&K3RFIb@@)a&bk^y+J3z{Gqbq5P2MMOc4?^9fOGKi;sA!utAc%nTXqcgS${X|TFu*Ad-$sq zhFwT(jgL!jE@zy^r~{0=zY(ZSsV zQ`j_Y@9&!riaF^!K=j%AFmxR;y2`+Fz<1Ecbqc4qR8~d+uCqUFQCIj!! zqyY|7ahrSJ`_YOsRb1*0bHIHMMx+ni?0LhAQ+H|}Pt)Pmf}_%nQY&WJQ&H->yMx}@ zhfxjolgyTaJO{g~<{Q+@u^v7aB~`v!{bpJ=a*i_hMPn`ioukjeCjXMY-L&?{QEx?2 z#RUTaf!#NyKHVApc^AC;%+z>4D(p{}SXDnid|0WX+xu}B+Ub~1^c~O4^nE&$(8UJg zJ|G9%>4WnbR|<0kG~uTRrWrKChU&N*b?oZ3Rw-y#$>}zI(AiLJ=LPxpb*K0Z&Ja3( zyHInY?i{sF@tnvEoSIO~+Q@=)LGW|Ws{kBh9L^8ZpW#XMp$P>ALk^B7=8bSju01;^ zb+WvZCFO8S0AWfV{V&x8B&O)Ki`Z+WZ~Up9q=>}a$GF%t-|aqH%N@?Y3i>MT#4WamuUyCCO{98U~66ci+clIow~>BEQfU?0HT55-qbHZRnE_4xIs zpT{(QR_aV;4d~;jTD&f`&85&^|%k%7#goXx-k|T<|RfdLzW{-Og^G>nF zCI!G;0KcpZ1p@%lfVgiTi2DGM{_YP){w9>^05Gw9wObXYv#cynnKyES9RSA!)-#2M42Vf_?cV^Yyhs`v!kM zd}o4GG5_`y3TQ{SwKWTyZ6ikVhrBW1?HnMytb8!v@-MH}+2jo;)ANxy3)_R^_a9sx z_l~-EwW*LV1#*_;EzT@N3)TjQK|Cpgqw@Cw8-{* z0gD%7j@&%fd)!sa1U_wPYr8X6b-`mDcljod`N2HJf%6kPHvPB3J;8!>A~EqXE@Y{g z6CZjnc=Zhdm5;o3)YDI@Nk2HsH}g>zNCJw7ZiNdxjqeWkP?LP}pSZF9#GhXhTKIkW z5woMIloEbX{OcTgZ^rJ+tkQs5{rH$OxVLDf>m=j65&8wXe0lfM+GsIuhmHz&}r-;QS2H`2B zZ>WD31Gy&v5L*INeNfJW(B!4kiRy58FDp!VqP)CzsxDNtwVfb2#RRfEFa@!(;>zWw zuMTEDdL4k_YIuJ^2;hWV1$z;sXh$sG*9MLC*s+sJGUTUcG8&E0L7@TyvE$WLM_gzd z+b^r(alXe?#1gTqQUi|SYYdlle;Ei^QHIYJXqWsw7s%Tx8#`iGnH(L)W$8=-KGlVl zNa^eh;_j0_;_3J^{-_WG#Qs3byg!Lgz{e}}Sk215(Myd;O#))?1je?2XU3B$0Qv8R zq8E^Yw!@-?mE*rluWuPFq&{p%9-)2@&ss4S<6lsy2FE$kqJH!5;C@Zg>VuT)kw1u!YRRmC0Or`)p2zHSM zX{*H#Z@tgT2U80I&fqAoE9Fs0)CgG3TR{O6M?sbD(CDXrZxOVxg9hp7%h@Yy)UVyw zm+QjDn3tU_{IEuz>yuao0tD7hJPK?=11v2AHoNZh?uRQff;YOtM=n+QtyrNncz!&w zT3TK@kw!{ihvlTEa!9N4pI~BnGm6`hI#hc=TjU*`<{stQCFI!&O#p|^*9`x)t4(Wy z3F;Ik2B!}MKp+HrNaBE|Uzyqj2@MMbyfCx6_~>%8yIVL60~8hj-v>~Kp|9;wK+#U* zFL45t4Jnih^{@drmtb17xrLn4kJ-@{HQtSy4hi>s!rBrz@!pbeI}&oV>YR@9%4&-3Rt?=aBr4)ISSS5C@&qbP z4g0X$8y?t&eKdUcLrS5_{8H2G?GW*Xh7gI_wx-V4#xD58$2lO=gAr*ZrvJQQFW7>b z$5+3C6liNo>RU4**zIhUir53-gWlciBcUWcD_%=4(Eu*C_E0MIP9Zgc4Mv^*4wk|c z2;5&79n{8(?aeABAB#zKJBlrB?DwQ7VT@Fk2{TUpuf zG}6PibvZuRozRiVt?sx|c4W#Z}yFEE%SRdFO@~o_}lfTz7_ln^rr2Bz@q$-mL1x zy3x7J{>+Mw@#3(yxB7>d7j?Od&H0tnKN4HFM5n=t*!=C=O5sebsj4Bt;)q`}zuwo) zyT~E6%#@(?-DZLXJy&?4+o(-sdaE_1#*+NziNz(|GSw1n3v2yZ*HJN$c{X$1NOj`U ztf2pBdhI;z_A@?T_pK5Ad``G`*f6D}q4MTg95Av4JQQ!6C;)L^A()2xE9$GrZ)z`* zy^dQFo_J;5F91D*@3o70zuTX4eWVN8YrVZsi5mhS@Y=+Nx>^x%u2&p=qx4I?SDxMO zVKnv(e%g8wLm8i(sr4|v5gW!Z3=(r6AxhRH9*PIzD%c^^&=CB%gK$c*ps)!<5pCbL z_Li^b>?dvv3G|X<06G12uFT z;p$oSfY@f!F6B-gi~ct(;LF7hc>*wmu%);2vy{a)qy;0KpsY~?(H56dHg6afP zD@84{fMkWI^hehu1;K(=<*7!$zq^j%tlaU@m>nPAQ4X$f*3>yQ`uk$#S0NT+GW(Ca zO3K?D#t-kjk=wf>6e;M{y_QrtI;+(EFD)Gdg6foC-`K;m9i+aHh!Ma(kc=dkKEl&gFhgMbe-*`lnr-2iwxiW*{))&xbQE3S0fHM%uxaBX3WVzq9zXWUYI zvah*FQs?%6V(M0Ah~xCi@@Nj+Y8}XJDM0M}K0C6YU;rXQl&fWd^&*NfWZcj}LiZC0 z=tmtX4WRYE+py2cwd9`c>(7;yYtDX3p1=G+&Ck!~Dv^@ttAEZHXKN=rV&o;C;o%ae zoN4K6+Lo3(V1KQ4Ix+phnV@-`oQ+LjeTm1cIZVd^G91_k}-f%WPbi87eC|98%^s*fGOUIFO zWqs_!P~mRNUPAo!w#)8U+q|MXWEgBd+w5u7J_m?>f0q|c0gB}Dch~gGSKfjJ_=aEhp#|nt%&>QFTC@8 zXXC?ju6C9MZmEw8dRu=jsF&`$y>%`DP_H9-xfGyCUSDvXl4wl-cDmgS03>Ort59v? zVoJFfd!SncXu1wygF{piccW=oWnB;(+p(+A#Ol)DANVEEf^lo|@APu|=z()Wkpuw< z!4b0dDb!XsU$fYs+9V+x;bF_mSA=Z-6@c2!aEzAa^ZX|SFA55(Tj7y>A<|A|@WrXW zuF0J=G3zmc-r0>I8Wc{vCG^X(tx?dv0Q67!1S``JegBmuCete&&^ zzpcCFM_aYc=L1Q3ZEhg$Pr+WypS*#K>XV{CjD2elJSM84IOsH&Dv2f>5CQ06)CHK& z#1GHwfbcJ`#m;^B9RG5*;^h8D`Gp_l?aad=hSDp3#g$VJ`DW?L13!t+qS~V%?D`4& z?<&)Ox*h%V*~4yoo0eD4akv{87jf%>7cs3jIPhMofZZW;mNCGVW!w^KN_1VB61zV- z`yMd_ft7RsjY8UVRNtwacfN=>?j9-HVBgB&rjq8U1u2WO8TlXpOq%|`tswq#R~7QM z^OJt_i$&zRW&-9B(04k3%PL*F!Kc8FsWw=Ag|+< zKv%%B6LX}BDS?z(<^wU?&fZdtwya}kt!KNPjvf~2tN>!oQvg{sK-eN%y~xVI%& zp@0?9?h{-eO#RL6K@kzHL4nP|!GZOyKH&_{*kr6@EZMV1$&T2cR|*v9#pFA8$iJM^ z%go(8uUrY3hcf^LxGnelB02Gu49;09FD5l_xpiK=G2oi1jZL_2A{;cX>r}7lBEmkm zz`*5q3-$zVz>&wl6FKM)I2GAEe56RTd$5Tq>UvF!RgQ@Ut z^#89d6gYITj0x-SXUbfxhs0mPi^oZXenQoou-Zcly#EmWcSvqFv;oF{gvGvA-dWgDzmnS=r*xjbjlqUZ@+H!u?5xg zCN1pkzD?eInXvtA!7(UH8qPI9;&Ph2 zqWrm=%q^3m+tS>k_&4*-6)KJj!CRxn!@>UT5hTyfA^+MeAih!2M`%}elA@^%GZ4V2 zpnEJQhIa9Gb8+?qW@4@s!zq*TwlTA+o2QGTt0&N#Uf#&rxIHn^ zsOJwc8t)$$?dyLcuu5iQT_)T1C2$?8+S@I!=B(WQW%xJAD%#6GBEk;+@diw2V zUI8K~z1uGxapJw1v!9EL8;r7HZx@^;B9T!>EcA#fzFp!RPQ|L& z_g}_h`3kW>7ps~XyD#&d>ich4`Cw1?kOvH>sHGF5;wDaI4`xL8Cb(L|fdO5*4Yx0~ zM819e_fPmB;yE{JL9m_;Dx9UJZjV-uRdCBK3RbsLSi&f%sM}u#$HYDm`>Y8A(h;*h zPfSf_;w(@JU&Dk0?wAA3(LX(1O|{I2dZ*6|D#AVQCmzu)rrML^@%3G zEmV8uN#xLkoMoTPqij+ZDLD}ii+ZA(T)(l(is-B|_is(8R>tQb^X>xW^1%W;1XfEL zO4`Us?ZSEeaDA)_`1!pH^Lpwn;tEYHTzwo}+;Kyme8c3gu~x`^ERaTs~5 z{g-#Ckxz)Z>38{Fx#=7%xl}R|NM8c1Zk_SIa@LXgv(mqM6>=+q?sZEiDh(Ei$SU4I zluq@D5=*CP?9;0VJzcKs9Cp){$Mod>L*7F*l- zCEDjYB}UpY5&?4G%Pua_G1n#$Z%2!ymCuMK_VSLG7H{StMSdDduD|3`#Y_zWfhf z>x9XC=bKG^s7%hRq5)G5Z%a|m?X>9E2gf)hR%GbY0<-%i>Bli8(?VcTt7+`J->FQq z=*yuxHkRd8qFMUAIsQP+!Bs;W<)Iy0$m`~THQ1J~&GLH9)InZ152V^*7P=Rt6wF-w zaL%sm>!4n?aPwlEv#6`5BiXzwk6wsZ&m#&oh0UjOx2o8mMPMLz=}$oVTp)Y_=4tH0})g^L{2~5(D4@0mS~Hao;~| z5S+E40jdX_;1Q<39>A{_Y2-UCNlABZlLOq&X-O|McXKs0<$!tcJC;D~hx=J3?jB~A z?p`L8)J|q5xwGn$?4L8MOdcSgg;_CDBJ1_N&N@o24#{@NVEk1t1-i=ov#7(D@<7rv zgFMa7TT35@R>O~DOXi;a4c6OQ)RE~`3EC}{uW0UIjk>^3;(q$Mh`gEz2OmA0o|%?8 zRxd3G%VtKH`|J8D$9}7A1s2%lWyw6q%)=zENfPIL4se-~rX0H3OW@|>hcmTbAu+W20u({;IEV(9E=HXt5>V-|XQqE`wTtE0}z6lU0a3Cw)y0&4+eW0ji= zcQsZ0t4N8L-=7e>^0x~{Rji)3Uvd`i5P6@T{by%o+I!&}i@`jDI|)&pByl++i&ofC z+nGmeXsb`9UKP@lIkpG@O2=SYFza%pT!oa4rJJT)u|!@>n#{V$wAU8aE{MBClm{|+ z0FV@l_Af2q^!=?PYB&BoT)v$)=+t2)pw>LK%V`}=2;|8YqOMxJwr75h8RlgvV~@_P z#iYLZ0M^ehytj>I{x?E-SMg|may)m$EutbAb(j6ktdKutQ1}2gI`YKI3&wwXgmkkp zQLUxHQ_#7`@$>(%+AMFp^+7u|U-(HO@@a1fAFMsc7Z}^I?yl3aZ_)|^=orUTH$-*W zDm-mqU+LS*@HeZ;_j0m~o7L!A*m#&&JKSm&aT#}~;mh4Z|1l6QY=#8lUtlIoE(g?A z9XJPBK>p@Zz2+y5HP1CR?Z@c=4g$adhO|+|75t4EnPMr2&%y>ZT>dJesqmS0LyTxE#=>tDXfT3Fce44g8a@(f(q zSzuLe{+m)GzDiNdFQpYz=!@#WkT#^a;#D|(Up1dU*@vkH!vd2DGNLyE;TrQ>#n-lKlbrV zm$5=($WU_}xu~PU{;Rpr10ePvB!F}9cD?{5C<~P4j0}A1D|I>X-uq}DUbbS4PoRy; zOjiV)_#f3^|Fxr{h};|(GNh1be5UKk$AO#ORgT|)?YJ2b-zKN9C8q$yx8ZD5q1-50 zprId+0ALW!n0G2I-sSKEl>4t%FuYP~`|iWbq+x%mJCLmG-_nrJLH^W}di|K&GJE-v zq(}nN%inrZB`)^e9wF5WXBuKZe!0QNu*{k%V-2_Smm4dXyq+FEWE2vFVt}$O*X}ZO zkq!*RR!UP`txnC>|p1~)DoJW$AZoRP){pD?i2uhU;hUP0m%MUaG))!+pXVG6WWxiKjIcE zo@`p^_)Nd`#`$=W)2bb1&;++CuC4L5`~2UP)xTLO+++90eCp2hPipda@24;$U);$} z{w>0vGVZK{T#OBxu5#R7Zb7!)& z{H5&drF=^E@={KI>96$Um6ZIPrRD70uXr*sjz}iqeKSbJxC|mtvjs?zENtTa3B~Yk zgi3Ho^!iF!&R$X-{vJ-seY+Fu3b4NZ&xPQ8WJbdSPe3>$a_u-cLJS?JA)Tkr*H{sW zWKTSa>|a^#-xR}TtqxSuFZLk|j7y+L69IWB>(i^wilxW(99`XQT+S5B%W>mmt+X4? zv*XAC&nL5)?c=$g&(l&pPWDqy|2#=^oL?UR-mnF}8vy)|VF&pbh{b^s6|d#oqc#-&QX4R}Rm|%2pZ?$jK@X4VjE9q(jDIg5`i<_7 zIkc098QR^`MgU27za3#W|H&V29nE%~Ji}#{iG2NN8ju@UdykWH#hs4SNgA!#hF-`7 zGHOk`9InTY^^tid{v!h)2S%oWj=~+8xMGL+NdWlTNyTG01oHy&g3B~wYz*Roz17bu zuu^mn;jUA~JT}YtwqAM(^}mS?hnc(6&+B;Ns7(t;^j% zu`1}~+i^jCU#8*KS7A_|U0I9Mm8B9fs+w-!!Wh*MU5E2Jd-#{13=HaSqM~4`za~n_ z80O#_yRuzm5BSZ#>g}8#5XR=!l=+8$B=4|Z$FSjyn^I)ik~-B)H|B`o%>$}0Tn@8t z;~NT=NC`k@wwTTQ{m0`?Q!{Db$+4-a8x`^tynBHDTHk-E_I4>1^~1h_o<&P8w`Lmfi+VXKwFuWCwa$Uw*HZ#MI zs5?cOFdITRMk!(SNJ7pZ7Msf-7R2cx2KmFi>@bP9GatKVh{Rm1LostbP$v zI3$Bl$rd;0X$v}Zv!pnfo%Z0<2PSOe9)|Iz2R+rhzKtCc?Klzvj3~wE!GR}vkyH?K>Wcf{jmEROvCVH5HUW|pdy^D8{J|HB!sFI@Kp4xOtIRL|O*PcpLKyJZ^G5S>$Nvnbs z7gWvZu>?!tJT)OG>-f#|Tc$n@qcJyZvP5DF4|#}D%P!~1d2g19&))Wv&i8RGEMss? zyi^!_TObTFubQ;(i!$fC(Y<};g3_`hx+&Ki;GHS_zA632>)*g^eZk&}wruuxqj99I&$jpncu$r0JQ(fhZ=4J#3_GLH zyzn%`8|Nrn{w>fml0oNn;}t@<0yO_edzxX*GnV1K6~mz{@E-N2U|KW(5jzYsm%~y2 z5Ch6wS7_FUbSPOz+U$65gZ(+`DcFU46!xdZr-F%Z4rjyoc5Yz$o3X}_;0|(sYpVKu zN(01N1=hbeo3hs*v$=zt;OB$nQD}-zV{O!q9c)Fg4v<+ z*^Z6v+N_r8wupC2C&n9BOD9*W?#=Ebb!d&2qiHo%C{tTCWl9v9tW?3_jH3qz!(`Md zw$smHydrQw6*C1zM>Fcx>3i(gR`ktghgd5>a^vg{tUeiI>u`L7)k{ZPSZy~G-#C8F zOz=k(U9YwM&28syA{qcIC&C_RvO62#x`|978Gr|ZSU*2>p zs0z6MbErJAtJp34DG9jq{=)P&Pyd#TBd6=cje14nk~k=z5`XiUMV~^73pzGmN~e&A zQ#Ne_{LswUG*R%+>Z_ap7pE7mz1x%2b-D4+6}{M(Q*3?p{NmjEPnE}}{lBgp-#WXs zWpOe5cVWBC!oufozxAJ||Mlwjw;x;9;>PX&wqMVyTAVzn|F;AdERz9%cXI&14B#z5 z1wa_fd1Wl}J=-D0Jx3(2qYU#PEJKqK=~t(;2Pn4?wluGVst|4LxJGPPI#v-}c_$`7 z-&SW4BU@!2mq?9VAhh{jz*4(0eDk8DARR$m>4S1KECe!?D~2G#lA#*`%G&`wo+&A+ zB)T{}ksC+E4w*GW14-}NR*j$?4RlPsZi*LjF!d+^^ZrUER+6*icEmNrRij_k&WB_X zj7WQ~NFiiemR+jH8m`x-Rf0^}4OXdtq_K6GGGMImNbbsG@rPi)s!WY`;r!)t0cmcP zU=zC;q!QIH*Gk`Sfx$1+z=*AT0Kl-k0&;jMVCt65>)v0v`BF<=vv)FkYLOa|v20{; zpN1MH*E%+?C09nzYqVt88Z9akRM(Wsjp733;scMS>w@j0zyBrG?pYCNqGi(MdnKAC4S{8V+)a?+t zMqqKDo3Uk|QDbAe8SVjfb@sD>v28uF#aM*Mu_hsXmBt*YmZEtNF(t7jgJefGN8KG})I$;WIKE{Nf8n3Vg zl9(HmCyJ7|G94+}u+E_!xKDA`Bi7F1HXO#}kZR;He{OEO3O6-P!y$5aVC$9d#>dh5 zazz%tZfJSYRkb%h9>v@2Acm&gs|MsG3vzI*|s9d@8-D?nb8{*@jPdJ%y?Q3cCoMHsQiZdx)tRwOy?A z&MD=oo1+>gj7n$bl-;Nq88USDh~+*V`dZJ4&7VQ<7Gs^2m%BMlXXy-F8l`AgxpC}T zkqT!$CsB)_u==89G(F>LBS5=_01J1&WQVU?m|)G(IyV`hA+o9Ud5ByiuvlU;w(Mi7 z9A26hI$(;-^jNI{2HlDzNQ*H;Vi%O0RjXq)OxCC@`|BP?p@b02a75;-Z%qQ`??sZE7=~w%8!sKZ7Rp(4KK#1Z;sLe)yBYeAI=7NX zgBrl}PD+mC|i$mw86{pc0yLY)sybs z4Q_H5mOT8_m^w~AsJ^EDfAwwk_v(erubWC)8_XYO{Wa@mmOtx3RxBH{{KoRS1!RwB zJ8qlRuF9xMwWu~p(?BBm)R6~;Q6f<&PLs4mGF_)ht=3mv>7QOOUp0Sw$%a^>&9=oB z*#)~}-?wvioxzD|wz%Xo5A$`NV4h{CT<-+uxyHGT(P6weV1@)|I(L!_kKRs zXZlIcc;2rEgcz7$hAbRHQlNzGa1_QuOmcx95P$&az#T$>2-yH(6}lsv&Ou+gOG7k8 zA^ry!a1FO{KR@MRj_@L<5JGxHKmw!}4V1f!70*rzS1VS8SK`|tOgDtoQ6vSYa3m&=R+q{O)@(un(2$2Me zC`JWNdJNDod zdSMtQV?L5Ng-a;oG1ADRtj)U9O*-mPjYGTGE>{=A0xgT{@79c!zSgea#h=@E$w;Fl zOQAIFoPGHCx+*D-Qmc#lYm8^rW=8Q14(Zq`YKD5Q`@Sqv3RMQy>BuJX7nD(P~*+$^t^R2lO* ze)b){&(C=uALSqUYkt&6{YqevFdOipK5*gxqAgCbBW}g#aViQ?Nw&00MOsP$>DM%u z?7Z&7Pd?*&etWu|C6{QB12%Ai+x5||+Z`LSX&bYctws+ciKxho-c2a})ymqf*3(8h zzDM@7PU}^@wfA*S5A>6+d$9k}o(t$)vJ!o>cRu4fkv~+w1yfH(axu_7AxK77lpq zM=`HcuR~*YbujmpU3h=|b{+7(>b=njpJtz7pUZZxeboGIy07!S>UaBW&kt$8WxsnP zIl28S{>`&xjxK015U?IlwOZEf76Kpkm3?cc&f@d-^xo4VZX=l}Ceat?Y9h*Ix&ChNk~*=Yg5hPw)j3$GMlB|B{A3WZ01Kbd%sdTgNU2TB$cLZ+3zNr)%hO8|hFlK2iyb&$MJgFMPoExr;F5S0#m z#uhiyk$ssgAVF`+Xxe!kWZ}A6{8E#xSkzB0;%iv7czIh6=s4yUtjdj5#E2_bZ(EwS zFpVoLmR?qyPLq9JbV~!ZiE?%@Ej3J?2XR{~fU1Weq1x5}&|3=fA)%&<2&sC8NjQdB zPsZ^0>Al+`sN?Y4f|hi_QBkx_u_Gi3$SyiUOd+Z}QcGv_^=x7ZZ90KkGwHH>j@U;2 zIp4oQISN$aB?pcMBB7lz!Y(QHby=Vr>S7@@0dy)KP>BJd>RZq)f*gwTNU;_6s>Bq~rGk#d( zZ3J-d5Og9kG;8%@!LqQu7~EoiITr>|bfnki{Km=B*WQ+PZ+m$Qb;t_bJeqn4)vDFx zD^!{0AsO>sR#=#r5ct(ttMD$lvO<2#PS6)J_vK>OOArRDYPCG3oHijZ`$YPYh&$ud zAY12_d<13lItq`o+Gi*o%4yAkXTL) z&H8(w!T;ThbdrG(gmXzVc?3#;J)w|OmTzpm z#u|jnraxp3*b<#wc5h&DdKza@*m0VK+^_rSla#A=EIAFk7c zCd=1JY(5J+=-v2R5}JqkGJi=K7)z(`tKgtTik_LTME4ebHNqDR3>12dCLZpq{&AlA{nBpXa zXn|S|Rk;68`-G}ulsU51<1R0;WPGh=wU*i=fu=AMdRo%2_gm$vWKax*F$rE6XHWHV zq>KD4i>`fcBq*wnM3A37s0s&{RtV?K*L)`=hL>(UYJ;JEHRreJg>HKi`?>Udd*4P8 z^9Qk7Rf+g<%;mC%f;d(I7545KB^M75gA zl)cKgYK1)V)jjeeB+`J6%h4@vAZ>tPQcFsVXAh(NyiozIZw%N=X#H%ulaK&-@dl8{ zF1_b^P@q=hEoXVrCvc?*TtQ&#~Mu0tDD! zN00zQ>t0o|?FKsKh$caIaNpEiBZsa52hbW}om%N%5#H2Td(MsCFV|^{?nL(Hft^M*DF=x^i5^n+ zer%x_DvptT`tTfn|KrQ#aB#}{#dEt10>G}Xtqwl~<;uDECi(mpklOoXcvxMuOIYW4 zsl5?3ZT&$iwXs2zkZ%}nX^p{c&dKA76I@2Kx}c~Us6z15U2Q}v+~%ZoiWaa%dN#MHTj{44VExvK(=#pl9_8s}2(@T;MTci*jGOmoLk zJT-#R(ifu~GgnZNFy9;>u>+!LUW#N;UK4~?h(nKIH<sO>^#Rb%`miLdhqO2frc`zz#Kn2 z;>?MX1drUPlktwmeeuibyM|P1D$g`%-^IUTDYpTp)2)^QssnW_U=|Br01!13g*X@mNJd zNj@-TD(J~tf&o45wQNueTNx(A^Ev$_VjpLv!N8<6Av{@x5G>?4>(Ks9o}r;1z_O61 zg;cH*Xnr%e01_GXae<3p4+j(p-dZrgWKmsUIx2I>33ZtsLetWrdB)JZ_z|&hn4zV67QNKkwV3krxCSky-{Qb!jb` z!+ZSeqXjoS&KFgdClx9Z8>nTeyhHO&Yk*wRGcz=wf*x&xLZ6YbGUT(~;Nn)VJKT*6 zEss2>Mg-Y$ z&8t!+GxCk!=eEQY4D^m(I*Y;Fhj^g15>oXwfy0TXR-y+-LMER4YZ>1RO_-Sltc(rq zwI>ztn^XB@Z>=!CRjI8{OuSYO0!mN2!a--oAhp%b>@A2{`kQ`wx`e`x_7jwj(mIn2_O7a_&q z=9t)r?#O3v(0V66Jb!``{G(cex5iO_^t-trqI-d;AZ!?_-AF8b(VILU2bgsDtf+1J{VBnz^I{G-}p$gA!!=@yTNlp?$2f zpg_hc+fm32Wyh;dtb`0|ENlS1*;${aUQe?jsfL(w5(mPvxDS21)DdvAwgMmxY(={z zC~|Q7ve4Ek)u`@Ui2YEWSwLTTgttmStT3i5+@y~!s1S!+67Mx`1(WhJL6`ccPB=xf zfmWXr?1VHW9;?M4x(``0eBvgXBDr#~dTDrI3n(+Bno%8nWh6w5-SgmSVC92X<`|06 zyivBqS%ZW%)`Xf4X0_!~)^Eh!VI4cS%Q+jPmXECS; zEaf{=f_aoMZ9oG&$;VYF5%{#XvWa7$D&@x@=&rq;Ca3edMIKzt4@+NCHZ_;n z`shX2eV)o!@ebnZleXm)F8rK6-3-(dL?Yd*Ame^o7h*?kkXMqN$fD3E@_1;)R$c6Q+nL}dY&nGu41loLK zzodXF$Wp0?7&CGanLG@wmIf3kY#YT)KPYS#>pdBqh)`)qCck?1hE4_g0Bvt{0~=zm zMF==;k(BLn$&9KAn+PoqfPgd$YN+dM=HLWd?W_j|)kGj;t&70@LH`%Y6|snTOHz1+^a&2zBUKJ&ayZ@3pLPQ zf~^Y83A_zF;URRd6o^STk90r!6EpSB(bg6L__?R+P219%1yYA5p_3j~Lay7K&j}S1 z<&Z+@Z~FDHSIT(4=-D8fE8z#m_Bq|p7I`BcpGg?e30;@%>@;6Z3)V@u?VKRgP@_j4 znhVt~DHxX^*me{YfV2?dqD|$gnmJsHY<89T!Cj+?L;$IzmrcIYg_ET5XNi9V;ymnR zs>2#sk+4j8vVWe=2!L@`(A#dW8U-FqOF3D@5n8GnUkn55BYY0ihpmCfIRaLTfq}&_F$a#ImQ2z#Ie)8{1X8kx{9hoeM)j2S$F*!v zb;0}b5WJ;i`1aeqC6+ZT& ziV+jkQyl-n22(RDU-`0TBIgOX+rz(}IPYa+cp8Fz9wsNh0=lN}mCw_pCt>0(q^uh@jB@C5h# z{N}DrncX&r>UYT!emwnxdla(-Nz90=g*N>3cQJUf4vMaKnJgb3@)6GD_DN3-deE~< zQMl%j1oIMN!}?iC(A=)jouNUkA6Vz;RRXyn4_3tB@y0??MzRyl*WPk!9KGWTxI|oa zg|ojl-1dgfyQT0@OVuO}hl!g!kt+d@dqAOQ+~wXJX6|6&`jn+d7-Hx+KJ@kg!1RTp zl5*8$y!)6PZxTfzWlJq@p#~CgU?^Uj1yrm{N_=I-4VG@+ne_k^G(ravOh!^9=%{b0 z_I@=j$aADPET|pO+~0pH~T z;u^hECfLvTsoBtE$MSrATWRN##Vd=QyZNK0!5fY~?thT>{L9~cMVBUraVT8<)J$oM zYW}Xc-~Ra#12R=BU>;}3O93*F_D%_H2;{F?#|_niErEfN5moKqN>I{ZIuT=FW4MA6 zOj&6s1D$PW2g1V5?EvJw86-Fm4V{Pp9lD&Fu(?HrQ^+_rsW#Nn!Yrq2&4B}pDiS*F z1SFTlS&H3H2_3Cv6*U%bHwTI6*Ct^amx-YRKC~!7W9k$F5T}q!L4E~|=|yyHcy*qUL9m$|`(eFPaFLetUgRoglsjdz z!d~LR9(XQKJz`v7C!d~8nDaeMwI+m!p&SSu*Qt!h7(;!6Q{jvATj63Rt}wYAF9Xy& z&2i}fuos-67)oRT)pkCHSI_{DR60^`FYOJd!8Y$V#(by6Xf~vJJE%0RbfddXciA+^ zZ+Ip<6OR?!!#lh+3MFWJ{gA@p2k)SB0lh%k6CchN(NwkGmkvzy?FO<` zKYq4r)S>nC!FRF-a+kixec&@k)JG&}i(So$OP!oOi9>jVLdqo99jWMX2K z2oW;lz)-c8N{=?TO8}eJ0~e$NHgC3<==k9OF-n`rqeGej@dE(KIVNe(Y^ceNI=hI zYH$(A*Tvi^La1!3qun+8Km?C%a<1l$E zoyoIk@SUplO&s1O)5ZB<-jO#$1K&`H=Al#4eVfTQ+nR*hC2_JVXDsyZ>T#S# zi=TcNl%VvNKP-@Bbfd6vGJ3B`h?rBD(B^x#nE)C5NpvBB7{k$&|F}fu5Hp803+jXt zcVL5T!-G-nGJSU0;xHD4_rTXg#r8Xoa;YWNcTst&s;Iwl*E8io?sZx(VfGB z&DgEmjdsbioK-Eaaecj>5*t5OL$+@8ynt$mQq}d&OP0ZA6dBCdCQ<5ZMwm6yl6!k4BQ~ zl7HHwR#%GzRimgnX-{%yJXico6}nH0LsOsW$y43=wXv-GK;Bcro@EboY;jr#Yrfz1yx9(gWuz( zJ(bXkLs8p)Z3C-6(|X$saQFnf5p?rq#WgCf3SlO`HL9ULOfaDjo~X8yx4@lqM0gz~ zsngmdQ{&w0Am{{INsrit!qQb-z8GP5E8YtjxI%AVST{oxXv3J>7Vj!igPKjFK)O3F}n{XJ|$-= zytV+qw^&iZWG9pALi00V=8N5dIl*swJbgt%Y<84zj~#%WvF9>{!!lz)#cGb+N71%FD@Q(BA>H@1gy|ehtU7E-AvoqH`!33=<_>6Y!Msq_ z6*iL(Ap`JQy1GP%x-~6h4uXCgFD#g9S={FX@k{X7E!b+ZD!UAj@Ez&(i>U^_>Dk#~ z1$W@z#Dq;qCV;BTy0$c5ja+MD>s1_d6_s2GN(KrxoPB&@_eaRGXw_W(gh;*HT)e?@S6a5%(NOSa5e!(FOGM;)hO^K z_{gCF-1RBKM;fBuwgd57g6q!i218_ULRZ-l;hr_$OqNL!UDuWS5MoL>$dr=8<|j~b z2x7CEK2T0?Ziruk)7e5zQ$=t3zXv+eNY?2hka%e{hb%k{>-ROfJzNuWB)XdtDYDcCdZqk7Cuf?xWcrIFCg>U|rkR&N05AWb`MqDuzn^V9tt3yhwthQdcD1zj)F{W0D8~&r@89O!wr$> zT~PSEkqk8QyR0Tg9FC~etzdy0q}$TBa1_XYjhM1p0z*v}a4X|L&_rOg$qt6;^!TG| zl1%6#AcTCN$T;`JKDibCDCOPdQ1HwP5O1seS9=Ha+HjukgqeC590x(J##P zGP11@A+ErwF7o=D+R6z1c*m6FQU@lvrB_GO`;}^iZ?;aIO!k)^g71IZL2brOGPkP< z(*&83@%akon#i@0!6ZhD4*{{ot`0Wm7~S6c66LlU_Es}Z1Z)^81OTtAkcMklNo=Gq zzBZLd-&*y!q`K!QUx!Ay8|+KdU?`Eg88cD~={N(|h=@2Z2pt%D7?qvHfkhK-7u&8F06>mr=K(M^2f~O%{1H(IC(Onu=FlGYG6HIo?H8S*E+-sRD-l$GEN`< ze*&YqC2{{e(Wt0P62;b1cX_iUAtf;(CX(Q-0rq<_heVQOHg>a>Y%Qf%-@x?wF)Z8g zz&{UdTP;_yab7@?7K=_OWP39MeYVh(3Vp36SJUyBE&*LHCl~%bFkmuD-z>9r!`oKF zw)qw1);~Ox#A_P}{K$mCxX-wm19V;!Zj^sKI#4>VLduk&-CFqH63&|JW!uV?tMd7Y zjfvvJ0%{%SLl=KZoT?h#sEEx z-1)HpaN0}Xs`1_e#5?}F90gi9j+Cv9?hcr$!-~s62T+}I}Ko0i{Rm3IuwLQj#O zYVuo#TEqy&Gj1!AYAwOY5h>)RNI}DHnj#4u$rZ$>^bhwe{nMi?m@3Fl739FsQd%*n z^Vf*Dop}d2FKVn-Vw+8&cXn4%S+{#2y|8>&vdw$06&thu>l+jDy81S4WU6z)7eM^U z6CjtXNn_u-tG52h!FZYL{s2ooP(#Chdxg0YV_jijZ=yRSgVUx=8)j+5a9z+`PM_a4;4)nGO;c)EfFA3n%WJmFreoR+wY87@xAiQg_$$eS8S(OE-kT= z$wVS|Ot!2GN3RY>=k_N+sUQWrC*-DnWiH z8ZRfj@WDD3!&#xSItJef!OAi5YAXc!prv<9ZFaaCAx|KHw&6r|5CHUW{@Rz1Yl66} zz?{dh(7X2uiDUb3&WN^so6+u&>4}R3i)yCmzbaxa%$AC@0eoCfAA!k3H5k4)J(f_;r? z1qNPjP)=*|F+C2yF#A=p!A3AJNe2}Tj4(E~Ug%BQnPt$uYU(~5&YWvKKmFRte8DtU zbJ&ysOF*>0x||!_a%?-P8-=XU7JA^f(Iq24=e@(8^htNKZ4dVJMzY!RML({Z4EkNO zGTGN1oo8Q3jr=(jBcz=}`TIYcK4#K~(bQl&(>;sPIQaD&q07c4F0k>i0)Ok(fm;SY zf-8Li0#eI=Yz~M696-CkH)0U&X|Zb6`>k&>^K>Z_;MVFaB=9{z7&g#8y8I&`2Bf2U ze}E2jG70aC2zZ_iLo_MXt6vfl&oA^`~!HDq|?(40)SPVa!Ym+QX%7HlQ z9uZ?o9Um$y)ygDb>&Gp0SfTali*dP1PQeP%bIH4fAU4_=z1|FU9oCNO&}WN2thVDu zW(U8wnODpdEmPSB63%cNgVkjiW=Gngi>8xjxr9bz4_GX= zFF@0weY75vBuC9($0k&`M)ZID@pgT+YBAUb=M0^9Gn^c67pf~$0&iBZe>PIlGmIyy zstb!_tdvm0H^$VXbW=+hQj_$jz&7H@c=^6S?`Bq5b)-e`8%J=d)IvxC6=oppPSZ+L zI;YUiqN5Z=P5Nz2$~XwCX~xT_(yzDLm?K#C*|#hy8mr(MNctq`R##F#p;~3IEma&4 zQw{zYCZ0r5yva3d8Y#c80@9yzqD`pL0TQexNVJ`e?-uzaE>#hb^tD}!#M{%}*-d=Z zWjXOJQK~-L`gZmtc2%wI2?#td*IK}!Mov$n@(QEY3o8@yt5BxX+R8JCwQR@;g_B}I zGN;aiv&RxjWv`v1J~RJyq~p5cq*IS~w@}>+(JeLBClenWE+!0xQ)-url!d^l!N*CP zgNRKlh$b1%LFPio&>K%v4T_)$2(h^E24Xyk$)(asi-jZ!$d97j>|jBYmQ&r+jVN+t3yVD5Q&$=jo8POzQjptXg^HL}PvOKH`H^QT0~<6dD~pG=4EkN_|kMy}WE$|8B2GhrL#pL}aX z_F!N^MV3HAjx*{qD8@zdOOU~(Gg$YXW-2Y*%?;P!5fbk5TUrN^WwQPYBXFd$tb%=9b7sPYn35! z^M`6Es5lO`6cQWrW=|HGqM!V#3%Kqgte?*tdTnTQC zGVC{V=aq_cOo67kWKkcl>>_x6BBSjNB4mouGUfdBq;QqC+FGUVqzC&MM#-Q6N`lTP z^)?ak^Xu{LeIX&?Obr8HLZcj-LN;a(VG1++6iw|H+%r0oV#;6HPKtls-jedh#<2#@*tLp!$yU_r?Bp;J9w2$syIzS;mEfmv&(694*?tjWC1+ z5uN@ObB3Mddn`NV1z81wZLr;az>IjPN=W#<*`3ED;-=f-+$BzLYcd}Nd?7}}K;Wt+ zM#7>ucIm!2g=>0aM0`jlU=8Dv$m)!~mcGGFXwVF!IX)w8f*ov4GpQ9!`gcsnl z=AuKkP3-XKltAT@r1ReQR6em|cy@c3J2P7pps0bFI32)a#Xc9_#vk_>`*x}Wr2XmF zpzd0Th z&eU3_h=&yRCLhS&Y)vcEph(uZf$qW(T5S^jur%L^opCIA%>rS4h;h!VHg4~&6F~w- zxdOs8C4;)7oVN7(gQ9rMhGkhB9U-<|lP3xiA_|=mN(Oh=W)3PN4f{|Mr9}5ec>quZ z+eLM6c8Ku2=+=g03NrDJ9W+q7@9nZnLw70YltZs#Y2GG?2}w zg)HO5J-f0K4e8i<=AFUb8qd+Vh1HeL5xkN9drmz7m}{$e)oUrPGX`#$CF1~lbqZx; zV1!@cMa6tNGC^TKz~s-&H!^pPp9~8|w^1rQ4VwLfT}y|HyqJ>*~?3=j3SLb$1TjAmcZbqYwf! z+vf$of>p3kpT~?8%a;u{{HHN)e+{Fw4p>X&n|8;)gEH82DDE12p0C26P1f3BwisIf z!+xjce7Tj?T~q*RYVbQBI`6y;8y;{=#9%wB^@w#$4n|qC4`g;Da{vKB&cZfPiQo|{ z{f|J#fvBHi9_5P##G?xIFtKRwDveC&hh!m}^`Q&7Z;B}c!A6vLO^UGdb4h{{1*Xm^ z^~P!65sAbPTki3f)u}((+vMOnp(H5+2VptW6JQ*Nn?rJ`z|u_pp6N4AGxMPtO=Ab7 z8?`X{_;ilCCeSCF{Q&GJ)5}bE{44ax20I*T=ARVhRuL$GO*W_g#>Trd)2pfqwWPcj zEEpxJt@XH(@MMRi7oNE=a)oP54d-dG{Am0bMvT$Jp7cSf2W$+4(R?`sMQ0B>V@`#g zl76NjTX{hW@@?nSQAj6Nm=}{|@nq_{0&R6Bekg_z>yYLfL*tgO>+QWxZEW-a=f{8z z3v^P|0|mL;u}|(xa;n@n{2Ht~_+9gqp4dL_5_!>1wiI})d!kJjWElBuLIJdpLj!Lf zok`xCct`Q7eTzHP(2~)kNq7sh*lI~6+-6&icLJ}e2#Tg=5R+2O$GuiVYSwfR4ZHOP z97q=lPKP)KDf9k-B_Z8$qCR5wqapFzOn_{M+5QyUuOY)BPcXDFS1c#4h{J87$h?ox zL>^%v!|_0mlaI9~EMxcgH4|zUq~X4x5V`>#ZR$Z-psxhHQ2?bFy51O- zegxe)SC2h}7Pb`i0gQc85T$Jt(on`INPA9uh2A`)MmMmQGPN(~NUQ6TPk`&@15GWw zM2b2o9=z8T@&pmEFcwrAVFfKZ6-JgC5Vk0snL2{-M>}e~c75aR`E3*z9>mBPh$>8l z-4kSC0rR4J_i?jNg3kmGXP#GQgXzxP_Prx(w?)a(o#|E}u5d_(`h&S?6Xo7p>bt*s z-p68+sb$<=I5Zbr%BDSv>GKA36YlKEvk~@XOK4ULV9{d`b*ln+6B5KjN9ejTS__*i zl=lyFB^EjuJrUf2$GTEXuNj1>acWo8BfKaYlk&Efcv74|!#59M8s6Q7OU zu47Y!RG&+mYA3nKGJ&Zeg>8&y{1eA#jKrrNfMBVEtKO|XDa`5$ z1VZg@pHhW0#*C&U)3lKY%%O;XtPj^!Gu}6y1obK`>^KPg=@^>6Z>BdVG*7T&WogVT zLTEu)e=|Yilm=8KiR`*F9H;620Hg3{lU>*W%KNA@gf6fAAyiXIW4xwjF@vb)m$`nqAn>4m#$g9vkkx*$~KWX5#? z;YW}2<6DT9aP~t)e|z`E8UlqHKGhmA9GB}Z6gYHFtZH&dvrh188W9r-GBdBvA%Yfl z34_Z#!2pa$Kw{DlL32QYIRsxuOdfi)FlO`kYWd_5pkwm~H9y%698ciG!A|lJV&U{> za1TzDF*x+Vc1myKmr7FS?p!Kx_uL8!D-#{^lex_!b4iG2dQm?y5>Ris`IOUD z@WvU@OU;iS%gAV&Z8$^wknCqR2PQ*-unfgLH_9Ra50DiZ_vk11{9Qg%Gs0qg$|4BN zCOO!%k2d#w<^CD|Wsfl;^P2oxAWd0-@op&|y$T&IiFlznl`GjxvR%rvEtI{f6iQ?x zinB5v)RgXCA|Yext3hv`M-|^ARg&q(+$ph2{I2{!B~KvsA62z4RuG#C}>Im>C{>_y<0PVHBK zyY_^IaNj8(=Mbie6)YT^?I1!I@lKyqRGo;;uepCe<{sBIDLm2UCAsG3)(K5D^H4l zJv|t=wFN$NGdKq|+6fb?Jnbi>+I4UZ1p3Jk~Htj^nOik#BX0?P%CulOWIHxbDboxRmE!D)N*;V4800DziDg3zomI+8) zwi+21Z7FSMPyfE-E#&4t{kh{U)aE{&vEv_&4TFyP0(+Pm&(>{#ni+Kt5hKKk88K;gm6AC05dx7i9;v!RN>u=#`9uYJ1}M;qhQjb_V>!awG*6%(MUW=) z#i;+hSTZbYbc#=27tZ6(^4DD!2xw-2j_+4Me)gH=*9=T~z7^}jn7568XwAkkU_4Ev zlY`(poYBefIPH_(=9vMy`unCxcS>>wdkPb}@XYW_(oWB`w_Ni7xw+`X9X8EVx;IGs z&krg=vRAS^VG;)u`QkDcY{ZS2#oMb0f z{IsSjx<=lO_oV``z2_q2*AhinpeRc&Pd+c>k29&G!fDkZdZvEwg(;$z{6Zee1Q3i7 zlfH=kOfe`;FtC#ze2tRI!(_WD1sj#!^9(rW2($t(XY#lo*wAO)4K0-Sod9kQUPZ4* zAqL=l)+pvNE?CabSnp8!#Ga7bZT2^r;etiXku^{R-rBjD<8VFoS$B7>2|oED@5N&= zGG#A0KM^lYvfn-&~4_^St#KF*-)+O-u%{?sE~-Z2B+ak5m!Q_CX{xro47^MMI`;6` zwM9+b0pZ@j@TqHs__s7CCaHXJb+NPes(|y`kre2u9SoI1ow+S3CV6zMa!4?yC69S- zK&owSUy?~SV56}cZyms9sXwzDdbu$?*y~gdfSU>xD09{K!|P7;hz`S!Kw?Mp^Qym7 z72=bX%`xLl9=e?6gEyg9%zGw|Md`vdp&8AWl1#W`xCBP=Iu@{AgFE< zLc%hRcWL@xzGMr%^z@48$HZexTgXrI>pb^G$BDFXJ{*E_Q35ITV>6r41w`D(nr735 zB4U$b(})Y*`18$#QxVg2W?uAa;mHhl?oMjSn)9;fOeZsjNQFX2*TSH((6--!j+?u> z;(c6oWQt_pivbiNY$mnt{Yce%`zP^8s6FLk$f5c9O(bxYOfLpN-rdr(q6z z9o_sd8u$dW3aC_)hdm7RmVT^v+do@PoccaME<_l~t$LK`uzLPu09f?V?tz@eghNa) zh;9uo_ayJkh|WkUDsLXM2%+J9UYZcrFDlHA{DVT(iZ0CweBwV$7;s)3j{wM(+!`$f zIWBI6_PS1hE%8kr98-BJ9CAh6k2y7331g8e_Jx2rvQ8w*lSMS3*Nqkfu01q-+$!Tk z+|O4|rl#4v-B$$z?M@+;wD!9fr&5j7P}{1KL`mczWCa&LV566^MS!m=v?1RGMwblo<`%w;+1^RZD-C?#ugr)U>n2m&9^g7XV>V2Ji*c8hC-ga;JvFZ+gA zFZ-khT>26AQeMrGWd59q!B^Ynq1+7=-^4!kaBmPr;HCD4$kPutI@mwumPmJ5tl4G8 z`?~ichjBqdnu8Sv2I!AE+P}cNZ#7-DCza|yI(BkAlPMx5CRvDP$&A{Z)f#FFgtnUJ zYp^*F#ZN)oC<2I)6ZvxI`Qc)&@lopr>~i5=GTOMlGu8Ct&v4X3!(EEDQ$3tChAp(i zsU+quRWtGNQ2IDg$49LOjSn%Rv?#$@%4X1U?et)I^4 zV}e9*rk}@5%yQTfZAHidzDOX^pwR~dgxembDc*ZT-J;-}dM18l$8>r2jGc;X7wMhR zLIG$1USk1RayNHga=U-s-vsZPdPBCW@)O-dw5^E&?UYJ-3?2ur zOi?|;f%hX$xHVxkBREpWX&PwjNoPWJtqL;L#L)6!1 zZ9?{0HB)MM=_?}4QL6hftze%RkLn9~U~EVjd1M0G?LgF`orceugZ2--Gs$MIQ`(2E zM_kBS$SStSK((T4%ku@I&)CnwTv=HkroE6d=K0gynXt&*mQqTwP&CLeRV@z7nteZ| zw-fD)KdlQFP#fZ9I38)t!iFMw(qujK3Y&O;i!96y+z+EW?p@r<3>eB_VTK zdgJ^wSN&M*E^na@l!$Z9q9*%Ys5j$SO;+$s z$MmBJS;&up!46xXRL}bLCNkeWoKW+<%?U&sfQcZ1ZDU(p628r2uK;uu)K43l+0qwv zP0R6O!-f}#!ui;FPt-w5EvUb-`4!NVas|4l_#MuOAk;Oe$*@opv%3CZgktHGov`gpOqiqXn zVTXH>i#55l1TKBNa%tiK-FardB$5Z5 zUEqZ55XN$dfLT#ebviP}<3^BRPA>{j5oQf5cuK0at>i!ia;c74vHvJZ^7#gxfoU?= zBMuRx46(5Z{%f}Z93(9En--cJnlb_)|NfmWAxthd1wNBxS|(7qi3BNZ4ca0USo?y0 z_9Mk&d^d6Zh(eY%D{!UA&;6T7v0e@__H0?x@p|+emo=Hs$h>3oT4a>_&G~_-r zK=mwOpfO1W7mV;yUyJob3(zI%o^~YZ%%BTQN3}%>P9X&c)QR|@eN-u;o}#Ad`;&Hz z47U3u>>&b`296aq3;23Y$Tl`{nPjLmBn$J!pFFYsarwrag5ujg2U0B;&-!-!M;KjY z#&!P`z`1TYExG|+3AIaD< zq#jhe81yUWY{iFqvgwBXOul;t(~e_G2mLs&7_LQW80GJbp(I;uu)X}5KwQGsnaQp( zJRwpLBnnrAY)!JPd7lw)BXL&jYf@TG6>g1soUm1|aZOndDfhcEBb;g!1GNLszgG|lMZnF8qF6Mru} z;x$i2@u)R`M9@MJ;DHwv?o`EA&r47zL*MkhRpWr#TO9yL1&iW53xs#sAf{JmP~J(y z6X8xnDn!9XJ6`xxq(HUP9Swk&ZfjI@m5e0D8T-SS3(2kH7 z1FQyW1f`H`@u8M-I2rci3)g+%YsuV2-Rtnp{EH`#s_&4jR)p9Ju(?0rwWg5eN_S30 zOF8{j715gu1hXc3KQG>rT^NG1`51n2MkTej6;JXUMem|r({XA~_T1?VA3b7HB`;W` zfEm>Q@N>{QuV+p?;I+?AC-sc5tX!>vZRd>ShS_HqiA0u|;5A3?-EMFMfiVOyrXL$3 zP~TKcrfZ%j2Wg(*0ra!XcVHFkab={hp?Y>tH}lFWXonanmQl&tevL35BaU{+Qh@&R z%5F$rHSv!i-*@V*l&Efq#M&n$MlPrd45HjEpxT+=j#$8A>FECDR!EpP1)|l^`-+Js zF138ceDLK(pSyEcWgvX9G~n~asZ%8-AoLf+D<<7|Jry80;OZRQ-|#Kx04fk1W#l1c zk%*sh^U59#EK6tkq^&qRxG^k+sSTq1uSNb0vY3{*R0UdZB^+CteYmccvjZ!- z>(w4t)-*Kjp7J9E;Yty-Wo;{x=Mu>%BqcL>>Mmtd$-SR~@#8S|O?sg$`LaFVQZeH) zvMP^!;hJP-RPQ*9^{+S_{X^BJFo&e${1=HMjw(HenLIw-Z>$`Q>na$RZWcs+* zHd)0~&;^a-VCcn1YeCyEAjWPB;gZ4?+NY9X-pJU!XinuE=n| zk$@tshhPZ&nAh%XAR+~!e1C!n?G0G4gl8ScP|9nU=rVb$;*U^n180V=lLxbNVS)z} zZOJ`5nFz`p#!;n=1TM3TaDGlm&|8V~R37a8Z z7=C{9M6*be)k!MLV0aU;r{PrtM|7x3dIdVzFVW@NOGnDd*CYsMXnjP9Fg0jL>*`NQ zp5vTlu7Fc--|D4DVlJr5sh*V+j7Iv009NI#d#O_a;$7Mz@T|a@xxtax_nGL*tdw=s zOF&3nbwt_*FzzfHDB%Xo`~Tp?h1drWa>eFTv~H~qU{1Rc+aSdX_B0a6`y6^Q1%8yA zE(VCwKr?+Kp%p&P$bb2Ywr$KHDV{b3U&&f0;7i)W=Ix2wky_mb?-UCYPg@h=;RSJt zN8f_4{glkjb?k(MVL3ORjGBS{_m=cCY0;2|!`zmcyM0{J-HKl)xpx5ES=BsW0Qc>i zDo$BUC4rr6N0G2ty6+SL0#mBj5-9;hdZ%$;yY(sk3vNA0%5;z=&j@t@+U@4*OFkP! zy3qfI?WW{^D0Dz@=%MtZZ{x_D>)Ba9bu&30L7I&uFSN2D$MI?^mC4Lj;#)k?NuP7R z#Ej@GWZ!??0MU6_c~UaT2+h3Dw?OjeyhsCM`Mas-11>P;y||i7cv(Q#e$Wcqr}8&x zmCyo%KL-9ZD8s#F&UPX9N`uF0QQk+cK1($yU}R| z=Wd(Y{xrt+Q^p)BRp$b|}jssR1 z23JL}JdECJ@H%x5HPXzzI?vrg&-}v(66#z$8f&mDQCx94pPQD(gLLqqD#-jEQfzL} zVVf#C6K2)u;b=J~IMHsW;!K}VQgnMTT!3Uoc_&P-g-C-6z3^bFNOK!z@Irm+a1VS^ zy`7*Ry^r16SgJ9d;CpV?a(XT!0-kiRQ4>f^Bl{$m4IO|hXnNv{ppRlTZ=LuG*+PCW zOkgQX1GmV__uN~+QfqkZVybx}N`^z{%y@q(Tgo~=pBPQsv`5pvp zR3nt!@X-KC!FlY5=PWpl3qAvjj_`Xf6cx@ayiYQ5DRJO=<}u_PJF6_P#6lW$Qou(~ zcSLwHRT!uk*p--MCoV|h6(1b)_qxG3cX|CICKc`0IYGWPHI7afi!+HDqPTF=_vb!g zgLfSC=lc&~Sb6Z7_Oi0ib<2h3Olw(FPLIuKLnCFha%L^Yrt(tRw7=`~lFPV|HR}yN z`}-}=lI_iJOb8y-6$OuqKjqJH|3n{FL7HZmYHyUHWnKlkINYBc+oDKD!06ub5L)O3 zHMi;Hm-9MT4Mu9B^yxw4r(b95w0==b^3Su#w!Xxf_lT z+7(P;^?l=c7MU^7xN-dWHKXaLe(~L{*D{!*6)EAl3V-@nZCOEHr;e08+D$KAe@}*y z2^qYN-kTG3YAj`taew4OvaK#j3NR4lWS(28!MXyh-i1T^qjBN|xX9rLo&DPDjLra8 zb%Y~RHcmrNwpJPA?|Owz6SJ9ia&?Qr%Wm|F-Z)L)V&T8xy|D7Q01Zpuf7rb0D@odJGXnJ`|mHLK@7hwSU0A@VNTt%GKgzz_T9A1XI*$xV7Jv}r1 zyb~+n@v*+7Qy9>Uw{o8batL09*P*jxdS@Hpokqq1-+-6l=@?dS!_a8p&}%$jQY(7H ztC*6){8?VY{9THNs&2lKzmAA`ved3nVDhQFNR49+Mwz-IM z4&S5QMc2B812FV!*!HNy1FhK2Lm2yy^jJOr0bYdvEG!!Nkh{SI-Mu&XRD0)G@fDNQ zpm*}*k-0%%1=vdl=gJ=+5X&r^3KC}nV#<5+aDl1@eS)XDm?)qW6&~_&q3&o7MsCUE z2fajYbC8fdKQ`geU+Ct&%%KY~zRtZ;=WNs*<1DCdP=m_r#kv9?yqBwS8Fg`IgB#-` z`paunn@Iw-V{rhK8=873YSH@i_X?nMSl;#uYrDR%40{*tot&}`1whe89Vq?^maLOU zIPK9eN1j~%k{5%BsG?|GwZtSO2iB7-wZ6WlK16l=4zT< zV}nu(_=Fv*#G@$JN?2gmEM?9t==3|Lfn^NYVjM=|`ar8sACokQ`x3u@IQ;i5FkZ06 zx;7G@O>K=mSXD1a*^IWDELXY7AO+ncM+r+TaH7ryn_IZ#kOeB?tFb|JFB%>b!~Z}0 z`xhcM=@l9_f(dKFzv&xaAkYgN9!}sB(&09JNKZY~#0z3=fg)S8+O#Bvp2oJG^ ziTDWE9NBh~Sxq^t2Ib%20DD1S`pgdrJPjzX2+u2UxXirzZ z5FYjj{kVaGd!6Zm1|tNXmf%$pSYU_AVV0{9T1&O4&eOMKi>P{-q6R4H`K0{k@Nb6g zWrz&fjH(EZISQ7F<0iZ!49DSq)dFdhq(~5~n|IqK0A41Zrb#J)r*L{drya_OL1Oj^ zE+Yh`GU}Dns!WN@WfMNPdeXC2RJXOJlDk9-oy8oPHr_z&_u8r=fEIEeg{TPW2Q$kt z2zvd{nj!nRLP*LzX@1ELxFQfOC!|n+m9{oBi;d4o`=34%%TKfmJoOj8|3Nq9ulv#|XOqMi+Uf zB2$+$?n$>Gf{x-*JH+bkeS zYBLN#P)icO!?1zEG#bvb29Gy9!|N7j!u0#tAec2BfT76=XJ9~2+VgVGlW5!P%%37w z#Y7f2HKL%2CqpM5E^@!<0{dmY+t>_U7XzI`^$|i9lImn&6Cy?Y?4xHLJsRT@&neN< z{S+q&j!X<{DA9wZQ`XgIPy8-8CeU<4#-VTlVXsjdw)B09L?n4#vm<@(+#`M=yR74! zM06WH+#{K_9aDdgIgx#p!dS*dw-Dy>w@xMk-Z!LlX*E<>q-@&ttD)8R#-@% zlH@`(?_xA`5hK9vc=?BC-KkIZZrA}j=|VqGZQ18o8g{DO-b7+a?zKe1JK`Gg6FYS= z0NzMN24#lO`W+=L;SIZc798dlA-0o#6GVUn1_l{&2@md_CcSM$_ozav=`#qin8p~p)T(6iZ- zn)()H`55dz`T;!mx6tbwtUAg-?H6)<=IZ^NY1Qy5wH@9mt;oyg?G|^;1mYEGx6!7w z5y@1dQv?MzRu!4mz;Hk!b$Ip-SxCpsc0C(!#E`@^pDdh+huB!2cs%JG-$@5{SzIf{ zefaxbhtw_03{Z$}uE9L7!9{ri)3{fWqzTyOE#k9Z4i_o#fvDi;G*iP@`6B<0UTgd> zusji|1d~H-m5hyrf?|mF(9pHs;8mO3ox_+>M>f1ZOFS{{Jyw*xjlAD$6BVRKiZnco zi;z?(n`3oParb`X4~_0v{cNg)2GsWveGRoJfN!y5?UMhSsB} zxy-0K2k)z)1QiP?^8TD^>*Smnb7X@1Qmv)ih_cv+Vs?}-~I!& zMM?*6w}C8B*;SO7lqNSM*8u|nt|>%vJ!DdlSrI?lJ@%jP7zneEgaTP8I}ZLm*XgP# zm>1aGq%%8dDrKYpi?3GMCiq41nGg`jXn=)efChsg4xB%6w9mlupwN+}znIbah(+n!@z8e(MST>ej`5W@eWNK z7wVW6?kLv*B}~0=8w!|I!s5TD&>mwRZtq}`Z6E#_bdU=v8Be^$XGpl2G1zDS&6`0M z3NEe?dd?bql3lzTi=Fu_Wo1U zhbpJc=fB;BokmG!f0K~Dt^z{*^zaY-m@-uk4m8fy)z(l`Q|p2b2L5jA?T7#2aFkFf zPpneeL%}DTw`w{MPiQFS(G0QCAX*%(hc&%;27@zn()ALbbml%RE?#Q0(V~6OLjNJr zVyKHWOVx+CRC8j)2gh~xYyQf9H0~atU5k~J*AkK=oAPdm20{e^Q6x)K1dOb)FAFcO z3atlF(e{7V%!hoj$@Q=aCvQ6|QD{9|*hw}cD))8G7E`2l&G9>Ab;R8#{n_pG2lqKF z;Pp$=(N6&;zg(#6PVWkHK#9|!UHdqm-0+N;$)}QW(=`?*m*hh)!x5D44-jjM7o`NME9dCqn~E^6@^}zWlw$B-&bVU>q`$}#O~c? zCq?F$w(=K3p%&eRp;fSGDOY@+*+pZ)dml(^ZH+bXpj10#+g)M!q67H?m-xkVD-pqj zNb`n6o-@^HGpPZu>3z#u4aaOUR(hY&B%F&~r$!Sgizp$}pMzf34ZZBG{U}bi0yXjZ zy}lC7YM>Le$se_d5}I}aRDx}|8+TAXgf z)oL!(@gs@?cAYIwc{&FMC^BCYlA%XGnh&+Qo+`YN5O)Gx2AE@z0U0p{BXRijzGe^j zJP)7M6g&OAlp$aGN$R4lh`I*ot9GTQnOBZL(oX`=lMb~L+Hqq(bE=S56IEjw(S@4> z??sgg!c8aEc&p)+kvFX1IvL(`bmZ>YXn0~Q1WFAuJz?~G<;@O9eYK_8kU}sOMykSd zzUayRN1ZT;(n=hC>jS+znx$$VC~>tL;JfYGX>f(Xu z^r4IT{OU;D$JpArnrkM~T#;xx>6q05c&{e-}|*5 ze;W3DI>P$-6>U^FmeE)>Sok zmj!{**E5>wsFg14J!?LVZSj84F&qj#Kae_h$|T5I_pRU3=3X5)N{I$^#vD@{q(IR; z^OsP#O)S?sa<;K6Z)um#q(8}k^11jUb|%b8A|dY6Z^C zWQitTw7+^cl&4HahuYqiKXf0b!Tkuzf!xmVC4(*kNw?8t7AcveSS{aPGjtLUBh8di z4a1e%dX#NMElVJ-x05%bOt2b8-&lC0T+Cp!cSW0tm`-*Ryf=Oa>k=sEo93MeA5*f3 zW}+y&F0RHWclRVYcXs5?rk#`7-|@$7H#~LcU-s4Qz0Rj)$yNnZ91K=a`(d2y=oQAy zJ1Q0Xg4%8_WtiRd+}8D9c3dbzctk5A;mwvUY9UE9xq{V_Ahj9Z7eG>W_;Tm5Np-nM zT6F{xi`|UXI_1amN@7AXLxWGU5qLF>`vUX@^|G&Z{F_H3Js~X>WXyEuUt18mzO~?S zy(|4X^1^1Ue&%UM8!ohCTcS62*tgQ>QM?k~j8jsBasptINo$&p3j(dh=aAGG(AqY+ z(_T0WN4Oz5L5DNZcJ@!J0qF1N9oR< zec1!d`ULbRUC|EQVlach3^}&S4AABDl~q@SWlVmT>G1PF2kRsQ#pH?kOn zqt7@8SI8tsMzP74QnJmvCzX@1@M@EJ8heM2w1g-W70k!L;hAenh$J{uCPC~z-rdjv zJz;oU-}^cVhSYgo1b?Zng*P1A!VOcMa!;A79u%$sTqF8d+cI2F{1ICku z4=#SXH6#-E{PKp4Gl$VNo8Ok*bJiUu!uSm=cjJ#t>r~$C+SC-D~-{r!_PDE{$Dr@#zdw0#Cw`TFgr8}vnYKk%1p&i^6v8`(2 zLTkc9LGF=-V~DXgtyoKzL8rW<7b=)hhGctFDtg#^>>|9d@hV-DHz2j5%O`m9qN)Z> zEqdI(DxEu@&27HkYOx_E^6mSa)j3OHxfj&4Qf82{Qz(q((`$NPH>U+|lGeeq;JE5V zS~(@VP5hD{7Wo!W3sTg3bVwo#`9(z-MU~q{PVsQPk25HJ)%Q{|d*Qv^A!Vu2Y^u|k zow_0Av%TIj|NNQZVRU6;rei*N?2#-M3NlS|r!!wnPQ6I=D}MVX=^x`i9R=dp5gwY) zMGB!~BjbXRAj?F=Nb5&t3uM6+m-oi126a?x$Cb9wG4@n5vkI!q^^Gp{XEQBh^F)Z* zS7}C8?A~8n%-G3nxmBYCw&}FR8tFCWY!rbVqPX@vZN?|fyq+$`8eixhe>9?Ko?}K< zJ24k;sbIDyV@)pp zj17Soa##2(cRQq^p(3a)S%%jPd?VkqV)pib=$cRz<;}b=kfZhe%c^FL!rP-QqnP=K zOsbwpasOETDr5k9sA}`K%$8A??lHN`GQ6DJBDdDPw&06z{)`)iAX7Qts6V3fUP)7y zvVp_ONvD02f-RM-*wvRm)Aa2@x4OIc%chp3#W|8IVMTOd{P>*F6B4xn2##6x_UTha zdmel0F_iQK8S-gLVs6DwOJM6-E4cqI|7ZvlSNPW>p#^%0cCYQMXZFwAHoJ9Iy6%!t zLNqwWumSC__DYRmLY{Wf;+X4PLg;vLd3a*9t;gq*Q}3v^9mlW*4IB_n@AM0~1nMSF zBrLDq_(D4z#i3+6z9~?10S&Jl?X_((k}!`CLnR+1D8MCZY?09rC}{XI7F z20321fn-8$9Bk`+{hq3t`hhOeh=lX$kQaQ~vCxsJ_kexVd$98I~!XnV4=@3xcX1 z$9f1Rl~pN>OkgDN*BD0Co^T5;7$rM<_KwZ1j`|cmDL*FN9pAp_LK)q-)CT{IoH zi;Y`t`*t()X+^N7qWveHJuMiWtIB<&06x&4@AwwOu!WFSHuwJ-!xna%YopfLU1gP{ zryadg_tUNpomeO2ywvc|r3^G$ z16@HbV?j93rFG+cvb-mb^7-Wa7jb@3Zuihj?RT49UyDc*{8Tw z?`p+c{d=?Ls(!gWn;VITg-D09xLH(HoZ_f59JwIXd$=4?LzO^v7%7{`M#?EitccJ^ zE6t9nZ%}ws>_gQ$er6p2EPAR+>pp-zQnNr*+10b(GxpvvBu?WZNp}=`6W>hPn^98PGb0pSR}he} zN*CBp%$&pm3@CT%WFmG)f)3;duJ%H+ATDCs!9M2trxyI&qTh?n#r0BZ1yrhGgXOLm zsq?{{Qly0RO%u_%#Lz}e)MnkZ_82RR?MGPf?|^bo{g?w04(-Jhfj~_I1uK8BcrM(< zlS$~R$5>WQ@4QNDj9KS2P*ow=AzKY#O=ut>wvdK!>=lqeLSe}W7_`grQ1%6?h_^UYB4H ztlq7qsz7Jg9As!T=kxjao;r`@Mtuo)IXEByN0gGND2nP~_b33vZ?sQ0y)HF2*DP#R%iszz+i zPaH-I!q)>aADE}zHMFoLwG}E~=cjOB=v3+SF%byTjwT;Z-J29$T|bb`pnXChExP9L zSEf2(iFWWtgb|Y7L#a2mw6`UPPaEK1J9;5N(CZq1O~tDd85g&uk_pFXDxYy|>1_UD zn@ovq08W=*{_%rgU&8ff!*%#tQV@Tf0ST*vrrE?M4jjDk@~;|?OPJ{1^y;S9E?<;) zUhK+r4lh?DGhgi$#JavSGhvqw@GT^jxDkyy`|58NCz+#cO-mKFAv<-x0Z2}D4ttJ7 zNCdxw4+?d)d=UN78DkUa(s(NEK|~}NO9)b z{wwY|qRw?NGmNZrn%n5@%*Q2eba(vKwQXy&$RbfZH1>$DnQg6xpq#&q6$nKkmN&FE z0P5r6$EXJtBqq}sJl1%7`f6U=v`I~xdEjZ$7tpqrPC)V#k-}${c0CS4nl0?!bo^%~ zpc{Sz=ZZguSD+n^!x2g3R+Sq^3TYyfG5xXdpXgx|Qe1Mnr)o4L$@m(f!xC~swb%gU zi}qZ>|X03agC83mj_-S=}8f29*aArnHrRl4R)pB2fuEJ z(K7Mess19=_KSwMX~G{n{j^xgQu9NX988C#L%X3|;sSP?K7!5`|H%|=#n~sd-q^6e zt+r!dv5VhrPkq>PBeFg={;6qdp}sZiPvkZ#b0fOh&dNOdn^%RwKG;3dh~xu&Au~nM zSX1LHh@C`VRNFV_hUV1RrX%ezd}l(5NMq|a#5uUV!$m!s`7yAI^RW^oz*o7xxh@-6x2p~h%h`Fy^^mR(00IvYqTaQ zH+Uo)esUV^1%C5-tqF3%Yw9R_uI`tNCOK`?)TV@l3(bhzaavwBpo7GNQ0?UG!+=wf z(w+fKx7T?>kle%2-c4fSOJc!?wKtGf$YvXt`<}bgb>tkU=pumfQ3rb9`F!9HqPbaM z{(%c(K?{N-{mj|k_&GMq4L92s`xc$_$@;Q2h2-<%J6vl2r<3_p%N(k@^&i#)9M5y$ zo%Cv3QB(CY!S)YE(Uv$OgV-6@>JJ$_x;~-5cXy-&r+ZA{y4Y?ic6)6892W=qQE-68 z@5;VdQ3_G-7Zdy#6WFbwyLcCI8uD;t8Cb4M6ffcivl&?yz`S?H=k$Z6wX(#OqxpRF zm@k2WTi@W#-*o97!7K)abqHGP4CM}Cjvf4hm(~=z<^}x*?}>yIWs_xq!nLisHB^jF znb2f_TZ`|Z>j7zDakGcSE^bTAk3rzjICN5mvHD4>nvhiMp|ey`zk<%7YC&RERcAVq zffD*l?r`+(2NlhH9fd>cyjI6+BTGtar;ZV+=bDHek`9#ZhW4ib{-lk|D0a?MkeKJS zt)^>s?h|l6tg+rY0vQf^`uZ(XoBsTjR;PIKnPw1^s8?J)C`w+&e|G zp>u-q&=+*|^rwlXH1gzWuaG(kxdq9nF6dg&LpYd7>y1?|P8X*0L-VgJN!+!|wv3_(o=!)*=t@LjCkYswY)PM7AWrK@uHb!nd9 zKKqdONV3Z=Kky>Bg3ygJwqe@;mzsVvImgGq`oT?F=lJRGzw1>q1{(l!g5nuQ7kGGz z5BeGm`)Z|nFD=(ADpPIpwY8Ws8%!pn>r4InMz7fUZIb5+@KyXotG|W*X48CMNYd&H z7bo_oe9A6N9_T*ovduCWgFg&l=B3we`BHY3L}FYdt_Gu~1%aC#umy~0a?SDzZUt#f zMne4@sX*F%gqghUD+O%(|9xr(rWA`4VhVpqDqrl4<=<$2Vwct)_D5jDq)e zpIOv2&e%R5x$;C3c%y#gO83UTufS#$I*!8$_(%9D^tX3H2eiRWa5UB=s~(E6B9~=6 zz!5kKFThq+GgnLYuiio4lrY-3=Q*+9*$1*HHnD0j0_l~;x)?=sVdrC5+P{()+AcVp zHae4gRU1A$<81Ss3K$qunlph?&Cu6MU(+68f*+)$jq1M`*^pe@(?7n42%}o+vCuvb zezQ2`SzvmK3Pbo`m=3@ofPfHc-67*3kM z=i(}8OD4bqQ-$H{UTY*xO+`T1Pxerd*>82W(+dU27xsfCqd!D`9-V`gJU5&QbkZ|s zgkL|fO~1COExMBLu=9n;u$)up7v4k>g5irGrc{_aeEY|3!QopA!b+~o>JiPVhN{qo z4LUvK#nZgXGy6Ef*kduB3=mV?EPdWSppPQODE@EP9ojfK8=Kx&gBsiXqV^nOpSP@| zX^((gEd68^*oMRq@|Z`>AK_s4FdK~}*hs6n#XEIT)b$6^YL2(-aAY=RdQ6j9f)vxp zvkAIV&Rqfyhne|6BisLuDQzumpn@$uj6cBZtcN&xpNj=95Uq{+o37jg@m@aNI=}wz zP;xEtTE!RBgZ{RWYP4Dotq3O+m9r*f=}4v|%ua)U#Y} z^{gkKB zBHmydPH+t_B+4WFhpbJl>&a-ap`p2z#&L8o7f~^|a(lU4ZULh#-c|wYK;o_tdamhD zMSU`o{uMr{%Fnrix^S{WCn_#eQCNR9M#yC{ z5y<_0^Tdv~GZ;p{^rU^#Q%U@3%hVehc@}K_ck6GjM&);)dR|wv3%AeD)lY&U z6qzw|O+G5%2IdWlCVneLNu!(~9EC+y$==rRBu)#llVvwiQy}O9gUzC@+8kLz);TNS z0E-?id|qpB7fs{iGN(imW2?7ul&t}@B+w@`=ZYv}ju_mVKV?HeSkj;&0Ar6b;g_v+ z-;Af9c1K-j1AQSV+0YB;+@4PE@EFSxdtin@{}WN5td8nDF+x#|vGh)2uZA|lO;1+f zBb}H-jygnx{KdwoYV4Y@V+ib84Dx9E1?>a&m2mr;w^UVhK(^m6?w{C<*D^iqgU3(# zQ(WydSK1C2hyk93Q?TGK;2PX&%I0%%G|6C_PnktGOQ>A9jW5KovJ9MuJyD-_0iK>j zi4`akb<29Xl;z1_qgSAWNBD4-9}!v(dia~V*DTs5TLW1p)Zlf?Bf8CZnG7K{w+ts) zM6kTxm(FmEFi1wH{66C1TSP}F@I5g4YFpfGTV zY=@x|v%Y;;THwxO?14QlgwH|QPVsXJ*I&Zf%?+P|rU%SxAwfobL?(0}VO|OPITZwH zTJ2zpy}Hn;T%w6^CDC&GMIxegs~KU#O+XKCHU$;@f3nB441nom5h6Wd-KK4~Wk?7M z%y?wO-jZyGuwlu|LOzKS1$ZDTgP_1WQ<69FdqkGPwQC-)6eouI*X@ufA(Z!=h4b!; z3#G2dzSrme*eKPNevA^thq|SnFxnWCEB-qCP+j|kBI9%4eg^D%6Y~f*$l5s1dBz7q zD24F=NQ$Kjg`xfo_DHB6wU-2TW$m5eCNxmWrbw5SFqqEkCGpfTp%LE|)KvN-nA#Qg z3{khTu?IQ{Ma^35q=2QxAx~pE4E#FaCFx=@>mW^_?S!wtlLeM$4+tcgN>N73SUkET zdKHaR84Q9M8<%_G$(S%_Xdnj_S9YMTCr@V|5tL`6Fe`~os0$Ef2di1rNZMNz0HUzq z*#sX3$AWs-9b0sUmUPV1TSt&|b%R3A`uv$rM*JY4e67$_PW%;tK)s!C8e{N%6v2jb zXrGzGAyyD*JNCoEH}QSsn5`4)@5UP3QxZBKBw@sz>|g^+%3ke|zcR?vP3dp14mH0Y z8h9mN9vw)U&2{N4nZoee?7mmfz_+JdOW*_?VXfDv$(6HSbO;=1(|6 z540dIbKI#oVFg?tCJtbnf`$B@a!vy0OAvh4)Ecj_otI)b$!iFv zM!3FAwn`az+JO6e&kG~DRTTe#SbY5ZFZX5T`<4y8H7_aiw}~)%ME;&F<-AEdG0tfE zF7J2xwbSUBsA#jbe_SX!peJF-+`hjf`-QDQdZUiR!$4aU|DMbXM$*w8YLVSUC;+3Vt2a)7$+Rzog6aS=Z*6;`QsY(nAxsv2)i==;N!c zH|>oyrne&@fPZU?$gz^{r#*8oU9XitZM}%&bA5X&HQJl8T0ntaZ|d~aL@;V9;^w$7 z1Curb4O6v*;ZN2@`_P%iuuJ09*xp6J5i#qjWiNE>q?bSDw}~NWMD+Cqb~vwd)1kPE zDa2*RDk9tu#0cw+3PN7egTuMW^Q20JejWTS4KhsRLGX_{gZkN@k1Pu znt%c3kQUC-cp3Tc{BS08<)b@j`;e}jsUeICW65Mfvo*$|y3b!XzVJKY^&1Hvo*3~=N^!?CNn@>S(^|rs65$l}Nd3A%W28^yXze8Z#R~Vw_m`~w|g~QRQ zncueG&OLrqT?@VXb^h7d$g}nL!kha3{zFO>n!x_*+8X!AKQCsV&CIQ=$!ib=t_>*G zLOKHfA%L-Wuy=KEP-+rq1^C{u`B0B)3$;e5kdbWv?n1>U6v#VdTfd;vmQ}*SOZWie z)swsHp$W*)UP zk}2SgpKz@MgfFvcM1Aa};DydUQ9IdUSG=2m@e1U;S(3!I8}wM0q%NaOB8X#^jC} z-Tt-j`Q1o&OM3?+0dZ}s#}^M3(Q;h!=6Qx41Q_i2bZ9KsYTF!Cx*NN@)8jLCnw^~N zxao1$H0k&E`EAa4&CNeX%UZWe6cDR{+&JgrsM-38j85b_jBk{fgr=vq^A)_qdPjsj3G!+s8UT90_lTP(GNP z&HY%ARW+JS; zz0~~hT&YVWH8t>n{zc2Gah7!$#aJr1#+oM}hsJQ-61a@ZtMsJWb`*?6)v7$Ag>!IT zu6u94c=Khoy%vf#%c20O+0d?Vfk`fLp4)m8!d3=O*Bg-?nd~T9uQ_<1IJ_U9v>+Hs zUcj=}5wKAsd)Jad7U9;5;oZcXZmKACq3e5S`W0&l?U4Va#BrtDc|ztWk~Q4t#P zLilt7VB9gioGKCzmkfehYmGM8qe0Pvg`8t-Poo2kjj{219Q9tXFIM}VTP7kobU%@k zT3T7Oj7d0)e9;CP5I=CYi;X7i>#UoRi<&>;zwrC#^oM4w5RBvP&EjyG}94=W@|1cGywkA;odn-KRzHO?U_|3`rO@UPoj>TH)5U zBQm^br`Euw2GRV-mxi0eL|lbtC3J(Ct)==Jwhs3XV$0LfTmm8F6Ds6jT4Vke9KJFw zDU;Y9ILwznB9XF*`HePI#@y$OytZfGqc65b7#g@P>C=1<2BE+l&tA;Udb0!f9jg4q zOo#)5cI+Z-<2a|3hCkP7GO6KfoPg(GEipB6vYMUjW&+wb2JgX7;Qzq0daQ^tXi3SK z_n?=4Fky70LQ)P=Sfe3u?-Xm)zV;6HoIbF{Pz!JrUedKr^J|`(+(`DCTX(SKKP1m0 z=jFVgW^VM}oZHs6Ft@+tJK};!qedx=W& z!j#fWVpAZ5rJBS>K;Pl~N|{{WZ@HnycH2{uE%&iYaDKyE*}<4y*#Fqo&7p$-|518$ zQWv+#1IDe1M4!z)T)M6Hy7D0v$?v?-Q=XSJv2@8)ID+c47nIcA8{vB(N3edZw0s&} z1r?&6QU9Y1#b2=1J65YjWyJ=#beo_Psz_nn2=aCG1Ym{obZrGeY*u}p7*U=`mmFAPY6`GUf`lWnrPgNb_VhgG11GQMcaeTlgc(Y0HI41rnBz=@?j8wm*twryH| z@D+zCqnzIb-gNCRR62t(+duvNlG{%8o1u4$x7}mWhd_u)i5|GFy$u@$VbjN=Fc^hB zQy1~Xc^7$5)1^u>qO6^gH>X}jdb2+voQ&EA0@8QqCYs_We4PV}ummy;b01;WEL~ju zzY|WftgL)y322wZ6Y3)^>~;yrKjD4y3Q6w1&s2%_IG5H^>j!fO_HD5~v$cD3_F1MD z_@gxuI8|5U;(kd`dbd`}y5zE*59cn_jahko$PsWiRFBVuWCfUdQ6N!?L#nJLBkM+K z2mi}Gxb1vxIm8P znzoeSgf7&k$7V|6luu{kh6oz*C8-cY^C&#`&4Mf9anvg7FA+`~ioDVB5*-$pFgE97 z&DFgfldJ6y{Pz#3S*K%AFhNa0m9AK*-6?rf{ld;JwLtd%{T3rsSbW`qKFt4qOSWEV zP3t1g8VGfO)t_BM=JYDi<|sh$Pd@6d-lTfqQ zQ7Db%h*=!+K}hZc{P17-D>OyN{X_1#rDoI>379~gh&X6AHUKw2RxT} zB~eN`B_g2T_!0OYxqdxY=@36`xKT*GrU;83yQkPt^~y(AXp#Jd6)_ z$uMq@uioDK*l0TLH4-@wy{&%0{aPjOm8__QiXp|4WFakvE6O{`V>=~kl$gEszT%@{ za|krB0g+Mzk%ljRw&3k37Cz$|He$YY2?Mz-`gYHzBiy^+!{IuGFnp5|%a>DOQrPyuFb z9mM9)>sz%8d!QrDmc*WZz9@@H1}wmP7v3N{11cFNxIfu1sReKBltOl}B{utkt=tax z>kG$b{x(L+6+4z8xO9#ez0N6?ZRsgKndmS$H1rt>!dmYB`FSTfUhalx0iA^OA#voE ztD~u5ix?r>JJ=3Hf3rlZH7pKr#V7JB%4aCv>oZ7{MDuD#LvWW;Vxdq>Q=R!Dg9v!p zSo|35*w^I9D-cPy0?uvi6s4#W?eQ#WGC5ong+|jm6;j@4_9hZ}jAB25=6qoq&5gttU2wR)CdXSR4d&cAiac4 zb`A4oi!QJuc|4U;78K~3KKLiqLlY9{tqeGpp@*jc4iBfmTD-xPB()VyiQZpE(>d)O zznjiT`StgoS35aQGfPS>a~jK{v_o@lK*!L9qJi1rG{g7^73Q~0V$Oq=mSg376THJ9 z;QLcoMK^1|9C^-Su(&oltrR$2r74>)d zqq$y+Vw{&%5_Gu1qo$?`PU;f9F|2Hcb@ZW^LU%M`r{wwyjg_^2QIKe7HuystL7PAi z*-EcF?6A(0cUzP8mJt##+BTeoU-M0-{v~UC8kxrw-AghwSgA%^mNE2#GcG5>)3`u6 z!&JuIP*#o5ON9EB-b9^&*&q;e{<~r>eVfXU*g7&YeCVV3m#JIucW@L2H2jlQybgE~ ztk!>JFRww53Kgpb!22IgGp?N0Yl_nXG45_8Fxk!3@6e3f!p|G<)?)HeB}OBI>4SXg z>k5(rqOGa4V_D}x5A?=3_aiF8*$V*Ct#~tT+7UdiMC%_o>C$%;1AFu1`*LzFF$e;? zzNQ@j=Pfn>SD2?-cv_#Yjd?mrFdMr-dAcKR8Xh@2GxsIgkUNu!o0RPKSc5(76}sZ> z=*~gZC4HXr5d1#=3|{Psyezu*Z3^XNfyyejltI#a))O*XWe=&Si=&ng+8}L|>f8W< zjE6FkwL5GOEh5T!**^ut)=WO|CB&}n64nTU8^NYKh^)X2gUbkJP-fbzZS2;z^l_IO zN-&x~AiEe|_sNA(vlc$k$sFNF-Pv~^U=qS09zdo9Pm9v&$Szb4M7!&+R^rK+3dw=_uAd+ zn2GEUWLS(^#PbX(tZ?QaFxV0tWz)H=FX5J1$gpD=GJD%1;+~jLY|nzI6bxcTVd354 zQWr1>Ul!u!S9wyCU1`#2MSFLWii<`NDU9)Am zwk=v4T9Wig%+IG4(LR%-eq!3;qD62h=IJsf6Bo)QirJwV&LW6M{!-**1jkB+jnSg<8h4?KA3FT-_Xm zu&o)I!Pa>U?!)~X_rs(SsODho$8!cVz-ezgvklV$c$d1c8+N->`i^*R($a`;WoD%bqBv~h zC~N_6C?f;CFqh!&5A%WBG)-lQBO)V&twurZWk;O^4^4xY5L;(dqarVEyvhrph1?D= z3FC0ZY!q#!$&i_$uR9=z3_O(ZsQ6VTgrThumaee^N{G^=l4` zc2N+?aq#3OMXp^qWM}-3M5885@%9Z2_uNiXILf)+08M{&l?BzJcd=f07j^cpI0aN` zRkJT`sq<<)GSZ+TZqcr+s!ExM3noD%1W#ER9ZGa0T(_z|5{;_gkp$M}lA%6}l?Frb z^hI;Q3r4GHB7!f&J#+!y=^B+^g?Ci|AGyjZjzfRGbQ2wvH-xbalKfE`R7+$d*4Uw&0?o1WD zx^zDTZx{J|mB|gHFcwvs;l1{d{SA0A!iRwAv!`NP( z0?+i;LwXZ~c_)}-0E78)p;75fFoIKBevo+-ZCZRzwJZLLjaYwWRu~R*$w{3YQsIz@`A#KiDRMOHq zc%mq8FfMt#koK{*uYcfhA|;4K-&Xl?cXXtRz;xlHG|oh^fl0ZAGLyizYoa<38D3yJ^Sj|<9Fi>W?@ z)^P>w?X7>_YhR8zJ{q%)vVU)jX++V?2k-r>FoD$ckb zS@W<{Ut2NRxDvpM8V(0xHD5eWhvAQ0Wd6IT@|U5^sklB7*&(c@9e&?JH93dnHhk<* zJ1UK0Jlx)O6h5)$xDo?xTSl$_0m3kVR$c_xt94QK6M zJn2@e`;Nv+Cam=kgZRMszO>a|c!Qmqd6%*s)|U}!Y7UIh7T_Hm@RWa8xTLB(-4x_R z&b~M2;{;XOJM|PdD-^xXtd&P-YITJd;sF_lr4}Qm#(9$9-Yk*qo~c9|vkc(CpFD#L z=7*=_oLoge6P+S9S?+lJzmx-$kLHP`BZcuuFC~drO0bu>s!2k``uNOsz)yl)L&jP{ zN31r}$*(=ik}=VG#>OS#&09qsnY9Hu5=_E_j`#g*t@S;Ccd|ES`?YMmOy%R!kl7`E zhz|V_mB>sbv-q>ulpI~sI%N=b3p0QeeauN;$5XoUg-G2A!Y7aM^*pAe=mY9O zpz5LHU27(Y2sT4A%o*Q-plytyQ_Ov2;vL=INTzobwI`JBl2vAqO+zGdS}>;9bb8Qg zdbQ6NJA=Xj-@!8onCi~aADi6#O8hfPWq@*qA?jJS5LQID2-tDu771lOGg%IAF`?3L zCz&OS*|1?kwm6_TvL%O0a*LA<=WuQr4_jO?%3Ja{Lbl{XS+b=7QNCPdB!tBNwcu9YdFlm2{gp+xh`|woC;4g#xTb+YaZ6?eLkTP_iE+oi;Pbt>{`#W@m{; zPy)k1WP%Ya2rD=ftda<<5h4iapLYa-TR#VL_ii>>ZbeWSN#Rm^TQ;QWCgEGFEEaVM3?5FI4+g1*{T6bM>^JO31g@FnDRAIPS} zu||?D!_(Y!w@dr|HKdO< z%yH9yJ#5WwvEU!~Y~Ot|<~$m0v7n{Mx#*TE@aR9Z7jB)$(`a@&Wybq{74-aWdL5FU zTGrLkMw5nfG>;<-$Y3~yq*C9sFaRMaLV%6|*{mp|CeAP$MxUljz$CLz_(MdNGy2pC zB8JAKSSJy<`6T0y;XRx=hZq(+q6wCQqWX~s<{E8hWvfC#AbN9vhPSzdU1;MP@JsmJ zm&w|i-#4T(m3ZA;l@g+QRT>X2*UsZGIGWVtm4}z7cJuFSZB;m#1AnvbegHEIVyy0B zwc<WNXbG)i;+@Gtu5=?qd31PSy689{i9J97Aj~B!%6#{Je zi_3Et?f$H!mICmjW@DPhx|$N#sM+%6YdxhuYSPEvJRd|R=+i9cMg z+T{UHLQm0COvh@08`4U~K*d z3vu9EJ&VsSMQ}|cTzeJVRR*aGYg?7}(ANTR=nwbH;pVp3V>X+M-`i^K>uw-of9@J! zD@#ASP}XYf`M*1*6f4YZT<*Be=!>7X0SA!=teZ$h<2g+hF6hFv7Ud6FlgFtl%Q~)qT724S+o{|C zICt(0{XTxaTm1rXinh?0g)t?ufZ9|>xqtgO1XB8caVHf|FofV6VEVq`OgY6I(Gi3u zCaG2E1X9(a3uscS(vAsNi;hj+czHVn(bdR{Q#CLED4+?bfhJwVX$Z!n4_Ag`#)WW*Q;8?DtXEfvMAGdZBJm#S64Hln} zhfsne!H|)mnbRsIp@>tD{n15*_0sczbzUW;@?GO>XlZgnrys*6`3>C1038?N|7Ay! z6rrpEdj0$J{dWhGUHNKcaBv9ZDMs$Re>Xqc^KIhm?M@)@WW9)iz3dP}P1twx9+|{N zBe0%CAg~f-S+TRM>6_+BOy6xu70BVH%~d2D&m}FIwasE07t)Qp>DKI4r6qnn2!L(D z1n~x7GlABDEklhMh=2k?zz0B~UV77ObAg17XknVHH~&PGV5c8~D~V&Xm0~9HL4H%hsR%f z@}iaHZ+73{PK}suZw3Ap${sTRPn&JNks_XlFa|2cHx6^_rbvTckJR7&14e(xwe-$O7AU& zkjC(Vg>}jtOj+p^f1AeC4fHRo$mO@TTs2$pqotN#49Of-R%??Qj>AUpcnk1-7BJAy z`Yi#QePkl6Sc;fDKS%_8t~Tz*Rus`lv{3-LcC05f3b|A|Nt#5qD|U~x>yn;A@6)P; z!S@r#fM5t5+cuO*9Lu1n$~5B=ZSxG%oblAM<~}%otNv58+A8;1B56GL3E#6k=eY~~ z&G{pc-8|JQr~EqEF6mN{XfxR(#stRb2(b)G`X6<&TIJe}MCdeAn8rnF=;~Uh+7fNI zI**i^9JVd9_HXNxAEDXU_NpMi`Ct_&*0xI>aYutX;-7mi^&bzTfI@8I4i`0shQ*c@^*iOusXkesEo04K-`9 z>{T*ky1Tk&Oc|LfDHu-~lKE0$^llt<@71 z^NyxSTjvS#1Ya0cS4L_G@>FGUi>~>!n>vqq|4cY$G58Az(5Sl;ZBtSrlUoSH)=5h4oBvq4sHM#?LJuIfE513YEj zNoCcjxg`cu4%fmPGIWHR%tR0;h*SNxSS#zIDwei+v!4v8b|%w>M;NjZa{qmFEBE@C zkjzK#5-Wn3!ePT=LSTxQX&EAU?S8Yu^L~HAr2?H>@mKyd| zmwV&PbwUs@x7oRMc`Jp(vs#Q{_}`MbO^5 zZ2^Lg!74UUrc|cbrC6+NaB~()g1;ha4qBVUBgEn@$rUR}fq!lvgoBR&-^xt=7l<+a z%XLMC_4Cr!!*y!wC2w4XP+K@wRY;K91t{?$P$W@9QLr3LY!8cs^!XztMz*|q5cX>W z8x+Pf<4JCB$cjtI;HuoSpl;j;fnD@#kP(+_#AYA;@Kna*Xn{8sw?zwv1E549oxg-k z|1DC1NHc%%b(1zgOW~rrpAw_@aW+FkO98P4&_Znr(SzZTl}u|Ef^gTJkbn5$N-^tV z-vtnLe8Yci%@T6PQ(Z7*2NuJ;5v-z0RaOwoVAd6a3r*rd; zSyNOiUwmKmMZLYe%W?m9<5x2%=oJ2WKkHpDOTOQXWxiUT<}TOX`c872*=prJzNY*W z5#@F_dHT4nRFsTT?$H@t$(OWgG&NF}jLhHOV>?*lk4g7X z%9X%UNNMr!BW%~DIZ!pe+F^`K%loP8QYKWkG2Q9!+-a28PjwCt+AX%brCnXuA6t|y zc>354OGWo?BfaUuuH6ftxC{dZsU)=axF=@^hT>k<$^hQs^#!af%MP^VU@#54Fo#^U zn(LKI`SzDr(=g?R!W1!9dALTu(~VMxb&QZtPezT4NrezBJ(@ILJ|dH!G|E->29M}4 z`4Zjt`;LNe$A0|8qsi?)m@3{Y-Rf!Ku4*Uoj9mZA$$F*2SkE4+G)CJYyXU&Ax33ZM zeLS7lI4SnR9Wb-|&>7=ZXP#Zv>iDMxkH>n@WXw< zDq(B4=P!sk!SYRAj{4~`g(=!N%3mldn)3`B=+WMePSq%b@C#J{$RcloM!5Rq9Wdpl z&YG5UsJ@7+IyPqnvl9{e$dZF9WaUM0mXbRj3tO*TPi#Eh(Yt3Ce=k~DqKWLM_j=z# zt@sZo^M?$d;*8B$@bXL33C+gX+|y1g)_4M8%Dbfw>F71!?5;}s>Ye(O=2Nje;38=! zz+-7`aM!6o>dhng9Ci=0>E&5rn=HMMzIyhhCiF9vCc@KZZQ&m?HM(eM`uX}6p@9{FaK1+kE`ihT1Ugb3DH1op^=%!MPmn7Vd9e$UO{pKBc=77C$i{H*cuQjf-@}tFy7TIG z2i7K{k@qF=BFn8RNvG`^Cobb-#dN=OaG>`oFPid(;d31S^NhMGrI8XbA} zFSeLPv@*i4>f*Lo1GVL{Jf-rTM(&#r=GHXff^i9>UzIdR+&6lxwCee>srbj+jinAj zjtg$0MSP@|D1C~KWl$h_ow#p;}w#vjF0At`k)zswLn~J+n}yd2~qlAe%wu1- zO>uvh{gP_dO<<{1-Pi#4_o1nXoAcg|-p6mZ#HTWJYv z3U=>;@ZG0MQ}CXKv$`X;8QR^Ai6ck|f*_Df7}H+BN7(P!JGp+p9|GrD0Dd;+wOc0b zenoA9@g;{5ZUG&2X4%$UOO*NXe%9p(as=&*O?J(+%Vh0K9rC$oY{~-PR zfm2d_-#!k-TbHb#p39PoRbHhQCpP@S9oJ8Q1u{H?E`F6zO^5d8IQ$<}L;A7={?yR3juYnRLyvRn%(CbnUu@)+@%#6-i^` zlzY-NqZMj2E8dsn>xRRJfn@nxRD)7EuU^8t}&SMBs+wM}Xy97~noWk=LSg8FT zi3GPy=c)`6^Uwr({Fo8*MB{wro==>lI{6Hqyz^wE4fSNWPEt)u8CkKNB%qhn^@%pj zvE8#aLv&RQJhB9xG)6WYM;DK=Jn;Q61>fW2c0bjqC%lXHN*&=N=cEywj|)^N+|-y!plamG%eDivI|2rBWJ5;K7mzUe%2%;sDqs8nd8A~EH~B5+^GY0;QONYE%F1`S9fLqqv# zYLx8mWVyHu+N=j&{7B~KSn^QpvX*p=Xo($mXkErN6kjE9#bJE&2}%K)j_ydz^oUq^ za0miW@XRpkv{c7Hk0VL%@ml{Tge}@8n5J??(qtO8&8pr1SnI}O9swzFMh!`+Zdg&~ zPT8L}t##tL>PO&l6(NQ5^m0s9dF*rEa`htSMJtxeV5qWgMG<9LCP%V+bd1cpJdL18 z&^lpFdQ&G$pD`7TE3W!LmS?B^eKeo=kyNncQpS@H)8=5xx2|wzL*E?uZNi>LJ(KuH zS*?#Ch;Xiyp11*4OK^gky2n3ZjN=zxZ8#wcnUiynNJ%l*tfT(Yt&W2>E4w=^tcgF& zs)NRf(EJDNdXsu@vWXsuF~gKX8{q&9BUw9@b2=M~mg;4N22LM&xh30(3%2Sx@xZi# zJ8TW4`!Brc_cTGAofK6(8Ybw5kvgLg$Hav#kRmE{tdh&eZF``s>n@@N0Wp8Ng)HM6J}#XV-7UUeOe}@@^pfq19V{`d{M?oeGWJ@ zyda=bd(PL4#-zM(MgBdPZJZWN)}kI>?&;kK+VA^iimm+XVSqqr!MHunf@l_(OdWwW z(GY0nl-6Vm#`;N6?n$s1%XE`ZVt!A=V_vdWT;YiADj3Q%)p|Ry{d+-DR_tV}4sHJ% z6Yzm6OVk{HewQ?YD27(tB!+8`Skm3I89B4#(%XcO8j#$)C#&~YG=a{-VcN51 z6G487jEpyL5k2`uBRHS-yvco6=2|J&&e*xKtjpHIL|P0&;_=lq>L$WNF%D$G{dfT! zGr6e6Zim34S%Ug)`q8?Dsae>Bcp16et;9cUNcw(d?!8Hm(A2~Pb!xM_x=o}*B0~5w z^24^*pd&8Rb}NAI^=0Bt=vRLk`EwUS&;kBLuPkg(yZ4pHQB@e8RU2lkVk+sL^A%)$ z1Vm)##BDqAfO4}PPZ7eEe_I^-^7`5zWu#|#_N?bU9f+AGXgNPKzl)D#&O`H$i?=%i zocx+yh|8L^VB{w>Tt-m}FG;i2EyKx)&IV3#mX10~g`iOG=wlWIztdsL)9_?a{Jr(TcN49T6d+O3* zpM-1L8BDwq_F{jlZE*5>QAW^JGt=FLgTkEeNgWM-|CA+$`F%kI%iG3DxQb~ zK0BB8KPPZ;r4e8dTY~<($sx59{n>fn{L6+wHqm54G1B5RrQ1~XLWA~du-fXqgUn)W z>vsLa`fMk5OY{)7L@FvNAGWeK+>4`$a09$8dq^g-EC#I_woT(qw_N+Mv5ZQwIO5ze zsVz#g2x2^H(>B^pgDC%%F?=}*kIQC0l$z{=c;Wj7%mVYRotc%DMD|At1qf)@=XPA6 z+RKHOj%LgO{Wm`7Bj7E!5w99v7f z5_fDm|BqiPo4UVv3i>qDi~Y z1T#k)NrS9blkO^lr#N5v9{R+sb39d1jlEwxv;g zJnPy3kXOC6RnhyiL722! zc6C9MwY6kdTnwprX=#$^xE6fSvu|Lb))#RoLawmEx4k085)DzHOp-eDv zP9T<|ckuN==UQ?QQtmipma6n$V*NGvVYg;1`2 z#8a;x+lpyD?GLjU9WOfVT}Xx*m5#;7OZPc^TM-A zb;c}g-Sb^9t~F8g@j$l(V@U+1PE(09GfPZ)UTe1b57;?~85*&=L&@q!Gqu?(y*Kq+ zG8C|as(?b1y|ZTvd(RL&PFQKUQXsd9bm(0o z+qfSv#Ut>kfKpplZ*<#7;KS3yqzR&2Y`V4rBpwpbGLvet8?@q}@XsZQg4&f*v*R`k zV$s3e7LZgau5Y}q8=PGrIAwv*OZqef_t15ONK8c0E(#@^t<|@b4s&z}NyuhU;tmgD z(-C!1imQj$3Gu_)X`#EO>ATy>Y_fP2o2b5)ifP&^`fONOE@%s;hb6MR=*JRr z8Bo7g(&t{*E%9GMwLgevrkDQIT3P_79G&gi##;BumtOJP7gunl(X1VYc&f$kOn=k& z^*OhMsEDE!XIasd_T?oj5Qf2)8KW=Q{Qc=r>={@;bNb+e~f0>{_AC z3L(QNmjbZzp}x%YGP%F-UypHj!3e8i= zN4Ft@p+(PkjZ4W_3KC@TMOsHaTggS*|FXC4_FXlVTY29Q=4OW^;wm3Qr{+v)D5zEV zAvo!*ex}Z%kkZ=yOgrh$e-M)*NvWmyhj=+?L5oca?IQd_V>U#3PE|zM9*cg@fdQYJ zq?O@$_TC>UTtkLjs8dH~H9TkYBF}v#J|(KVg>p~5l<3vd3no8#a_$kmC=Q%M;yHxJ zUJ%c0sgv8IIkKt!t2Z7s!5q^%Cr#4PYSnHgG0Y*g)^0FYIQ-0}ozBlAFZbbB##v}$ zU<9&WBJu_wIC8jJQ6{Z8&Qn!vb$aPt-kSRQPYWgrBbzUcB!OQ*@4yc;VGL33z%pDu zMb#ALA>3~A%DY2`M$Ss{ifwOK%)|ru_SLPkYVdt-9Ttw~ut`!_PVi_X$9%?avp}G! zIjR&A*v5%G7VyAMPA5E^Bj{TV9)i5W)J&-;bHEKb^~T%orI5*fm$vOlIa={N-PCqx zq+9-Bm|J$ZBXocNymw!8VUIPU_xK@u)b z3l1B_#1B}iR)t0s04LrX@$A!*amBcyJ9uZ@B<+;%orGI?F;yGSTxGBY%E$nq1_nuq zi$_P=*waDXGtdGhgiPRr=;7UQvF)ZiAqqgYgaK`}NhJ`TL<(2pcR=4h)mBgiGX3-0 z(;xE)%6KFSE?_MBV!!P*Se+g23wyeGI;6`gm0h%V^;^uK?H7lagp}8boS?G`3IPPo~7^oyBru01d`ht z^y9*+4_&qq^rJI1fPJ|f^rXqW1-ssXx+3nu?0F^ma6(f}ItqI5PvnQ1gcSOwD&db_ zCq@#0exVe4V=WPgDKPpc0C~;;@{ZHd5AjnkG}RvXg^{=ix`!C_N!;><#@i2elA%ci zbkM#oij4Eqk{yuHAA$e}G^3Lmkay}f|K*zg`0hF#ND*UBxWRSHMF&V{^VYLjKB&R|xZ)HGT`(yMdqQLQGU zX59|BVy}Is-}QlI5?ptL}C!X(8#!@=eN0POT;?(ka!P(R;E|?|1KSSDmM^ zFz%^S22PlgJ>6^2JPVH_kXtMzRH89p?{C!_`|ReV>J_q7U9m~s`t11Ckn-WS(Kb>w)SRgKr@PO<=t~>(I|^@-$Qpenh;>L%B;|W zW4qxlWItbLjjyDEVBwFvZ#K~1A5DrdmK2N>3#ua zyfI$QDZ)90Nfr+Yi;F~hOWZ{R?%v@AsH(0j^W4u+tkL+AWNM|f zM2&j@M)CCX$ehzdl^@zW(EFFE#M=h|w>&f71pF%5bOY07JEJ~8(~!_qfj9RrkgF{C zzxQ~&iK`4=AVm3g#ua@8h389U;Y`ZNq%)L@o!bOE-3EXLL+c=L6u~Fg;ddO3SOMvckM3Flg0|} zpA?y1)Y&86{|=u~Ir$TPFYe0ki-r(!xJ_}*-p_?kxD(iQhK~>oIvK1Ma?4F4Ivas< zZJKs*8YwfR{9BuU#&sX3+XH`3Eiklfqe@};>iNJJjU%Or_XZ&h@#e7|RVeo$ z9)sFA`4k}X747f%;qD+{zC=w#^oPJQEbY%O^oJ6Q&LIPL#rN!Q-#~RYATD9XN+0|{ zer^ZzR)RT)ySG)-n%GI?CwT@Z+6Y1-^}1vka!)+vp&2N}jACL;*LOYXkuc5SqBGrM z)CW4M$>&Z<%}HIX*)4mIM~i$?@e+>X^JRS=y&(vjEpe?bfT$Ct5-~_3__y_h7Oj)@;d<| zSg6TVB(&BD2KjDzyzTbA%Q^N>EVt1Lso|GRInA26Vmddx|9EeSNlGJ|hofFwu~YN! zCrbx`AFB>lPy6~BEB{n&xNPd9vd`?YW2lYWH^q_q7*H9|vng~G+s*ZIfVnoLDzbUc zbx=Z5hpMPKc^wql{E;KV&pW}=8jBb6`Fj!)(HFjVz4xo$emINY1}uT!{h4D@#x^eN z?-)(f0rhp=lvzR2qE?Yroz-p_`)x`;EaR9bD~=QG~ZalQpb<5T^tmL z560_*Mz5vYk8+VkVk6+ZkVoOGLu>N}QudM=w%ofWBEIiePqQm>RLldt7qL}EVy1BNKtRJai91L=!HaNAVGhlJKKw}}ECJwD6$ng*G7iCzDbu-MncH$^v0%=XuGW3bY{*FxI9q&k|d%lNQaaBqUH#jxN zd^(jDR$$t+TY;}b&6^Vu2GfJWu^sG$^a_=SZ5M$8kCf69z2{E-CQbU5{3CO$Cwky)4W^ojgtDH_km zvVd3)^u0Ij^iV2bn%uSE07-z-kpS=Wy3C}9YowEzI3)X!? zfn^@u{Fo*0{e@-tLP@!1qlt!@!G)b%i0C{YXg)Ko1m9r@o~0xE{kdxxCB^A9q{zOp zqQ%#U6X0D8vXBnvi>QHU^Wa7^|BeYSKw`v_?A_ioMwHyRWil;q*Q@?$ke-~jX4q5? zeZe$>Y}Pt!Lv*Y#qkTzOW;|F(g0wd*gS~Am#{8fA@E&?IO&ZcBpGXem;kMvY*m*|<{2gE`V zT~+!_l~6NvXvnDOGTJ*BTj?16C8aD!3fy;eI%$cl_w`D)4}2t~r^M_~g_vcI?u~2@{fyijV20jyz!igAD8`spy!;_FpqDD({OSb!|$q){R zWo}FEouFNqqu!_Ms^2G{{x>OkX6#*0l;DuG!aRfuNQWD|H|{NSKo(7R+mU*`1vda| zLw}6^2{^mqF3myI`Ba?$+WRIWpgIf;6vp?{9TSs4Lzt&I3oVh&Ly4R^m7}S z0|f{0;5SbY`P&mSOI^zVQMLMURYIe$^6zIo^EBKO3)Q?Mk3}%= zvdduCD_Aq0*ii@>TeAFcR8X~`3*Y9J*-(M(2&Ul`aIY!5PQqLhEtx{MnqW|r z1cJGPYpTB44lI}|2GMW8B6WG6iG>Z>m$+Kj6Ei+DUKgF&mq?)amWnG zbs1@D>jT>Ne7XL`D%K?#MqIT~)|b5k&% zp=&!i{*_X@0926tyKJ6-f>1fi}cl!Y7I@sVHD!C|1&I#~ek&b7md5b%4v^DTtbOX_ASEv%jX^#l7 zbX`6>7|9{a-(&=%+W6O)zxo0i}&w<(-;dlY(42sSh1lTFJ zsZG2urBm)-J19QKRORv6YPMOMB?oeUI>Wtf!UtquEYC;g!Yft5q9}85ZIBZH5oF{H%)Ly+|bKJ|)&p1g5NTtxjZ6#8E zh?(}&Y@;-qLpyBd-Q>!LA}QRPR#g4C##A@!U0!@i-iagiy^KdP>a#OPWE`d7jP-Qs zBsyq%l){Uiu@m%P(L*Tjb~JKzuFCYTt?)%gfE1QgjtalIbZA`Mo$<5 zZaM&;Xc0-3-Z=REc(fZ$@zpf?e?9(1uGcH23;K(MtC!xxmMqIlUp#WbYA^LEGD7DWhh6Xvy}|$cnJbxTMIg2a5!9SyC*4i z(9-H;9uFuj-|3albI$Mc69K(vh0z}q(p{lZj{3k*a}bKwz$4rsC$11zn@3QWWEUm1p||K#GbX{)Ten<`vXfK7?XCmq!FR&6KYwmAMXbMYK!Z+fzegOwBh ze%e8!Qiea#G#{)>9@l6@Y}1c!;+h!VTy2ocQ3B4 zY5gsD(oz4e zzlO8}#mt2f?bhiGC?UUCLJ|JF{WJQ)(^&XRculqEcdfmlpE8>u<5cNI#&1YPNB3{G zcYRe~aBRPY8}sobu(Y}ygvIAy$)P@YrHC!=OQ(t4F~rBQHw8Rl{4}w6&!-)D9!YFSW)YlL-K*NKk(yfIkeu4az zauVYp`VD2*AA?CAfR}d!!d%K(Ja||7?bqIL?um@-Qh_flJq_!18srw zz=rd_fc>t5_7z6-%h4&J;@0adz$?ET9e+J&j4Vtx@*BettHF{Mrv?!NqF1T6mpeDE z6S=B{X_H!Z==Tn}F0HjVsXrXEuZi{+rX>B{O}vtX#>YqZT;X%5lgC31C8*j@u(VhP?Z95?Q6uueVJw)pP5^A$%;b~aidL8G=08iO-4 zvb^&C$SC}1qv)F9pniv3;$G%iY;pgRcTZCC%nRio*dTYckeXhUQ?V|7drm7JW0uM> zzst(61$YDv@U-)}=M{l|hP1alAv!$1A>y8!)o@ewvh-M6-sYK4mLE?o?}$7^)9e>! zwT8#w*yJHoiHS*tDT}V8vWJnTvZ)D&B^Dvzt(~0%AZwBPzZZmfoC2DpNIT!7?9UI> zy$w<-4136gdYdD{@B|E08Fg(_8!K{XykXSl$vBd439QTL1G;24d@L%eSa_*=ak_h; zn3H3|TMM%^hUVncsHjO4^YGE!!W1=2YoH}qr7E+fk?}Hcdq?0sLK*1Y=M}c|(TJW& zU^(g1>;3zRFRsg_?a?p!iHy>jkV_3Q*yz37anj~~gz^WmJ(UjHK zx9z9f2fw&uwjMNBzn4|pa5}ijoA}Br{pHm=ZdUis6Z-FpY95}F-mO0mI!Gy#f73#2 zTf&!$*Tik;QXQfdLe(ZO?%0wtyK26W;GjtsNG2p1jK)*`V(4`@B>sh;1c<%I1udw* zJTrdKdBTt^5|KE-Ucn)b9S(=sIrwt-_e-O{3>3Bh^DO3!U*UtISpxnHbeEM84#lvgFjksm(GVf3Z8sD~e!slIqX4$%!_>`IMEYJo!){hNqaX z+3#eGc|?evWjn`F%-pyu^V9mF7%iF}C1`%kn_$Vxvhj9ch1XQWZruqkCW1k;ASE7p z*ZZd_`s9+8@ttbnOKCcIcYD9C3wh`(DAWL(_3BZ;JwX^D2GiMZbZg*yAbl#uDH*w{ z4{0+SVxlcrhnzU<#<{HmqpPm{yL%`em+Qi`o?>2pI&~PCiJiJ%&Axe(OdX zsEgjba8L#?b#k~XDY6x&`MT||gPM$90qm^!tWI+xqN$QO%52gR<-!Ts%`@V@0;eAHuiLSdo3YWonTD-&_omAd`ai_dbRUJ%leElvf;S>BjcX`I+ zsERwKLqbDHXP!;`jvMMgu-%c^@%#wep@yhdNO&hEThgI-yXFM+oJiIj!I4hcC zFoZ;Lg1Bb=mzMwJ&P;;<1UCjGJNMjvpK=aXbZ93F5aGm~Iztvtq#5eHV)#eBlDuro zCV6LsZi5RX?GR|s-xdF0jbeqILh?))N7yiG3e8ZbYYqnON2j^dwt^EcQo^5|3T|)M zj{530Tj!ReKl;Nj`D^KbJFK?n-t7+UNfzH)5K8W5g;d?gjn?M!B#xlA@~C%8TmNvv zZ>Llyp@J}vNu}{S;_XKmRSh^YhpHvICv2WZ;9RifWTR~f@s3w8lEc(TQn2$BiS26y z11prAWy&EJ`WBclUaDae5Gjvl>;u<2BxLvbu{8&hv+EgP-$;40) z2-fMsb1i!~R9)HAAL~iA{bm=1H}Rwu8iacN5ZY@5u1aZ|YCq5kBx5R(%G+u>0Qkek zFPxns;w^+?aDdn-mO~KR5x0yViA+E+ALBjb?UR$08W5Wux^INwZc!UFNZ8fXIRRZx zO&Lozb2L@Wfw7>?csC~oO1t(+eQEx*8fyi0Q;a$8ET5+(X>Jec;-GBc=+pj^6iFu_l|pzl+<9%42Ubhg6Str-%q40?n-he8QdER4P$X+FDeD&lbwp$pZPA_kcNr zn{VA$)RWmZ3o0=ih6__R$-g)(&FJcyO0Tf8OrX^8fJ?;*KR;yCz!}crn_Ji|e$vZ~ z7MK%n22%verm=Ufs|ZBpCSt6gse`Rgi^OPh?PCkVNdM<%xub!<1RM8B`?JLqJC4fs znT0RUh^TWc$#6`_i#*~vGz=aEkDL6L9JCH|8oD+gft^56nJM~ixjO7hJ3Kty@zju8 zwDB)-{S$aIh6-jDjT8|}%*_OM$%OwYdZCp{1co!$jaZ~!gX3%yY z6Oshsa;18l1xRuPFb4ZTEcVG%9tH?Yv106A;k$v999diHW@vt{$m{=cM~0dl!Djdt zqMKy`%M79_u%NWt7qw2bH=E7()p$5B5)b6Yk95^w(667;=M`0U1|SU6@h;5$NO7d{Zzr!r26-QTDrn@>q^Rl%_IrbhnlgJ)BY=gH%sa^5%Bv{a zsbjM?4)<(p*y+eg!EKCBo#or>*X2+!qs)-{=KJ&9(nnj&C#>Bn)!A0H;nU((3Lmy# z7?aVl8$zF+u_(pSoUsu=;8~;o;-UB83h;EhXjNg)CN@*lB`!x~HZ}_5eBpTEHUm)f z?xa;Rz(3hKc6TsSBJj(UBr#$;Qgo=%_j14_4JrxD8DbZ+v<1d zwD&9u74Y9R%>R`Ra4Xik1lAuBcW{;V{7>@ngeN$#Zz(|R*G<0U)>))3AG0g5O}vUG znJLg(^3osF0%kQYyq|67A`{)n*_eVHc3>cbT5040H&}CqQR40tL;AGL9~pT#inEwB zaoK7m3+I}F8@Hfip3^~*kPqer*ksO-Pp@DMJYk@Px{0qPZnPyS(ogFVcs84wG}0}@ zymJn>^=`PpVxMr>n`X{@_hqcD+E25PPt|BNP4{;1aCX~?N8i}4uk0)}p!#W1uk_LG zZYx2NQ1j_52A;#kiFUbeq}bmg1G0np9Gfl)6k- zx?e+;QczO%gvAyz;h;EE`OgUNb;gcybY_ojx>jtvs}w8Cqq3?LE4rE#C7ANIcwzie z(mIhU((cVpjDPIFxxF>$U7Xks9-Zew1czFuC~RR2qsLEE$*hA~J~U5TaTk(+GU$eVha2$GhG%9>i`$7038qH-Tg^;472ZqUJju z|Fy8Bnw;-@W~|F&xN(JnBGmNyce8s*%X*_hirDm`5;;_X8q0Ii`Y8purhL+bF9fNk zcZ=apTh^c@gJsWnZ%9RrJdpF~T@t{oeTVewuP}|31tAAj+-RJMOzbey^aqi?1UE`r zo90VjXiO14CbarvRl_I&LgRF7BW!+k8xp(Tb6ijA{SFrB<(@{L5ZK(stL6HC08c=$zb!3_4YyJ)c4qT!nXW{l zE0ZziVwpNXIEa9W$F#H>r6o%#7andFeA1;|%Vtw0VPO&~l`v_kY;iW0_Q}j_DgI)ae=b4fnJER$K9d2)$?K?6g&u4}?Mmr=RL0JaxFCEBw^(t#Ww4wdzfnD8~ zb*X(HsMlP7J7k{z>sR}^Kze6nJ1cl&AcDYRO>^8i(3&(m%QlhPGB8fzpib?bp44M(*XET zzoO+i<)8d3#@-ymx4i83;(!F36O^M?1UkjzEB{Rd?wsBxv}OUih1MzPwwM8z*DNIT0c#w&8|Z+CN;FR>EMCePu?XyB_L;lZc$2A)kpY zshiDC`E4EHlf`kex6{|$H#ZYZywbeL>{N$?XP;E39u7%_Dk?nGwET72_Q~WJ$m6i< z{YH9Fw7?}GKZ?fWCj?Jk`Zn1o7zv4!(miYn3oBznHQu18-LPA+^tVp~GcT$|snp#n z!{ZXG7+zjtMlMxMjjNz|xnxApXk`?2&q=kY)W>ZuVW@xY}@Lc|KzksthY?jH6|U zUj%`wJTKeDx2jkQYP3cfbtJzxB+)0wAXRT>mDz||-8W-K4XBN)2cBO_EErY%T%b%$ ze&x@K_OBi=pQgF-%Jh~SlQ>T+;afk(0%B4Ys#wXfhdCUS>!jZDWK^n!jj21Q1_#j2 zB?Xi7&(h54CeIXmEiH#-*u9nr>l{mWdWR29L~mYx46!=FEvI>pYm9?fhW3gb6Y1RP)ATs9fcFtZHtMfs=3!;A^$aS^sO(+I7xx_2&gY*i!-;v4l@JcRWU{R^qirQeGJ-WwL_$dsy7;E|z~k>%kV#-)(e- z71;k^h8gTz#*FeQ3%-NrO%_n*#DCDW8@2w$h3W6L;VzDp{+q09&LtwkH+)w(*$0`T zP~-_rN|;s_#e7h1k3MY-?!U|g6T|!aSlraEU&JmT#tBh0G4lR77hQIia7>Fv_V=?g zGTK?b%uQ^6z;7iY)kCRejOeIl2~uyTO6ELlZoY z5&eDLl|yIFfKKiD$86F`tPwdao%HY?%)R)X{^g@ZybelvQY>? zera&^RONJh?e(*>967Ax>b#K`oyePRnn2bEr&`$BMwrB-fKyxDYvi4@2KOtgwmKz+ zCI*#mmXf>$+FNXoeIE@V{#h_JtbPCP{ri1|Gc#Ao5WgCxx>L1e~I5MmWVHZ`ZF!6nJIB+5io328$xq0xB z`zmoExdu5DLE&jD`NC^{F~k8b_dJ1nrlpqtP!0a{7R-%Dw{>2^Gt&ptocW>lGKf9N zDfMsC&OxNQHYMfo8N-2ja9v?HnS04yVV{_LVPD{L+)H#)J#Q7wMN4wG9q71Tq%*OZ5!tZN^7_=zCc;19oN0Pn_dahu+lnwoePs z?qBeQ$uRU*kT7UB$JAWbVPd`|ksnwc8Iw%9QV=%&vLejpN=P!O-*j5_vlwPwcO}$E z+JxIqasU+cxmmmWxwxp?+8hudHYEDuf`(4}XGOYNvpOvLJm5c%bzLPOh>SL}V4(4_ znZ!H$hczz#cxxB0b-T`9j)vCGVQ?$;-j3O$@$UXJ<&Q^RSPvOK_(_j&<{eQ36R*R7 zHTP)e?o;3Q>$tYk@2LBc!|o<;P!xwKq@Ib2hP`*luSwe7)XXnGpmTN&hELP&iHxsi zW^09Z&`qkSVakGsBxSmrM)Zafb)&U>Bb#Du)0L z;UEs<3;0qNbR(xtN!)q8ykkT9rz&_zpw(({cflmO) zpoBU*2Qx~S=kX_r!nje7pJQ%%kb}i`u!}41wK2-a#uBN&A78{7;4D}lC7AO0w@HrZ z5o*%qP?D}gG~(y>Q9d8azMqkJ;&mCUM_l!OaSt)j7iSabLnJ1}W+*1D6sIn4ZOdFy zY7yTHP))!9Xtar}$REBA#|yk+HBFXjhDw!NW|{d+iY*cu�zBE;A6`RoYnYVbGchb9$^iIU2 zlb4eXSgKF;hs92f9)X7wb^TwD&c2*&U=S{oe(sZIa>qvURUBui5NRm(7HuoX`2nGj_fQXdj59~`mmvjNGQc1(VL&D#HW6lW``3K55SJ{IY z8$sR&0#p-&7|bw+GlG$nGfEX6prQ59-<4dUckXbUKmR7~zgOYWBWnD~D$}NRfPypU zFD1N)nYk-7^7ssw^)vx&Ytui2N!c;D{u`&+5`2YCzU6h*-9fDv2s}G$*|e$E=aNX- zCg2ny0?aJOB}f|vFKsfu?VU77pBr5PxR-C%;^7-B5<-Qp_W1@*>2JRFeBYrvfaFlz zK-l014^GpoYrPGvZ@y3l0fXeXCp&%n(S#<@A%Ogpr2OvFeFFd>aP*D6V>%K5Hqa8@ z3e%Fus2ckJM>U6D3l%8S7z!4LRggbur#VnOL_M23iN`0@3f`^o_T)6ZQA7*lgcI)5 z6Wb3(mTK7=i>P}@>K?2*S#~>twl?|yq%u*C%}ETg0wg-*7XTWEJpgRh;n_IA;Xwdf ze+a}u83=LQWg|dKkDI!~TdP`)w4NUPAptFoCpr-SKaoA#Cuh2(^ymNw9oH?WJ;^&p zX;B?IAi?)}0OdrnNe|@#gV2SBPeC^Z^c$b-=t3G2KvlroJPVLc)MCLSWkXE=Nfjhj z33MpVI)tA+jV95+T%7!|P7o{Evp~gk*<`th05E;vjY<{iA%KZN;93aa;O#f+$TL+NDhPCCJln$*hzq5gji|5R^S#>cw4%2(qd58sM8E z>kle`!I;I9dI3K;HVK4X0^8Bcx>y0~l84XtvFc+pPeM2bpMYE#VwB-nEUuHGBH|t< zS(0KF6Q0)7E#c`nP@2n70Eok9`t9yw(d-vgW)6mt0=)B=v^1?*|SO(paLnislt zx?0ML8_c2vF%CIli+WTHL3MOpI$WWu!$7UBCY>~fLJkhOFpE)!&RE=lp(5fQCRvhV z789P`20RliU?=KUys@(!+5!8CO(UQlAbA^XuH&$5d?z0%9v5(1qsn_W189~GJ6nZ` z$X8Eu;6~~AVp>F(7)`%L_e{#1o*$qvm<27B2ahNu>P8SVuV%Yw&*;l7RAz;q4Wkov zHw=>~?hwHW3kWp?TDN)le>kXizNU?A3;+T^U;y7lCjbDR1prtLFPn!W#q%^q<+6Qj zfV!GR@uU3PJkI}v{|`UP6p2IPm!gUJCG#QT(v#FJ^+-=-7r9!#qHI>aDna!nwN&R-Zm2KR>~?g8?#JHlUfTQL8}7aAGY6=_*?=>s9CQvI4!#bLk9Lon@#;8WOdltW z1>?`go-vI`C;&0gIdmF*g>E4dJwx;8FT4m7+~6nNf$!q`_z|APf8Z|!0U--%$PS4k zS)_!VCsSmR{6}kPhh}t{k|~Sw>19e&6`l9@_Wqt9_ThWIAVh-Z_8M3#)DXVS{FD@|mPtjuY? zl9%Ue#meHMC@MzEW93G9x!PLYtbQsD4A_Gah_I7J+m9{Uu_VQ~VY+t>*Bk|Ggzq~nTkKKOz>o>jr z#OrUp{%z-O;hxUhIv?UIDaK(hKnFK4!~C5%xswsj%C5x<=z)%l~U)~ z+SWXdPFnMA2@P4m;27OLX>_=OBNkHh;9v&5RdVu{I?Q;SW~=+Gv8hM837PRFepIHw zsP97i3-cK~G-QI8qNKnyYrOc^_Aq-)7T21G?MLQEQ?%09;*CgHY_Fuvd!-ekGqMZq zHJ*#bMQ$7?cxD3!yo|B1qrDNbKG4dIwbdSZvi-X&!Anp;Sz6>FwU|3<2j`sD zlkzlH&TXL$nh)lm(j^^8X$1u28|)q+^wB2c}Y zyxoYy>9KwaDsYtT%}g22qeSdxy9Q)Riyt5sh&YK&rA=f@-3);F-nw|1%F#j&G>uoB zdG`fTMRLubb;9ZgPDNo9EUv7N|8Zxf_eeV9X0@P(J7XF7`QFN;{mkunj%qfEQZ)^9 zQP$`GZxEDpsHKCaS?DmJUT6l?nbo6k_kH+YmWOJxj(8c^i+}&+WH);l7fbRPhWjvfjCB2sgZ-TnOo1*SJ3p6-=%!;O^;RwA0&J?m5K4L#Jt$GBy!oU^E49{o4boa7U zA!Er>N9Cu3W+4ol72gGu&9}CmGb2``kDifX#}VkVr)F z50DGRF{IjDySlqB;?xuVg6Rm=>6(npgO~gez9|KW--kk2y-O+IOZ3?VNa+E$@qfFOpT(B0bm43`J9BTY(b z?XVM-$3BAuAb(cuab}+i?Desi$=UK^RY?dMqeE4I3>Xq1Js0-gl|9ee@i|23J*)|&e9#}p4Ty|bUPNBe)S(kZsPz^<)JscUKygwbJ(LOM-nU1&DRs!}_(F3N?0GU)jvL?jzplj^T zzyK>4$h-#MyANIGcwi?QhWs{hL>!K}F{;&Ty`$jEW>MRFix?$;x}}wTCsL;3GfnLd zDO&3S=&9kh{g+etqT)ndtaI^$f=4ag$>G8*!|7P!(Nqdy7W zm1uAuL9RlH1TMf{khDT)_YhIk>yI>b^}~W7pan`TF{S?Q8mUZdE?UO4bV-4}&_A=8 z*%}2ANAdz;2f}?qsV_ddmr|TrdS!6I858|ilKc_r#skogWrALw2_C{uFMOe${p%8` zBQ1(W(=Vagfofe0HLyQJPhE$`y>leXMeU~NsHJ{?KVaqTKOd~=TKUdKhW4uGbdb`r z88b9y40&cIC4bFyC9#uEz)k|+Y=cUS$z9#GjmQMyR|q+qjVMs2U5+pe@lpHY+u$Yd zr9jx!mKV;Qp{nw6ArxN5I?<1~-ATBiAi(AK3xc>spP*f!n#2#*+^#>JG+7*-`fE=n z?;L9inbdCNYOqLOH_l$$VER}jY19Q`3FKU%wPJYr-E_{bI}|f}ytI@>K$oG|p4Ob} z9k)m!d->gXJoz~IjLKsxF>1cO;H192LBtAX z&)jE$1;~O@)gs&$HHnQGnOv)}G!yCapAcOq1A(wWjniAM6uGgoM5Rer<6KYige$wS z8`n%Z=$?smix_Ib!8JA&_Uj|8C)kLd;3XGg!myEwdN}Dp;!zIo1O$w^{0sKHd0{fo zNdZ+DUMICMXI9MmEpW>AD-hkHoz(DrO*hs(u>z~h=DzE3OJkg1Q8^Lje5#2=-HP#Z zTkM8G>#4Aima#QpjhLHMjPl9&kOtnVDH;}B#l2va;EJxvjKi-Y?WWNO46`me3)iQ96<+prpCv;k~v+yEjva zTSlFsiVF%}x3?Y=)hQN`S{aQ37#p+<_=?dJ*k>3OoLK18lKN)hRbKJBOl-1Cz}ZD-^Cp6PgG;5p3f%!W0EEhC#Ux zd8HSnHdh~vnM`obssW2^wagG9+9~W7_~3@HoM|33%Coem?OhpytBU-A94=(bxIn(= zCJ?BGV`{o$&?arV2&o)5{1181V0J)pKJOs*m3;W)`(AF~qr@ZnA74*C)^I0oJMJBX z8|OJ@+yio+4g&ElA>Xd+_+@&0=FcT#7y$xATkB<-qW;0H_Ie5##6!^OM>ilE^)(+F zHL2|Q*yu>A-vL;;Yh7b)nxcAHFY%_5yo!8#$HgRj>~oIKgpai18X@LB!|Hyv_H_;^ z%O??~jFie+VW6ja;}^p%nv05q<@l%j0%8>7{9yX!3_5cQVz^66Ohc=2v{H+q)2ve9 zU~igH)hT6O(AU1r7R@rS{tc(Ma1I{6G+Klib{C2StN6cj;rzLM5UlAt zPPn&pXv-ZF9tf-;tJdo9lin7-)pq=b znkG=CX4j#y)nCvV;+f@v5x&j5Kcg&30@qJ)KkVlOX(>~neJoI4$cH^)Wvwvl!u14& zdkrM?gVlT;Brm2jI(d%8=Qq36GM?P;$wd7;;l3X8v<)w0luw+$mlP;h5*i=(g&Gs7 ztF^7G@oLxL8bH5`fSOKK89ny_o)dieVE%w8KI5hiI;jQ>N13%1{{x%%ua|agRx+M$ z0z!3426Z+~h2{FwEb||Qet4n9X>P$ol_Luv*Opma3(wbs>bv?vUDu1GCAD-aV`47G zANTKZ9EbcwZP9^aFI$_ry!h6wW_M=%!WqkJofs98gA!w!vs}Fg2M*^O+KALeqm&#a zx*?quBnGg$#d32Sk^{8NFeSmvM_ENurB2ma9$5czC#>K*%VeC&6NtqYhl-q(9F(xF z7ZQk^b*Wy3BX~|IELdoIg;z}!$uQd(`GAA6S5BbGyyf+f$ zc!=fK-%jmw(uo8_I^TpILFo*LHBOd}YI{z(!{mUveRf@F$6?L_t=UVbq%Byfl1xCc z6(p<9$tI5nUd=(1L+Y8*4CYBou`{m~R-r#kQETV6)W&Pd>U@RozG%l!+*}HsW3?C4 z+a0}!YL01(iMN++DFiJv!2+p~4U=r|bEy5z|D!_?K)L{HRu53Pntrw-|u9u{-1 z@wYLf#GY;~OUT^;;YM?%6zvL&>56M{2$+!NkdUs}B$m*h>)RDDM}e+lxeq0qaY!bx z_9C_@=dXs;*QPPiWk6}TRFaADHY_aa3Ctu4TdbOgA~m;{+OjPoy^93Fl6UV?kMyK{ zIbkX|e%Qe{xZr$^Zz!w*vVMGQT+H$&*xs_8L*ey8`JqNS65GIXnQ6iu)X+3D(=&>M9KYwl1l@U_M{M%;`szjY%7WlbVAEJuv2M0y1m`f2d2H4a2GsRkf*2J|JFdKtXmPys;H});SK1eangYg)5Jawy#|{j z!3a}1Tm51j|4mUThPzT!GM&4_i?J+mN?=h;8!6rBDDa!Esu|SEQO`ZW@lE>{i=9>5 z*~HY7AGcqbk$y3-u$ua9f2)H8@x?Zne5l)PEHI8XU|y+rbgzBnmwtrn+Udi><>|9` zk_FuB&Syib|bhTnp9B$Ck!!3{XgTXM^iP zl^0xKk6kL$mejFT7@kZv2oYB->K)l~I9dh%>WW^*YMS>6A;Qf%|` z+=WOScx(v}M1`oHxI;w?auqa5bso|bbaD~wfz&NHajr(XX3V(!hjsfI+dq_Yo0Kvm zuV|3uP9qEaP*@-Jg;AyB4dXj^G-NP%!jr}Y%$T+c>=^{0*xl)``b!)2{BL~f1 zR|U$L%(ACKyjXGrhvTNA8ze9#12Uke8vUc##CI(r6GC5~Alkam59oj*f|Jm_QnI$; zWKWE|gTy-;BVM8+6-up1gskmkvpM79MDw+@6p9Az#b^2t43_sv*9^*Cu2h7UoYY@u zaSy2HUT_Ls`jkF&?sP<%LzPnrCRD5cdDAyY#)0tBQXtv=JXXdy#R=6plxp2fY}dWB z?W1M+_*X3Q_tar4Nk4e`0W9mDBxJm(%ko(*7w`Z**xel+7dkc7lau!Tl=QPVoGU0_ z3+3)T5sZ9Y=FO%5X*e1kt;Fj`OMQ0i!tfej!t zb{R%lU6CF2Y+>zsDh~D`vNZ6#`T>uC{5l23XwByS!PWIA56%}8vWBlDQPNuMF+a&? z>}VwKL<;dXl_%ZPE)`D-VC0Mv7<+Hq3MC$rBpu?0+pV3m()PV5aUdmKB8N?SIVs5f zl_Cd6*UOnFXYKc>?`k@W%MZ)r9`+#)((~w#QmeK?|1Ny5Qsp)P_Q8_<-A@Xo|2$?K zqGH3yGR?Q+VMu)@AnHO8A*+oN)CZ8lg#55)kTp`|_f?{x$zyeOUP=#9jSfJMd%qPeRGo(aiTj0PeUkl z0xt>ZlI=!~_;tr^%&FHagjJ33W^ybki(117zJ4JsKFXZ%bj#zsW9F@|uHGPn|04D{rryK^n{6spH;2^g@078bq%NQQW8gf#^l2W@8InR7o1xU4SlF?q}?%+zOgjDZ_42jujjW1 z=1qE;BWo5db07}lv2mT$%DzCXIUp!~PtoD*y9%KyA`1_tzBcM}AF{tTK@5IkXlw<~ zV-a?3n%zu{xWZeHjE=Nw+yJ>T{@X``tXEF0A2-qLG%%;qsDyH;yh)avsl`IFqCU^0 za)py77}nP}46dxE3|P>)lU7FV8#<1T_)2OQHo>DGyHRhJ&FoCAUTP$|w>O*Hq+odZ zUrp1Apd%D<^GCMVdJ+96E4h!O{|R2-3c_`Vx@49uOksFkqy^Zlm~rAUGfXTyuacJ) z4O3yU6mF!>zk5egP)f68o!dj1IzOY;@3$MABAfd%A z*TNy4!Bv#8{8T-5Blwz6`=sTZCA!H}kgTUK4$fyYT+kBiO-)&LKe#dqMk36LqMwBJ zWc$3i`s9~vrv@^Tqb7g?L(Yx&_+{zrlkKgHCd5H1?}Fr^xvSvRi7pkEP8bL-}q zvQD#Z#AkKj=Sw3jYoe~73|{pg&fV1{eN{iT{EUB&6H#5n*ooClJv<<(e>|PdYcYwb z^CG3eE4{-43GrYxKJjL6>`#_HIqS`Cc%jQ+3DhbcJF8v=Cnhd)WV_Q8Dv;1HdE(a@ z>^hc8VXb=Nv;2zw1Gau!RrW{z%s}U%yMy}*6GY#1(HK+v1t};1ptjWcBOE0rk zd7$wy?%Ey2CIqGu`&<)js?A#017 zO2P&416tS0a!g9J@FKtVu7PhCkxj%~CA4VGJ4ba+CtJ!wF1AKi6lKcvzv7*(bab76 z&~edfgjZN{wYm51`2wu%In-z+O=Y#xsO&)e9OJU&a_{PK#x?pO``*YSpexn)5wDTr zm?o*4cA8fz^J^E{q9aJd{sY*HLCy=ngi42E0)Nd(^lSzPs4$>GLq%S?XcJ8*o-b~7 z0JAa1$Y&YZ#?y>OoT%F{^G9pc3Qhao{%RDqc=MPAF?U5_qN?A-kCL7WDW7FA2{8l$ zD8Z7fp$GOcoSMoN-BB+TvR+R#N?j0qcUu9ly6Jo^E4Wt4&XvzyYa!EvRy&d9FOR16 zJZMS+=P%*sFTv!(^fpT_I4F^af>&v4o8P+ zCwi9r+9`+B^;z7 z26C1Fb}7O;)`D!#lS!+^ENlT3VJ28V}hS!G)@ddK11`)avC z?wJSmpu$z^cq3=$FwG^$H!I*I|i%54KhI7^b+> zys9A;0#1kS*zHMiHSkt1)5CSU6)QBoTOZd^_{s%ew??;n)`%mY?n*@=;`xK?)MJgo z4RT&3TJ=~TFPI_gaK2p*T89$iNSi|=j`|W>p;waYkZJ%44xl$&7>UW1t z4wvPiMyg!Ej}mfwWz!lxl}}ZWeivb8d7`Ef^zKX_@K1MjWRj6BRiL~kNgJ)tt#6n! zdMAhr8yYj6NLZ2&mRi4Yp-S%M23rJj z-b@Rzdw` z?Xp^N!$l6%cMqThhGD4k zl?0LHjh9yj9d-IPucWhb+2wUz<#5&Oy)}z*{K)Odl4pXOwNR!y>6Mja+U3_{1N1)X zBr26`UeiI$MHzE`iiv7Ynvh!ZJLzUZ2i*tjce>6l=awm10uN+Q$Ljpm=?DgDKPV8= z#E+{r_=b2_eo@e=Qb>vTGFLV%hmnCuCp4N!AC4McI{}8Al+{DyB6p+mzFnU%zzaR~ zrfi);E4qooxF-Z<-cJ7vaas#1V97D`ooS$Fip5kqP2F$8s@H`xxpB*~&m5xiXZpXR z>vor7-tTTuE^dUgRN7G)vC35m6WXw)>uzb~G^)oMmYr&O`k+pCmRKC8P~!FN^O)7Z zqn((~k|nlNtggNm{~Mk`|JJ#!xq+tY%GX)PqTr305wz)(_g|D)48Ka04^|yV_|QJ zDF^}m)rtRG{bt)ka(J)q_VC9XI}Rf%={OjE3BEf9?Y`JI} z%1Cg(gaZTDy?e(-21tF^U9FkUvjITCw@e&~xRc2s%>b9+MfrigP~PL6jOU*-w)~#o zHhhZJI*T~tCmFl4jCYjvjQljH$uW649{<;=ETzDpp-5NwRrsYl>)^JdXRo$llH<$T zJ8WpvOE!{jg^qqjJF73cI`liyj0(dy-+-jYQBQ^RJfaJZ2B$pvIJPG1a!O@Ns;Z`!p=_VD^!SnMzUs>3j^KH04%Fy|qO_xntj zaLFOEeTTciWZS@s8`DyoW5gtJPtTS)K$dHh2E^u8G?}@hD&b04{nEwOt#>+ol%yj_anM(v zR{8M@BWWpjil*=tSKQZ8*1_I$;cW7t<+Rg>HsD1$AfK0{#B#kLE3JQ(S<-r)sJ)2? zXR~c`+z;_6KD4YL%j3>RGcb?*k+PHdl|(FMY)uBR<6$eaO4RNc@~)^Dgi?> zq~LsbLng2|NsL@y*o@`p^tzb57<$j3HPUL6p%lGaR z;%ITBUO19p&Dtz^6Had&Epmtr!5c5EGPoce5zh_+Wou@aKkdChNJ9tA({yOs1;D0W1)v#ORn;;`ku_WXU z`%^l*+g_*Or}eGL;Mjmbq7E|T1IfNt4U0Nyd_Cz+X%5I>pZ}l;4k=gpX?Fk`lT@sj z8>^&mp19)zWeX{`iBCU7NJIvfe62lE$Z_@fAX~-P7(K>96aqpt;+#~ zf}3)!|0Iv5Bo!;$nQgpQjg{ydK1CV7A+IIc`}QTYrbnt@-BPA7!(8}jr)pR9zS_a2 z#`K>E18rji9$*7Uj%v0`K4M&*6qF2aC1KGRO-+n`3I6D@konByFeTut(BrjM444iB z{D&Rz@m;%ob|ZB)y^ihZ5y&A@TbUz=x){^&|x%=+z0N+!Z}qW&BfJBc5$>YtF#FUM#GSzE=dxSvoybU zf8dU!t?x0`AWK7^j?UFg^Wk>CU{#O1FIpG#FY9p}_q(VjONO!P%E_kIsz>~z%(l?D2ZF>IANBcy z`+RB(=NX2_RTLG;%G0#dzpN??i2h1C2Qf5^K+q0uUr6P2%TBpWv$ruAq7BAe{e9Ox zl0xQ5x>gi7wvQ7Nya1c~v+@3GElx}Cfz11t9x>w9*4!P~>f_(~DF`y+CZy`gln!{x zy&;h*$_k&N>fu?cr&Qmr;(Jaqb!M;jA|-R+@-^l5sl1609^ahmsD2%Us>$0>am|IT zRAD$s(v!VB3%*pWxgzm!E3T0Kzh;i%j61kyUvc{iRnD3PH*U3G@o#qOc7K~bdHxE~ z{qzOlB8O$aF5f%s-CStD;>J1SZ01==b2G({p+0(Mbv3{4R$b>HTPNC2u3%wxS~VL9 zY(lYIE{(LoSS;+w_29;9pONqS6CQ4wL+}oKrq+B6&&73EVmW??KUJb{^X;lwYR}gU z%SZ^0 zkEvSLwDV;uY8=mR4K#PP;2suN!02uJ{KYCm`RnSjbGw1ruW3r8#BG)^8Kc64qI(TG z>h$iRdStWD2$rj$1V^XCog`@}Pvq_4`dcy1!uqFa47uIB`_`ODUS{K)%tQhLJnAsP zUiZi|?;1}u*OwO>jW%TQke<<&U0+}lqZ)QEENeK7zkb&jSpS}GXmyA>YB4Rb4yos^ zGn4~`Kfs!oMzr})hAMVN`>kYB&K{lF+lDDwm_LT#+ri58hD&zMo4$4rmi7$OUE(L= z<_fi#Y&QL2=U3)H((=NPCh&GW&H-x%Xtj=?Wxl3kLrBZ^aFE=^7}m64f+Q7!h0>p1 zG&??PRCSk>T&$-?!D9;|$Wkx|Lzc)@L|TR)_B!qT$7Ek@MZm}8>H-of)n-!KJVvio`x%n$O{;^U+X?iRDx#bKHLDgb{b(@w526$ERdmbgo- zIYi`}7_vIUb)HZ{#}NDYK~c;a#OT_X_3P=qaudviIt%K&?LWVg_tq0z`n%)~C0?lY zASvP0)eVWgR+8}J1ZpD%KHhvat@dDq1gK;(pI}?F&lVnT8+YlX z+G5igYqvZXgDrb@$dA0a;B!e0mV1#~m}KfH3iy*ojQli%cSUoH_G7d}T(vIfmoDbhXnRfaly8dqt>KDV3wF+pU&;O^LqS6YPOf-0e=)l@-I zY9h58aaMD6w`dGG3R4Z@Zb@EwwNWxBk1T?7bsc$Hh0Z9Qr&`sa(2VrGba{26c+|el z4QJCG928EFapShvXkPVL%!xw0hU5p>mtPZ25@DURL)MyxLYkd%%6LjhiSAmGYTEbK zoSL7BD)A9j-oBq&p*b;~Nb`H+{`M1ihFsH>vL`S@a?p@bnmYK5x(haH`O6?;RW-%3 z$hx_17ohz5cHAC0k8n!TelqQh7o3Th2$XjEdcN&+jQP|ICP)}7h4(`wbTc^58vdsJ z7({*4W~?OsK#j(Vq{W@y)~-&SkQ;>3C<8+(?mGqWSnPYR!U$o`qObBrP7(wNSaNy!z_L@$wZE|+rUcAn@ z@9hubA(=I*wEJNTcOAoWAhUyfVHm6Co~YJkj(fIy!Te|Equ1`cT85POEFWl|n00BI zCR;U@Qeb2*-b+`KkN0-i^Jjmf`vL-UTfo%MM5t|UEtaZIM&aj-4>*5wIihJcne# z9nn}2QXD!5iePab3&h3y?PKsHv`;G#?BOJc>$R;W84iP~O{E~mlDc>4UDgs$HHc3f z)r{t8D_P6|CEKy_6$CAAy%cqf|Kf6YtlV50MG9`x%x$jBauOVd>1bC1Ru;r=p)L}w zTQJR3%1XX;FYhx?UxPX<6;wSdTbZczw9>^`4c< z(FxJ9B@@1xjGvQ|eO2`v>(IddhQHvna?v%UcO9%qii@bGlyAg^$d`>iBQ;PlitPa7 z?J=H%w`W5XVe#J8-mc(B+3SI4$(Zpec1$W;#QIDy!fqf0*Dfnh9z>uuS($nvqan45 zb6k(#XD$z%S@XNVT_9O?a)=x9ei5G*#s1byM6gK8<1{h6N^K?Es@hc#MaqOpt>bC> z9zj*T-s{+crBA(P>LmZVT>ti-!hH7nU6i;-ANeUtAjz-hL`OTRwV1&o#m zdyvP`S7r3(o=;}vt%sgvpDz0;RG6gl`M}A8Orl72?b?ZxpHewYVgK%sb<2MFyyH=C zJ?YdhyVR~=*`Rrqn-gFA2<{lOT=hb6%nn7=2tB4Kt;NETKM>`R&BFD|%(ZhF?eLhZ zW)d*Lb8gC;K&zL%h&ET8rKOadhFj z&p3S((D!?Kj72xI#@(v+!w4jIei_*U4|9+?3GLca;8;yy7>FCW!Sn(kJzV)yjDPql24Zn5106_z$s}>wv zoUi#-*-w7JhYv|SB()a<+1mqfa8X*&;958Bb~v5c$AW52fhgRQe%@Cmbh6**>?Y#z zk(O*#PlvjVc5UjM)2h07-{~q%V4ZDzw!0OL?qUG5NBX%xmESo#I425TyDAjsS0w){F%ADz;k@~ z1iaGu&W02Y5U7)ff$meAhJ5RQc>pb}%Pk_25o&Brw$00efmravs0^|9( zZ*66M8n3`E{g0)39k%Z6n?zZvA&r0Xp_vp1k&fqv;bU;dp>R4_7w>g+5yooFhnEbzp8DeA&na5cvD2!Bi@v0An)e zStu43=jTDj@Qw`tl#@a&0WRf$yIB)uz)IO;cY};%&Wn1d(&P=c z>(<_!Wck^qn$~5=cUl8uYjA7oSRI6fz0R+%f2$utD9YTFSiqwB-m}N+=cwM(Ks8s2 z1Xs0se-RK=hnxHlY8b*cay(K0Wk>UKi5Qpz^_N%xty`ZedCn+FID)AQxTg`P0W8J< zlq(n293R7GF9_^RpkHph2>;lIehX}U3#3nNgXfh~Y_|SrL3yvh!`p4JvWo(yR@Xa< zJxbDUH0OxudpsUHPKzLqA5xlCp8v@nPlA5mfQ}p?uChfjyXj0Rz_-e^selV5i(6u& zXbzv=?gLRw(xEq5&UU{CBh~S)cKAb^Gi^1uZ;+(z+UB`t06X)Z;$@kK!KjyVskP32 zMm1^sT6{0Lxn|Jc{x*fAWXUhxUy~?caDi}P(36m*)*cp^q^WOJb>TxKU@y>hqQ;*w z-XGb0Lch1z(ddA#cXk3_0YoLc+K>Dyo#()tPzA5=9bomI6TPSy)nzGJl1y@^4TMz3 zUjV$Sfy^pWEw2t66__kO$DdRdug`}!v2V;cfnB|$_CQc^_>GS6$KC<0Nrvrfy=`)6rHQZFF4m11cFrh)iZ5TLHCQ%3d zG6WaWc+9!>Gp6mfp7THi@vUH0;FG6deZd~MD75EERy#nT9$`PpK# zcm~kH6OJP6+v5PVOZ{kz(Ay?v-bzt(>H1v-o?L+yY+qXbQ{s?n+f7^A+KmF1lhDwD z2<$+J@AxL?1C!&1@ycCcmZPC22`x{B6%Wgchp;3;&VJPt=$gmZ_lAGC1$1gF zbM`q|R3OY}<_BPp*7&!ZxF28*3$k?4W($p`n>F?2w+bfSo5quRi%;w~E)-(8R-0cv z)M!1}W8AigT~dhN&Gt-DOw%42*lw3o@S_$4Zj`ga6a)e*BVH_u)7_JWqGyT}cb*5M z>I!$5EEEcRb7wH)1$rh64kuyvs=E@->uB(UV83suQTn1TG&ToZ4&wm!aj-l9i`*&< zRw{s;ubU%u*a0t#iEiMe0sk!SKo+R)c>nQjC9WMTa#>fkVE_w4DD>46S}FN+l)YP@Ni(f04m_}Xu0$LEc7_4L2}DNiYf(`~?uV(l!>){5v8 z&&I=BsE4QsWZpXIgToy2N$@k|p%Ef%%|Tw+2>aFx-6pLReirMbe6N)t{Z`XlkwdoP zF^Ybd&{Pvprl^A!4RHd0cgzMo7tm&eOBWYgG%2B-SpeI#*lRC_Q#uS^jwV+g^hyyI z7m%gf0u2nN2EWUMqk~6)@<*NzFlui;x8R64qvQ&GwKCrmOCXY=zj&gX4L9cPgwF$m2Q zoSPrV)@98?5OCrV&x4YB1`5o4AqR&qoc9wDKf@`fjfziym>e1n3qmVvnViOsHyAKjW$HD_`i;%ab)7VNZA;^l zLs;D(?Ntee&B7_u0SHWl-JbI4gd}i=MDP+Cln3$ctk@~C zqhj?B#}NCC*zN?!2_^eczqv+c#M|>@+stz4Dx-H;Bu{~1mt3;UNyetBt1LVI?HJ&` zv2(CvGO)3!7TR2b3Mc$@1BW=9wwiJ%d9lsP-1MR@1{EufIGIIR;(6ECZCNfOcS#b* zb;?;IsRdKh)Y-3`7qNHA>0ZsAO-o6BrlJDON)G;VNpj}c2qe3zt);X;%&0%@pndB9 zsFi!rPm>9Nf4b&%na4@$F+G(%q94bsNq6*x^vkOKbNZ< zWu2gTMa)y`i94$AthM@@w@2zR?5e~^#Cb_6t&&U{0@ITqIa7+&sv~5=puLzrUgE_1 zDpVBd&GjfR;s?%&dy@URb!tg)E3Tu0O?{#3#aw`zNx%9WFJOz_z_-{nVem62QMngR z;Vo9S4B^Y{kSD|^MEaAB%oyln@}VSZ3@U`~DO`ro+(#jXT0(HxDdP(^Mji7nIF0XQ zY_*Ic>VGmHVXuF4m-ypvG=4^WBQipf0+f-nhhuQUe4Zl23R!R0ahfYRd3?&_x9?9LofG>O#Jk( zkNl~T2V_#B-S3-pw0E6p2H~%_Dz%Eah$Qom4W#*K8R2k=c{CnOX=k3y=-Q>yLaadg zL3mq>4z|=Ua@>qG()!pHUz@Jx%LK`hsaNNQ&fl_B!xu!+g~`^`+;&mMh)ZnJd(Kf} zKj}Be*lT}X1gzYoVw|Hz4}3dI90XBKtB7q+X(Sb4>>Osf zNUg>;uAPk#E+Q$t-iU*KN42i)iYtE*Qal60qq@tvTjimlU>S1J_{drQNHDK-{4L44 zleMfZmkPyMlSK|f`2FfmX@I|uaxQ_k6nCAB={)th)k8uE<~YF~2vzv)y83K`*mldNGyD{GBWY_WHP zdP%aqn+skPMgGNP9#62Lo5Y$e@(bQF#y+P;sEZ9=q{67`Gr;7Ku+!T8ZO|dI7mH~c zdDVvkHxzUQDbD;Sr4IK}jxikWa0h)2@t8y$ESG^cM-UONS}xjL-Yl`pQ*fQ05+EGB#>WAuxpe_jj`J4q=oK}p1pa+8*4FwQtc zF^tpytVjq%VXai#da1WcNLA-aW@lS(k5ru1wMOf-`BwlvO@NROp0GA9neF<{J$Iz5 zv+7Dly1pU5oYqjQs~{u;>mEG22rfg8J|Mpj#l1AAz{FbC;rc#C^|< zfQsa(XQ01dM}_~`o?Z(k-kaBvg?(M~(&txI@#>A0H5+hRrf7qxGB>9pvaI$t@k)B1 zkag1ld61`xgt3g7(w`&UM-yS!h<9W<-?UP<^9%zr+EFj9Wq0ZbEYm3UhANYM7e|jI zll%*boO;!y)4|I!`lz3T$xMbe5O}_YDq@sft*Kc(FVdde)eVkIdi8rEcYhQ)&d@{! z!(q7IirGzUYD~E$@8EFUQLy+@8@TKO`GHs8+Ds}9W1qF{)0*!5yFe%RrG*UJCI!8m z!#NbAp)jlOI95wls+}9*a2VD==E|(VqzGSid;mrPWi#3R1*@6TO`)55`Ja5aj1o;k z*acbc5_IVraKPb!cAlsDf^I;+PorWwUmm%#7g+~VveL$TXmJCyL1U;yKR6*mu8}vb zA&}(xFf!#A3FwK~F^(6?IOpWWFirPAm&{Z7JEf{44ddTwPi!?}iQ+$-4f(~^75X?R zPq;s!3v|(KocwHyE*?l;^c8{{QvN`|sAnfMThpym^7xn({tIA~ziKfuDnTXbyQti# zmk@)V%7NakVLlgHS(23DM)GpTtXOq?>p>-tx`{|MvcG!Pg6)~`riO5*EO zeeqK%dWHAKeo_&H?lGAO>ffu#;L4xC<2UG>bI58!f_l9`SP7U-Lvt<&Egfjv| z)TrWGgc;Nf>e{KIktln<(O43-KW2L_C+%aJCMWHh!>+UR66+`QTxNx$AG5awY2mOB zeB(+=O{8(aN!?5J3S5_5y!cs7rNR5rJ8~|EPM$pE4Y)MXZVjE2#0uy71`6U&gM7`Fd}q@5s(>(>EV>W=tdO;gdg-EydSAYiy}2JI`oB(<$BiDXhaj z-$>JXvmSaaI0?^iZynV_=02%aXH`gE6rpi?qd9yGSIr;!N_2&)uUQnz5<^a)o!Ulw z+W+4?aLUu8$AtuNzw?HuV`3Z4EZd?Cv6~c!y!{yq*5hRf!R-Aqq(cJ<;I%A2r&Rk+=oj2abIGeOCJ>&zk5n=Q=RiT>2LuLUXO^ zzyk(6zwr@p-%4t`PQBQeeLIuBmZ^(h}M^p{sz{xgswR>J^Y$QEnA}D$?0ICi-u;nvB#8s2$cEC2MlbTMIv8UXv<4Sd$xD>3H;{JK}xJZ%x zRxs4K8b_h_18uIKR+3&R2d(#(GCrlT<(##|aPU>@Ob57ry?IdtDZ?3x=?|iFgQ1l4 zvbXM$yeQNC*zMIYP8&d_M!w%!Q;=_zu5L4i!-*!Ow945v9;xV|`Rf^OB5}A4f|KqL zu{hM_2<7CKpb;*RyTEX|Q1_<9LNLX>pvyLxM`Jk3MCnJ{srGOQ=%R>iTAm z36jzGYes{!Ue795UVNRHj>j=i`TfCw!|j-Zp=|ph4|6Nn_bW#^wq}HOCdo8&S4%Bn&FU=POXtNJWSB0Y%5?Y zA;I<$+EGHQwgH)~hTO1FD{Gp6RR>}>tL(dZh#BEV%*wEh_DtpDKk zonwD!&7B@oB$o1iceb--9nIl}c1xMM;b++^t1mcv=Q$MjSuHvDGo;5423$>NCr(-+ zhLRSM1wMGh4~XQT@_|UE`I-`cj$>lV&*SztL&R(`=>LG}G1fcT24QYgn3A%61?Ak1 z(q&TWXKmw7^;sU#P=MEpxzomB$aEH*XPkRT_3>e%h-D}MEv5rO;x42i2{$wn9EiL6 zw!Q?n=Rr|ThfC*!HyVQx#4P&2s|Iui*uBSKTpoAP=o~U_=y}hs*0m);K)xuCMb~DD zTh-KyP1*Y@=mp)9w{ScTlHi5C_=aH9k>Jo$S=U9^fzW&92O|MTJWs8>?a!;oTZy=? z`KxZ4-)@yhd<`C{<4svC@(Stzd{iA5B;K_BD2&q*x^-#>cbOvBm21+)($C=QnM%#L z`nHtCx>b&J-}Ai{K^Qo`v?)1>wLGLZTdonZ3~Gi_cuEoic207!6sZAGEVct$^iT$y zx8o=|iop6XPh+)k*Q${Lt#=Iv04k)0`*oH<7u3NR;M`Qomxv9>)wnd(2`fB3FR$;% z%6jLj%--D5@u#U|-DUcvz?*jQ^-!?g)y>WB z#KD7y_8h^XetY}o!#5a(!ZOgt&+BvGsW(5txAz~ve)sOTzsmOXhg;3JE$V zww)Meib8^)nXkPFbDKKreP@MAt8BI{?2ba0*QINJ?w-T$ftH@C4=k^fR*}00+AR@c zCl*3$m&yBGw(2Cvr>uH~>wr7e-%l$4Tj(qG}GRU29^QSf33nY`lTd;7g%S;nhwm)_6}NJAU#+g8#3 zT#Gu|M@94!y25oRhB+A=UX-#}vF30#Wnv-ezTYfJviLBj_(R1lCcrtr_X1P*(4+KY z#7#xD_|BMn9b9wC*3XK(xAkGv$tk^?hQV9lIDLK~Jh3FX&#*)Bw%OWS<~%*Sqp4yR z7Z!)m(|z^hw!>I{ZswiW1|KVZtim@-+MRqWBj=v1a&k0 zVnb5qRuNaN4!sg~?9+WL!C+~}%$Px|k58bIe=@v&R(1s%A5-ua2?hMyF$cp2LiSaP>%~p* zs^8(hI_DjDBP%#1wFjcAsg72B3B2pnJg77z_M4+6OpXu|f|XGR%wc1#}-4 zPJ)0Ix<90V6lo~|_zYJkJ@<_4Z~}-kTmJrSnU3JiS;WoYYgiyplb)HceWb0d)KcTDs^5LgBF zzUE!Ml=Jj#f?yG#{mOFa{RuX2yXQ$X-%W>7<+#?agv<7)h?rI;2az$5We*b8PO@d2 zn>!)UgDX~pp|rEf3^6$ddI@JcYz8VPM7Fv})V-$;&w>fEVva1O6G2hHSIH$}xrOO~ zImv~aXs6EQ-J|;-B4H)JCGo*CO4Ps*?Knpr8{qW}`(BGMnpx=qC-R_=WoZRR@;II@Dq%}PauKvg0b_t4C7N(^_;J8bQxkaA_>kofC!(KTF0ly zSyg<93FmX8dOEeNq)VF%g z5-026aa3)oSmgl14lo7)f4uPt7aS2sQo%|sxS5riP@6UPKq+E9)FK}fzHj2jSS)jN zw==oR{u`|LM7Yg@V09FucT6_L$9v?bj@f46CXgk0rMX{G9$0TeX{BMn-QS_M?=l_p zqEWErePbL*5C~Skkr{OM<=oHSBA_EV8mbahLwFn)%zkugdH#e7dy)%pWVJ;bo^mzIM_rrS_xqkne4vE%=z9WNQ5SYo@_ugvO)Bg}9DYwEFL)9!{f zxt?oo8eq|n4a?EjCRwMcGIjY^OCO{dH5pOI_sa+{8_5*X8AE}JH=K(Kr|7qYIK|?@ zMq$tw=`}in!q}p2Cu;>4PNpAUcUbux_KmKI+1Lp6wJxsW-}5B@Kr?pSCURejYz;=z zpZ-i9FI}8rJhWebHj{dtFSeVcR4aV?esk?~Ry{j-?*0Iy`oEduKO}9hWD?ASL8vlg z0wYe)Xu@x%r}R1IXZBtH=H*w=>)wc6a>kVg8F<8d=NQqW!oiNQz>5Z~w zD($DW-B(&I5*+WLCgN4NxqD?n@7rMA=J~(0xbWtQLou9i7en^M^*Dyd%qj^*847kM z-ChF*sPE4p+K}M{!E@1Y>PDuIm&fauS)luLl>&M}vXA5vc%<~A%v$}`5gs)AEtLPF zXN=NYS7D#L6A38%=yZoNS8|wP7Cl8h$50Mu4hm}O>BH8VmhE}4mYKT!AIMiSi>@ww z)8Vk>9iv8^YVF^Ki(HrP+Ux%=ujL$mpcM%VJ|P7}gfkp5a5#o#{~rKfi@LSB(A(?2 zadxgS2P~Ce&VfuAUbvjiiX*grVU?vzT^gW4x{1Mcfwf7Xw6e@uue=^{rTgfIw%3BC z^KY8OZYpIZHNqLU-=|vMnF;yyT+>LqBKwC5WBN0B#kF~frhjf2uTDs9>Cgj^wHiYR zu-+5-U07BOf@;X3Uxchj4gK`1LD9dFCiJdRD7@#3s)-k&7YfpKP&7zCF-Pol1kcc} zRd%2VioF;cT0Btm`Y#-U4vo|Cm{4#zV1Gp2>!CU?!eExAZAUx#hlV%?9CV!G7=;wr z5^ve!ydca7t~PjilrL%c+m5Caba#kLu62llQW!NxE5O_&ud8tq3P+8_{0KadbZjtj z<`m6@(GT^xeR=k98(!dHBWI!N%Juob+Yj@n=x`B>z)|S_>_z>?84?) zXY$W^dRX6G)@Q(N(kx9#d~Yz7@}(l5x*nELin?ULIvx#G?c5}!UyjS0)#pwrkdF7M z49XVJPZj1HUIszk-8G z;4={|h9gwQ3?>~qIW!7W%!iy6tB$V%opcgUGAl5ff|Nn6%|HX(J37=mhzk2!(aD>z zvfwzrRZJL%CIsm}ag0FqCpvo?5i}0QR22X*q$V1ZJ59wysVyX_l*e;w9D0t73|-ea z{s<^+1Uh~xlnce^^FBFW?)}^gBES2JEZ;n=>!G{0{aN4)6R^uF_p)W<$KTx_za%dn zi+>~J)gSEQWz1ji2|?y>zbUzDe1SkO0^wv@>}NEJMpSbQYJ0t)&c!%XH^d?E;(Xx@ z9qSbP$E=7W=b%6Q-tiww{C&`TppgP02j!6eyT&0N8`*+eQOIKghL8d>*F5^dq={YK z5f>U}$+OD?=?|I8O;2Sbfdbm&&z_e7AK%~K7e!z!xM6aA z00e-G&+q)^2RHn9c=LHfl@9=5`Y)d?_&kF<{}eR$l;c|gfC>g62KNuzRT_#{C?#`Q zAgsR=QU68>)M)@68)}<>q^SYw3@}7bDNsMwnVEh8SQA}kBf!uU)WV=46LQDaiE~31 z>ZV3Qtg;Ey$+P%8*`QNfcl#*&%TF-cCkXo{6bJ8366xCg^JN)?GOZI40I6Xc{T!fXbt1D4jT-uV&z5O}2m&hY*!g+)Vw5yxuj1g|k81JeP-9E(^D#O9(#H#H9z*x40Bu)=8G z07gr7x_YVvL0E?OnFOkZCJ5KpvAD?i*iXV_wQQ!UO2D+-%Ao4c^N-)8*D(@@=Z;|KKx*jh8{T1St%=CuaY zIUcK7sA!!GZW3E%+)5r3kyYK)4!ZvAu`RO)yXO+fyCF~~8G0CGk<*Y} zK7@wKmH|u-Ly&0_G$u_;83(<_sm_v%K=qy+GXU)j3RKDfLtgMr&_>VqV`Bg`#WN4r zdw>g*##=;X0Ycpk3&UUo+fv&~TuPmw&V?cIkF?2W!&n(ctZS;dXlLq=GgVzEU!_W! zn_DPiplX_fR0iOV@urHQgHvQLYLbUbOcSai4H%;wpCAR?ESJM5j!jB=$5>4Xqrx2Q zBLJ9W+bXrh&VF+rQ9q0cqf$k$krkC)gHc%^;c1QSU?D++0Sg%nC|}4S0X4_^^=zQQ}I>$kiIX#3o^<4CE_fI}`xE<+GO{2uJ w#jzy_YZE+!KB9A6q?TBs7@iGc);7Y5!$e*92!(D^)HxIk8vj>)OI!i~0Fex182|tP literal 0 HcmV?d00001 diff --git a/assets/inter-roman-vietnamese.paY3CzEB.woff2 b/assets/inter-roman-vietnamese.paY3CzEB.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..5a9f9cb9ca0cd78b6ea2f3e5c9d2838dc8895598 GIT binary patch literal 8492 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 a!Vc~9U7SGB8$q3Ii#9CnAx#qS0RRAsKuhfa literal 0 HcmV?d00001 diff --git a/assets/partners.md.yrX0WVZu.js b/assets/partners.md.yrX0WVZu.js new file mode 100644 index 0000000..e998688 --- /dev/null +++ b/assets/partners.md.yrX0WVZu.js @@ -0,0 +1 @@ +import{c as i,J as a,m as e,a as r,o as c,G as l}from"./chunks/framework.dxpx44BK.js";const p=e("h1",{id:"partners",tabindex:"-1"},[r("Partners "),e("a",{class:"header-anchor",href:"#partners","aria-label":'Permalink to "Partners"'},"​")],-1),h=e("p",null,"The following is a list of Wren Security partners. Partners are listed in no particular order within each section.",-1),d=e("h3",{id:"authorized-certifying-partner",tabindex:"-1"},[r("Authorized certifying partner "),e("a",{class:"header-anchor",href:"#authorized-certifying-partner","aria-label":'Permalink to "Authorized certifying partner"'},"​")],-1),m=e("h3",{id:"implementation-partners",tabindex:"-1"},[r("Implementation partners "),e("a",{class:"header-anchor",href:"#implementation-partners","aria-label":'Permalink to "Implementation partners"'},"​")],-1),u=e("h3",{id:"infrastructure-partners",tabindex:"-1"},[r("Infrastructure partners "),e("a",{class:"header-anchor",href:"#infrastructure-partners","aria-label":'Permalink to "Infrastructure partners"'},"​")],-1),w=JSON.parse('{"title":"Partners","description":"","frontmatter":{"title":"Partners","sidebar":false},"headers":[],"relativePath":"partners.md","filePath":"partners.md"}'),f={name:"partners.md"},y=Object.assign(f,{setup(g){const n=[{name:"orchitech",url:"https://orchi.tech/en/",logo:"orchitech.png"}],s=[{name:"orchitech",url:"https://orchi.tech/en/",logo:"orchitech.png"},{name:"j3ag",url:"https://www.j3ag.cz/",logo:"j3ag.png"},{name:"sonpo",url:"https://www.sonpo.cz/en/",logo:"sonpo.png"},{name:"systemboost",url:"https://www.system-boost.cz/en/",logo:"systemboost.png"}],o=[{name:"jfrog",url:"https://jfrog.com/artifactory/",logo:"jfrog-artifactory.png"}];return(_,P)=>{const t=l("Partners",!0);return c(),i("div",null,[p,h,d,a(t,{data:n}),m,a(t,{data:s}),u,a(t,{data:o})])}}});export{w as __pageData,y as default}; diff --git a/assets/partners.md.yrX0WVZu.lean.js b/assets/partners.md.yrX0WVZu.lean.js new file mode 100644 index 0000000..e998688 --- /dev/null +++ b/assets/partners.md.yrX0WVZu.lean.js @@ -0,0 +1 @@ +import{c as i,J as a,m as e,a as r,o as c,G as l}from"./chunks/framework.dxpx44BK.js";const p=e("h1",{id:"partners",tabindex:"-1"},[r("Partners "),e("a",{class:"header-anchor",href:"#partners","aria-label":'Permalink to "Partners"'},"​")],-1),h=e("p",null,"The following is a list of Wren Security partners. Partners are listed in no particular order within each section.",-1),d=e("h3",{id:"authorized-certifying-partner",tabindex:"-1"},[r("Authorized certifying partner "),e("a",{class:"header-anchor",href:"#authorized-certifying-partner","aria-label":'Permalink to "Authorized certifying partner"'},"​")],-1),m=e("h3",{id:"implementation-partners",tabindex:"-1"},[r("Implementation partners "),e("a",{class:"header-anchor",href:"#implementation-partners","aria-label":'Permalink to "Implementation partners"'},"​")],-1),u=e("h3",{id:"infrastructure-partners",tabindex:"-1"},[r("Infrastructure partners "),e("a",{class:"header-anchor",href:"#infrastructure-partners","aria-label":'Permalink to "Infrastructure partners"'},"​")],-1),w=JSON.parse('{"title":"Partners","description":"","frontmatter":{"title":"Partners","sidebar":false},"headers":[],"relativePath":"partners.md","filePath":"partners.md"}'),f={name:"partners.md"},y=Object.assign(f,{setup(g){const n=[{name:"orchitech",url:"https://orchi.tech/en/",logo:"orchitech.png"}],s=[{name:"orchitech",url:"https://orchi.tech/en/",logo:"orchitech.png"},{name:"j3ag",url:"https://www.j3ag.cz/",logo:"j3ag.png"},{name:"sonpo",url:"https://www.sonpo.cz/en/",logo:"sonpo.png"},{name:"systemboost",url:"https://www.system-boost.cz/en/",logo:"systemboost.png"}],o=[{name:"jfrog",url:"https://jfrog.com/artifactory/",logo:"jfrog-artifactory.png"}];return(_,P)=>{const t=l("Partners",!0);return c(),i("div",null,[p,h,d,a(t,{data:n}),m,a(t,{data:s}),u,a(t,{data:o})])}}});export{w as __pageData,y as default}; diff --git a/assets/projects_wrenam_download.md.aeVMQODC.js b/assets/projects_wrenam_download.md.aeVMQODC.js new file mode 100644 index 0000000..c659423 --- /dev/null +++ b/assets/projects_wrenam_download.md.aeVMQODC.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as r,V as o}from"./chunks/framework.dxpx44BK.js";const m=JSON.parse('{"title":"Wren:AM","description":"","frontmatter":{"title":"Wren:AM"},"headers":[],"relativePath":"projects/wrenam/download.md","filePath":"projects/wrenam/download.md"}'),t={name:"projects/wrenam/download.md"},n=o('