imdhemy-jekyll-theme 1.8.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 036ec62d7fa157bc2c32840122f2ca98346039907ac037b728e578e069a60086
4
- data.tar.gz: 7c113676a939372747ebcb9ba941aa1661250f6823b3ec00d492397e9a1d3f4b
3
+ metadata.gz: 4bda3fa635ef82186fc95de53cb349dd09d93e69ef8eed45bcf96d8cb5208ad9
4
+ data.tar.gz: 10f420021130e71a599ffdc799d5b45edfaa0b7b0baa31fde06c6aaab39acca1
5
5
  SHA512:
6
- metadata.gz: 1029997b2338459b4c7983dc44ad581fad2ebbd15632fb9073df302e3d61ddb999b3dc70fa333eaf0a0673231d6e8f7bb0a724955f9457534714f77e80f3100f
7
- data.tar.gz: 30131546355dd7723b365c79e8bc35580704985140159d219b8786accc2e0fed1cc3229baebc53e2ad788cc53c5efa8c55e0210378bf060e280439865b7a0be3
6
+ metadata.gz: 7f518f91b3daaf97848de59d3b90dd58a77ae8624fbcd20801556bd7c824d012788fbd461a5331fa3e480abd1fa0f5e9c8458c981927ad684bdfe9fccabe2b8c
7
+ data.tar.gz: 10b89758bc2009bcdbdfe81e4cf710590dcd5c20d897e651d40835f3ac2cc2bac479fc5cecd1ad7752c6d309bb68443594518a46218c514503f66235a78ae011
@@ -7,85 +7,110 @@
7
7
  <h2 class="certificates__title">{{ certificates_title }}</h2>
8
8
  <p class="section-subtitle">{{ certificates_subtitle }}</p>
9
9
 
10
- <div class="certificates__grid">
11
- {% for certificate in site.certificates %}
12
- {% if certificate.image %}
13
- {% assign modal_id = "certificate-modal-" | append: forloop.index %}
14
- {% assign modal_title_id = modal_id | append: "-title" %}
15
- {% assign certificate_title = certificate.title | default: "Certificate" %}
16
- {% assign issuer_logo_alt = "" %}
17
- {% unless certificate.issuer %}
18
- {% assign issuer_logo_alt = "Issuer logo" %}
19
- {% endunless %}
20
- <article class="certificate-card">
21
- <button class="certificate-card__image-button"
10
+ <div class="section-carousel certificates__carousel" data-carousel>
11
+ <div class="section-carousel__controls" role="group" aria-label="Certificates carousel controls">
12
+ <button class="section-carousel__control"
22
13
  type="button"
23
- aria-label="Preview {{ certificate_title }}"
24
- aria-haspopup="dialog"
25
- aria-controls="{{ modal_id }}"
26
- data-certificate-open="{{ modal_id }}">
27
- <span class="certificate-card__image-frame">
28
- <img class="certificate-card__image"
29
- src="{{ certificate.image | relative_url }}"
30
- alt="">
31
- </span>
14
+ aria-label="Previous certificates"
15
+ data-carousel-prev>
16
+ <ion-icon name="chevron-back-outline" aria-hidden="true"></ion-icon>
32
17
  </button>
18
+ <button class="section-carousel__control"
19
+ type="button"
20
+ aria-label="Next certificates"
21
+ data-carousel-next>
22
+ <ion-icon name="chevron-forward-outline" aria-hidden="true"></ion-icon>
23
+ </button>
24
+ </div>
25
+
26
+ <div class="section-carousel__viewport">
27
+ <div class="section-carousel__track" data-carousel-track>
28
+ {% for certificate in site.certificates %}
29
+ {% if certificate.image %}
30
+ {% assign modal_id = "certificate-modal-" | append: forloop.index %}
31
+ {% assign certificate_title = certificate.title | default: "Certificate" %}
32
+ {% assign issuer_logo_alt = "" %}
33
+ {% unless certificate.issuer %}
34
+ {% assign issuer_logo_alt = "Issuer logo" %}
35
+ {% endunless %}
36
+ <article class="certificate-card">
37
+ <button class="certificate-card__image-button"
38
+ type="button"
39
+ aria-label="Preview {{ certificate_title }}"
40
+ aria-haspopup="dialog"
41
+ aria-controls="{{ modal_id }}"
42
+ data-certificate-open="{{ modal_id }}">
43
+ <span class="certificate-card__image-frame">
44
+ <img class="certificate-card__image"
45
+ src="{{ certificate.image | relative_url }}"
46
+ alt="">
47
+ </span>
48
+ </button>
33
49
 
34
- <div class="certificate-card__body">
35
- <h3 class="certificate-card__title">{{ certificate_title }}</h3>
50
+ <div class="certificate-card__body">
51
+ <h3 class="certificate-card__title">{{ certificate_title }}</h3>
36
52
 
37
- <div class="certificate-card__issuer">
38
- {% if certificate.issuer_logo %}
39
- <img class="certificate-card__issuer-logo"
40
- src="{{ certificate.issuer_logo | relative_url }}"
41
- alt="{{ issuer_logo_alt }}"
42
- width="44"
43
- height="22">
44
- {% endif %}
45
- <div class="certificate-card__issuer-text">
46
- {% if certificate.issuer %}
47
- <span class="certificate-card__issuer-name">{{ certificate.issuer }}</span>
48
- {% endif %}
49
- {% if certificate.issue_date %}
50
- <span class="certificate-card__date">{{ certificate.issue_date }}</span>
53
+ <div class="certificate-card__issuer">
54
+ {% if certificate.issuer_logo %}
55
+ <img class="certificate-card__issuer-logo"
56
+ src="{{ certificate.issuer_logo | relative_url }}"
57
+ alt="{{ issuer_logo_alt }}"
58
+ width="44"
59
+ height="22">
60
+ {% endif %}
61
+ <div class="certificate-card__issuer-text">
62
+ {% if certificate.issuer %}
63
+ <span class="certificate-card__issuer-name">{{ certificate.issuer }}</span>
64
+ {% endif %}
65
+ {% if certificate.issue_date %}
66
+ <span class="certificate-card__date">{{ certificate.issue_date }}</span>
67
+ {% endif %}
68
+ </div>
69
+ </div>
70
+
71
+ {% if certificate.credential_url %}
72
+ <a class="certificate-card__credential-link"
73
+ href="{{ certificate.credential_url }}"
74
+ target="_blank"
75
+ rel="noopener noreferrer">
76
+ View credential
77
+ <span aria-hidden="true">&rarr;</span>
78
+ </a>
51
79
  {% endif %}
52
80
  </div>
53
- </div>
54
-
55
- {% if certificate.credential_url %}
56
- <a class="certificate-card__credential-link"
57
- href="{{ certificate.credential_url }}"
58
- target="_blank"
59
- rel="noopener noreferrer">
60
- View credential
61
- <span aria-hidden="true">&rarr;</span>
62
- </a>
81
+ </article>
63
82
  {% endif %}
83
+ {% endfor %}
64
84
  </div>
65
- </article>
85
+ </div>
86
+ </div>
66
87
 
67
- <dialog class="certificate-modal"
68
- id="{{ modal_id }}"
69
- aria-labelledby="{{ modal_title_id }}"
70
- data-certificate-modal>
71
- <div class="certificate-modal__inner">
72
- <div class="certificate-modal__header">
73
- <h3 class="certificate-modal__title" id="{{ modal_title_id }}">{{ certificate_title }}</h3>
74
- <button class="certificate-modal__close"
75
- type="button"
76
- aria-label="Close certificate preview"
77
- data-certificate-close>
78
- <ion-icon name="close" aria-hidden="true"></ion-icon>
79
- </button>
80
- </div>
81
- <img class="certificate-modal__image"
82
- src="{{ certificate.image | relative_url }}"
83
- alt="{{ certificate.image_alt | default: certificate_title }}">
88
+ {% for certificate in site.certificates %}
89
+ {% if certificate.image %}
90
+ {% assign modal_id = "certificate-modal-" | append: forloop.index %}
91
+ {% assign modal_title_id = modal_id | append: "-title" %}
92
+ {% assign certificate_title = certificate.title | default: "Certificate" %}
93
+ <dialog class="certificate-modal"
94
+ id="{{ modal_id }}"
95
+ aria-labelledby="{{ modal_title_id }}"
96
+ data-certificate-modal>
97
+ <div class="certificate-modal__inner">
98
+ <div class="certificate-modal__header">
99
+ <h3 class="certificate-modal__title" id="{{ modal_title_id }}">{{ certificate_title }}</h3>
100
+ <button class="certificate-modal__close"
101
+ type="button"
102
+ aria-label="Close certificate preview"
103
+ data-certificate-close>
104
+ <ion-icon name="close" aria-hidden="true"></ion-icon>
105
+ </button>
84
106
  </div>
85
- </dialog>
86
- {% endif %}
87
- {% endfor %}
88
- </div>
107
+ <img class="certificate-modal__image"
108
+ src="{{ certificate.image | relative_url }}"
109
+ alt="{{ certificate.image_alt | default: certificate_title }}">
110
+ </div>
111
+ </dialog>
112
+ {% endif %}
113
+ {% endfor %}
89
114
  </div>
90
115
  </div>
91
116
  </section>
@@ -3,33 +3,59 @@
3
3
  <div class="testimonials__container">
4
4
  <div class="testimonials__inner">
5
5
  <h2 class="testimonials__title">Testimonials</h2>
6
- <div class="testimonials__grid">
7
- {% for testimonial in site.testimonials %}
8
- <!-- Item start -->
9
- <div class="testimonial-card-wrap">
10
- <div class="testimonial-card">
11
- <div class="testimonial-card__header">
12
- <div class="testimonial-card__avatar-frame">
13
- <img width="40px" height="40px"
14
- class="testimonial-card__avatar"
15
- src="{{ testimonial.image }}"
16
- alt=""/>
17
- </div>
18
- <div>
19
- <h3 class="testimonial-card__name">
20
- <a href="#">{{ testimonial.name }}</a>
21
- </h3>
22
- <p class="testimonial-card__role">{{ testimonial.description }}</p>
6
+ <div class="section-carousel testimonials__carousel" data-carousel>
7
+ <div class="section-carousel__controls" role="group" aria-label="Testimonials carousel controls">
8
+ <button class="section-carousel__control"
9
+ type="button"
10
+ aria-label="Previous testimonials"
11
+ data-carousel-prev>
12
+ <ion-icon name="chevron-back-outline" aria-hidden="true"></ion-icon>
13
+ </button>
14
+ <button class="section-carousel__control"
15
+ type="button"
16
+ aria-label="Next testimonials"
17
+ data-carousel-next>
18
+ <ion-icon name="chevron-forward-outline" aria-hidden="true"></ion-icon>
19
+ </button>
20
+ </div>
21
+
22
+ <div class="section-carousel__viewport">
23
+ <div class="section-carousel__track" data-carousel-track>
24
+ {% for testimonial in site.testimonials %}
25
+ <!-- Item start -->
26
+ <div class="testimonial-card-wrap">
27
+ <div class="testimonial-card">
28
+ <div class="testimonial-card__header">
29
+ <div class="testimonial-card__avatar-frame">
30
+ <img width="40" height="40"
31
+ class="testimonial-card__avatar"
32
+ src="{{ testimonial.image }}"
33
+ alt=""/>
34
+ </div>
35
+ <div>
36
+ <h3 class="testimonial-card__name">
37
+ {% if testimonial.url %}
38
+ <a class="testimonial-card__name-link"
39
+ href="{{ testimonial.url }}"
40
+ target="_blank"
41
+ rel="noopener noreferrer">{{ testimonial.name }}</a>
42
+ {% else %}
43
+ {{ testimonial.name }}
44
+ {% endif %}
45
+ </h3>
46
+ <p class="testimonial-card__role">{{ testimonial.description }}</p>
47
+ </div>
48
+ </div>
49
+
50
+ <p class="testimonial-card__content">
51
+ {{ testimonial.content }}
52
+ </p>
23
53
  </div>
24
54
  </div>
25
-
26
- <p class="testimonial-card__content">
27
- {{ testimonial.content }}
28
- </p>
55
+ <!-- Item end -->
56
+ {% endfor %}
29
57
  </div>
30
58
  </div>
31
- <!-- Item end -->
32
- {% endfor %}
33
59
  </div>
34
60
  </div>
35
61
  </div>
@@ -112,9 +112,11 @@
112
112
  .nav-link:focus-visible,
113
113
  .primary-button:focus-visible,
114
114
  .secondary-button:focus-visible,
115
+ .section-carousel__control:focus-visible,
115
116
  .certificate-card__image-button:focus-visible,
116
117
  .certificate-card__credential-link:focus-visible,
117
118
  .certificate-modal__close:focus-visible,
119
+ .testimonial-card__name-link:focus-visible,
118
120
  .site-logo:focus-visible,
119
121
  .post-back-link:focus-visible,
120
122
  .post-card__title-link:focus-visible,
@@ -1439,18 +1441,78 @@
1439
1441
  color: var(--color-muted);
1440
1442
  }
1441
1443
 
