@digihmis/esm-billing-app 1.0.0 → 1.0.1
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.
- package/package.json +2 -1
- package/src/billing-checkin-form/billing-checkin-form.extension.tsx +90 -88
- package/src/billing-checkin-form/billing-checkin-form.resource.ts +92 -27
- package/src/billing-checkin-form/visit-attributes/visit-attributes-form.resource.ts +28 -16
- package/src/billing-dashboard/billing-dashboard.resource.ts +16 -7
- package/src/billing-header/page-header/page-icon/icon-wrapper.extension.tsx +2 -17
- package/src/billing-timesheet-modal/billing-timesheet-modal.tsx +4 -2
- package/src/billing-timesheet-modal/billing-timesheet-resource-modal.ts +7 -28
- package/src/config-schema.ts +8 -2
- package/src/leftpanel/left-panel.component.tsx +6 -98
- package/src/routes.json +12 -8
- package/dist/117.js +0 -1
- package/dist/117.js.map +0 -1
- package/dist/132.js +0 -1
- package/dist/132.js.map +0 -1
- package/dist/152.js +0 -1
- package/dist/152.js.map +0 -1
- package/dist/16.js +0 -1
- package/dist/16.js.map +0 -1
- package/dist/209.js +0 -1
- package/dist/209.js.map +0 -1
- package/dist/317.js +0 -1
- package/dist/317.js.map +0 -1
- package/dist/349.js +0 -1
- package/dist/349.js.map +0 -1
- package/dist/358.js +0 -1
- package/dist/358.js.map +0 -1
- package/dist/371.js +0 -1
- package/dist/371.js.map +0 -1
- package/dist/378.js +0 -1
- package/dist/378.js.map +0 -1
- package/dist/442.js +0 -1
- package/dist/442.js.map +0 -1
- package/dist/45.js +0 -1
- package/dist/45.js.map +0 -1
- package/dist/466.js +0 -1
- package/dist/466.js.map +0 -1
- package/dist/496.js +0 -12
- package/dist/496.js.map +0 -1
- package/dist/508.js +0 -1
- package/dist/508.js.map +0 -1
- package/dist/61.js +0 -1
- package/dist/61.js.map +0 -1
- package/dist/640.js +0 -1
- package/dist/640.js.map +0 -1
- package/dist/689.js +0 -1
- package/dist/689.js.map +0 -1
- package/dist/709.js +0 -1
- package/dist/709.js.map +0 -1
- package/dist/712.js +0 -1
- package/dist/712.js.map +0 -1
- package/dist/720.js +0 -1
- package/dist/720.js.map +0 -1
- package/dist/742.js +0 -1
- package/dist/742.js.map +0 -1
- package/dist/771.js +0 -1
- package/dist/771.js.map +0 -1
- package/dist/806.js +0 -1
- package/dist/806.js.map +0 -1
- package/dist/839.js +0 -1
- package/dist/839.js.map +0 -1
- package/dist/912.js +0 -1
- package/dist/912.js.map +0 -1
- package/dist/913.js +0 -1
- package/dist/913.js.map +0 -1
- package/dist/940.js +0 -1
- package/dist/940.js.map +0 -1
- package/dist/965.js +0 -15
- package/dist/965.js.map +0 -1
- package/dist/digihmis-esm-billing-app.js +0 -6
- package/dist/digihmis-esm-billing-app.js.buildmanifest.json +0 -827
- package/dist/digihmis-esm-billing-app.js.map +0 -1
- package/dist/main.js +0 -17
- package/dist/main.js.map +0 -1
- package/dist/routes.json +0 -1
|
@@ -1,98 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import styles from './left-panel.scss';
|
|
8
|
-
|
|
9
|
-
export interface DashboardLinkConfig {
|
|
10
|
-
name: string;
|
|
11
|
-
title: string;
|
|
12
|
-
icon?: string | CarbonIconType;
|
|
13
|
-
showOnlyOnRoute?: string;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
const DashboardLink = ({ dashboardLinkConfig }: { dashboardLinkConfig: DashboardLinkConfig }) => {
|
|
17
|
-
const { t } = useTranslation();
|
|
18
|
-
const { name, title, icon, showOnlyOnRoute } = dashboardLinkConfig;
|
|
19
|
-
const location = useLocation();
|
|
20
|
-
const params = useParams();
|
|
21
|
-
const spaBasePath = window.getOpenmrsSpaBase() + 'home';
|
|
22
|
-
|
|
23
|
-
const patientUuid = useMemo(() => {
|
|
24
|
-
if (params.patientUuid) {
|
|
25
|
-
return params.patientUuid;
|
|
26
|
-
}
|
|
27
|
-
const pathParts = location.pathname.split('/');
|
|
28
|
-
const billingIndex = pathParts.indexOf('billing');
|
|
29
|
-
if (billingIndex !== -1 && pathParts.length > billingIndex + 1) {
|
|
30
|
-
const nextPart = pathParts[billingIndex + 1];
|
|
31
|
-
// Check if it's a UUID pattern (basic check)
|
|
32
|
-
if (nextPart && nextPart.length > 20 && nextPart.includes('-')) {
|
|
33
|
-
return nextPart;
|
|
34
|
-
}
|
|
35
|
-
// Check if path is /billing/patient/UUID/file
|
|
36
|
-
if (nextPart === 'patient' && pathParts.length > billingIndex + 2) {
|
|
37
|
-
const uuidPart = pathParts[billingIndex + 2];
|
|
38
|
-
if (uuidPart && uuidPart.length > 20 && uuidPart.includes('-')) {
|
|
39
|
-
return uuidPart;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
return null;
|
|
44
|
-
}, [params.patientUuid, location.pathname]);
|
|
45
|
-
|
|
46
|
-
const shouldShow = useMemo(() => {
|
|
47
|
-
if (!showOnlyOnRoute) {
|
|
48
|
-
return true;
|
|
49
|
-
}
|
|
50
|
-
return location.pathname.includes(showOnlyOnRoute);
|
|
51
|
-
}, [showOnlyOnRoute, location.pathname]);
|
|
52
|
-
|
|
53
|
-
const linkPath = useMemo(() => {
|
|
54
|
-
let path = name;
|
|
55
|
-
if (name.includes(':patientUuid') && patientUuid) {
|
|
56
|
-
path = name.replace(':patientUuid', patientUuid);
|
|
57
|
-
}
|
|
58
|
-
return path;
|
|
59
|
-
}, [name, patientUuid]);
|
|
60
|
-
|
|
61
|
-
const isActive = useMemo(() => {
|
|
62
|
-
if (name.includes(':patientUuid')) {
|
|
63
|
-
return location.pathname.includes('/bill');
|
|
64
|
-
}
|
|
65
|
-
const urlSegment = decodeURIComponent(last(location.pathname.split('/')));
|
|
66
|
-
const nameSegment = name.split('/').at(-1);
|
|
67
|
-
return nameSegment === urlSegment;
|
|
68
|
-
}, [location.pathname, name]);
|
|
69
|
-
|
|
70
|
-
if (!shouldShow) {
|
|
71
|
-
return null;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
const IconComp = typeof icon !== 'string' ? (icon as CarbonIconType) : null;
|
|
75
|
-
|
|
76
|
-
return (
|
|
77
|
-
<ConfigurableLink
|
|
78
|
-
to={`${spaBasePath}/${linkPath}`}
|
|
79
|
-
className={`cds--side-nav__link ${isActive && 'active-left-nav-link'}`}>
|
|
80
|
-
{typeof icon === 'string' ? (
|
|
81
|
-
<MaybeIcon icon={icon} className={styles.icon} size={16} />
|
|
82
|
-
) : (
|
|
83
|
-
IconComp && <IconComp className={styles.icon} />
|
|
84
|
-
)}
|
|
85
|
-
{t(title)}
|
|
86
|
-
</ConfigurableLink>
|
|
87
|
-
);
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
export const createDashboardLink = (dashboardLinkConfig: DashboardLinkConfig) => () => {
|
|
91
|
-
return (
|
|
92
|
-
<BrowserRouter>
|
|
93
|
-
<DashboardLink dashboardLinkConfig={dashboardLinkConfig} />
|
|
94
|
-
</BrowserRouter>
|
|
95
|
-
);
|
|
96
|
-
};
|
|
97
|
-
|
|
98
|
-
export default DashboardLink;
|
|
1
|
+
// Moved to the shared library so every app uses one implementation.
|
|
2
|
+
export {
|
|
3
|
+
DashboardLink as default,
|
|
4
|
+
createDashboardLink,
|
|
5
|
+
type DashboardLinkConfig,
|
|
6
|
+
} from '@digihmis/esm-commons-lib';
|
package/src/routes.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://json.openmrs.org/routes.schema.json",
|
|
3
3
|
"backendDependencies": {
|
|
4
4
|
"fhir2": ">=1.2",
|
|
5
|
-
"webservices.rest": "
|
|
5
|
+
"webservices.rest": ">=2.24.0"
|
|
6
6
|
},
|
|
7
7
|
"extensions": [
|
|
8
8
|
{
|
|
@@ -10,13 +10,15 @@
|
|
|
10
10
|
"slot": "extra-visit-attribute-slot",
|
|
11
11
|
"component": "billingCheckInForm",
|
|
12
12
|
"order": 0
|
|
13
|
-
},
|
|
13
|
+
},
|
|
14
|
+
{
|
|
14
15
|
"name": "payment-type-tag",
|
|
15
16
|
"slot": "patient-banner-tags-slot",
|
|
16
17
|
"component": "paymentTypeTag",
|
|
17
18
|
"online": true,
|
|
18
19
|
"offline": true
|
|
19
|
-
},
|
|
20
|
+
},
|
|
21
|
+
{
|
|
20
22
|
"name": "billing-db-link",
|
|
21
23
|
"slot": "billing-dashboard-slot",
|
|
22
24
|
"component": "billingQueueleftPanelLink",
|
|
@@ -28,7 +30,8 @@
|
|
|
28
30
|
"order": 1,
|
|
29
31
|
"online": true,
|
|
30
32
|
"offline": true
|
|
31
|
-
},
|
|
33
|
+
},
|
|
34
|
+
{
|
|
32
35
|
"name": "care-panel-link",
|
|
33
36
|
"slot": "billing-dashboard-slot",
|
|
34
37
|
"component": "carePanelLink",
|
|
@@ -41,18 +44,19 @@
|
|
|
41
44
|
"order": 2,
|
|
42
45
|
"online": true,
|
|
43
46
|
"offline": true
|
|
44
|
-
},
|
|
47
|
+
},
|
|
48
|
+
{
|
|
45
49
|
"name": "billing-dashboard",
|
|
46
|
-
|
|
50
|
+
"slot": "billing-homepage-dashboard-slot",
|
|
47
51
|
"component": "billingDashboard",
|
|
48
52
|
"online": true,
|
|
49
53
|
"offline": true
|
|
50
54
|
}
|
|
51
55
|
],
|
|
52
56
|
"modals": [
|
|
53
|
-
|
|
57
|
+
{
|
|
54
58
|
"name": "billing-timesheet-modal",
|
|
55
59
|
"component": "billingTimesheetModal"
|
|
56
60
|
}
|
|
57
61
|
]
|
|
58
|
-
}
|
|
62
|
+
}
|
package/dist/117.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_digihmis_esm_billing_app=globalThis.webpackChunk_digihmis_esm_billing_app||[]).push([["117"],{34300(e){e.exports=JSON.parse('{"cash":"Cash","enterPolicyNumber":"Enter policy number","exemptionCategory":"Exemption category","insurance":"Insurance","insuranceScheme":"Insurance scheme","isPatientExemptedLegend":"Will the patient pay for services?","loading":"Loading data...","loadingDescription":"Loading","nonPayingPatient":"No, non-paying patient (exempt)","patientCategory":"Payment Category","payingPatient":"Yes, paying patient","paymentMethodsTitle":"Payment method","policyNumber":"Policy number","selectExemptionCategory":"Select exemption category","selectInsuranceScheme":"Select insurance scheme","selectPaymentMethod":"Select payment method"}')}}]);
|
package/dist/117.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"117.js","sources":["webpack://@digihmis/esm-billing-app/json|/home/kios09/Desktop/DigiHMIS/backend/DigiHMIS-apps/packages/esm-billing-app/translations/en.json"],"names":["JSON"],"mappings":"6IAAA,EAAO,OAAO,CAAGA,KAAK,KAAK,CAAC,wnB"}
|
package/dist/132.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_digihmis_esm_billing_app=globalThis.webpackChunk_digihmis_esm_billing_app||[]).push([["132"],{96679(e){e.exports=JSON.parse('{"cash":"Cash","enterPolicyNumber":"Enter policy number","exemptionCategory":"Exemption category","insurance":"Insurance","insuranceScheme":"Insurance scheme","isPatientExemptedLegend":"Will the patient pay for services?","loading":"Loading data...","loadingDescription":"Loading","nonPayingPatient":"No, non-paying patient (exempt)","patientCategory":"Payment Category","payingPatient":"Yes, paying patient","paymentMethodsTitle":"Payment method","policyNumber":"Policy number","selectExemptionCategory":"Select exemption category","selectInsuranceScheme":"Select insurance scheme","selectPaymentMethod":"Select payment method"}')}}]);
|
package/dist/132.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"132.js","sources":["webpack://@digihmis/esm-billing-app/json|/home/kios09/Desktop/DigiHMIS/backend/DigiHMIS-apps/packages/esm-billing-app/translations/pt.json"],"names":["JSON"],"mappings":"6IAAA,EAAO,OAAO,CAAGA,KAAK,KAAK,CAAC,wnB"}
|
package/dist/152.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_digihmis_esm_billing_app=globalThis.webpackChunk_digihmis_esm_billing_app||[]).push([["152"],{52470(e,t,r){r.r(t),r.d(t,{default:()=>m,infinite:()=>k,unstable_serialize:()=>y});var a=r(62500),l=r(85216),i=r(70037),n=r(42372),u=r(58139);let s=()=>{},o=s(),f=Object,c=e=>e===o,g=new WeakMap,p=(e,t)=>e===`[object ${t}]`,_=0,b=e=>{let t,r,a=typeof e,l=f.prototype.toString.call(e),i=p(l,"Date"),n=p(l,"RegExp"),u=p(l,"Object");if(f(e)!==e||i||n)t=i?e.toJSON():"symbol"==a?e.toString():"string"==a?JSON.stringify(e):""+e;else{if(t=g.get(e))return t;if(t=++_+"~",g.set(e,t),Array.isArray(e)){for(r=0,t="@";r<e.length;r++)t+=b(e[r])+",";g.set(e,t)}if(u){t="#";let a=f.keys(e).sort();for(;!c(r=a.pop());)c(e[r])||(t+=r+":"+b(e[r])+",");g.set(e,t)}}return t},d=e=>(e=>{if("function"==typeof e)try{e=e()}catch(t){e=""}let t=e;return[e="string"==typeof e?e:(Array.isArray(e)?e.length:e)?b(e):"",t]})(e?e(0,null):null)[0],y=e=>"$inf$"+d(e),h=Promise.resolve(),k=e=>(t,r,l)=>{let n,s=(0,a.useRef)(!1),{cache:o,initialSize:f=1,revalidateAll:c=!1,persistSize:g=!1,revalidateFirstPage:p=!0,revalidateOnMount:_=!1,parallel:b=!1}=l,[,,,y]=i.b.get(i.c);try{(n=d(t))&&(n="$inf$"+n)}catch(e){}let[k,m,z]=(0,i.z)(o,n),v=(0,a.useCallback)(()=>(0,i.e)(k()._l)?f:k()._l,[o,n,f]);(0,u.useSyncExternalStore)((0,a.useCallback)(e=>n?z(n,()=>{e()}):()=>{},[o,n]),v,v);let w=(0,a.useCallback)(()=>{let e=k()._l;return(0,i.e)(e)?f:e},[n,f]),C=(0,a.useRef)(w());(0,i.u)(()=>{if(!s.current){s.current=!0;return}n&&m({_l:g?C.current:w()})},[n,o]);let S=_&&!s.current,A=e(n,async e=>{let a=k()._i,n=k()._r;m({_r:i.U});let u=[],s=w(),[f]=(0,i.z)(o,e),g=f().data,_=[],d=null;for(let e=0;e<s;++e){let[s,f]=(0,i.s)(t(e,b?null:d));if(!s)break;let[h,k]=(0,i.z)(o,s),m=h().data,z=c||a||(0,i.e)(m)||p&&!e&&!(0,i.e)(g)||S||g&&!(0,i.e)(g[e])&&!l.compare(g[e],m);if(r&&("function"==typeof n?n(m,f):z)){let t=async()=>{if(s in y){let e=y[s];delete y[s],m=await e}else m=await r(f);k({data:m,_k:f}),u[e]=m};b?_.push(t):await t()}else u[e]=m;b||(d=m)}return b&&await Promise.all(_.map(e=>e())),m({_i:i.U}),u},l),$=(0,a.useCallback)(function(e,t){let r="boolean"==typeof t?{revalidate:t}:t||{},a=!1!==r.revalidate;return n?(a&&((0,i.e)(e)?m({_i:!0,_r:r.revalidate}):m({_i:!1,_r:r.revalidate})),arguments.length?A.mutate(e,{...r,revalidate:a}):A.mutate()):h},[n,o]),O=(0,a.useCallback)(e=>{let r;if(!n)return h;let[,a]=(0,i.z)(o,n);if((0,i.a)(e)?r=e(w()):"number"==typeof e&&(r=e),"number"!=typeof r)return h;a({_l:r}),C.current=r;let l=[],[u]=(0,i.z)(o,n),s=null;for(let e=0;e<r;++e){let[r]=(0,i.s)(t(e,s)),[a]=(0,i.z)(o,r),n=r?a().data:i.U;if((0,i.e)(n))return $(u().data);l.push(n),s=n}return $(l)},[n,o,$,w]);return{size:w(),setSize:O,mutate:$,get data(){return A.data},get error(){return A.error},get isValidating(){return A.isValidating},get isLoading(){return A.isLoading}}},m=(0,n.Ht)(l.Ay,k)}}]);
|
package/dist/152.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"152.js","sources":["webpack://@digihmis/esm-billing-app/../../node_modules/swr/dist/infinite/index.mjs"],"names":["Object","WeakMap","t","i","JSON","Array","Promise","e","u","arguments"],"mappings":"kRAOA,IAAM,EAAO,KAAK,EAKZ,EAA8B,IAC9B,EAASA,OACT,EAAc,AAAC,GAAI,IAAM,EAOzB,EAAQ,IAAIC,QAEZ,EAAmB,CAAC,EAAUC,IAAO,IAAa,CAAC,QAAQ,EAAEA,EAAK,CAAC,CAAC,CAEtE,EAAU,EASR,EAAa,AAAC,IAChB,IAKI,EACA,EANE,EAAO,OAAO,EACd,EAdmB,EAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAc1B,GACvBC,EAAS,EAAiB,EAAU,QACpC,EAAU,EAAiB,EAAU,UACrC,EAAgB,EAAiB,EAAU,UAGjD,GAAI,EAAO,KAAS,GAAQA,GAAW,EA8BnC,EAASA,EAAS,EAAI,MAAM,GAAK,AAAQ,UAAR,EAAmB,EAAI,QAAQ,GAAK,AAAQ,UAAR,EAAmBC,KAAK,SAAS,CAAC,GAAO,GAAK,MA9BvE,CAI5C,GADA,EAAS,EAAM,GAAG,CAAC,GACP,OAAO,EAMnB,GAFA,EAAS,EAAE,EAAU,IACrB,EAAM,GAAG,CAAC,EAAK,GACXC,MAAM,OAAO,CAAC,GAAM,CAGpB,IAAI,EAAQ,EADZ,EAAS,IACM,EAAQ,EAAI,MAAM,CAAE,IAC/B,GAAU,EAAW,CAAG,CAAC,EAAM,EAAI,IAEvC,EAAM,GAAG,CAAC,EAAK,EACnB,CACA,GAAI,EAAe,CAEf,EAAS,IACT,IAAM,EAAO,EAAO,IAAI,CAAC,GAAK,IAAI,GAClC,KAAM,CAAC,EAAY,EAAQ,EAAK,GAAG,KAC3B,AAAC,EAAY,CAAG,CAAC,EAAM,GACvB,IAAU,EAAQ,IAAM,EAAW,CAAG,CAAC,EAAM,EAAI,GAAE,EAG3D,EAAM,GAAG,CAAC,EAAK,EACnB,CACJ,CAGA,OAAO,CACX,EAsBM,EAAkB,AAAC,GACd,AArBO,CAAC,IACf,GA/DoB,AAAY,YAAZ,OA+DL,EACX,GAAI,CACA,EAAM,GACV,CAAE,MAAO,EAAK,CAEV,EAAM,EACV,CAIJ,IAAM,EAAO,EAGb,MAAO,CADP,EAAM,AAAc,UAAd,OAAO,EAAkB,EAAM,AAACA,CAAAA,MAAM,OAAO,CAAC,GAAO,EAAI,MAAM,CAAG,CAAE,EAAK,EAAW,GAAO,GAG7F,EACH,AACL,GAGqB,EAAS,EAAO,EAAG,MAAQ,KAAK,CAAC,EAAE,CAElD,EAAqB,AAAC,GACjB,QAAkB,EAAgB,GAKvC,EAAgBC,QAAQ,OAAO,GAC/B,EAAW,AAAC,GAAa,CAAC,EAAQ,EAAI,KACpC,IAKI,EALE,EAAc,aAAO,IACrB,CAAE,MAAO,CAAO,CAAE,cAAc,CAAC,CAAE,gBAAgB,EAAK,CAAE,cAAc,EAAK,CAAE,sBAAsB,EAAI,CAAE,oBAAoB,EAAK,CAAE,WAAW,EAAK,CAAE,CAAG,EAC3J,IAAO,EAAQ,CAAG,OAAkB,CAAC,GAAK,EAIhD,GAAI,CAEI,AADJ,GAAc,EAAgB,EAAM,GACnB,GAAc,QAAoB,CAAU,CACjE,CAAE,MAAOC,EAAK,CAEd,CACA,GAAM,CAAC,EAAK,EAAK,EAAe,CAAG,QAAkB,EAAS,GACxD,EAAc,kBAAY,IACf,GAAAJ,EAAA,GAAc,IAAM,EAAE,EAAI,EAAc,IAAM,EAAE,CAG9D,CACC,EACA,EACA,EACH,EACD,GAAAK,EAAA,sBAAqB,kBAAY,AAAC,GAC9B,AAAI,EAAoB,EAAe,EAAa,KAChD,GACJ,GACO,KAAK,EAEhB,CACI,EACA,EACH,EAAG,EAAa,GACjB,IAAM,EAAkB,kBAAY,KAChC,IAAM,EAAiB,IAAM,EAAE,CAC/B,MAAO,GAAAL,EAAA,GAAc,GAAkB,EAAc,CAGzD,EAAG,CACC,EACA,EACH,EAEK,EAAkB,aAAO,KAE/B,QAA0B,KACtB,GAAI,CAAC,EAAY,OAAO,CAAE,CACtB,EAAY,OAAO,CAAG,GACtB,MACJ,CACI,GAGA,EAAI,CACA,GAAI,EAAc,EAAgB,OAAO,CAAG,GAChD,EAIR,EAAG,CACC,EACA,EACH,EAED,IAAM,EAA0B,GAAqB,CAAC,EAAY,OAAO,CAEnE,EAAM,EAAW,EAAa,MAAO,IAEvC,IAAM,EAAqB,IAAM,EAAE,CAC7B,EAAuB,IAAM,EAAE,CACrC,EAAI,CACA,GAAI,GAAW,AACnB,GAEA,IAAM,EAAO,EAAE,CACT,EAAW,IACX,CAAC,EAAS,CAAG,QAAkB,EAAS,GACxC,EAAY,IAAW,IAAI,CAC3B,EAAe,EAAE,CACnB,EAAmB,KACvB,IAAI,IAAI,EAAI,EAAG,EAAI,EAAU,EAAE,EAAE,CAC7B,GAAM,CAAC,EAAS,EAAQ,CAAG,QAAY,EAAO,EAAG,EAAW,KAAO,IACnE,GAAI,CAAC,EACD,MAEJ,GAAM,CAAC,EAAa,EAAY,CAAG,QAAkB,EAAS,GAE1D,EAAW,IAAc,IAAI,CAQ3B,EAAkB,GAAiB,GAAsB,GAAAA,EAAA,GAAc,IAAa,GAAuB,CAAC,GAAK,CAAC,GAAAA,EAAA,GAAc,IAAc,GAA2B,GAAa,CAAC,GAAAA,EAAA,GAAc,CAAS,CAAC,EAAE,GAAK,CAAC,EAAO,OAAO,CAAC,CAAS,CAAC,EAAE,CAAE,GAC1P,GAAI,GAAO,CAAgC,YAAhC,OAAO,EAAsC,EAAqB,EAAU,GAAW,CAAc,EAAI,CAChH,IAAM,EAAa,UAEf,GAD4B,KAAW,EAGhC,CACH,IAAM,EAAM,CAAO,CAAC,EAAQ,AAG5B,QAAO,CAAO,CAAC,EAAQ,CAEvB,EAAW,MAAM,CACrB,MARI,EAAW,MAAM,EAAG,GASxB,EAAY,CACR,KAAM,EACN,GAAI,CACR,GACA,CAAI,CAAC,EAAE,CAAG,CACd,EACI,EACA,EAAa,IAAI,CAAC,GAElB,MAAM,GAEd,MACI,CAAI,CAAC,EAAE,CAAG,CAEV,CAAC,GACD,GAAmB,CAAO,CAElC,CAUA,OARI,GACA,MAAMG,QAAQ,GAAG,CAAC,EAAa,GAAG,CAAC,AAAC,GAAI,MAG5C,EAAI,CACA,GAAI,GAAW,AACnB,GAEO,CACX,EAAG,GACG,EAAS,kBACf,SAAS,CAAI,CAAE,CAAI,EAGf,IAAM,EAAU,AAAgB,WAAhB,OAAO,EAAqB,CACxC,WAAY,CAChB,EAAI,GAAQ,CAAC,EAEP,EAAmB,AAAuB,KAAvB,EAAQ,UAAU,QAE3C,AAAK,GACD,IACK,GAAAH,EAAA,GAAc,GAQf,EAAI,CACA,GAAI,GACJ,GAAI,EAAQ,UAAU,AAC1B,GATA,EAAI,CACA,GAAI,GACJ,GAAI,EAAQ,UAAU,AAC1B,IASDM,UAAU,MAAM,CAAG,EAAI,MAAM,CAAC,EAAM,CACvC,GAAG,CAAO,CACV,WAAY,CAChB,GAAK,EAAI,MAAM,IAnBU,CAoB7B,EAEA,CACI,EACA,EACH,EAEK,EAAU,kBAAY,AAAC,QAIrB,EAFJ,GAAI,CAAC,EAAa,OAAO,EACzB,GAAM,EAAG,EAAW,CAAG,QAAkB,EAAS,GAOlD,GALI,GAAAN,EAAA,GAAa,GACb,EAAO,EAAI,KACJ,AAAc,UAAd,OAAO,GACd,GAAO,CAAE,EAET,AAAe,UAAf,OAAO,EAAkB,OAAO,EACpC,EAAW,CACP,GAAI,CACR,GACA,EAAgB,OAAO,CAAG,EAE1B,IAAM,EAAO,EAAE,CACT,CAAC,EAAiB,CAAG,QAAkB,EAAS,GAClD,EAAmB,KACvB,IAAI,IAAI,EAAI,EAAG,EAAI,EAAM,EAAE,EAAE,CACzB,GAAM,CAAC,EAAQ,CAAG,QAAY,EAAO,EAAG,IAClC,CAAC,EAAS,CAAG,QAAkB,EAAS,GAExC,EAAW,EAAU,IAAW,IAAI,CAAG,GAAW,CAExD,GAAI,GAAAA,EAAA,GAAc,GACd,OAAO,EAAO,IAAmB,IAAI,EAEzC,EAAK,IAAI,CAAC,GACV,EAAmB,CACvB,CACA,OAAO,EAAO,EAClB,EAEA,CACI,EACA,EACA,EACA,EACH,EAGD,MAAO,CACH,KAAM,IACN,UACA,SACA,IAAI,MAAQ,CACR,OAAO,EAAI,IAAI,AACnB,EACA,IAAI,OAAS,CACT,OAAO,EAAI,KAAK,AACpB,EACA,IAAI,cAAgB,CAChB,OAAO,EAAI,YAAY,AAC3B,EACA,IAAI,WAAa,CACb,OAAO,EAAI,SAAS,AACxB,CACJ,CACJ,EACE,EAAiB,SAAe,IAAM,CAAE,E"}
|