From c477381b179b719cdef55f9b33a7f24e6c5322cb Mon Sep 17 00:00:00 2001 From: Juan Martin Date: Mon, 15 Apr 2024 12:58:09 +0300 Subject: [PATCH] update --- assets/css/orbit.min.css | 15 +- assets/css/orbit.min.css.map | 2 +- assets/orbit.js | 392 +++++++++++++++++++ examples/analog-watch.html | 33 +- src/{web-components => js}/orbit-label.js | 28 +- src/{web-components => js}/orbit-progress.js | 0 src/js/orbit-resize.js | 29 ++ src/{web-components => js}/orbit-sector.js | 0 src/orbit.js | 9 +- src/orbit.scss | 3 +- src/scss/_label.scss | 7 - src/scss/_label_theme.scss | 14 + src/scss/_orbit-class.scss | 6 +- 13 files changed, 482 insertions(+), 56 deletions(-) create mode 100644 assets/orbit.js rename src/{web-components => js}/orbit-label.js (85%) rename src/{web-components => js}/orbit-progress.js (100%) create mode 100644 src/js/orbit-resize.js rename src/{web-components => js}/orbit-sector.js (100%) create mode 100644 src/scss/_label_theme.scss diff --git a/assets/css/orbit.min.css b/assets/css/orbit.min.css index 705a3f2..ddd37fc 100644 --- a/assets/css/orbit.min.css +++ b/assets/css/orbit.min.css @@ -149,16 +149,18 @@ Please see **Radial Layout section**. * Add .ccv for all orbit child ok * correjir sector y progress ok * add content radial aligment y - + hacerlo rsponsive llegado el caso al espacio.. ver + + hacerlo rsponsive llegado el caso al espacio.. ver esto no esta bien del todo = add slot content para w-c NO HACE X AHORA XQ SE CUBRE CON SATELLITE O TEXT * CORREJIR ALINEACION TODO DESDE 0 A LAS 12 OK * probar sacar cambio de tamano en nested xq confunde mucho. ok * arreglar lenght.... para que sea responsive.. OK con una funcion -... UN COMPOENENT DE TEXTO CURVO WIP. falta tema ajuste al path .. con attrib y size +* UN COMPOENENT DE TEXTO CURVO WIP. text size and color from class style. +- eliminar sttributos innecsarios hacerlosmasstndars para progres y sector tb * bug no gap when one sector/text. * bug alineacion gaps ... 180 on mas de un sector/ o-label * separar vector de constellation... o vector to spoke / vector.is-poligon to segment * ornit-nth cambiar nombre +* resize orbit as optional function. * trabajar con spoke as container... tiene que alinearse siempre a la mitad asi, si tiene una imagen dentro queda alineada tambien. @@ -294,7 +296,7 @@ See o-sector docs in web-component file. See o-label docs in web-component file. -*/o-label{--o-angle-composite: var(--o-angle) * var(--o-orbit-child-number) * var(--o-direction, 1);container-name:otext;display:flex;justify-content:center;align-items:center;border-radius:50%;position:absolute;pointer-events:none;width:100%;r:var(--o-radius);stroke-width:calc(var(--o-radius)/var(--o-orbit-number)*var(--o-size-ratio, 1));transform:rotate(calc(var(--o-from) + var(--o-angle-composite)))}o-label svg{pointer-events:none;overflow:visible !important}o-label svg>*{pointer-events:stroke}o-label svg text{color:#6e6e6e;font-size:8px;font-weight:100;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif}/*! +*/o-label{--o-angle-composite: var(--o-angle) * var(--o-orbit-child-number) * var(--o-direction, 1);container-name:otext;display:flex;justify-content:center;align-items:center;border-radius:50%;position:absolute;pointer-events:none;width:100%;r:var(--o-radius);stroke-width:calc(var(--o-radius)/var(--o-orbit-number)*var(--o-size-ratio, 1));transform:rotate(calc(var(--o-from) + var(--o-angle-composite)))}o-label svg{pointer-events:none;overflow:visible !important}o-label svg>*{pointer-events:stroke}/*! ## See o-progress docs in web-component file. @@ -407,4 +409,9 @@ Currently Orbit doesn't support ellipse shapes, so when detected these web-compo - Orbit checks and warns if `.satellite` has some invalid Orbit direct child element. Only `.orbital-zone` is allowed. -*/@container osector not style(--o-ellipse-x: 1){o-sector svg path,o-progress svg path{display:none}}@container osector not style(--o-ellipse-y: 1){o-sector svg path,o-progress svg path{display:none}}.orbital-zone:has(>.satellite,>.vector,>o-progress,>o-sector){border:.5px solid red !important}.orbital-zone::after{position:absolute;top:0px;left:0px;font-size:x-small;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;width:-moz-fit-content;width:fit-content;padding:5px;color:red;height:auto}.satellite::after{position:absolute;top:25px;left:0px;font-size:x-small;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;width:100px;padding:5px;color:red;height:auto}.orbital-zone>.satellite,.orbital-zone>.vector,.orbital-zone>o-sector,.orbital-zone>o-progress,.satellite>.satellite,.satellite>.orbit,.satellite>[class*=orbit-],.satellite>.vector,.satellite>o-sector,.satellite>o-progress{border:1px solid red !important;background-color:red;border-radius:50%;width:5px;height:5px;animation:pulse 1.5s infinite}.orbital-zone>o-sector path,.orbital-zone>o-progress path,.satellite>o-sector path,.satellite>o-progress path{stroke:none}.orbital-zone:has(>.satellite,>.vector,>o-sector,>o-progress)::after{content:"⚠️ Invalid nested elements on .orbital-zone!"}.satellite:has(>.satellite,>.vector,>o-sector,>o-progress,>.orbit,>[class*=orbit-])::after{content:"⚠️ Invalid nested elements on .satellite!"}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(3);opacity:.5}100%{transform:scale(1);opacity:1}}.orbit,[class*=orbit-]{border:1px solid #007bff}.satellite{background-color:#ff0;border:1px solid #000}o-sector path{stroke-opacity:.5;border:1px solid purple}o-sector path:hover{stroke:red;cursor:pointer}.spoke{border:none;background:#000}.segment{border:none;background:#000}/*# sourceMappingURL=orbit.min.css.map */ \ No newline at end of file +*/@container osector not style(--o-ellipse-x: 1){o-sector svg path,o-progress svg path{display:none}}@container osector not style(--o-ellipse-y: 1){o-sector svg path,o-progress svg path{display:none}}.orbital-zone:has(>.satellite,>.vector,>o-progress,>o-sector){border:.5px solid red !important}.orbital-zone::after{position:absolute;top:0px;left:0px;font-size:x-small;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;width:-moz-fit-content;width:fit-content;padding:5px;color:red;height:auto}.satellite::after{position:absolute;top:25px;left:0px;font-size:x-small;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;width:100px;padding:5px;color:red;height:auto}.orbital-zone>.satellite,.orbital-zone>.vector,.orbital-zone>o-sector,.orbital-zone>o-progress,.satellite>.satellite,.satellite>.orbit,.satellite>[class*=orbit-],.satellite>.vector,.satellite>o-sector,.satellite>o-progress{border:1px solid red !important;background-color:red;border-radius:50%;width:5px;height:5px;animation:pulse 1.5s infinite}.orbital-zone>o-sector path,.orbital-zone>o-progress path,.satellite>o-sector path,.satellite>o-progress path{stroke:none}.orbital-zone:has(>.satellite,>.vector,>o-sector,>o-progress)::after{content:"⚠️ Invalid nested elements on .orbital-zone!"}.satellite:has(>.satellite,>.vector,>o-sector,>o-progress,>.orbit,>[class*=orbit-])::after{content:"⚠️ Invalid nested elements on .satellite!"}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(3);opacity:.5}100%{transform:scale(1);opacity:1}}.orbit,[class*=orbit-]{border:1px solid #007bff}.satellite{background-color:#ff0;border:1px solid #000}o-sector path{stroke-opacity:.5;border:1px solid purple}o-sector path:hover{stroke:red;cursor:pointer}.spoke{border:none;background:#000}.segment{border:none;background:#000}/*! +## + +See o-label docs in web-component file. + +*/o-label svg text{color:#6e6e6e;font-size:4px;font-weight:100;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif}/*# sourceMappingURL=orbit.min.css.map */ \ No newline at end of file diff --git a/assets/css/orbit.min.css.map b/assets/css/orbit.min.css.map index ac397e0..b9d7364 100644 --- a/assets/css/orbit.min.css.map +++ b/assets/css/orbit.min.css.map @@ -1 +1 @@ -{"version":3,"sources":["orbit.min.css","../../src/scss/_settings.scss","../../src/scss/_orbital-zone.scss","../../src/scss/_orbit-class.scss","../../src/scss/_satellite.scss","../../src/scss/_spoke.scss","../../src/scss/_segment.scss","../../src/scss/_sector.scss","../../src/scss/_label.scss","../../src/scss/_progress.scss","../../src/scss/_radial-layout.scss","../../src/scss/_utilities.scss","../../src/scss/_support.scss","../../src/scss/_orbit-class_theme.scss","../../src/scss/_satellite_theme.scss","../../src/scss/_sector_theme.scss","../../src/scss/_spoke_theme.scss","../../src/scss/_segment_theme.scss"],"names":[],"mappings":"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G,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CAKF,uGACE,yBAAA,CADF,uGACE,yBAAA,CADF,uGACE,yBAAA,CADF,uGACE,yBAAA,CADF,uGACE,yBAAA,CADF,uGACE,yBAAA,CADF,uGACE,yBAAA,CADF,uGACE,yBAAA,CADF,uGACE,yBAAA,CADF,2GACE,yBAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CAKA,6SAEA,mCAAA,CAFA,6SAEA,mCAAA,CAFA,6SAEA,mCAAA,CAFA,6SAEA,mCAAA,CAFA,6SAEA,mCAAA,CAFA,6SAEA,mCAAA,CAFA,6SAEA,mCAAA,CAFA,6SAEA,mCAAA,CAFA,6SAEA,mCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CCnGJ;;;;;;;;;;;;;;;;;;;;;;;CAAA,CA0BA,0BACE,iCAAA,CACA,qCAAA,CAEF,qBACE,iCAAA,CACA,iCAAA,CAEF,2BACE,iCAAA,CACA,mCAAA,CAEF,6BACE,+BAAA,CACA,qCAAA,CAEF,wBACE,+BAAA,CACA,iCAAA,CAEF,8BACE,+BAAA,CACA,mCAAA,CAEF,6BACE,6BAAA,CACA,qCAAA,CAEF,wBACE,6BAAA,CACA,iCAAA,CAEF,8BACE,6BAAA,CACA,mCAAA,CAQA,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CAIF,QACE,cAAA,CADF,QACE,cAAA,CADF,QACE,cAAA,CADF,QACE,cAAA,CADF,QACE,cAAA,CADF,QACE,cAAA,CADF,QACE,cAAA,CADF,QACE,cAAA,CADF,QACE,cAAA,CADF,QACE,cAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CAIF,SACE,kDAAA,CADF,SACE,kDAAA,CADF,SACE,kDAAA,CADF,SACE,kDAAA,CADF,SACE,kDAAA,CADF,SACE,kDAAA,CADF,SACE,kDAAA,CADF,SACE,kDAAA,CADF,SACE,kDAAA,CADF,SACE,kDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CAcF,4BACE,UAAA,CADF,4BACE,UAAA,CADF,4BACE,UAAA,CADF,4BACE,UAAA,CADF,4BACE,UAAA,CADF,4BACE,UAAA,CADF,4BACE,UAAA,CADF,4BACE,UAAA,CADF,4BACE,UAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CAYF,UACE,iBAAA,CADF,WACE,mBAAA,CADF,WACE,mBAAA,CADF,WACE,mBAAA,CADF,WACE,mBAAA,CADF,WACE,mBAAA,CADF,WACE,mBAAA,CADF,WACE,mBAAA,CADF,WACE,mBAAA,CADF,WACE,mBAAA,CADF,YACE,iBAAA,CAKF,SACE,iBAAA,CADF,SACE,iBAAA,CADF,SACE,iBAAA,CADF,SACE,iBAAA,CADF,SACE,iBAAA,CADF,SACE,iBAAA,CADF,SACE,iBAAA,CADF,SACE,iBAAA,CADF,SACE,iBAAA,CADF,UACE,kBAAA,CADF,UACE,kBAAA,CADF,UACE,kBAAA,CAOJ,aACE,6FAAA,CAIF,qBACE,gGAAA,CAIF,qBACE,iGAAA,CAKF,aACE,8FAAA,CASF,KACE,iBAAA,CACA,qBAAA,CAQF,SACE,yBAAA,CACA,aAAA,CACA,WAAA,CACA,WAAA,CACA,iBAAA,CACA,kBAAA,CACA,sBAAA,CACA,qCAAA,CAEF,cACE,sCAAA,CAGF,mBACE,cAAA,CACA,qCAAA,CAEF,oBACE,cAAA,CACA,sCAAA,CAGF,gBACE,uEAAA,CACA,kCAAA,CAGF,2BACE,4DAAA,CACA,kCAAA,CAGF,8BACE,qCAAA,CAEF,+BACE,sCAAA,CChMF;;;;;;;;;;;;;;;;CAAA,CAkBA,+CAEE,sCACE,YAAA,CAAA,CAGJ,+CAEE,sCACE,YAAA,CAAA,CAIJ,8DACE,gCAAA,CAGF,qBACE,iBAAA,CACA,OAAA,CACA,QAAA,CACA,iBAAA,CACA,wIAAA,CACA,sBAAA,CAAA,iBAAA,CACA,WAAA,CACA,SAAA,CACA,WAAA,CAGF,kBACE,iBAAA,CACA,QAAA,CACA,QAAA,CACA,iBAAA,CACA,wIAAA,CACA,WAAA,CACA,WAAA,CACA,SAAA,CACA,WAAA,CAIF,+NACE,+BAAA,CACA,oBAAA,CACA,iBAAA,CACA,SAAA,CACA,UAAA,CACA,6BAAA,CAGF,8GACE,WAAA,CAGF,qEACE,sDAAA,CAEF,2FACE,mDAAA,CAGF,iBACE,GACE,kBAAA,CACA,SAAA,CAEF,IACE,kBAAA,CACA,UAAA,CAEF,KACE,kBAAA,CACA,SAAA,CAAA,CC1FJ,uBACE,wBAAA,CCDF,WACE,qBAAA,CACA,qBAAA,CAAA,cCCA,iBAAA,CACA,uBAAA,CAGF,oBACE,UAAA,CACA,cAAA,CCTF,OACE,WAAA,CACA,eAAA,CCFF,SACE,WAAA,CACA,eAAA","file":"orbit.min.css"} \ No newline at end of file +{"version":3,"sources":["orbit.min.css","../../src/scss/_settings.scss","../../src/scss/_orbital-zone.scss","../../src/scss/_orbit-class.scss","../../src/scss/_satellite.scss","../../src/scss/_spoke.scss","../../src/scss/_segment.scss","../../src/scss/_sector.scss","../../src/scss/_label.scss","../../src/scss/_progress.scss","../../src/scss/_radial-layout.scss","../../src/scss/_utilities.scss","../../src/scss/_support.scss","../../src/scss/_orbit-class_theme.scss","../../src/scss/_satellite_theme.scss","../../src/scss/_sector_theme.scss","../../src/scss/_spoke_theme.scss","../../src/scss/_segment_theme.scss","../../src/scss/_label_theme.scss"],"names":[],"mappings":"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H,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CADH,2BACG,0BAAA,CAKF,uGACE,yBAAA,CADF,uGACE,yBAAA,CADF,uGACE,yBAAA,CADF,uGACE,yBAAA,CADF,uGACE,yBAAA,CADF,uGACE,yBAAA,CADF,uGACE,yBAAA,CADF,uGACE,yBAAA,CADF,uGACE,yBAAA,CADF,2GACE,yBAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CADF,2GACE,0BAAA,CAKA,6SAEA,mCAAA,CAFA,6SAEA,mCAAA,CAFA,6SAEA,mCAAA,CAFA,6SAEA,mCAAA,CAFA,6SAEA,mCAAA,CAFA,6SAEA,mCAAA,CAFA,6SAEA,mCAAA,CAFA,6SAEA,mCAAA,CAFA,6SAEA,mCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CAFA,uTAEA,oCAAA,CCnGJ;;;;;;;;;;;;;;;;;;;;;;;CAAA,CA0BA,0BACE,iCAAA,CACA,qCAAA,CAEF,qBACE,iCAAA,CACA,iCAAA,CAEF,2BACE,iCAAA,CACA,mCAAA,CAEF,6BACE,+BAAA,CACA,qCAAA,CAEF,wBACE,+BAAA,CACA,iCAAA,CAEF,8BACE,+BAAA,CACA,mCAAA,CAEF,6BACE,6BAAA,CACA,qCAAA,CAEF,wBACE,6BAAA,CACA,iCAAA,CAEF,8BACE,6BAAA,CACA,mCAAA,CAQA,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CADF,WACE,iBAAA,CAIF,QACE,cAAA,CADF,QACE,cAAA,CADF,QACE,cAAA,CADF,QACE,cAAA,CADF,QACE,cAAA,CADF,QACE,cAAA,CADF,QACE,cAAA,CADF,QACE,cAAA,CADF,QACE,cAAA,CADF,QACE,cAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,SACE,eAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CADF,UACE,gBAAA,CAIF,SACE,kDAAA,CADF,SACE,kDAAA,CADF,SACE,kDAAA,CADF,SACE,kDAAA,CADF,SACE,kDAAA,CADF,SACE,kDAAA,CADF,SACE,kDAAA,CADF,SACE,kDAAA,CADF,SACE,kDAAA,CADF,SACE,kDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,UACE,mDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CADF,WACE,oDAAA,CAcF,4BACE,UAAA,CADF,4BACE,UAAA,CADF,4BACE,UAAA,CADF,4BACE,UAAA,CADF,4BACE,UAAA,CADF,4BACE,UAAA,CADF,4BACE,UAAA,CADF,4BACE,UAAA,CADF,4BACE,UAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CADF,8BACE,WAAA,CAYF,UACE,iBAAA,CADF,WACE,mBAAA,CADF,WACE,mBAAA,CADF,WACE,mBAAA,CADF,WACE,mBAAA,CADF,WACE,mBAAA,CADF,WACE,mBAAA,CADF,WACE,mBAAA,CADF,WACE,mBAAA,CADF,WACE,mBAAA,CADF,YACE,iBAAA,CAKF,SACE,iBAAA,CADF,SACE,iBAAA,CADF,SACE,iBAAA,CADF,SACE,iBAAA,CADF,SACE,iBAAA,CADF,SACE,iBAAA,CADF,SACE,iBAAA,CADF,SACE,iBAAA,CADF,SACE,iBAAA,CADF,UACE,kBAAA,CADF,UACE,kBAAA,CADF,UACE,kBAAA,CAOJ,aACE,6FAAA,CAIF,qBACE,gGAAA,CAIF,qBACE,iGAAA,CAKF,aACE,8FAAA,CASF,KACE,iBAAA,CACA,qBAAA,CAQF,SACE,yBAAA,CACA,aAAA,CACA,WAAA,CACA,WAAA,CACA,iBAAA,CACA,kBAAA,CACA,sBAAA,CACA,qCAAA,CAEF,cACE,sCAAA,CAGF,mBACE,cAAA,CACA,qCAAA,CAEF,oBACE,cAAA,CACA,sCAAA,CAGF,gBACE,uEAAA,CACA,kCAAA,CAGF,2BACE,4DAAA,CACA,kCAAA,CAGF,8BACE,qCAAA,CAEF,+BACE,sCAAA,CChMF;;;;;;;;;;;;;;;;CAAA,CAkBA,+CAEE,sCACE,YAAA,CAAA,CAGJ,+CAEE,sCACE,YAAA,CAAA,CAIJ,8DACE,gCAAA,CAGF,qBACE,iBAAA,CACA,OAAA,CACA,QAAA,CACA,iBAAA,CACA,wIAAA,CACA,sBAAA,CAAA,iBAAA,CACA,WAAA,CACA,SAAA,CACA,WAAA,CAGF,kBACE,iBAAA,CACA,QAAA,CACA,QAAA,CACA,iBAAA,CACA,wIAAA,CACA,WAAA,CACA,WAAA,CACA,SAAA,CACA,WAAA,CAIF,+NACE,+BAAA,CACA,oBAAA,CACA,iBAAA,CACA,SAAA,CACA,UAAA,CACA,6BAAA,CAGF,8GACE,WAAA,CAGF,qEACE,sDAAA,CAEF,2FACE,mDAAA,CAGF,iBACE,GACE,kBAAA,CACA,SAAA,CAEF,IACE,kBAAA,CACA,UAAA,CAEF,KACE,kBAAA,CACA,SAAA,CAAA,CC1FJ,uBACE,wBAAA,CCDF,WACE,qBAAA,CACA,qBAAA,CAAA,cCCA,iBAAA,CACA,uBAAA,CAGF,oBACE,UAAA,CACA,cAAA,CCTF,OACE,WAAA,CACA,eAAA,CCFF,SACE,WAAA,CACA,eAAA,CCJF;;;;;CAAA,CAOA,iBACE,aAAA,CACA,aAAA,CACA,eAAA,CACA,wIAAA","file":"orbit.min.css"} \ No newline at end of file diff --git a/assets/orbit.js b/assets/orbit.js new file mode 100644 index 0000000..ce12709 --- /dev/null +++ b/assets/orbit.js @@ -0,0 +1,392 @@ + +/* +* orbit +* v.0.4.0 +* Author Juan Martin Muda +* License MIT +**/ +(() => { + // test/web-components/orbit-progress.js + var OrbitProgress = class extends HTMLElement { + connectedCallback() { + this.update(); + const observer = new MutationObserver((mutations) => { + mutations.forEach((mutation) => { + if (mutation.type === "attributes") { + this.update(); + } + }); + }); + observer.observe(this, { attributes: true }); + } + update() { + const svg = this.createSVGElement(); + const progressArc1 = this.createProgressArc(true); + svg.appendChild(progressArc1); + const progressArc = this.createProgressArc(); + svg.appendChild(progressArc); + this.innerHTML = ""; + this.appendChild(svg); + } + createSVGElement() { + const svg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); + svg.setAttribute("viewBox", "0 0 100 100"); + svg.setAttribute("width", this.getAttribute("width") || "100%"); + svg.setAttribute("height", this.getAttribute("height") || "100%"); + return svg; + } + createProgressArc(full) { + const progressArc = document.createElementNS( + "http://www.w3.org/2000/svg", + "path" + ); + const { + strokeWidth, + realRadius, + ellipseX, + ellipseY, + progressBarColor, + progressBgColor, + lineCap, + maxAngle + } = this.getAttributes(); + const angle = this.getProgressAngle(maxAngle, full); + const { d } = this.calculateArcParameters( + angle, + realRadius, + ellipseX, + ellipseY + ); + progressArc.setAttribute("d", d); + progressArc.setAttribute( + "stroke", + full ? progressBgColor : progressBarColor + ); + progressArc.setAttribute("stroke-width", strokeWidth); + progressArc.setAttribute("fill", "transparent"); + progressArc.setAttribute("stroke-linecap", lineCap); + progressArc.setAttribute("vector-effect", "non-scaling-stroke"); + return progressArc; + } + getAttributes() { + const orbitRadius = parseFloat( + getComputedStyle(this).getPropertyValue("r") || 0 + ); + const range = parseFloat( + getComputedStyle(this).getPropertyValue("--o-range") || 360 + ); + const lineCap = getComputedStyle(this).getPropertyValue("--o-linecap") || "butt"; + const ellipseX = parseFloat( + getComputedStyle(this).getPropertyValue("--o-ellipse-x") || 1 + ); + const ellipseY = parseFloat( + getComputedStyle(this).getPropertyValue("--o-ellipse-y") || 1 + ); + const progress = parseFloat( + getComputedStyle(this).getPropertyValue("--o-progress") || this.getAttribute("value") || 0 + ); + const progressBarColor = this.getAttribute("bar-color") || "orange"; + const progressBgColor = this.getAttribute("bg-color") || "transparent"; + const strokeWidth = parseFloat( + getComputedStyle(this).getPropertyValue("stroke-width") || 1 + ); + let strokeWithPercentage = strokeWidth / 2 * 100 / orbitRadius / 2; + let innerOuter = strokeWithPercentage; + if (this.classList.contains("outer")) { + innerOuter = strokeWithPercentage * 2; + } + if (this.classList.contains("inner")) { + innerOuter = 0; + } + const realRadius = 50 + innerOuter - strokeWithPercentage; + const maxAngle = range; + return { + orbitRadius, + lineCap, + ellipseX, + ellipseY, + progress, + progressBarColor, + progressBgColor, + strokeWidth, + realRadius, + maxAngle + }; + } + getProgressAngle(maxAngle, full) { + const progress = parseFloat( + getComputedStyle(this).getPropertyValue("--o-progress") || this.getAttribute("value") || 0 + ); + const maxValue = parseFloat(this.getAttribute("max")) || 100; + return full ? (maxValue - 1e-3) / maxValue * maxAngle : progress / maxValue * maxAngle; + } + calculateArcParameters(angle, realRadius, ellipseX, ellipseY) { + const radiusX = realRadius / ellipseX; + const radiusY = realRadius / ellipseY; + const startX = 50 + radiusX * Math.cos(-Math.PI / 2); + const startY = 50 + radiusY * Math.sin(-Math.PI / 2); + const endX = 50 + radiusX * Math.cos((angle - 90) * Math.PI / 180); + const endY = 50 + radiusY * Math.sin((angle - 90) * Math.PI / 180); + const largeArcFlag = angle <= 180 ? 0 : 1; + const d = `M ${startX},${startY} A ${radiusX},${radiusY} 0 ${largeArcFlag} 1 ${endX},${endY}`; + return { startX, startY, endX, endY, largeArcFlag, d }; + } + }; + + // test/web-components/orbit-sector.js + function calcularExpresionCSS(cssExpression) { + const match = cssExpression.match(/calc\(([\d.]+)(deg)\s*\/\s*(\d+)\)/); + if (match) { + const value = parseFloat(match[1]); + const unit = match[2]; + const divisor = parseInt(match[3]); + if (unit === "deg" && divisor >= 1 && divisor <= 12) { + return value / divisor; + } + } + } + var OrbitSector = class extends HTMLElement { + connectedCallback() { + this.update(); + const observer = new MutationObserver((mutations) => { + mutations.forEach((mutation) => { + if (mutation.type === "attributes") { + this.update(); + } + }); + }); + observer.observe(this, { attributes: true }); + } + update() { + const svg = this.createSVGElement(); + const sectorArc = this.createSectorArc(); + svg.appendChild(sectorArc); + this.innerHTML = ""; + this.appendChild(svg); + } + createSVGElement() { + const svg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); + svg.setAttribute("viewBox", "0 0 100 100"); + svg.setAttribute("width", this.getAttribute("width") || "100%"); + svg.setAttribute("height", this.getAttribute("height") || "100%"); + return svg; + } + createSectorArc() { + const sectorArc = document.createElementNS( + "http://www.w3.org/2000/svg", + "path" + ); + const { strokeWidth, realRadius, sectorColor, gap } = this.getAttributes(); + const angle = this.calculateAngle(); + const { d } = this.calculateArcParameters(angle, realRadius, gap); + sectorArc.setAttribute("d", d); + sectorArc.setAttribute("stroke", sectorColor); + sectorArc.setAttribute("stroke-width", strokeWidth); + sectorArc.setAttribute("fill", "transparent"); + sectorArc.setAttribute("vector-effect", "non-scaling-stroke"); + return sectorArc; + } + getAttributes() { + const orbitRadius = parseFloat( + getComputedStyle(this).getPropertyValue("r") || 0 + ); + const gap = parseFloat( + getComputedStyle(this).getPropertyValue("--o-gap") || 1e-3 + ); + const sectorColor = this.getAttribute("sector-color") || "#00ff00"; + const rawAngle = getComputedStyle(this).getPropertyValue("--o-angle"); + const strokeWidth = parseFloat( + getComputedStyle(this).getPropertyValue("stroke-width") || 1 + ); + let strokeWithPercentage = strokeWidth / 2 * 100 / orbitRadius / 2; + let innerOuter = strokeWithPercentage; + if (this.classList.contains("outer-orbit")) { + innerOuter = strokeWithPercentage * 2; + } + if (this.classList.contains("inner-orbit")) { + innerOuter = 0; + } + const realRadius = 50 + innerOuter - strokeWithPercentage; + const sectorAngle = calcularExpresionCSS(rawAngle); + return { + orbitRadius, + strokeWidth, + realRadius, + sectorColor, + gap, + sectorAngle + }; + } + calculateAngle() { + const { sectorAngle, gap } = this.getAttributes(); + return sectorAngle - gap; + } + calculateArcParameters(angle, realRadius, gap) { + const radiusX = realRadius / 1; + const radiusY = realRadius / 1; + const startX = 50 + gap + radiusX * Math.cos(-Math.PI / 2); + const startY = 50 + radiusY * Math.sin(-Math.PI / 2); + const endX = 50 + radiusX * Math.cos((angle - 90) * Math.PI / 180); + const endY = 50 + radiusY * Math.sin((angle - 90) * Math.PI / 180); + const largeArcFlag = angle <= 180 ? 0 : 1; + const d = `M ${startX},${startY} A ${radiusX},${radiusY} 0 ${largeArcFlag} 1 ${endX},${endY}`; + return { startX, startY, endX, endY, largeArcFlag, d }; + } + }; + + // test/web-components/orbit-label.js + function calcularExpresionCSS2(cssExpression) { + const match = cssExpression.match(/calc\(([\d.]+)(deg)\s*\/\s*(\d+)\)/); + if (match) { + const value = parseFloat(match[1]); + const unit = match[2]; + const divisor = parseInt(match[3]); + if (unit === "deg" && divisor >= 1 && divisor <= 12) { + return value / divisor; + } + } + } + var OrbitLabel = class extends HTMLElement { + connectedCallback() { + this.update(); + const observer = new MutationObserver((mutations) => { + mutations.forEach((mutation) => { + if (mutation.type === "attributes") { + this.update(); + } + }); + }); + observer.observe(this, { attributes: true }); + } + update() { + const svg = this.createSVGElement(); + const pathId = `o-${Math.random().toString(36).substr(2, 9)}`; + const path = this.createPathElement(pathId); + const text = this.createTextPath(pathId); + svg.appendChild(path); + svg.appendChild(text); + this.innerHTML = ""; + this.appendChild(svg); + } + createSVGElement() { + const svg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); + svg.setAttribute("viewBox", "0 0 100 100"); + svg.setAttribute("width", this.getAttribute("width") || "100%"); + svg.setAttribute("height", this.getAttribute("height") || "100%"); + return svg; + } + createPathElement(pathId) { + const path = document.createElementNS( + "http://www.w3.org/2000/svg", + "path" + ); + const { strokeWidth, realRadius, sectorColor, gap } = this.getAttributes(); + const angle = this.calculateAngle(); + const { d } = this.calculateArcParameters(angle, realRadius, gap); + path.setAttribute("id", pathId); + path.setAttribute("d", d); + path.setAttribute("fill", "none"); + path.setAttribute("stroke", "none"); + path.setAttribute("stroke-width", strokeWidth); + path.setAttribute("vector-effect", "non-scaling-stroke"); + return path; + } + createTextPath(pathId) { + const text = document.createElementNS("http://www.w3.org/2000/svg", "text"); + const textPath = document.createElementNS( + "http://www.w3.org/2000/svg", + "textPath" + ); + textPath.setAttribute("href", `#${pathId}`); + textPath.setAttribute("alignment-baseline", "middle"); + textPath.textContent = this.textContent; + text.appendChild(textPath); + return text; + } + textContentNode() { + const text = document.createElementNS( + "http://www.w3.org/2000/svg", + "text" + ); + text.textContent = this.textContent; + return text; + } + getAttributes() { + const orbitRadius = parseFloat( + getComputedStyle(this).getPropertyValue("r") || 0 + ); + const gap = parseFloat( + getComputedStyle(this).getPropertyValue("--o-gap") || 1e-3 + ); + const sectorColor = this.getAttribute("sector-color") || "#00ff00"; + const rawAngle = getComputedStyle(this).getPropertyValue("--o-angle"); + const strokeWidth = parseFloat( + getComputedStyle(this).getPropertyValue("stroke-width") || 1 + ); + let strokeWithPercentage = strokeWidth / 2 * 100 / orbitRadius / 2; + let innerOuter = strokeWithPercentage; + if (this.classList.contains("outer-orbit")) { + innerOuter = strokeWithPercentage * 2; + } + if (this.classList.contains("inner-orbit")) { + innerOuter = 0; + } + const realRadius = 50 + innerOuter - strokeWithPercentage; + const sectorAngle = calcularExpresionCSS2(rawAngle); + return { + orbitRadius, + strokeWidth, + realRadius, + sectorColor, + gap, + sectorAngle + }; + } + calculateAngle() { + const { sectorAngle, gap } = this.getAttributes(); + return sectorAngle - gap; + } + calculateArcParameters(angle, realRadius, gap) { + const radiusX = realRadius / 1; + const radiusY = realRadius / 1; + const startX = 50 + gap + radiusX * Math.cos(-Math.PI / 2); + const startY = 50 + radiusY * Math.sin(-Math.PI / 2); + const endX = 50 + radiusX * Math.cos((angle - 90) * Math.PI / 180); + const endY = 50 + radiusY * Math.sin((angle - 90) * Math.PI / 180); + const largeArcFlag = angle <= 180 ? 0 : 1; + const d = `M ${startX},${startY} A ${radiusX},${radiusY} 0 ${largeArcFlag} 1 ${endX},${endY}`; + return { startX, startY, endX, endY, largeArcFlag, d }; + } + }; + + // test/web-components/orbit-resize.js + var Orbit = {}; + Orbit = { + resize: (parentElementSelector) => { + const parentElement = document.querySelector(parentElementSelector); + if (!parentElement) { + console.error(`No se encontr\xF3 ning\xFAn elemento con el selector ${parentElementSelector}`); + return; + } + const resizeObserver = new ResizeObserver((entries) => { + for (let entry of entries) { + const { width } = entry.contentRect; + const childElement = parentElement.querySelector(".orbital-zone"); + if (childElement) { + childElement.style.setProperty("--o-lenght", `${width}px`); + } else { + console.error("No se encontr\xF3 ning\xFAn elemento hijo con la clase .child-element"); + } + } + }); + resizeObserver.observe(parentElement); + } + }; + + // test/orbit.js + customElements.define("o-progress", OrbitProgress); + customElements.define("o-sector", OrbitSector); + customElements.define("o-label", OrbitLabel); + window.Orbit = Orbit; + })(); + \ No newline at end of file diff --git a/examples/analog-watch.html b/examples/analog-watch.html index d8e48aa..ed49a3f 100644 --- a/examples/analog-watch.html +++ b/examples/analog-watch.html @@ -3,8 +3,7 @@ - - + - + + diff --git a/src/web-components/orbit-label.js b/src/js/orbit-label.js similarity index 85% rename from src/web-components/orbit-label.js rename to src/js/orbit-label.js index 20bb5ed..13d688e 100644 --- a/src/web-components/orbit-label.js +++ b/src/js/orbit-label.js @@ -11,35 +11,35 @@ function calcularExpresionCSS(cssExpression) { } /*! -## o-text +## o-label -`` is a standard web-component for rendering a radial slices or pies. +`` is a standard web-component for rendering a radial slices or pies. By default there are 24 sector per orbit. The number can be modify with `$max-orbiters` var at `_variables.scss`. It has some special attributes and css variables to customize it: - Attribute `sector-color`: To set a color for sector. Default `orange` - - Class `.gap-*` applied on `.orbit` or `.orbit-*` or in ``: to set gap space. Default '0' + - Class `.gap-*` applied on `.orbit` or `.orbit-*` or in ``: to set gap space. Default '0' - Class utility `.range-*` applied on `.orbit` or `.orbit-*`: Default '360deg' - Class utility `.from-*` applied on `.orbit` or `.orbit-*`: Default '0deg' - - Class utility `.inner-orbit`: To place `o-text` just below its orbit - - Class utility `.outer-orbit-orbit`: To place `o-text` just above its orbit + - Class utility `.inner-orbit`: To place `o-label` just below its orbit + - Class utility `.outer-orbit-orbit`: To place `o-label` just above its orbit - - CSS styles. User can customize `o-text` by adding CSS properties to `o-text path` + - CSS styles. User can customize `o-label` by adding CSS properties to `o-label path` **Important:** - - `` can only be used into `.orbit` or `.orbit-*`. - - `` doesn't support ellipse shape. See `.orbit` section for more information. + - `` can only be used into `.orbit` or `.orbit-*`. + - `` doesn't support ellipse shape. See `.orbit` section for more information. ### Usage ```html
- - - - + + + +
``` */ @@ -92,9 +92,9 @@ export class OrbitLabel extends HTMLElement { path.setAttribute('id', pathId) path.setAttribute('d', d) path.setAttribute('fill', 'none') - path.setAttribute('stroke', 'none') + path.setAttribute('stroke', 'none') path.setAttribute('stroke-width', strokeWidth) - path.setAttribute('vector-effect', 'non-scaling-stroke') + path.setAttribute('vector-effect', 'non-scaling-stroke') return path } diff --git a/src/web-components/orbit-progress.js b/src/js/orbit-progress.js similarity index 100% rename from src/web-components/orbit-progress.js rename to src/js/orbit-progress.js diff --git a/src/js/orbit-resize.js b/src/js/orbit-resize.js new file mode 100644 index 0000000..973d76a --- /dev/null +++ b/src/js/orbit-resize.js @@ -0,0 +1,29 @@ +// Define the function +let Orbit = {} + +Orbit = { + resize: (parentElementSelector) => { + const parentElement = document.querySelector(parentElementSelector); + + if (!parentElement) { + console.error(`No se encontró ningún elemento con el selector ${parentElementSelector}`); + return; + } + const resizeObserver = new ResizeObserver(entries => { + for (let entry of entries) { + const { width } = entry.contentRect; + const childElement = parentElement.querySelector('.orbital-zone'); + if (childElement) { + childElement.style.setProperty('--o-lenght', `${width}px`); + } else { + console.error('No se encontró ningún elemento hijo con la clase .child-element'); + } + } + }); + + // Start observing the parent element + resizeObserver.observe(parentElement); + } +} + +export {Orbit} diff --git a/src/web-components/orbit-sector.js b/src/js/orbit-sector.js similarity index 100% rename from src/web-components/orbit-sector.js rename to src/js/orbit-sector.js diff --git a/src/orbit.js b/src/orbit.js index 7974a1e..2e602ee 100644 --- a/src/orbit.js +++ b/src/orbit.js @@ -1,7 +1,10 @@ -import { OrbitProgress } from './web-components/orbit-progress.js' -import { OrbitSector } from './web-components/orbit-sector.js' -import { OrbitLabel } from './web-components/orbit-label.js' +import { OrbitProgress } from './js/orbit-progress.js' +import { OrbitSector } from './js/orbit-sector.js' +import { OrbitLabel } from './js/orbit-label.js' +import { Orbit } from './js/orbit-resize.js' customElements.define('o-progress', OrbitProgress) customElements.define('o-sector', OrbitSector) customElements.define('o-label', OrbitLabel) + +window.Orbit = Orbit \ No newline at end of file diff --git a/src/orbit.scss b/src/orbit.scss index 95ff76f..6e5f04f 100644 --- a/src/orbit.scss +++ b/src/orbit.scss @@ -27,4 +27,5 @@ @import './scss/_sector_theme.scss'; @import './scss/_progress_theme.scss'; @import './scss/_spoke_theme.scss'; -@import './scss/_segment_theme.scss'; \ No newline at end of file +@import './scss/_segment_theme.scss'; +@import './scss/_label_theme.scss'; \ No newline at end of file diff --git a/src/scss/_label.scss b/src/scss/_label.scss index 97fb2d0..ef76950 100644 --- a/src/scss/_label.scss +++ b/src/scss/_label.scss @@ -27,10 +27,3 @@ o-label svg { o-label svg > * { pointer-events: stroke; } - -o-label svg text { - color: rgb(110, 110, 110); - font-size: 8px; - font-weight: 100; - font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; -} diff --git a/src/scss/_label_theme.scss b/src/scss/_label_theme.scss new file mode 100644 index 0000000..4478e27 --- /dev/null +++ b/src/scss/_label_theme.scss @@ -0,0 +1,14 @@ +@use './variables' as *; +/*! +## + +See o-label docs in web-component file. + +*/ + +o-label svg text { + color: rgb(110, 110, 110); + font-size: 4px; + font-weight: 100; + font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; +} diff --git a/src/scss/_orbit-class.scss b/src/scss/_orbit-class.scss index c767706..146d9e6 100644 --- a/src/scss/_orbit-class.scss +++ b/src/scss/_orbit-class.scss @@ -87,16 +87,18 @@ Please see **Radial Layout section**. * Add .ccv for all orbit child ok * correjir sector y progress ok * add content radial aligment y - + hacerlo rsponsive llegado el caso al espacio.. ver + + hacerlo rsponsive llegado el caso al espacio.. ver esto no esta bien del todo = add slot content para w-c NO HACE X AHORA XQ SE CUBRE CON SATELLITE O TEXT * CORREJIR ALINEACION TODO DESDE 0 A LAS 12 OK * probar sacar cambio de tamano en nested xq confunde mucho. ok * arreglar lenght.... para que sea responsive.. OK con una funcion -... UN COMPOENENT DE TEXTO CURVO WIP. falta tema ajuste al path .. con attrib y size +* UN COMPOENENT DE TEXTO CURVO WIP. text size and color from class style. +- eliminar sttributos innecsarios hacerlosmasstndars para progres y sector tb * bug no gap when one sector/text. * bug alineacion gaps ... 180 on mas de un sector/ o-label * separar vector de constellation... o vector to spoke / vector.is-poligon to segment * ornit-nth cambiar nombre +* resize orbit as optional function. * trabajar con spoke as container... tiene que alinearse siempre a la mitad asi, si tiene una imagen dentro queda alineada tambien.