1442
- .contributions__grid,
1443
- .certificates__grid,
1444
- .testimonials__grid {
1444
+ .contributions__grid {
1445
1445
  display: grid;
1446
1446
  grid-template-columns: 1fr;
1447
1447
  gap: 1.25rem;
1448
1448
  }
1449
1449
 
1450
- .certificates__grid {
1450
+ .section-carousel {
1451
+ display: flex;
1452
+ flex-direction: column;
1451
1453
  gap: 1rem;
1452
1454
  }
1453
1455
 
1456
+ .section-carousel__controls {
1457
+ display: flex;
1458
+ justify-content: flex-end;
1459
+ gap: 0.5rem;
1460
+ }
1461
+
1462
+ .section-carousel__control {
1463
+ box-sizing: border-box;
1464
+ display: inline-flex;
1465
+ align-items: center;
1466
+ justify-content: center;
1467
+ width: 2.75rem;
1468
+ height: 2.75rem;
1469
+ padding: 0;
1470
+ border: 1px solid color-mix(in srgb, var(--color-border) 75%, #ffffff 25%);
1471
+ border-radius: 0.5rem;
1472
+ color: var(--color-text);
1473
+ line-height: 1;
1474
+ background: var(--color-surface);
1475
+ cursor: pointer;
1476
+ }
1477
+
1478
+ .section-carousel__control:hover:not(:disabled) {
1479
+ border-color: color-mix(in srgb, var(--color-brand) 45%, var(--color-border) 55%);
1480
+ color: var(--color-brand-strong);
1481
+ }
1482
+
1483
+ .section-carousel__control:disabled {
1484
+ color: var(--color-muted);
1485
+ cursor: not-allowed;
1486
+ opacity: 0.45;
1487
+ }
1488
+
1489
+ .section-carousel__control ion-icon {
1490
+ font-size: 1.35rem;
1491
+ }
1492
+
1493
+ .section-carousel__viewport {
1494
+ overflow: hidden;
1495
+ }
1496
+
1497
+ .section-carousel__track {
1498
+ --carousel-gap: 1rem;
1499
+ --carousel-item-width: 100%;
1500
+
1501
+ display: flex;
1502
+ gap: var(--carousel-gap);
1503
+ margin: -0.25rem;
1504
+ padding: 0.25rem;
1505
+ overflow-x: auto;
1506
+ scroll-snap-type: x mandatory;
1507
+ scrollbar-width: thin;
1508
+ }
1509
+
1510
+ .section-carousel__track > * {
1511
+ flex: 0 0 var(--carousel-item-width);
1512
+ min-width: 0;
1513
+ scroll-snap-align: start;
1514
+ }
1515
+
1454
1516
  .certificate-card {
1455
1517
  display: flex;
1456
1518
  min-width: 0;
@@ -1665,10 +1727,12 @@
1665
1727
 
1666
1728
  .testimonial-card-wrap {
1667
1729
  width: 100%;
1730
+ height: 100%;
1668
1731
  }
1669
1732
 
1670
1733
  .testimonial-card {
1671
1734
  position: relative;
1735
+ height: 100%;
1672
1736
  padding: 2rem;
1673
1737
  overflow: hidden;
1674
1738
  border-radius: 1.5rem;
@@ -1710,6 +1774,14 @@
1710
1774
  font-weight: var(--font-weight-semibold);
1711
1775
  }
1712
1776
 
1777
+ .testimonial-card__name-link {
1778
+ color: inherit;
1779
+ }
1780
+
1781
+ .testimonial-card__name-link:hover {
1782
+ color: var(--color-brand-strong);
1783
+ }
1784
+
1713
1785
  .testimonial-card__role {
1714
1786
  margin-bottom: 0;
1715
1787
  font-size: 0.875rem;
@@ -2134,8 +2206,8 @@
2134
2206
  }
2135
2207
 
2136
2208
  @media (min-width: 768px) {
2137
- .certificates__grid {
2138
- grid-template-columns: repeat(2, minmax(0, 1fr));
2209
+ .section-carousel__track {
2210
+ --carousel-item-width: calc((100% - var(--carousel-gap)) / 2);
2139
2211
  }
2140
2212
  }
2141
2213
 
@@ -2318,12 +2390,14 @@
2318
2390
  line-height: 1.05;
2319
2391
  }
2320
2392
 
2321
- .contributions__grid,
2322
- .certificates__grid,
2323
- .testimonials__grid {
2393
+ .contributions__grid {
2324
2394
  grid-template-columns: repeat(3, minmax(0, 1fr));
2325
2395
  }
2326
2396
 
2397
+ .section-carousel__track {
2398
+ --carousel-item-width: calc((100% - var(--carousel-gap) - var(--carousel-gap)) / 3);
2399
+ }
2400
+
2327
2401
  .content {
2328
2402
  font-size: var(--font-text-md-size);
2329
2403
  line-height: var(--font-text-md-line-height);
@@ -1 +1 @@
1
- (function(){var e,t=()=>{if(typeof window>`u`)return new Map;if(!e){let t=window;t.Ionicons=t.Ionicons||{},e=t.Ionicons.map=t.Ionicons.map||new Map}return e},n=e=>{Object.keys(e).forEach(t=>{r(t,e[t]);let n=t.replace(/([a-z0-9]|(?=[A-Z]))([A-Z0-9])/g,`$1-$2`).toLowerCase();t!==n&&r(n,e[t])})},r=(e,n)=>{let r=t(),i=r.get(e);i===void 0?r.set(e,n):i!==n&&console.warn(`[Ionicons Warning]: Multiple icons were mapped to name "${e}". Ensure that multiple icons are not mapped to the same icon name.`)},i=`ionicons`,a={hydratedSelectorName:`hydrated`,lazyLoad:!1,updatable:!0},o=Object.defineProperty,s=(e,t)=>{for(var n in t)o(e,n,{get:t[n],enumerable:!0})},c=e=>{if(e.__stencil__getHostRef)return e.__stencil__getHostRef()},l=(e,t)=>{let n={$flags$:0,$hostElement$:e,$cmpMeta$:t,$instanceValues$:new Map};n.$onReadyPromise$=new Promise(e=>n.$onReadyResolve$=e),e[`s-p`]=[],e[`s-rc`]=[];let r=n;return e.__stencil__getHostRef=()=>r,r},u=(e,t)=>t in e,d=(e,t)=>(0,console.error)(e,t),f=new Map,p=`slot-fb{display:contents}slot-fb[hidden]{display:none}`,m=`http://www.w3.org/1999/xlink`,h=typeof window<`u`?window:{},g=h.HTMLElement||class{},_={$flags$:0,$resourcesUrl$:``,jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,n,r)=>e.addEventListener(t,n,r),rel:(e,t,n,r)=>e.removeEventListener(t,n,r),ce:(e,t)=>new CustomEvent(e,t)},ee=e=>Promise.resolve(e),te=(()=>{try{return new CSSStyleSheet,typeof new CSSStyleSheet().replaceSync==`function`}catch{}return!1})(),v=!1,ne=[],re=[],ie=(e,t)=>n=>{e.push(n),v||(v=!0,t&&_.$flags$&4?x(b):_.raf(b))},y=e=>{for(let t=0;t<e.length;t++)try{e[t](performance.now())}catch(e){d(e)}e.length=0},b=()=>{y(ne),y(re),(v=ne.length>0)&&_.raf(b)},x=e=>ee().then(e),ae=ie(re,!0),oe=e=>{let t=new URL(e,_.$resourcesUrl$);return t.origin===h.location.origin?t.pathname:t.href},S=e=>(e=typeof e,e===`object`||e===`function`);function se(e){return(e.head?.querySelector(`meta[name="csp-nonce"]`))?.getAttribute(`content`)??void 0}var ce=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);s({},{err:()=>le,map:()=>ue,ok:()=>C,unwrap:()=>de,unwrapErr:()=>fe});var C=e=>({isOk:!0,isErr:!1,value:e}),le=e=>({isOk:!1,isErr:!0,value:e});function ue(e,t){if(e.isOk){let n=t(e.value);return n instanceof Promise?n.then(e=>C(e)):C(n)}if(e.isErr){let t=e.value;return le(t)}throw`should never get here`}var de=e=>{if(e.isOk)return e.value;throw e.value},fe=e=>{if(e.isErr)return e.value;throw e.value},w;function pe(e){let t=this.attachShadow({mode:`open`});w===void 0&&(w=null),w&&t.adoptedStyleSheets.push(w)}var T=(e,t=``)=>()=>{},E=new WeakMap,me=(e,t,n)=>{let r=f.get(e);te&&n?(r||=new CSSStyleSheet,typeof r==`string`?r=t:r.replaceSync(t)):r=t,f.set(e,r)},he=(e,t,n)=>{let r=_e(t),i=f.get(r);if(!h.document)return r;if(e=e.nodeType===11?e:h.document,i)if(typeof i==`string`){e=e.head||e;let n=E.get(e),a;if(n||E.set(e,n=new Set),!n.has(r)){{a=h.document.createElement(`style`),a.innerHTML=i;let n=_.$nonce$??se(h.document);if(n!=null&&a.setAttribute(`nonce`,n),!(t.$flags$&1))if(e.nodeName===`HEAD`){let t=e.querySelectorAll(`link[rel=preconnect]`),n=t.length>0?t[t.length-1].nextSibling:e.querySelector(`style`);e.insertBefore(a,n?.parentNode===e?n:null)}else if(`host`in e)if(te){let t=new CSSStyleSheet;t.replaceSync(i),e.adoptedStyleSheets.unshift(t)}else{let t=e.querySelector(`style`);t?t.innerHTML=i+t.innerHTML:e.prepend(a)}else e.append(a);t.$flags$&1&&e.insertBefore(a,null)}t.$flags$&4&&(a.innerHTML+=p),n&&n.add(r)}}else e.adoptedStyleSheets.includes(i)||e.adoptedStyleSheets.push(i);return r},ge=e=>{let t=e.$cmpMeta$,n=e.$hostElement$,r=t.$flags$,i=T(`attachStyles`,t.$tagName$),a=he(n.shadowRoot?n.shadowRoot:n.getRootNode(),t);r&10&&(n[`s-sc`]=a,n.classList.add(a+`-h`)),i()},_e=(e,t)=>`sc-`+e.$tagName$,D=(e,t,...n)=>{let r=null,i=null,a=!1,o=!1,s=[],c=t=>{for(let n=0;n<t.length;n++)r=t[n],Array.isArray(r)?c(r):r!=null&&typeof r!=`boolean`&&((a=typeof e!=`function`&&!S(r))&&(r=String(r)),a&&o?s[s.length-1].$text$+=r:s.push(a?O(null,r):r),o=a)};if(c(n),t){t.key&&(i=t.key);{let e=t.className||t.class;e&&(t.class=typeof e==`object`?Object.keys(e).filter(t=>e[t]).join(` `):e)}}let l=O(e,null);return l.$attrs$=t,s.length>0&&(l.$children$=s),l.$key$=i,l},O=(e,t)=>{let n={$flags$:0,$tag$:e,$text$:t,$elm$:null,$children$:null};return n.$attrs$=null,n.$key$=null,n},ve={},ye=e=>e&&e.$tag$===ve,k=e=>{let t=ce(e);return RegExp(`(^|[^@]|@(?!supports\\s+selector\\s*\\([^{]*?${t}))(${t}\\b)`,`g`)};k(`::slotted`),k(`:host`),k(`:host-context`);var be=(e,t,n)=>e!=null&&!S(e)?t&4?e===`false`?!1:e===``||!!e:t&1?String(e):e:e,xe=(e,t,n)=>{let r=_.ce(t,n);return e.dispatchEvent(r),r},A=(e,t,n,r,i,a,o)=>{if(n===r)return;let s=u(e,t),c=t.toLowerCase();if(t===`class`){let t=e.classList,i=j(n),a=j(r);t.remove(...i.filter(e=>e&&!a.includes(e))),t.add(...a.filter(e=>e&&!i.includes(e)))}else if(t===`style`){for(let t in n)(!r||r[t]==null)&&(t.includes(`-`)?e.style.removeProperty(t):e.style[t]=``);for(let t in r)(!n||r[t]!==n[t])&&(t.includes(`-`)?e.style.setProperty(t,r[t]):e.style[t]=r[t])}else if(t!==`key`)if(t===`ref`)r&&r(e);else if(!e.__lookupSetter__(t)&&t[0]===`o`&&t[1]===`n`){if(t=t[2]===`-`?t.slice(3):u(h,c)?c.slice(2):c[2]+t.slice(3),n||r){let i=t.endsWith(M);t=t.replace(Ce,``),n&&_.rel(e,t,n,i),r&&_.ael(e,t,r,i)}}else{let o=S(r);if(s||o&&r!==null)try{if(e.tagName.includes(`-`))e[t]!==r&&(e[t]=r);else{let i=r??``;t===`list`?s=!1:(n==null||e[t]!=i)&&(typeof e.__lookupSetter__(t)==`function`?e[t]=i:e.setAttribute(t,i))}}catch{}let l=!1;c!==(c=c.replace(/^xlink\:?/,``))&&(t=c,l=!0),r==null||r===!1?(r!==!1||e.getAttribute(t)===``)&&(l?e.removeAttributeNS(m,t):e.removeAttribute(t)):(!s||a&4||i)&&!o&&e.nodeType===1&&(r=r===!0?``:r,l?e.setAttributeNS(m,t,r):e.setAttribute(t,r))}},Se=/\s/,j=e=>(typeof e==`object`&&e&&`baseVal`in e&&(e=e.baseVal),!e||typeof e!=`string`?[]:e.split(Se)),M=`Capture`,Ce=RegExp(M+`$`),we=(e,t,n,r)=>{let i=t.$elm$.nodeType===11&&t.$elm$.host?t.$elm$.host:t.$elm$,a=e&&e.$attrs$||{},o=t.$attrs$||{};for(let e of Te(Object.keys(a)))e in o||A(i,e,a[e],void 0,n,t.$flags$);for(let e of Te(Object.keys(o)))A(i,e,a[e],o[e],n,t.$flags$)};function Te(e){return e.includes(`ref`)?[...e.filter(e=>e!==`ref`),`ref`]:e}var N,Ee=!1,P=(e,t,n)=>{let r=t.$children$[n],i=0,a,o;if(r.$text$!==null)a=r.$elm$=h.document.createTextNode(r.$text$);else{if(!h.document)throw Error("You are trying to render a Stencil component in an environment that doesn't support the DOM. Make sure to populate the [`window`](https://developer.mozilla.org/en-US/docs/Web/API/Window/window) object before rendering a component.");if(a=r.$elm$=h.document.createElement(r.$tag$),we(null,r,Ee),r.$children$)for(i=0;i<r.$children$.length;++i)o=P(e,r,i),o&&a.appendChild(o)}return a[`s-hn`]=N,a},De=(e,t,n,r,i,a)=>{let o=e,s;for(o.shadowRoot&&o.tagName===N&&(o=o.shadowRoot);i<=a;++i)r[i]&&(s=P(null,n,i),s&&(r[i].$elm$=s,R(o,s,t)))},Oe=(e,t,n)=>{for(let r=t;r<=n;++r){let t=e[r];if(t){let e=t.$elm$;L(t),e&&e.remove()}}},ke=(e,t,n,r,i=!1)=>{let a=0,o=0,s=0,c=0,l=t.length-1,u=t[0],d=t[l],f=r.length-1,p=r[0],m=r[f],h,g;for(;a<=l&&o<=f;)if(u==null)u=t[++a];else if(d==null)d=t[--l];else if(p==null)p=r[++o];else if(m==null)m=r[--f];else if(F(u,p,i))I(u,p,i),u=t[++a],p=r[++o];else if(F(d,m,i))I(d,m,i),d=t[--l],m=r[--f];else if(F(u,m,i))I(u,m,i),R(e,u.$elm$,d.$elm$.nextSibling),u=t[++a],m=r[--f];else if(F(d,p,i))I(d,p,i),R(e,d.$elm$,u.$elm$),d=t[--l],p=r[++o];else{for(s=-1,c=a;c<=l;++c)if(t[c]&&t[c].$key$!==null&&t[c].$key$===p.$key$){s=c;break}s>=0?(g=t[s],g.$tag$===p.$tag$?(I(g,p,i),t[s]=void 0,h=g.$elm$):h=P(t&&t[o],n,s),p=r[++o]):(h=P(t&&t[o],n,o),p=r[++o]),h&&R(u.$elm$.parentNode,h,u.$elm$)}a>l?De(e,r[f+1]==null?null:r[f+1].$elm$,n,r,o,f):o>f&&Oe(t,a,l)},F=(e,t,n=!1)=>e.$tag$===t.$tag$?n?(n&&!e.$key$&&t.$key$&&(e.$key$=t.$key$),!0):e.$key$===t.$key$:!1,I=(e,t,n=!1)=>{let r=t.$elm$=e.$elm$,i=e.$children$,o=t.$children$,s=t.$text$;s===null?(we(e,t,Ee),i!==null&&o!==null?ke(r,i,t,o,n):o===null?!n&&a.updatable&&i!==null&&Oe(i,0,i.length-1):(e.$text$!==null&&(r.textContent=``),De(r,null,t,o,0,o.length-1))):e.$text$!==s&&(r.data=s)},L=e=>{e.$attrs$&&e.$attrs$.ref&&e.$attrs$.ref(null),e.$children$&&e.$children$.map(L)},R=(e,t,n)=>e?.insertBefore(t,n),Ae=(e,t,n=!1)=>{let r=e.$hostElement$,i=e.$cmpMeta$,a=e.$vnode$||O(null,null),o=ye(t)?t:D(null,null,t);if(N=r.tagName,i.$attrsToReflect$&&(o.$attrs$=o.$attrs$||{},i.$attrsToReflect$.map(([e,t])=>o.$attrs$[t]=r[e])),n&&o.$attrs$)for(let e of Object.keys(o.$attrs$))r.hasAttribute(e)&&![`key`,`ref`,`style`,`class`].includes(e)&&(o.$attrs$[e]=r[e]);o.$tag$=null,o.$flags$|=4,e.$vnode$=o,o.$elm$=a.$elm$=r.shadowRoot||r,I(a,o,n)},z=(e,t)=>{if(t&&!e.$onRenderResolve$&&t[`s-p`]){let n=t[`s-p`].push(new Promise(r=>e.$onRenderResolve$=()=>{t[`s-p`].splice(n-1,1),r()}))}},B=(e,t)=>{if(e.$flags$|=16,e.$flags$&4){e.$flags$|=512;return}return z(e,e.$ancestorComponent$),ae(()=>je(e,t))},je=(e,t)=>{let n=e.$hostElement$,r=T(`scheduleUpdate`,e.$cmpMeta$.$tagName$),i=n;if(!i)throw Error(`Can't render component <${n.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \`externalRuntime: true\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`);let a;return a=t?H(i,`componentWillLoad`,void 0,n):H(i,`componentWillUpdate`,void 0,n),a=V(a,()=>H(i,`componentWillRender`,void 0,n)),r(),V(a,()=>Ne(e,i,t))},V=(e,t)=>Me(e)?e.then(t).catch(e=>{console.error(e),t()}):t(),Me=e=>e instanceof Promise||e&&e.then&&typeof e.then==`function`,Ne=async(e,t,n)=>{let r=e.$hostElement$,i=T(`update`,e.$cmpMeta$.$tagName$),a=r[`s-rc`];n&&ge(e);let o=T(`render`,e.$cmpMeta$.$tagName$);Pe(e,t,r,n),a&&(a.map(e=>e()),r[`s-rc`]=void 0),o(),i();{let t=r[`s-p`]??[],n=()=>Fe(e);t.length===0?n():(Promise.all(t).then(n),e.$flags$|=4,t.length=0)}},Pe=(e,t,n,r)=>{try{t=t.render(),e.$flags$&=-17,e.$flags$|=2,Ae(e,t,r)}catch(t){d(t,e.$hostElement$)}return null},Fe=e=>{let t=e.$cmpMeta$.$tagName$,n=e.$hostElement$,r=T(`postUpdate`,t),i=n,a=e.$ancestorComponent$;H(i,`componentDidRender`,void 0,n),e.$flags$&64?(H(i,`componentDidUpdate`,void 0,n),r()):(e.$flags$|=64,Le(n),H(i,`componentDidLoad`,void 0,n),r(),e.$onReadyResolve$(n),a||Ie()),e.$onRenderResolve$&&=(e.$onRenderResolve$(),void 0),e.$flags$&512&&x(()=>B(e,!1)),e.$flags$&=-517},Ie=e=>{x(()=>xe(h,`appload`,{detail:{namespace:i}}))},H=(e,t,n,r)=>{if(e&&e[t])try{return e[t](n)}catch(e){d(e,r)}},Le=e=>e.classList.add(a.hydratedSelectorName??`hydrated`),Re=(e,t)=>c(e).$instanceValues$.get(t),ze=(e,t,n,r)=>{let i=c(e),a=e,o=i.$instanceValues$.get(t),s=i.$flags$,l=a;if(n=be(n,r.$members$[t][0]),n!==o&&!(Number.isNaN(o)&&Number.isNaN(n))){if(i.$instanceValues$.set(t,n),r.$watchers$&&s&128){let e=r.$watchers$[t];e&&e.map(e=>{try{l[e](n,o,t)}catch(e){d(e,a)}})}if((s&18)==2){if(l.componentShouldUpdate&&l.componentShouldUpdate(n,o,t)===!1)return;B(i,!1)}}},Be=(e,t,n)=>{let r=e.prototype;if(t.$members$||t.$watchers$||e.watchers){e.watchers&&!t.$watchers$&&(t.$watchers$=e.watchers);let n=Object.entries(t.$members$??{});n.map(([e,[n]])=>{if(n&31||n&32){let{get:i,set:a}=Object.getOwnPropertyDescriptor(r,e)||{};i&&(t.$members$[e][0]|=2048),a&&(t.$members$[e][0]|=4096),Object.defineProperty(r,e,{get(){return i?i.apply(this):Re(this,e)},configurable:!0,enumerable:!0}),Object.defineProperty(r,e,{set(r){let i=c(this);if(a){let o=n&32?this[e]:i.$hostElement$[e];o===void 0&&i.$instanceValues$.get(e)?r=i.$instanceValues$.get(e):!i.$instanceValues$.get(e)&&o&&i.$instanceValues$.set(e,o),a.apply(this,[be(r,n)]),r=n&32?this[e]:i.$hostElement$[e],ze(this,e,r,t);return}ze(this,e,r,t)}})}});{let i=new Map;r.attributeChangedCallback=function(e,n,o){_.jmp(()=>{let s=i.get(e);if(!(this.hasOwnProperty(s)&&a.lazyLoad)){if(r.hasOwnProperty(s)&&typeof this[s]==`number`&&this[s]==o)return;if(s==null){let r=c(this)?.$flags$;if(r&&!(r&8)&&r&128&&o!==n){let r=this;(t.$watchers$?.[e])?.forEach(t=>{r[t]!=null&&r[t].call(r,o,n,e)})}return}}let l=Object.getOwnPropertyDescriptor(r,s);o=o===null&&typeof this[s]==`boolean`?!1:o,o!==this[s]&&(!l.get||l.set)&&(this[s]=o)})},e.observedAttributes=Array.from(new Set([...Object.keys(t.$watchers$??{}),...n.filter(([e,t])=>t[0]&15).map(([e,n])=>{var r;let a=n[1]||e;return i.set(a,e),n[0]&512&&((r=t.$attrsToReflect$)==null||r.push([e,a])),a})]))}}return e},Ve=async(e,t,n,r)=>{let i;if(!(t.$flags$&32)){t.$flags$|=32;{i=e.constructor;let n=e.localName;customElements.whenDefined(n).then(()=>t.$flags$|=128)}if(i&&i.style){let e;typeof i.style==`string`&&(e=i.style);let t=_e(n);if(!f.has(t)){let r=T(`registerStyles`,n.$tagName$);me(t,e,!!(n.$flags$&1)),r()}}}let a=t.$ancestorComponent$,o=()=>B(t,!0);a&&a[`s-rc`]?a[`s-rc`].push(o):o()},He=e=>{if(!(_.$flags$&1)){let t=c(e),n=t.$cmpMeta$,r=T(`connectedCallback`,n.$tagName$);if(t.$flags$&1)t?.$lazyInstance$||t?.$onReadyPromise$&&t.$onReadyPromise$.then(()=>void 0);else{t.$flags$|=1;{let n=e;for(;n=n.parentNode||n.host;)if(n[`s-p`]){z(t,t.$ancestorComponent$=n);break}}n.$members$&&Object.entries(n.$members$).map(([t,[n]])=>{if(n&31&&e.hasOwnProperty(t)){let n=e[t];delete e[t],e[t]=n}}),a.initializeNextTick?x(()=>Ve(e,t,n)):Ve(e,t,n)}r()}},Ue=async e=>{_.$flags$&1||c(e),E.has(e)&&E.delete(e),e.shadowRoot&&E.has(e.shadowRoot)&&E.delete(e.shadowRoot)},We=(e,t)=>{let n={$flags$:t[0],$tagName$:t[1]};n.$members$=t[2],n.$watchers$=e.$watchers$,n.$attrsToReflect$=[];let r=e.prototype.connectedCallback,i=e.prototype.disconnectedCallback;return Object.assign(e.prototype,{__hasHostListenerAttached:!1,__registerHost(){l(this,n)},connectedCallback(){this.__hasHostListenerAttached||=(c(this),!0),He(this),r&&r.call(this)},disconnectedCallback(){Ue(this),i&&i.call(this)},__attachShadow(){if(!this.shadowRoot)pe.call(this,n);else if(this.shadowRoot.mode!==`open`)throw Error(`Unable to re-use existing shadow root for ${n.$tagName$}! Mode is set to ${this.shadowRoot.mode} but Stencil only supports open shadow roots.`)}}),e.is=n.$tagName$,Be(e,n)},U,Ge=()=>{if(typeof window>`u`)return new Map;if(!U){let e=window;e.Ionicons=e.Ionicons||{},U=e.Ionicons.map=e.Ionicons.map||new Map}return U},Ke=e=>{let t=W(e.src);return t||(t=Je(e.name,e.icon,e.mode,e.ios,e.md),t?qe(t,e):e.icon&&(t=W(e.icon),t||(t=W(e.icon[e.mode]),t))?t:null)},qe=(e,t)=>{let n=Ge().get(e);if(n)return n;try{return oe(`svg/${e}.svg`)}catch(n){console.log(`e`,n),console.warn(`[Ionicons Warning]: Could not load icon with name "${e}". Ensure that the icon is registered using addIcons or that the icon SVG data is passed directly to the icon component.`,t)}},Je=(e,t,n,r,i)=>(n=(n&&K(n))===`ios`?`ios`:`md`,r&&n===`ios`?e=K(r):i&&n===`md`?e=K(i):(!e&&t&&!Ye(t)&&(e=t),G(e)&&(e=K(e))),!G(e)||e.trim()===``||e.replace(/[a-z]|-|\d/gi,``)!==``?null:e),W=e=>G(e)&&(e=e.trim(),Ye(e))?e:null,Ye=e=>e.length>0&&/(\/|\.)/.test(e),G=e=>typeof e==`string`,K=e=>e.toLowerCase(),Xe=(e,t=[])=>{let n={};return t.forEach(t=>{e.hasAttribute(t)&&(e.getAttribute(t)!==null&&(n[t]=e.getAttribute(t)),e.removeAttribute(t))}),n},Ze=e=>e&&e.dir!==``?e.dir.toLowerCase()===`rtl`:(document==null?void 0:document.dir.toLowerCase())===`rtl`,Qe=e=>{let t=document.createElement(`div`);t.innerHTML=e;for(let e=t.childNodes.length-1;e>=0;e--)t.childNodes[e].nodeName.toLowerCase()!==`svg`&&t.removeChild(t.childNodes[e]);let n=t.firstElementChild;if(n&&n.nodeName.toLowerCase()===`svg`){let e=n.getAttribute(`class`)||``;if(n.setAttribute(`class`,(e+` s-ion-icon`).trim()),$e(n))return t.innerHTML}return``},$e=e=>{if(e.nodeType===1){if(e.nodeName.toLowerCase()===`script`)return!1;for(let t=0;t<e.attributes.length;t++){let n=e.attributes[t].name;if(G(n)&&n.toLowerCase().indexOf(`on`)===0)return!1}for(let t=0;t<e.childNodes.length;t++)if(!$e(e.childNodes[t]))return!1}return!0},et=e=>e.startsWith(`data:image/svg+xml`),tt=e=>e.indexOf(`;utf8,`)!==-1,q=new Map,nt=new Map,rt;function J(e){return q.set(e,``),``}var it=(e,t)=>nt.get(e)||(typeof fetch<`u`&&typeof document<`u`?et(e)&&tt(e)?Promise.resolve(at(e)):ot(e,t):Promise.resolve(J(e)));function at(e){rt||=new DOMParser;let t=rt.parseFromString(e,`text/html`).querySelector(`svg`);if(t)return q.set(e,t.outerHTML),t.outerHTML;throw Error(`Could not parse svg from ${e}`)}function ot(e,t){let n=fetch(e).then(n=>n.text().then(n=>{n&&t!==!1&&(n=Qe(n));let r=n||``;return q.set(e,r),r}).catch(()=>J(e))).catch(()=>J(e));return nt.set(e,n),n}var st=`:host{display:inline-block;width:1em;height:1em;contain:strict;fill:currentColor;box-sizing:content-box !important}:host .ionicon{stroke:currentColor}.ionicon-fill-none{fill:none}.ionicon-stroke-width{stroke-width:var(--ionicon-stroke-width, 32px)}.icon-inner,.ionicon,svg{display:block;height:100%;width:100%}@supports (background: -webkit-named-image(i)){:host(.icon-rtl) .icon-inner{transform:scaleX(-1)}}@supports not selector(:dir(rtl)) and selector(:host-context([dir='rtl'])){:host(.icon-rtl) .icon-inner{transform:scaleX(-1)}}:host(.flip-rtl):host-context([dir='rtl']) .icon-inner{transform:scaleX(-1)}@supports selector(:dir(rtl)){:host(.flip-rtl:dir(rtl)) .icon-inner{transform:scaleX(-1)}:host(.flip-rtl:dir(ltr)) .icon-inner{transform:scaleX(1)}}:host(.icon-small){font-size:1.125rem !important}:host(.icon-large){font-size:2rem !important}:host(.ion-color){color:var(--ion-color-base) !important}:host(.ion-color-primary){--ion-color-base:var(--ion-color-primary, #3880ff)}:host(.ion-color-secondary){--ion-color-base:var(--ion-color-secondary, #0cd1e8)}:host(.ion-color-tertiary){--ion-color-base:var(--ion-color-tertiary, #f4a942)}:host(.ion-color-success){--ion-color-base:var(--ion-color-success, #10dc60)}:host(.ion-color-warning){--ion-color-base:var(--ion-color-warning, #ffce00)}:host(.ion-color-danger){--ion-color-base:var(--ion-color-danger, #f14141)}:host(.ion-color-light){--ion-color-base:var(--ion-color-light, #f4f5f8)}:host(.ion-color-medium){--ion-color-base:var(--ion-color-medium, #989aa2)}:host(.ion-color-dark){--ion-color-base:var(--ion-color-dark, #222428)}`,ct=We(class extends g{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.iconName=null,this.inheritedAttributes={},this.didLoadIcon=!1,this.isVisible=!1,this.mode=lt(),this.lazy=!1,this.sanitize=!0}componentWillLoad(){this.inheritedAttributes=Xe(this.el,[`aria-label`])}connectedCallback(){this.waitUntilVisible(this.el,`50px`,()=>{this.isVisible=!0,this.loadIcon()})}componentDidLoad(){this.didLoadIcon||this.loadIcon()}disconnectedCallback(){this.io&&=(this.io.disconnect(),void 0)}waitUntilVisible(e,t,n){if(!(this.lazy&&typeof window<`u`&&window.IntersectionObserver))return n();let r=this.io=new window.IntersectionObserver(e=>{e[0].isIntersecting&&(r.disconnect(),this.io=void 0,n())},{rootMargin:t});r.observe(e)}loadIcon(){if(this.isVisible){let e=Ke(this);e&&(q.has(e)?this.svgContent=q.get(e):it(e,this.sanitize).then(()=>this.svgContent=q.get(e)),this.didLoadIcon=!0)}this.iconName=Je(this.name,this.icon,this.mode,this.ios,this.md)}render(){let{flipRtl:e,iconName:t,inheritedAttributes:n,el:r}=this,i=this.mode||`md`,a=t?(t.includes(`arrow`)||t.includes(`chevron`))&&e!==!1:!1,o=e||a;return D(ve,Object.assign({key:`0578c899781ca145dd8205acd9670af39b57cf2e`,role:`img`,class:Object.assign(Object.assign({[i]:!0},ut(this.color)),{[`icon-${this.size}`]:!!this.size,"flip-rtl":o,"icon-rtl":o&&Ze(r)})},n),this.svgContent?D(`div`,{class:`icon-inner`,innerHTML:this.svgContent}):D(`div`,{class:`icon-inner`}))}static get assetsDirs(){return[`svg`]}get el(){return this}static get watchers(){return{name:[`loadIcon`],src:[`loadIcon`],icon:[`loadIcon`],ios:[`loadIcon`],md:[`loadIcon`]}}static get style(){return st}},[1,`ion-icon`,{mode:[1025],color:[1],ios:[1],md:[1],flipRtl:[4,`flip-rtl`],name:[513],src:[1],icon:[8],size:[1],lazy:[4],sanitize:[4],svgContent:[32],isVisible:[32]},void 0,{name:[`loadIcon`],src:[`loadIcon`],icon:[`loadIcon`],ios:[`loadIcon`],md:[`loadIcon`]}]),lt=()=>typeof document<`u`&&document.documentElement.getAttribute(`mode`)||`md`,ut=e=>e?{"ion-color":!0,[`ion-color-${e}`]:!0}:null;function dt(){typeof customElements>`u`||[`ion-icon`].forEach(e=>{switch(e){case`ion-icon`:customElements.get(e)||customElements.define(e,ct);break}})}var ft=dt,pt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='m112 184 144 144 144-144' stroke-linecap='round' stroke-linejoin='round' stroke-width='48px' class='ionicon-fill-none'/></svg>`,mt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='m289.94 256 95-95A24 24 0 0 0 351 127l-95 95-95-95a24 24 0 0 0-34 34l95 95-95 95a24 24 0 1 0 34 34l95-95 95 95a24 24 0 0 0 34-34Z'/></svg>`,ht=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M256 32C132.3 32 32 134.9 32 261.7c0 101.5 64.2 187.5 153.2 217.9a17.6 17.6 0 0 0 3.8.4c8.3 0 11.5-6.1 11.5-11.4 0-5.5-.2-19.9-.3-39.1a102.4 102.4 0 0 1-22.6 2.7c-43.1 0-52.9-33.5-52.9-33.5-10.2-26.5-24.9-33.6-24.9-33.6-19.5-13.7-.1-14.1 1.4-14.1h.1c22.5 2 34.3 23.8 34.3 23.8 11.2 19.6 26.2 25.1 39.6 25.1a63 63 0 0 0 25.6-6c2-14.8 7.8-24.9 14.2-30.7-49.7-5.8-102-25.5-102-113.5 0-25.1 8.7-45.6 23-61.6-2.3-5.8-10-29.2 2.2-60.8a18.6 18.6 0 0 1 5-.5c8.1 0 26.4 3.1 56.6 24.1a208.2 208.2 0 0 1 112.2 0c30.2-21 48.5-24.1 56.6-24.1a18.6 18.6 0 0 1 5 .5c12.2 31.6 4.5 55 2.2 60.8 14.3 16.1 23 36.6 23 61.6 0 88.2-52.4 107.6-102.3 113.3 8 7.1 15.2 21.1 15.2 42.5 0 30.7-.3 55.5-.3 63 0 5.4 3.1 11.5 11.4 11.5a19.4 19.4 0 0 0 4-.4C415.9 449.2 480 363.1 480 261.7 480 134.9 379.7 32 256 32'/></svg>`,gt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M444.17 32H70.28C49.85 32 32 46.7 32 66.89v374.72C32 461.91 49.85 480 70.28 480h373.78c20.54 0 35.94-18.21 35.94-38.39V66.89C480.12 46.7 464.6 32 444.17 32m-273.3 373.43h-64.18V205.88h64.18ZM141 175.54h-.46c-20.54 0-33.84-15.29-33.84-34.43 0-19.49 13.65-34.42 34.65-34.42s33.85 14.82 34.31 34.42c-.01 19.14-13.31 34.43-34.66 34.43m264.43 229.89h-64.18V296.32c0-26.14-9.34-44-32.56-44-17.74 0-28.24 12-32.91 23.69-1.75 4.2-2.22 9.92-2.22 15.76v113.66h-64.18V205.88h64.18v27.77c9.34-13.3 23.93-32.44 57.88-32.44 42.13 0 74 27.77 74 87.64Z'/></svg>`,_t=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M496 109.5a201.8 201.8 0 0 1-56.55 15.3 97.5 97.5 0 0 0 43.33-53.6 197.7 197.7 0 0 1-62.56 23.5A99.14 99.14 0 0 0 348.31 64c-54.42 0-98.46 43.4-98.46 96.9a93.2 93.2 0 0 0 2.54 22.1 280.7 280.7 0 0 1-203-101.3A95.7 95.7 0 0 0 36 130.4c0 33.6 17.53 63.3 44 80.7A97.5 97.5 0 0 1 35.22 199v1.2c0 47 34 86.1 79 95a100.8 100.8 0 0 1-25.94 3.4 94.4 94.4 0 0 1-18.51-1.8c12.51 38.5 48.92 66.5 92.05 67.3A199.6 199.6 0 0 1 39.5 405.6a203 203 0 0 1-23.5-1.4A278.7 278.7 0 0 0 166.74 448c181.36 0 280.44-147.7 280.44-275.8 0-4.2-.11-8.4-.31-12.5A198.5 198.5 0 0 0 496 109.5'/></svg>`,vt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M508.64 148.79c0-45-33.1-81.2-74-81.2C379.24 65 322.74 64 265 64h-18c-57.6 0-114.2 1-169.6 3.6C36.6 67.6 3.5 104 3.5 149 1 184.59-.06 220.19 0 255.79q-.15 53.4 3.4 106.9c0 45 33.1 81.5 73.9 81.5 58.2 2.7 117.9 3.9 178.6 3.8q91.2.3 178.6-3.8c40.9 0 74-36.5 74-81.5 2.4-35.7 3.5-71.3 3.4-107q.34-53.4-3.26-106.9M207 353.89v-196.5l145 98.2Z'/></svg>`,yt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M80 160h352M80 256h352M80 352h352' stroke-linecap='round' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/></svg>`,bt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M221.09 64a157.09 157.09 0 1 0 157.09 157.09A157.1 157.1 0 0 0 221.09 64Z' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/><path d='M338.29 338.29 448 448' stroke-linecap='round' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/></svg>`,xt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64Z' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/><path d='M256 128v144h96' stroke-linecap='round' stroke-linejoin='round' class='ionicon-fill-none ionicon-stroke-width'/></svg>`,St=`menu-outline`,Ct=`close`,wt=()=>{let e=document.querySelector(`.site-header__toggle`);if(!e)return;let t=document.querySelector(e.dataset.target);if(!t)return;let n=e.querySelector(`.sr-only`),r=e.dataset.openLabel||`Open navigation menu`,i=e.dataset.closeLabel||`Close navigation menu`,a=a=>{e.setAttribute(`aria-expanded`,a?`true`:`false`),e.setAttribute(`aria-label`,a?i:r),n&&(n.textContent=a?i:r);let o=e.querySelector(`ion-icon`);o&&(o.name=a?Ct:St),t.hidden=!a,t.classList.toggle(`is-hidden`,!a)},o=()=>{t.hidden||a(!1)};a(!1),e.addEventListener(`click`,()=>{let n=e.getAttribute(`aria-expanded`)!==`true`;if(a(n),n){let e=t.querySelector(`a, button, input, [tabindex]:not([tabindex="-1"])`);e&&e.focus();return}e.focus()}),document.addEventListener(`click`,n=>{let r=t.contains(n.target),i=e.contains(n.target);!r&&!i&&o()}),document.addEventListener(`keydown`,n=>{if(n.key===`Escape`){let n=!t.hidden;o(),n&&e.focus()}})},Y=null,Tt=e=>{e&&e.open&&e.close()},Et=()=>{let e=document.querySelectorAll(`[data-certificate-open]`),t=document.querySelectorAll(`[data-certificate-modal]`);!e.length||!t.length||(e.forEach(e=>{e.addEventListener(`click`,()=>{let t=document.getElementById(e.dataset.certificateOpen);!t||typeof t.showModal!=`function`||t.open||(Y=e,t.showModal())})}),t.forEach(e=>{e.querySelector(`[data-certificate-close]`)?.addEventListener(`click`,()=>{Tt(e)}),e.addEventListener(`click`,t=>{t.target===e&&Tt(e)}),e.addEventListener(`close`,()=>{Y&&=(Y.focus(),null)})}))},Dt={category:`data-category`,categoryId:`data-category-id`,emitMetadata:`data-emit-metadata`,inputPosition:`data-input-position`,lang:`data-lang`,loading:`data-loading`,mapping:`data-mapping`,reactionsEnabled:`data-reactions-enabled`,repo:`data-repo`,repoId:`data-repo-id`,strict:`data-strict`,term:`data-term`,theme:`data-theme`},Ot=e=>{if(!e||e.dataset.giscusLoaded===`true`)return;let t=document.createElement(`script`);t.src=e.dataset.giscusScriptSrc||`https://giscus.app/client.js`,t.async=!0,t.crossOrigin=`anonymous`;for(let[n,r]of Object.entries(Dt)){let i=e.dataset[`giscus${n.charAt(0).toUpperCase()}${n.slice(1)}`];i&&t.setAttribute(r,i)}e.append(t),e.dataset.giscusLoaded=`true`},kt=()=>{let e=document.querySelectorAll(`[data-comments-collapsible]`);e.length&&e.forEach(e=>{let t=e.querySelector(`[data-comments-toggle]`),n=e.querySelector(`[data-comments-panel]`),r=e.querySelector(`[data-giscus-mount]`);!t||!n||!r||t.addEventListener(`click`,()=>{let i=t.getAttribute(`aria-expanded`)!==`true`;t.setAttribute(`aria-expanded`,i?`true`:`false`),e.classList.toggle(`is-open`,i),n.hidden=!i,i&&Ot(r)})})},At=()=>{let e=document.querySelector(`#main-header`);if(!e)return;let t=()=>{if(window.scrollY>8){e.classList.add(`is-scrolled`);return}e.classList.remove(`is-scrolled`)};t(),window.addEventListener(`scroll`,t,{passive:!0})},jt=()=>{let e=document.querySelectorAll(`[data-series-collapsible]`);e.length&&e.forEach(e=>{let t=e.querySelector(`[data-series-toggle]`),n=e.querySelector(`[data-series-panel]`);if(!t||!n)return;let r=()=>{let r=t.getAttribute(`aria-expanded`)===`true`;e.classList.toggle(`is-open`,r),n.hidden=!r};r(),t.addEventListener(`click`,()=>{let e=t.getAttribute(`aria-expanded`)===`true`;t.setAttribute(`aria-expanded`,e?`false`:`true`),r()});let i=e.querySelectorAll(`[data-series-overflow-toggle]`);i.length&&i.forEach(t=>{t.addEventListener(`click`,()=>{let n=t.dataset.seriesOverflowGroup,r=n?`[data-series-overflow-item][data-series-overflow-group="${n}"]`:`[data-series-overflow-item]`;e.querySelectorAll(r).forEach(e=>{e.hidden=!1}),t.setAttribute(`aria-expanded`,`true`),t.hidden=!0})})})},Mt=()=>{let e=document.querySelector(`[data-reading-progress]`),t=document.querySelector(`.content`);if(!e||!t)return;let n=()=>{let n=t.offsetTop,r=t.offsetHeight,i=window.innerHeight,a=window.scrollY,o=Math.max(r-i,1),s=Math.min(Math.max(a-n,0),o)/o*100;e.style.transform=`scaleX(${s/100})`};n(),window.addEventListener(`scroll`,n,{passive:!0}),window.addEventListener(`resize`,n)},Nt=`[data-search-root]`,X,Z=e=>(e||``).toString().normalize(`NFKD`).replace(/[\u0300-\u036f]/g,``).toLowerCase().replace(/[^a-z0-9\s-]/g,` `).replace(/\s+/g,` `).trim(),Pt=e=>Z(e).split(` `).filter(e=>e.length>0),Ft=e=>[...new Set(Pt(e))],It=(e,t)=>{let n=e.date?Date.parse(e.date):0,r=t.date?Date.parse(t.date):0;return Number.isNaN(n)||Number.isNaN(r)?0:r-n},Lt=e=>{let t=e.title||``,n=e.content||``,r=Array.isArray(e.tags)?e.tags:[],i=Array.isArray(e.categories)?e.categories:[];return{...e,title:t,content:n,tags:r,categories:i,normalizedTitle:Z(t),normalizedContent:Z(n),normalizedTags:r.map(Z).filter(Boolean),normalizedCategories:i.map(Z).filter(Boolean)}},Rt=async e=>(X||=fetch(e,{headers:{Accept:`application/json`}}).then(e=>{if(!e.ok)throw Error(`Search index request failed with ${e.status}`);return e.json()}).then(e=>e.map(Lt)).catch(e=>{throw X=void 0,e}),X),zt=(e,t,n)=>{let r=0;e.normalizedTitle.includes(t)&&(r+=140),e.normalizedContent.includes(t)&&(r+=30),n.forEach(t=>{e.normalizedTitle.includes(t)&&(r+=60),e.normalizedTags.some(e=>e.includes(t))&&(r+=30),e.normalizedCategories.some(e=>e.includes(t))&&(r+=18),e.normalizedContent.includes(t)&&(r+=10)});let i=n.filter(t=>e.normalizedTitle.includes(t)||e.normalizedTags.some(e=>e.includes(t))||e.normalizedCategories.some(e=>e.includes(t))||e.normalizedContent.includes(t)).length;return i===0?0:(i===n.length&&(r+=24),e.type===`post`&&(r+=4),r)},Bt=(e,t,n)=>{let r=Z(t),i=Ft(t);return!r||i.length===0?[]:e.map(e=>({searchDocument:e,score:zt(e,r,i)})).filter(e=>e.score>0).sort((e,t)=>t.score-e.score||It(e.searchDocument,t.searchDocument)).slice(0,n).map(e=>e.searchDocument)},Vt=(e,t,n)=>{let r=e.replace(/\s+/g,` `).trim();if(!r)return``;let i=Z(t),a=Z(r).indexOf(i);if(a===-1)return r.length>n?`${r.slice(0,n).trimEnd()}...`:r;let o=Math.max(a-Math.floor(n/3),0),s=Math.min(o+n,r.length),c=o>0?`...`:``,l=s<r.length?`...`:``;return`${c}${r.slice(o,s).trim()}${l}`},Ht=e=>{let t=[];return e.type&&t.push(e.type===`post`?`Post`:`Page`),e.tags.length>0&&t.push(e.tags.slice(0,2).join(`, `)),t.join(` • `)},Ut=(e,t,n,r)=>{let i=e.querySelector(`[data-search-results]`),a=e.querySelector(`[data-search-status]`);i.innerHTML=``,a.textContent=r,t.forEach(t=>{let r=window.document.createElement(`li`);r.className=`site-search__result-item`;let a=window.document.createElement(`a`);a.className=`site-search__result-link`,a.href=t.url;let o=window.document.createElement(`span`);o.className=`site-search__result-title`,o.textContent=t.title,a.append(o);let s=Ht(t);if(s){let e=window.document.createElement(`span`);e.className=`site-search__result-meta`,e.textContent=s,a.append(e)}let c=Number(e.dataset.searchContentPreviewLength||`140`),l=Vt(t.content,n,c);if(l){let e=window.document.createElement(`span`);e.className=`site-search__result-snippet`,e.textContent=l,a.append(e)}r.append(a),i.append(r)})},Wt=e=>{let t=e.querySelector(`[data-search-panel]`),n=e.querySelector(`[data-search-input]`);t.hidden=!1,n.setAttribute(`aria-expanded`,`true`),t.setAttribute(`aria-hidden`,`false`)},Q=e=>{let t=e.querySelector(`[data-search-panel]`),n=e.querySelector(`[data-search-input]`);t.hidden=!0,n.setAttribute(`aria-expanded`,`false`),t.setAttribute(`aria-hidden`,`true`)},$=(e,t)=>{let n=[...e.querySelectorAll(`.site-search__result-link`)];if(n.length===0)return;let r=n.findIndex(e=>e===window.document.activeElement);n[r===-1?t>0?0:n.length-1:(r+t+n.length)%n.length].focus()},Gt=e=>{let t=e.querySelector(`[data-search-input]`),n=e.querySelector(`[data-search-clear]`),r=e.querySelector(`.site-search__form`),i=e.dataset.searchUrl,a=Number(e.dataset.searchMaxResults||`8`),o=Number(e.dataset.searchMinQueryLength||`2`),s=e.dataset.searchIdleText||`Start typing to search the site.`,c=e.dataset.searchTooShortText||`Type at least %d characters to search.`,l=e.dataset.searchLoadingText||`Loading search index...`,u=e.dataset.searchEmptyText||`No results found.`,d=e.dataset.searchErrorText||`Search is unavailable right now.`,f=t=>{let n=e.querySelector(`[data-search-status]`);n.textContent=t},p=()=>{e.querySelector(`[data-search-results]`).innerHTML=``},m=()=>{n.hidden=t.value.length===0},h=async()=>{let n=t.value.trim();if(m(),n.length===0){p(),f(s),Q(e);return}if(Wt(e),n.length<o){p(),f(c.replace(`%d`,`${o}`));return}f(l);try{let t=Bt(await Rt(i),n,a);if(t.length===0){Ut(e,[],n,u);return}Ut(e,t,n,`${t.length} result${t.length===1?``:`s`} for "${n}"`)}catch{p(),f(d)}};t.addEventListener(`focus`,()=>{t.value.trim().length>0&&h()}),t.addEventListener(`input`,()=>{h()}),t.addEventListener(`keydown`,t=>{t.key===`ArrowDown`&&(t.preventDefault(),e.querySelector(`.site-search__result-link`)&&Wt(e),$(e,1)),t.key===`Escape`&&Q(e)}),e.addEventListener(`keydown`,n=>{if(n.key===`Escape`&&(Q(e),t.focus()),n.key===`ArrowDown`&&n.target.matches(`.site-search__result-link`)&&(n.preventDefault(),$(e,1)),n.key===`ArrowUp`&&n.target.matches(`.site-search__result-link`)){if(n.preventDefault(),n.target===e.querySelector(`.site-search__result-link`)){t.focus();return}$(e,-1)}}),n.addEventListener(`click`,()=>{t.value=``,m(),p(),f(s),Q(e),t.focus()}),r.addEventListener(`submit`,t=>{t.preventDefault();let n=e.querySelector(`.site-search__result-link`);if(n){window.location.assign(n.href);return}h()}),window.document.addEventListener(`click`,t=>{e.contains(t.target)||Q(e)}),Q(e)};n({"chevron-down-outline":pt,close:mt,"logo-github":ht,"logo-linkedin":gt,"logo-twitter":_t,"logo-youtube":vt,"menu-outline":yt,"search-outline":bt,"time-outline":xt}),ft(),wt(),Et(),kt(),At(),jt(),Mt(),(()=>{let e=window.document.querySelectorAll(Nt);e.length!==0&&e.forEach(Gt)})()})();
1
+ (function(){var e,t=()=>{if(typeof window>`u`)return new Map;if(!e){let t=window;t.Ionicons=t.Ionicons||{},e=t.Ionicons.map=t.Ionicons.map||new Map}return e},n=e=>{Object.keys(e).forEach(t=>{r(t,e[t]);let n=t.replace(/([a-z0-9]|(?=[A-Z]))([A-Z0-9])/g,`$1-$2`).toLowerCase();t!==n&&r(n,e[t])})},r=(e,n)=>{let r=t(),i=r.get(e);i===void 0?r.set(e,n):i!==n&&console.warn(`[Ionicons Warning]: Multiple icons were mapped to name "${e}". Ensure that multiple icons are not mapped to the same icon name.`)},i=`ionicons`,a={hydratedSelectorName:`hydrated`,lazyLoad:!1,updatable:!0},o=Object.defineProperty,s=(e,t)=>{for(var n in t)o(e,n,{get:t[n],enumerable:!0})},c=e=>{if(e.__stencil__getHostRef)return e.__stencil__getHostRef()},l=(e,t)=>{let n={$flags$:0,$hostElement$:e,$cmpMeta$:t,$instanceValues$:new Map};n.$onReadyPromise$=new Promise(e=>n.$onReadyResolve$=e),e[`s-p`]=[],e[`s-rc`]=[];let r=n;return e.__stencil__getHostRef=()=>r,r},u=(e,t)=>t in e,d=(e,t)=>(0,console.error)(e,t),f=new Map,p=`slot-fb{display:contents}slot-fb[hidden]{display:none}`,m=`http://www.w3.org/1999/xlink`,h=typeof window<`u`?window:{},g=h.HTMLElement||class{},_={$flags$:0,$resourcesUrl$:``,jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,n,r)=>e.addEventListener(t,n,r),rel:(e,t,n,r)=>e.removeEventListener(t,n,r),ce:(e,t)=>new CustomEvent(e,t)},ee=e=>Promise.resolve(e),te=(()=>{try{return new CSSStyleSheet,typeof new CSSStyleSheet().replaceSync==`function`}catch{}return!1})(),v=!1,ne=[],re=[],ie=(e,t)=>n=>{e.push(n),v||(v=!0,t&&_.$flags$&4?b(y):_.raf(y))},ae=e=>{for(let t=0;t<e.length;t++)try{e[t](performance.now())}catch(e){d(e)}e.length=0},y=()=>{ae(ne),ae(re),(v=ne.length>0)&&_.raf(y)},b=e=>ee().then(e),oe=ie(re,!0),se=e=>{let t=new URL(e,_.$resourcesUrl$);return t.origin===h.location.origin?t.pathname:t.href},x=e=>(e=typeof e,e===`object`||e===`function`);function ce(e){return(e.head?.querySelector(`meta[name="csp-nonce"]`))?.getAttribute(`content`)??void 0}var le=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);s({},{err:()=>ue,map:()=>de,ok:()=>S,unwrap:()=>fe,unwrapErr:()=>pe});var S=e=>({isOk:!0,isErr:!1,value:e}),ue=e=>({isOk:!1,isErr:!0,value:e});function de(e,t){if(e.isOk){let n=t(e.value);return n instanceof Promise?n.then(e=>S(e)):S(n)}if(e.isErr){let t=e.value;return ue(t)}throw`should never get here`}var fe=e=>{if(e.isOk)return e.value;throw e.value},pe=e=>{if(e.isErr)return e.value;throw e.value},C;function me(e){let t=this.attachShadow({mode:`open`});C===void 0&&(C=null),C&&t.adoptedStyleSheets.push(C)}var w=(e,t=``)=>()=>{},T=new WeakMap,he=(e,t,n)=>{let r=f.get(e);te&&n?(r||=new CSSStyleSheet,typeof r==`string`?r=t:r.replaceSync(t)):r=t,f.set(e,r)},ge=(e,t,n)=>{let r=ve(t),i=f.get(r);if(!h.document)return r;if(e=e.nodeType===11?e:h.document,i)if(typeof i==`string`){e=e.head||e;let n=T.get(e),a;if(n||T.set(e,n=new Set),!n.has(r)){{a=h.document.createElement(`style`),a.innerHTML=i;let n=_.$nonce$??ce(h.document);if(n!=null&&a.setAttribute(`nonce`,n),!(t.$flags$&1))if(e.nodeName===`HEAD`){let t=e.querySelectorAll(`link[rel=preconnect]`),n=t.length>0?t[t.length-1].nextSibling:e.querySelector(`style`);e.insertBefore(a,n?.parentNode===e?n:null)}else if(`host`in e)if(te){let t=new CSSStyleSheet;t.replaceSync(i),e.adoptedStyleSheets.unshift(t)}else{let t=e.querySelector(`style`);t?t.innerHTML=i+t.innerHTML:e.prepend(a)}else e.append(a);t.$flags$&1&&e.insertBefore(a,null)}t.$flags$&4&&(a.innerHTML+=p),n&&n.add(r)}}else e.adoptedStyleSheets.includes(i)||e.adoptedStyleSheets.push(i);return r},_e=e=>{let t=e.$cmpMeta$,n=e.$hostElement$,r=t.$flags$,i=w(`attachStyles`,t.$tagName$),a=ge(n.shadowRoot?n.shadowRoot:n.getRootNode(),t);r&10&&(n[`s-sc`]=a,n.classList.add(a+`-h`)),i()},ve=(e,t)=>`sc-`+e.$tagName$,E=(e,t,...n)=>{let r=null,i=null,a=!1,o=!1,s=[],c=t=>{for(let n=0;n<t.length;n++)r=t[n],Array.isArray(r)?c(r):r!=null&&typeof r!=`boolean`&&((a=typeof e!=`function`&&!x(r))&&(r=String(r)),a&&o?s[s.length-1].$text$+=r:s.push(a?D(null,r):r),o=a)};if(c(n),t){t.key&&(i=t.key);{let e=t.className||t.class;e&&(t.class=typeof e==`object`?Object.keys(e).filter(t=>e[t]).join(` `):e)}}let l=D(e,null);return l.$attrs$=t,s.length>0&&(l.$children$=s),l.$key$=i,l},D=(e,t)=>{let n={$flags$:0,$tag$:e,$text$:t,$elm$:null,$children$:null};return n.$attrs$=null,n.$key$=null,n},O={},ye=e=>e&&e.$tag$===O,k=e=>{let t=le(e);return RegExp(`(^|[^@]|@(?!supports\\s+selector\\s*\\([^{]*?${t}))(${t}\\b)`,`g`)};k(`::slotted`),k(`:host`),k(`:host-context`);var A=(e,t,n)=>e!=null&&!x(e)?t&4?e===`false`?!1:e===``||!!e:t&1?String(e):e:e,be=(e,t,n)=>{let r=_.ce(t,n);return e.dispatchEvent(r),r},j=(e,t,n,r,i,a,o)=>{if(n===r)return;let s=u(e,t),c=t.toLowerCase();if(t===`class`){let t=e.classList,i=M(n),a=M(r);t.remove(...i.filter(e=>e&&!a.includes(e))),t.add(...a.filter(e=>e&&!i.includes(e)))}else if(t===`style`){for(let t in n)(!r||r[t]==null)&&(t.includes(`-`)?e.style.removeProperty(t):e.style[t]=``);for(let t in r)(!n||r[t]!==n[t])&&(t.includes(`-`)?e.style.setProperty(t,r[t]):e.style[t]=r[t])}else if(t!==`key`)if(t===`ref`)r&&r(e);else if(!e.__lookupSetter__(t)&&t[0]===`o`&&t[1]===`n`){if(t=t[2]===`-`?t.slice(3):u(h,c)?c.slice(2):c[2]+t.slice(3),n||r){let i=t.endsWith(N);t=t.replace(Se,``),n&&_.rel(e,t,n,i),r&&_.ael(e,t,r,i)}}else{let o=x(r);if(s||o&&r!==null)try{if(e.tagName.includes(`-`))e[t]!==r&&(e[t]=r);else{let i=r??``;t===`list`?s=!1:(n==null||e[t]!=i)&&(typeof e.__lookupSetter__(t)==`function`?e[t]=i:e.setAttribute(t,i))}}catch{}let l=!1;c!==(c=c.replace(/^xlink\:?/,``))&&(t=c,l=!0),r==null||r===!1?(r!==!1||e.getAttribute(t)===``)&&(l?e.removeAttributeNS(m,t):e.removeAttribute(t)):(!s||a&4||i)&&!o&&e.nodeType===1&&(r=r===!0?``:r,l?e.setAttributeNS(m,t,r):e.setAttribute(t,r))}},xe=/\s/,M=e=>(typeof e==`object`&&e&&`baseVal`in e&&(e=e.baseVal),!e||typeof e!=`string`?[]:e.split(xe)),N=`Capture`,Se=RegExp(N+`$`),P=(e,t,n,r)=>{let i=t.$elm$.nodeType===11&&t.$elm$.host?t.$elm$.host:t.$elm$,a=e&&e.$attrs$||{},o=t.$attrs$||{};for(let e of Ce(Object.keys(a)))e in o||j(i,e,a[e],void 0,n,t.$flags$);for(let e of Ce(Object.keys(o)))j(i,e,a[e],o[e],n,t.$flags$)};function Ce(e){return e.includes(`ref`)?[...e.filter(e=>e!==`ref`),`ref`]:e}var F,we=!1,I=(e,t,n)=>{let r=t.$children$[n],i=0,a,o;if(r.$text$!==null)a=r.$elm$=h.document.createTextNode(r.$text$);else{if(!h.document)throw Error("You are trying to render a Stencil component in an environment that doesn't support the DOM. Make sure to populate the [`window`](https://developer.mozilla.org/en-US/docs/Web/API/Window/window) object before rendering a component.");if(a=r.$elm$=h.document.createElement(r.$tag$),P(null,r,we),r.$children$)for(i=0;i<r.$children$.length;++i)o=I(e,r,i),o&&a.appendChild(o)}return a[`s-hn`]=F,a},Te=(e,t,n,r,i,a)=>{let o=e,s;for(o.shadowRoot&&o.tagName===F&&(o=o.shadowRoot);i<=a;++i)r[i]&&(s=I(null,n,i),s&&(r[i].$elm$=s,z(o,s,t)))},Ee=(e,t,n)=>{for(let r=t;r<=n;++r){let t=e[r];if(t){let e=t.$elm$;Oe(t),e&&e.remove()}}},De=(e,t,n,r,i=!1)=>{let a=0,o=0,s=0,c=0,l=t.length-1,u=t[0],d=t[l],f=r.length-1,p=r[0],m=r[f],h,g;for(;a<=l&&o<=f;)if(u==null)u=t[++a];else if(d==null)d=t[--l];else if(p==null)p=r[++o];else if(m==null)m=r[--f];else if(L(u,p,i))R(u,p,i),u=t[++a],p=r[++o];else if(L(d,m,i))R(d,m,i),d=t[--l],m=r[--f];else if(L(u,m,i))R(u,m,i),z(e,u.$elm$,d.$elm$.nextSibling),u=t[++a],m=r[--f];else if(L(d,p,i))R(d,p,i),z(e,d.$elm$,u.$elm$),d=t[--l],p=r[++o];else{for(s=-1,c=a;c<=l;++c)if(t[c]&&t[c].$key$!==null&&t[c].$key$===p.$key$){s=c;break}s>=0?(g=t[s],g.$tag$===p.$tag$?(R(g,p,i),t[s]=void 0,h=g.$elm$):h=I(t&&t[o],n,s),p=r[++o]):(h=I(t&&t[o],n,o),p=r[++o]),h&&z(u.$elm$.parentNode,h,u.$elm$)}a>l?Te(e,r[f+1]==null?null:r[f+1].$elm$,n,r,o,f):o>f&&Ee(t,a,l)},L=(e,t,n=!1)=>e.$tag$===t.$tag$?n?(n&&!e.$key$&&t.$key$&&(e.$key$=t.$key$),!0):e.$key$===t.$key$:!1,R=(e,t,n=!1)=>{let r=t.$elm$=e.$elm$,i=e.$children$,o=t.$children$,s=t.$text$;s===null?(P(e,t,we),i!==null&&o!==null?De(r,i,t,o,n):o===null?!n&&a.updatable&&i!==null&&Ee(i,0,i.length-1):(e.$text$!==null&&(r.textContent=``),Te(r,null,t,o,0,o.length-1))):e.$text$!==s&&(r.data=s)},Oe=e=>{e.$attrs$&&e.$attrs$.ref&&e.$attrs$.ref(null),e.$children$&&e.$children$.map(Oe)},z=(e,t,n)=>e?.insertBefore(t,n),ke=(e,t,n=!1)=>{let r=e.$hostElement$,i=e.$cmpMeta$,a=e.$vnode$||D(null,null),o=ye(t)?t:E(null,null,t);if(F=r.tagName,i.$attrsToReflect$&&(o.$attrs$=o.$attrs$||{},i.$attrsToReflect$.map(([e,t])=>o.$attrs$[t]=r[e])),n&&o.$attrs$)for(let e of Object.keys(o.$attrs$))r.hasAttribute(e)&&![`key`,`ref`,`style`,`class`].includes(e)&&(o.$attrs$[e]=r[e]);o.$tag$=null,o.$flags$|=4,e.$vnode$=o,o.$elm$=a.$elm$=r.shadowRoot||r,R(a,o,n)},Ae=(e,t)=>{if(t&&!e.$onRenderResolve$&&t[`s-p`]){let n=t[`s-p`].push(new Promise(r=>e.$onRenderResolve$=()=>{t[`s-p`].splice(n-1,1),r()}))}},B=(e,t)=>{if(e.$flags$|=16,e.$flags$&4){e.$flags$|=512;return}return Ae(e,e.$ancestorComponent$),oe(()=>je(e,t))},je=(e,t)=>{let n=e.$hostElement$,r=w(`scheduleUpdate`,e.$cmpMeta$.$tagName$),i=n;if(!i)throw Error(`Can't render component <${n.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \`externalRuntime: true\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`);let a;return a=t?V(i,`componentWillLoad`,void 0,n):V(i,`componentWillUpdate`,void 0,n),a=Me(a,()=>V(i,`componentWillRender`,void 0,n)),r(),Me(a,()=>Pe(e,i,t))},Me=(e,t)=>Ne(e)?e.then(t).catch(e=>{console.error(e),t()}):t(),Ne=e=>e instanceof Promise||e&&e.then&&typeof e.then==`function`,Pe=async(e,t,n)=>{let r=e.$hostElement$,i=w(`update`,e.$cmpMeta$.$tagName$),a=r[`s-rc`];n&&_e(e);let o=w(`render`,e.$cmpMeta$.$tagName$);Fe(e,t,r,n),a&&(a.map(e=>e()),r[`s-rc`]=void 0),o(),i();{let t=r[`s-p`]??[],n=()=>Ie(e);t.length===0?n():(Promise.all(t).then(n),e.$flags$|=4,t.length=0)}},Fe=(e,t,n,r)=>{try{t=t.render(),e.$flags$&=-17,e.$flags$|=2,ke(e,t,r)}catch(t){d(t,e.$hostElement$)}return null},Ie=e=>{let t=e.$cmpMeta$.$tagName$,n=e.$hostElement$,r=w(`postUpdate`,t),i=n,a=e.$ancestorComponent$;V(i,`componentDidRender`,void 0,n),e.$flags$&64?(V(i,`componentDidUpdate`,void 0,n),r()):(e.$flags$|=64,Re(n),V(i,`componentDidLoad`,void 0,n),r(),e.$onReadyResolve$(n),a||Le()),e.$onRenderResolve$&&=(e.$onRenderResolve$(),void 0),e.$flags$&512&&b(()=>B(e,!1)),e.$flags$&=-517},Le=e=>{b(()=>be(h,`appload`,{detail:{namespace:i}}))},V=(e,t,n,r)=>{if(e&&e[t])try{return e[t](n)}catch(e){d(e,r)}},Re=e=>e.classList.add(a.hydratedSelectorName??`hydrated`),ze=(e,t)=>c(e).$instanceValues$.get(t),Be=(e,t,n,r)=>{let i=c(e),a=e,o=i.$instanceValues$.get(t),s=i.$flags$,l=a;if(n=A(n,r.$members$[t][0]),n!==o&&!(Number.isNaN(o)&&Number.isNaN(n))){if(i.$instanceValues$.set(t,n),r.$watchers$&&s&128){let e=r.$watchers$[t];e&&e.map(e=>{try{l[e](n,o,t)}catch(e){d(e,a)}})}if((s&18)==2){if(l.componentShouldUpdate&&l.componentShouldUpdate(n,o,t)===!1)return;B(i,!1)}}},Ve=(e,t,n)=>{let r=e.prototype;if(t.$members$||t.$watchers$||e.watchers){e.watchers&&!t.$watchers$&&(t.$watchers$=e.watchers);let n=Object.entries(t.$members$??{});n.map(([e,[n]])=>{if(n&31||n&32){let{get:i,set:a}=Object.getOwnPropertyDescriptor(r,e)||{};i&&(t.$members$[e][0]|=2048),a&&(t.$members$[e][0]|=4096),Object.defineProperty(r,e,{get(){return i?i.apply(this):ze(this,e)},configurable:!0,enumerable:!0}),Object.defineProperty(r,e,{set(r){let i=c(this);if(a){let o=n&32?this[e]:i.$hostElement$[e];o===void 0&&i.$instanceValues$.get(e)?r=i.$instanceValues$.get(e):!i.$instanceValues$.get(e)&&o&&i.$instanceValues$.set(e,o),a.apply(this,[A(r,n)]),r=n&32?this[e]:i.$hostElement$[e],Be(this,e,r,t);return}Be(this,e,r,t)}})}});{let i=new Map;r.attributeChangedCallback=function(e,n,o){_.jmp(()=>{let s=i.get(e);if(!(this.hasOwnProperty(s)&&a.lazyLoad)){if(r.hasOwnProperty(s)&&typeof this[s]==`number`&&this[s]==o)return;if(s==null){let r=c(this)?.$flags$;if(r&&!(r&8)&&r&128&&o!==n){let r=this;(t.$watchers$?.[e])?.forEach(t=>{r[t]!=null&&r[t].call(r,o,n,e)})}return}}let l=Object.getOwnPropertyDescriptor(r,s);o=o===null&&typeof this[s]==`boolean`?!1:o,o!==this[s]&&(!l.get||l.set)&&(this[s]=o)})},e.observedAttributes=Array.from(new Set([...Object.keys(t.$watchers$??{}),...n.filter(([e,t])=>t[0]&15).map(([e,n])=>{var r;let a=n[1]||e;return i.set(a,e),n[0]&512&&((r=t.$attrsToReflect$)==null||r.push([e,a])),a})]))}}return e},He=async(e,t,n,r)=>{let i;if(!(t.$flags$&32)){t.$flags$|=32;{i=e.constructor;let n=e.localName;customElements.whenDefined(n).then(()=>t.$flags$|=128)}if(i&&i.style){let e;typeof i.style==`string`&&(e=i.style);let t=ve(n);if(!f.has(t)){let r=w(`registerStyles`,n.$tagName$);he(t,e,!!(n.$flags$&1)),r()}}}let a=t.$ancestorComponent$,o=()=>B(t,!0);a&&a[`s-rc`]?a[`s-rc`].push(o):o()},Ue=e=>{if(!(_.$flags$&1)){let t=c(e),n=t.$cmpMeta$,r=w(`connectedCallback`,n.$tagName$);if(t.$flags$&1)t?.$lazyInstance$||t?.$onReadyPromise$&&t.$onReadyPromise$.then(()=>void 0);else{t.$flags$|=1;{let n=e;for(;n=n.parentNode||n.host;)if(n[`s-p`]){Ae(t,t.$ancestorComponent$=n);break}}n.$members$&&Object.entries(n.$members$).map(([t,[n]])=>{if(n&31&&e.hasOwnProperty(t)){let n=e[t];delete e[t],e[t]=n}}),a.initializeNextTick?b(()=>He(e,t,n)):He(e,t,n)}r()}},We=async e=>{_.$flags$&1||c(e),T.has(e)&&T.delete(e),e.shadowRoot&&T.has(e.shadowRoot)&&T.delete(e.shadowRoot)},Ge=(e,t)=>{let n={$flags$:t[0],$tagName$:t[1]};n.$members$=t[2],n.$watchers$=e.$watchers$,n.$attrsToReflect$=[];let r=e.prototype.connectedCallback,i=e.prototype.disconnectedCallback;return Object.assign(e.prototype,{__hasHostListenerAttached:!1,__registerHost(){l(this,n)},connectedCallback(){this.__hasHostListenerAttached||=(c(this),!0),Ue(this),r&&r.call(this)},disconnectedCallback(){We(this),i&&i.call(this)},__attachShadow(){if(!this.shadowRoot)me.call(this,n);else if(this.shadowRoot.mode!==`open`)throw Error(`Unable to re-use existing shadow root for ${n.$tagName$}! Mode is set to ${this.shadowRoot.mode} but Stencil only supports open shadow roots.`)}}),e.is=n.$tagName$,Ve(e,n)},H,Ke=()=>{if(typeof window>`u`)return new Map;if(!H){let e=window;e.Ionicons=e.Ionicons||{},H=e.Ionicons.map=e.Ionicons.map||new Map}return H},qe=e=>{let t=U(e.src);return t||(t=Ye(e.name,e.icon,e.mode,e.ios,e.md),t?Je(t,e):e.icon&&(t=U(e.icon),t||(t=U(e.icon[e.mode]),t))?t:null)},Je=(e,t)=>{let n=Ke().get(e);if(n)return n;try{return se(`svg/${e}.svg`)}catch(n){console.log(`e`,n),console.warn(`[Ionicons Warning]: Could not load icon with name "${e}". Ensure that the icon is registered using addIcons or that the icon SVG data is passed directly to the icon component.`,t)}},Ye=(e,t,n,r,i)=>(n=(n&&K(n))===`ios`?`ios`:`md`,r&&n===`ios`?e=K(r):i&&n===`md`?e=K(i):(!e&&t&&!W(t)&&(e=t),G(e)&&(e=K(e))),!G(e)||e.trim()===``||e.replace(/[a-z]|-|\d/gi,``)!==``?null:e),U=e=>G(e)&&(e=e.trim(),W(e))?e:null,W=e=>e.length>0&&/(\/|\.)/.test(e),G=e=>typeof e==`string`,K=e=>e.toLowerCase(),Xe=(e,t=[])=>{let n={};return t.forEach(t=>{e.hasAttribute(t)&&(e.getAttribute(t)!==null&&(n[t]=e.getAttribute(t)),e.removeAttribute(t))}),n},Ze=e=>e&&e.dir!==``?e.dir.toLowerCase()===`rtl`:(document==null?void 0:document.dir.toLowerCase())===`rtl`,Qe=e=>{let t=document.createElement(`div`);t.innerHTML=e;for(let e=t.childNodes.length-1;e>=0;e--)t.childNodes[e].nodeName.toLowerCase()!==`svg`&&t.removeChild(t.childNodes[e]);let n=t.firstElementChild;if(n&&n.nodeName.toLowerCase()===`svg`){let e=n.getAttribute(`class`)||``;if(n.setAttribute(`class`,(e+` s-ion-icon`).trim()),$e(n))return t.innerHTML}return``},$e=e=>{if(e.nodeType===1){if(e.nodeName.toLowerCase()===`script`)return!1;for(let t=0;t<e.attributes.length;t++){let n=e.attributes[t].name;if(G(n)&&n.toLowerCase().indexOf(`on`)===0)return!1}for(let t=0;t<e.childNodes.length;t++)if(!$e(e.childNodes[t]))return!1}return!0},et=e=>e.startsWith(`data:image/svg+xml`),tt=e=>e.indexOf(`;utf8,`)!==-1,q=new Map,nt=new Map,rt;function J(e){return q.set(e,``),``}var it=(e,t)=>nt.get(e)||(typeof fetch<`u`&&typeof document<`u`?et(e)&&tt(e)?Promise.resolve(at(e)):ot(e,t):Promise.resolve(J(e)));function at(e){rt||=new DOMParser;let t=rt.parseFromString(e,`text/html`).querySelector(`svg`);if(t)return q.set(e,t.outerHTML),t.outerHTML;throw Error(`Could not parse svg from ${e}`)}function ot(e,t){let n=fetch(e).then(n=>n.text().then(n=>{n&&t!==!1&&(n=Qe(n));let r=n||``;return q.set(e,r),r}).catch(()=>J(e))).catch(()=>J(e));return nt.set(e,n),n}var st=`:host{display:inline-block;width:1em;height:1em;contain:strict;fill:currentColor;box-sizing:content-box !important}:host .ionicon{stroke:currentColor}.ionicon-fill-none{fill:none}.ionicon-stroke-width{stroke-width:var(--ionicon-stroke-width, 32px)}.icon-inner,.ionicon,svg{display:block;height:100%;width:100%}@supports (background: -webkit-named-image(i)){:host(.icon-rtl) .icon-inner{transform:scaleX(-1)}}@supports not selector(:dir(rtl)) and selector(:host-context([dir='rtl'])){:host(.icon-rtl) .icon-inner{transform:scaleX(-1)}}:host(.flip-rtl):host-context([dir='rtl']) .icon-inner{transform:scaleX(-1)}@supports selector(:dir(rtl)){:host(.flip-rtl:dir(rtl)) .icon-inner{transform:scaleX(-1)}:host(.flip-rtl:dir(ltr)) .icon-inner{transform:scaleX(1)}}:host(.icon-small){font-size:1.125rem !important}:host(.icon-large){font-size:2rem !important}:host(.ion-color){color:var(--ion-color-base) !important}:host(.ion-color-primary){--ion-color-base:var(--ion-color-primary, #3880ff)}:host(.ion-color-secondary){--ion-color-base:var(--ion-color-secondary, #0cd1e8)}:host(.ion-color-tertiary){--ion-color-base:var(--ion-color-tertiary, #f4a942)}:host(.ion-color-success){--ion-color-base:var(--ion-color-success, #10dc60)}:host(.ion-color-warning){--ion-color-base:var(--ion-color-warning, #ffce00)}:host(.ion-color-danger){--ion-color-base:var(--ion-color-danger, #f14141)}:host(.ion-color-light){--ion-color-base:var(--ion-color-light, #f4f5f8)}:host(.ion-color-medium){--ion-color-base:var(--ion-color-medium, #989aa2)}:host(.ion-color-dark){--ion-color-base:var(--ion-color-dark, #222428)}`,ct=Ge(class extends g{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.iconName=null,this.inheritedAttributes={},this.didLoadIcon=!1,this.isVisible=!1,this.mode=lt(),this.lazy=!1,this.sanitize=!0}componentWillLoad(){this.inheritedAttributes=Xe(this.el,[`aria-label`])}connectedCallback(){this.waitUntilVisible(this.el,`50px`,()=>{this.isVisible=!0,this.loadIcon()})}componentDidLoad(){this.didLoadIcon||this.loadIcon()}disconnectedCallback(){this.io&&=(this.io.disconnect(),void 0)}waitUntilVisible(e,t,n){if(!(this.lazy&&typeof window<`u`&&window.IntersectionObserver))return n();let r=this.io=new window.IntersectionObserver(e=>{e[0].isIntersecting&&(r.disconnect(),this.io=void 0,n())},{rootMargin:t});r.observe(e)}loadIcon(){if(this.isVisible){let e=qe(this);e&&(q.has(e)?this.svgContent=q.get(e):it(e,this.sanitize).then(()=>this.svgContent=q.get(e)),this.didLoadIcon=!0)}this.iconName=Ye(this.name,this.icon,this.mode,this.ios,this.md)}render(){let{flipRtl:e,iconName:t,inheritedAttributes:n,el:r}=this,i=this.mode||`md`,a=t?(t.includes(`arrow`)||t.includes(`chevron`))&&e!==!1:!1,o=e||a;return E(O,Object.assign({key:`0578c899781ca145dd8205acd9670af39b57cf2e`,role:`img`,class:Object.assign(Object.assign({[i]:!0},ut(this.color)),{[`icon-${this.size}`]:!!this.size,"flip-rtl":o,"icon-rtl":o&&Ze(r)})},n),this.svgContent?E(`div`,{class:`icon-inner`,innerHTML:this.svgContent}):E(`div`,{class:`icon-inner`}))}static get assetsDirs(){return[`svg`]}get el(){return this}static get watchers(){return{name:[`loadIcon`],src:[`loadIcon`],icon:[`loadIcon`],ios:[`loadIcon`],md:[`loadIcon`]}}static get style(){return st}},[1,`ion-icon`,{mode:[1025],color:[1],ios:[1],md:[1],flipRtl:[4,`flip-rtl`],name:[513],src:[1],icon:[8],size:[1],lazy:[4],sanitize:[4],svgContent:[32],isVisible:[32]},void 0,{name:[`loadIcon`],src:[`loadIcon`],icon:[`loadIcon`],ios:[`loadIcon`],md:[`loadIcon`]}]),lt=()=>typeof document<`u`&&document.documentElement.getAttribute(`mode`)||`md`,ut=e=>e?{"ion-color":!0,[`ion-color-${e}`]:!0}:null;function dt(){typeof customElements>`u`||[`ion-icon`].forEach(e=>{switch(e){case`ion-icon`:customElements.get(e)||customElements.define(e,ct);break}})}var ft=dt,pt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M328 112 184 256l144 144' stroke-linecap='round' stroke-linejoin='round' stroke-width='48px' class='ionicon-fill-none'/></svg>`,mt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='m112 184 144 144 144-144' stroke-linecap='round' stroke-linejoin='round' stroke-width='48px' class='ionicon-fill-none'/></svg>`,ht=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='m184 112 144 144-144 144' stroke-linecap='round' stroke-linejoin='round' stroke-width='48px' class='ionicon-fill-none'/></svg>`,gt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='m289.94 256 95-95A24 24 0 0 0 351 127l-95 95-95-95a24 24 0 0 0-34 34l95 95-95 95a24 24 0 1 0 34 34l95-95 95 95a24 24 0 0 0 34-34Z'/></svg>`,_t=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M256 32C132.3 32 32 134.9 32 261.7c0 101.5 64.2 187.5 153.2 217.9a17.6 17.6 0 0 0 3.8.4c8.3 0 11.5-6.1 11.5-11.4 0-5.5-.2-19.9-.3-39.1a102.4 102.4 0 0 1-22.6 2.7c-43.1 0-52.9-33.5-52.9-33.5-10.2-26.5-24.9-33.6-24.9-33.6-19.5-13.7-.1-14.1 1.4-14.1h.1c22.5 2 34.3 23.8 34.3 23.8 11.2 19.6 26.2 25.1 39.6 25.1a63 63 0 0 0 25.6-6c2-14.8 7.8-24.9 14.2-30.7-49.7-5.8-102-25.5-102-113.5 0-25.1 8.7-45.6 23-61.6-2.3-5.8-10-29.2 2.2-60.8a18.6 18.6 0 0 1 5-.5c8.1 0 26.4 3.1 56.6 24.1a208.2 208.2 0 0 1 112.2 0c30.2-21 48.5-24.1 56.6-24.1a18.6 18.6 0 0 1 5 .5c12.2 31.6 4.5 55 2.2 60.8 14.3 16.1 23 36.6 23 61.6 0 88.2-52.4 107.6-102.3 113.3 8 7.1 15.2 21.1 15.2 42.5 0 30.7-.3 55.5-.3 63 0 5.4 3.1 11.5 11.4 11.5a19.4 19.4 0 0 0 4-.4C415.9 449.2 480 363.1 480 261.7 480 134.9 379.7 32 256 32'/></svg>`,vt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M444.17 32H70.28C49.85 32 32 46.7 32 66.89v374.72C32 461.91 49.85 480 70.28 480h373.78c20.54 0 35.94-18.21 35.94-38.39V66.89C480.12 46.7 464.6 32 444.17 32m-273.3 373.43h-64.18V205.88h64.18ZM141 175.54h-.46c-20.54 0-33.84-15.29-33.84-34.43 0-19.49 13.65-34.42 34.65-34.42s33.85 14.82 34.31 34.42c-.01 19.14-13.31 34.43-34.66 34.43m264.43 229.89h-64.18V296.32c0-26.14-9.34-44-32.56-44-17.74 0-28.24 12-32.91 23.69-1.75 4.2-2.22 9.92-2.22 15.76v113.66h-64.18V205.88h64.18v27.77c9.34-13.3 23.93-32.44 57.88-32.44 42.13 0 74 27.77 74 87.64Z'/></svg>`,yt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M496 109.5a201.8 201.8 0 0 1-56.55 15.3 97.5 97.5 0 0 0 43.33-53.6 197.7 197.7 0 0 1-62.56 23.5A99.14 99.14 0 0 0 348.31 64c-54.42 0-98.46 43.4-98.46 96.9a93.2 93.2 0 0 0 2.54 22.1 280.7 280.7 0 0 1-203-101.3A95.7 95.7 0 0 0 36 130.4c0 33.6 17.53 63.3 44 80.7A97.5 97.5 0 0 1 35.22 199v1.2c0 47 34 86.1 79 95a100.8 100.8 0 0 1-25.94 3.4 94.4 94.4 0 0 1-18.51-1.8c12.51 38.5 48.92 66.5 92.05 67.3A199.6 199.6 0 0 1 39.5 405.6a203 203 0 0 1-23.5-1.4A278.7 278.7 0 0 0 166.74 448c181.36 0 280.44-147.7 280.44-275.8 0-4.2-.11-8.4-.31-12.5A198.5 198.5 0 0 0 496 109.5'/></svg>`,bt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M508.64 148.79c0-45-33.1-81.2-74-81.2C379.24 65 322.74 64 265 64h-18c-57.6 0-114.2 1-169.6 3.6C36.6 67.6 3.5 104 3.5 149 1 184.59-.06 220.19 0 255.79q-.15 53.4 3.4 106.9c0 45 33.1 81.5 73.9 81.5 58.2 2.7 117.9 3.9 178.6 3.8q91.2.3 178.6-3.8c40.9 0 74-36.5 74-81.5 2.4-35.7 3.5-71.3 3.4-107q.34-53.4-3.26-106.9M207 353.89v-196.5l145 98.2Z'/></svg>`,xt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M80 160h352M80 256h352M80 352h352' stroke-linecap='round' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/></svg>`,St=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M221.09 64a157.09 157.09 0 1 0 157.09 157.09A157.1 157.1 0 0 0 221.09 64Z' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/><path d='M338.29 338.29 448 448' stroke-linecap='round' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/></svg>`,Ct=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64Z' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/><path d='M256 128v144h96' stroke-linecap='round' stroke-linejoin='round' class='ionicon-fill-none ionicon-stroke-width'/></svg>`,wt=`menu-outline`,Tt=`close`,Et=()=>{let e=document.querySelector(`.site-header__toggle`);if(!e)return;let t=document.querySelector(e.dataset.target);if(!t)return;let n=e.querySelector(`.sr-only`),r=e.dataset.openLabel||`Open navigation menu`,i=e.dataset.closeLabel||`Close navigation menu`,a=a=>{e.setAttribute(`aria-expanded`,a?`true`:`false`),e.setAttribute(`aria-label`,a?i:r),n&&(n.textContent=a?i:r);let o=e.querySelector(`ion-icon`);o&&(o.name=a?Tt:wt),t.hidden=!a,t.classList.toggle(`is-hidden`,!a)},o=()=>{t.hidden||a(!1)};a(!1),e.addEventListener(`click`,()=>{let n=e.getAttribute(`aria-expanded`)!==`true`;if(a(n),n){let e=t.querySelector(`a, button, input, [tabindex]:not([tabindex="-1"])`);e&&e.focus();return}e.focus()}),document.addEventListener(`click`,n=>{let r=t.contains(n.target),i=e.contains(n.target);!r&&!i&&o()}),document.addEventListener(`keydown`,n=>{if(n.key===`Escape`){let n=!t.hidden;o(),n&&e.focus()}})},Dt=()=>window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?`auto`:`smooth`,Ot=(e,t,n)=>{let r=e.scrollWidth-e.clientWidth,i=r>1,a=e.scrollLeft<=1,o=e.scrollLeft>=r-1;t.disabled=!i||a,n.disabled=!i||o},kt=e=>{let t=e.querySelector(`[data-carousel-track]`),n=e.querySelector(`[data-carousel-prev]`),r=e.querySelector(`[data-carousel-next]`);if(!t||!n||!r)return;let i=e=>{t.scrollBy({left:e*t.clientWidth,behavior:Dt()})},a=null,o=()=>{a!==null&&window.cancelAnimationFrame(a),a=window.requestAnimationFrame(()=>{Ot(t,n,r),a=null})};n.addEventListener(`click`,()=>i(-1)),r.addEventListener(`click`,()=>i(1)),t.addEventListener(`scroll`,o,{passive:!0}),window.addEventListener(`resize`,o),Ot(t,n,r)},At=()=>{document.querySelectorAll(`[data-carousel]`).forEach(kt)},Y=null,jt=e=>{e&&e.open&&e.close()},Mt=()=>{let e=document.querySelectorAll(`[data-certificate-open]`),t=document.querySelectorAll(`[data-certificate-modal]`);!e.length||!t.length||(e.forEach(e=>{e.addEventListener(`click`,()=>{let t=document.getElementById(e.dataset.certificateOpen);!t||typeof t.showModal!=`function`||t.open||(Y=e,t.showModal())})}),t.forEach(e=>{e.querySelector(`[data-certificate-close]`)?.addEventListener(`click`,()=>{jt(e)}),e.addEventListener(`click`,t=>{t.target===e&&jt(e)}),e.addEventListener(`close`,()=>{Y&&=(Y.focus(),null)})}))},Nt={category:`data-category`,categoryId:`data-category-id`,emitMetadata:`data-emit-metadata`,inputPosition:`data-input-position`,lang:`data-lang`,loading:`data-loading`,mapping:`data-mapping`,reactionsEnabled:`data-reactions-enabled`,repo:`data-repo`,repoId:`data-repo-id`,strict:`data-strict`,term:`data-term`,theme:`data-theme`},Pt=e=>{if(!e||e.dataset.giscusLoaded===`true`)return;let t=document.createElement(`script`);t.src=e.dataset.giscusScriptSrc||`https://giscus.app/client.js`,t.async=!0,t.crossOrigin=`anonymous`;for(let[n,r]of Object.entries(Nt)){let i=e.dataset[`giscus${n.charAt(0).toUpperCase()}${n.slice(1)}`];i&&t.setAttribute(r,i)}e.append(t),e.dataset.giscusLoaded=`true`},Ft=()=>{let e=document.querySelectorAll(`[data-comments-collapsible]`);e.length&&e.forEach(e=>{let t=e.querySelector(`[data-comments-toggle]`),n=e.querySelector(`[data-comments-panel]`),r=e.querySelector(`[data-giscus-mount]`);!t||!n||!r||t.addEventListener(`click`,()=>{let i=t.getAttribute(`aria-expanded`)!==`true`;t.setAttribute(`aria-expanded`,i?`true`:`false`),e.classList.toggle(`is-open`,i),n.hidden=!i,i&&Pt(r)})})},It=()=>{let e=document.querySelector(`#main-header`);if(!e)return;let t=()=>{if(window.scrollY>8){e.classList.add(`is-scrolled`);return}e.classList.remove(`is-scrolled`)};t(),window.addEventListener(`scroll`,t,{passive:!0})},Lt=()=>{let e=document.querySelectorAll(`[data-series-collapsible]`);e.length&&e.forEach(e=>{let t=e.querySelector(`[data-series-toggle]`),n=e.querySelector(`[data-series-panel]`);if(!t||!n)return;let r=()=>{let r=t.getAttribute(`aria-expanded`)===`true`;e.classList.toggle(`is-open`,r),n.hidden=!r};r(),t.addEventListener(`click`,()=>{let e=t.getAttribute(`aria-expanded`)===`true`;t.setAttribute(`aria-expanded`,e?`false`:`true`),r()});let i=e.querySelectorAll(`[data-series-overflow-toggle]`);i.length&&i.forEach(t=>{t.addEventListener(`click`,()=>{let n=t.dataset.seriesOverflowGroup,r=n?`[data-series-overflow-item][data-series-overflow-group="${n}"]`:`[data-series-overflow-item]`;e.querySelectorAll(r).forEach(e=>{e.hidden=!1}),t.setAttribute(`aria-expanded`,`true`),t.hidden=!0})})})},Rt=()=>{let e=document.querySelector(`[data-reading-progress]`),t=document.querySelector(`.content`);if(!e||!t)return;let n=()=>{let n=t.offsetTop,r=t.offsetHeight,i=window.innerHeight,a=window.scrollY,o=Math.max(r-i,1),s=Math.min(Math.max(a-n,0),o)/o*100;e.style.transform=`scaleX(${s/100})`};n(),window.addEventListener(`scroll`,n,{passive:!0}),window.addEventListener(`resize`,n)},zt=`[data-search-root]`,X,Z=e=>(e||``).toString().normalize(`NFKD`).replace(/[\u0300-\u036f]/g,``).toLowerCase().replace(/[^a-z0-9\s-]/g,` `).replace(/\s+/g,` `).trim(),Bt=e=>Z(e).split(` `).filter(e=>e.length>0),Vt=e=>[...new Set(Bt(e))],Ht=(e,t)=>{let n=e.date?Date.parse(e.date):0,r=t.date?Date.parse(t.date):0;return Number.isNaN(n)||Number.isNaN(r)?0:r-n},Ut=e=>{let t=e.title||``,n=e.content||``,r=Array.isArray(e.tags)?e.tags:[],i=Array.isArray(e.categories)?e.categories:[];return{...e,title:t,content:n,tags:r,categories:i,normalizedTitle:Z(t),normalizedContent:Z(n),normalizedTags:r.map(Z).filter(Boolean),normalizedCategories:i.map(Z).filter(Boolean)}},Wt=async e=>(X||=fetch(e,{headers:{Accept:`application/json`}}).then(e=>{if(!e.ok)throw Error(`Search index request failed with ${e.status}`);return e.json()}).then(e=>e.map(Ut)).catch(e=>{throw X=void 0,e}),X),Gt=(e,t,n)=>{let r=0;e.normalizedTitle.includes(t)&&(r+=140),e.normalizedContent.includes(t)&&(r+=30),n.forEach(t=>{e.normalizedTitle.includes(t)&&(r+=60),e.normalizedTags.some(e=>e.includes(t))&&(r+=30),e.normalizedCategories.some(e=>e.includes(t))&&(r+=18),e.normalizedContent.includes(t)&&(r+=10)});let i=n.filter(t=>e.normalizedTitle.includes(t)||e.normalizedTags.some(e=>e.includes(t))||e.normalizedCategories.some(e=>e.includes(t))||e.normalizedContent.includes(t)).length;return i===0?0:(i===n.length&&(r+=24),e.type===`post`&&(r+=4),r)},Kt=(e,t,n)=>{let r=Z(t),i=Vt(t);return!r||i.length===0?[]:e.map(e=>({searchDocument:e,score:Gt(e,r,i)})).filter(e=>e.score>0).sort((e,t)=>t.score-e.score||Ht(e.searchDocument,t.searchDocument)).slice(0,n).map(e=>e.searchDocument)},qt=(e,t,n)=>{let r=e.replace(/\s+/g,` `).trim();if(!r)return``;let i=Z(t),a=Z(r).indexOf(i);if(a===-1)return r.length>n?`${r.slice(0,n).trimEnd()}...`:r;let o=Math.max(a-Math.floor(n/3),0),s=Math.min(o+n,r.length),c=o>0?`...`:``,l=s<r.length?`...`:``;return`${c}${r.slice(o,s).trim()}${l}`},Jt=e=>{let t=[];return e.type&&t.push(e.type===`post`?`Post`:`Page`),e.tags.length>0&&t.push(e.tags.slice(0,2).join(`, `)),t.join(` • `)},Yt=(e,t,n,r)=>{let i=e.querySelector(`[data-search-results]`),a=e.querySelector(`[data-search-status]`);i.innerHTML=``,a.textContent=r,t.forEach(t=>{let r=window.document.createElement(`li`);r.className=`site-search__result-item`;let a=window.document.createElement(`a`);a.className=`site-search__result-link`,a.href=t.url;let o=window.document.createElement(`span`);o.className=`site-search__result-title`,o.textContent=t.title,a.append(o);let s=Jt(t);if(s){let e=window.document.createElement(`span`);e.className=`site-search__result-meta`,e.textContent=s,a.append(e)}let c=Number(e.dataset.searchContentPreviewLength||`140`),l=qt(t.content,n,c);if(l){let e=window.document.createElement(`span`);e.className=`site-search__result-snippet`,e.textContent=l,a.append(e)}r.append(a),i.append(r)})},Xt=e=>{let t=e.querySelector(`[data-search-panel]`),n=e.querySelector(`[data-search-input]`);t.hidden=!1,n.setAttribute(`aria-expanded`,`true`),t.setAttribute(`aria-hidden`,`false`)},Q=e=>{let t=e.querySelector(`[data-search-panel]`),n=e.querySelector(`[data-search-input]`);t.hidden=!0,n.setAttribute(`aria-expanded`,`false`),t.setAttribute(`aria-hidden`,`true`)},$=(e,t)=>{let n=[...e.querySelectorAll(`.site-search__result-link`)];if(n.length===0)return;let r=n.findIndex(e=>e===window.document.activeElement);n[r===-1?t>0?0:n.length-1:(r+t+n.length)%n.length].focus()},Zt=e=>{let t=e.querySelector(`[data-search-input]`),n=e.querySelector(`[data-search-clear]`),r=e.querySelector(`.site-search__form`),i=e.dataset.searchUrl,a=Number(e.dataset.searchMaxResults||`8`),o=Number(e.dataset.searchMinQueryLength||`2`),s=e.dataset.searchIdleText||`Start typing to search the site.`,c=e.dataset.searchTooShortText||`Type at least %d characters to search.`,l=e.dataset.searchLoadingText||`Loading search index...`,u=e.dataset.searchEmptyText||`No results found.`,d=e.dataset.searchErrorText||`Search is unavailable right now.`,f=t=>{let n=e.querySelector(`[data-search-status]`);n.textContent=t},p=()=>{e.querySelector(`[data-search-results]`).innerHTML=``},m=()=>{n.hidden=t.value.length===0},h=async()=>{let n=t.value.trim();if(m(),n.length===0){p(),f(s),Q(e);return}if(Xt(e),n.length<o){p(),f(c.replace(`%d`,`${o}`));return}f(l);try{let t=Kt(await Wt(i),n,a);if(t.length===0){Yt(e,[],n,u);return}Yt(e,t,n,`${t.length} result${t.length===1?``:`s`} for "${n}"`)}catch{p(),f(d)}};t.addEventListener(`focus`,()=>{t.value.trim().length>0&&h()}),t.addEventListener(`input`,()=>{h()}),t.addEventListener(`keydown`,t=>{t.key===`ArrowDown`&&(t.preventDefault(),e.querySelector(`.site-search__result-link`)&&Xt(e),$(e,1)),t.key===`Escape`&&Q(e)}),e.addEventListener(`keydown`,n=>{if(n.key===`Escape`&&(Q(e),t.focus()),n.key===`ArrowDown`&&n.target.matches(`.site-search__result-link`)&&(n.preventDefault(),$(e,1)),n.key===`ArrowUp`&&n.target.matches(`.site-search__result-link`)){if(n.preventDefault(),n.target===e.querySelector(`.site-search__result-link`)){t.focus();return}$(e,-1)}}),n.addEventListener(`click`,()=>{t.value=``,m(),p(),f(s),Q(e),t.focus()}),r.addEventListener(`submit`,t=>{t.preventDefault();let n=e.querySelector(`.site-search__result-link`);if(n){window.location.assign(n.href);return}h()}),window.document.addEventListener(`click`,t=>{e.contains(t.target)||Q(e)}),Q(e)};n({"chevron-back-outline":pt,"chevron-down-outline":mt,"chevron-forward-outline":ht,close:gt,"logo-github":_t,"logo-linkedin":vt,"logo-twitter":yt,"logo-youtube":bt,"menu-outline":xt,"search-outline":St,"time-outline":Ct}),ft(),Et(),At(),Mt(),Ft(),It(),Lt(),Rt(),(()=>{let e=window.document.querySelectorAll(zt);e.length!==0&&e.forEach(Zt)})()})();
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: imdhemy-jekyll-theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.0
4
+ version: 1.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mohamad Eldhemy