api-core-lib 12.0.8 → 12.0.10
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/README.md +1 -0
- package/dist/index.cjs +1 -0
- package/dist/index.js +1109 -1
- package/dist/server.js +310 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1 +1,1109 @@
|
|
|
1
|
-
const _0x3fb125=_0x185b;(function(_0x4e49d1,_0x24aa2b){const _0x23ad2a=_0x185b,_0x1110fe=_0x4e49d1();while(!![]){try{const _0x29691f=-parseInt(_0x23ad2a(0x2a5,'PIj&'))/0x1*(-parseInt(_0x23ad2a(0x5a3,'c08&'))/0x2)+-parseInt(_0x23ad2a(0x442,'Oc8V'))/0x3+parseInt(_0x23ad2a(0x66c,'@Qs6'))/0x4*(parseInt(_0x23ad2a(0x45b,'ISlu'))/0x5)+-parseInt(_0x23ad2a(0x5f3,'&aZy'))/0x6*(parseInt(_0x23ad2a(0x2bd,'c08&'))/0x7)+-parseInt(_0x23ad2a(0x3a4,'NFX4'))/0x8+parseInt(_0x23ad2a(0x58d,'P7KR'))/0x9*(parseInt(_0x23ad2a(0x26e,'#05&'))/0xa)+-parseInt(_0x23ad2a(0x25f,'Q7sg'))/0xb*(-parseInt(_0x23ad2a(0x20e,'FvQM'))/0xc);if(_0x29691f===_0x24aa2b)break;else _0x1110fe['push'](_0x1110fe['shift']());}catch(_0x266a17){_0x1110fe['push'](_0x1110fe['shift']());}}}(_0x54f2,0xf16f2));const _0x5546ac=(function(){let _0x580e8a=!![];return function(_0x3f7786,_0x2e7f4b){const _0x4f1e1f=_0x580e8a?function(){const _0x460bb9=_0x185b;if(_0x2e7f4b){const _0x445ef4=_0x2e7f4b[_0x460bb9(0x3dc,'nec2')](_0x3f7786,arguments);return _0x2e7f4b=null,_0x445ef4;}}:function(){};return _0x580e8a=![],_0x4f1e1f;};}()),_0x22a68d=_0x5546ac(this,function(){const _0x4e3ff1=_0x185b,_0x3dd1a4={'wninN':_0x4e3ff1(0x21b,'P&Vw')};return _0x22a68d[_0x4e3ff1(0x422,'nWEI')]()[_0x4e3ff1(0x3a7,'FvQM')](_0x3dd1a4[_0x4e3ff1(0x3f6,'YBqZ')])[_0x4e3ff1(0x371,'IC8t')]()[_0x4e3ff1(0x617,'jXX@')](_0x22a68d)[_0x4e3ff1(0x20f,'BWTx')](_0x4e3ff1(0x4f3,'eu)n'));});_0x22a68d();var __defProp=Object[_0x3fb125(0x53d,'nWnn')],__defNormalProp=(_0x182fa0,_0xad27b0,_0x4c093b)=>_0xad27b0 in _0x182fa0?__defProp(_0x182fa0,_0xad27b0,{'enumerable':!![],'configurable':!![],'writable':!![],'value':_0x4c093b}):_0x182fa0[_0xad27b0]=_0x4c093b,__publicField=(_0x120d45,_0x13f17f,_0x583738)=>__defNormalProp(_0x120d45,typeof _0x13f17f!==_0x3fb125(0x446,'Oc8V')?_0x13f17f+'':_0x13f17f,_0x583738);import _0x5f0a73 from'axios';import{v4 as _0x1c06d0}from'uuid';async function runMiddleware(_0x47b16d,_0x3a858d=[]){const _0x207197=_0x3fb125,_0x39a479={'AHZbJ':_0x207197(0x460,'P&Vw'),'XLwYx':function(_0x27db83,_0xcd20d1){return _0x27db83===_0xcd20d1;},'blacb':_0x207197(0x38a,'&aZy'),'Emlcm':function(_0x1c9543,_0x1d0bc4){return _0x1c9543>=_0x1d0bc4;},'coSIl':function(_0x42d312,_0x1c0730){return _0x42d312(_0x1c0730);}},_0x49afa8=async _0x29daa8=>{const _0x5716b2=_0x207197;if(_0x39a479[_0x5716b2(0x5f9,'p8z5')](_0x39a479[_0x5716b2(0x43c,'BGGS')],_0x5716b2(0x2da,'%5pV')))_0x155fbf&&_0x528ab1[_0x5716b2(0x662,'FvQM')]&&_0x1a663c[_0x5716b2(0x281,'c08&')]&&_0x13beb2[_0x5716b2(0x625,'ISlu')](_0x39a479[_0x5716b2(0x3f3,'I6M*')],_0x5a62a8[_0x5716b2(0x61b,'MwRq')]+':'+_0x48a010[_0x5716b2(0x29e,'I6M*')]);else{if(_0x39a479[_0x5716b2(0x4bf,'@8N4')](_0x29daa8,_0x3a858d[_0x5716b2(0x235,'T]47')]))return;const _0x3a0b4c=_0x3a858d[_0x29daa8];await _0x3a0b4c(_0x47b16d,()=>_0x49afa8(_0x29daa8+0x1));}};await _0x39a479[_0x207197(0x3cd,'EwV#')](_0x49afa8,0x0);}async function refreshToken(_0x5879c5,_0xe1bba4){const _0x150a03=_0x3fb125,_0x5a16c8={'NoPYY':_0x150a03(0x4ee,'FvQM'),'otneG':_0x150a03(0x665,'nec2'),'VMkQe':function(_0x546f16,_0x47bcc5){return _0x546f16(_0x47bcc5);},'VUdJc':function(_0x2b8c40,_0x2c9980){return _0x2b8c40!==_0x2c9980;},'sGkca':_0x150a03(0x1fb,'jXX@'),'RuRQC':function(_0x26bef0,_0x14a983){return _0x26bef0+_0x14a983;},'jfMNP':_0x150a03(0x415,'m7MI'),'VAixw':_0x150a03(0x674,'Ep3[')},{refreshTokenConfig:_0x45f8ce}=_0x5879c5;if(!_0x45f8ce)return console[_0x150a03(0x56f,'KbGR')](_0x5a16c8[_0x150a03(0x65a,'cvq7')]),await _0xe1bba4[_0x150a03(0x241,'T]47')](),null;try{const _0x3d6f9b=await _0xe1bba4[_0x150a03(0x322,'dY(T')]();if(!_0x3d6f9b[_0x150a03(0x356,'d(K*')])throw new Error(_0x5a16c8[_0x150a03(0x361,'T]47')]);const {path:_0x210c10,buildRequestBody:_0x13d3c5,buildRequestHeaders:_0x571dd7,extractTokens:_0x155c65}=_0x45f8ce,_0x49ddb2=_0x13d3c5?_0x13d3c5(_0x3d6f9b[_0x150a03(0x4af,'G2Zz')]):{'refresh_token':_0x3d6f9b[_0x150a03(0x354,'tMbK')]},_0x6f6c97=_0x571dd7?_0x5a16c8[_0x150a03(0x309,'d(K*')](_0x571dd7,_0x3d6f9b):{},_0x5c818b=await _0x5f0a73[_0x150a03(0x6a9,'NFX4')](''+_0x5879c5[_0x150a03(0x6bc,'tYoG')]+_0x210c10,_0x49ddb2,{'headers':_0x6f6c97,'withCredentials':_0x5879c5[_0x150a03(0x684,'eu)n')]}),_0x732754=_0x5a16c8[_0x150a03(0x26a,'IC8t')](_0x155c65,_0x5c818b[_0x150a03(0x61c,'p8z5')]);if(!_0x732754||!_0x732754[_0x150a03(0x285,'FvQM')]||_0x5a16c8[_0x150a03(0x5f8,'cS44')](typeof _0x732754[_0x150a03(0x2f0,'Ep3[')],_0x150a03(0x682,'BGGS')))throw new Error(_0x5a16c8[_0x150a03(0x5ad,'T]47')]);const _0x47c089={'accessToken':_0x732754[_0x150a03(0x549,'Oc8V')],'refreshToken':_0x732754[_0x150a03(0x6c5,'rCo2')]||_0x3d6f9b[_0x150a03(0x4f5,'cvq7')],'expiresAt':_0x5a16c8[_0x150a03(0x2b6,'dY(T')](Date[_0x150a03(0x5b4,'m7MI')](),_0x732754[_0x150a03(0x34e,'eu)n')]*0x3e8),'tokenType':_0x732754[_0x150a03(0x265,'BWTx')]||_0x5a16c8[_0x150a03(0x55f,'Q7sg')]};return await _0xe1bba4[_0x150a03(0x641,'IC8t')](_0x47c089),console[_0x150a03(0x234,'rCo2')](_0x150a03(0x506,'dY(T')),_0x47c089;}catch(_0x209921){return console[_0x150a03(0x613,'tYoG')](_0x5a16c8[_0x150a03(0x292,'m7MI')],_0x209921[_0x150a03(0x6c7,'vnwu')]?.[_0x150a03(0x596,'Ep3[')]||_0x209921[_0x150a03(0x276,'uklM')]),_0x5879c5[_0x150a03(0x3f5,'Xon3')]&&_0x5879c5[_0x150a03(0x3d8,'Ep3[')](_0x209921),await _0xe1bba4[_0x150a03(0x50b,'%5pV')](),null;}}function createApiClient(_0x8bb297){const _0x28fa79=_0x3fb125,_0x5f0369={'ioUir':_0x28fa79(0x6d9,'vnwu'),'ruCbN':function(_0x292228,_0x233bbd){return _0x292228!==_0x233bbd;},'zqqSj':_0x28fa79(0x29c,'%5pV'),'NvTEq':function(_0x3e0e64,_0x2ec5af){return _0x3e0e64(_0x2ec5af);},'THtQk':_0x28fa79(0x2e2,'nWEI'),'xdKur':function(_0x2c7aab,_0x1ff2f1,_0xcc2d40){return _0x2c7aab(_0x1ff2f1,_0xcc2d40);},'tqxkt':_0x28fa79(0x1f8,'BWTx'),'srMRT':_0x28fa79(0x3e3,'KbGR'),'UsljM':function(_0x31576f){return _0x31576f();},'XeTqN':_0x28fa79(0x247,'p8z5'),'nEGJy':function(_0x3e81c6,_0x5ba6b1){return _0x3e81c6!==_0x5ba6b1;},'RKDUp':_0x28fa79(0x328,'&aZy'),'lIDYj':_0x28fa79(0x5d3,'eu)n'),'otHUp':_0x28fa79(0x3ac,'BWTx'),'TQhYx':function(_0x331e67,_0xb9165,_0x412c99){return _0x331e67(_0xb9165,_0x412c99);},'eLfEc':function(_0x60356c,_0x15bede){return _0x60356c<_0x15bede;},'RqGIR':function(_0x2d9a0b,_0x56da00){return _0x2d9a0b-_0x56da00;},'pZkNi':function(_0x4e5df2,_0x3e4982){return _0x4e5df2!==_0x3e4982;},'WDfld':_0x28fa79(0x3ca,'jXX@'),'RKfLn':_0x28fa79(0x324,'#05&'),'ZqgBn':function(_0x352c87,_0x29211f){return _0x352c87===_0x29211f;},'nalEr':_0x28fa79(0x4e9,'P&Vw'),'foPyQ':_0x28fa79(0x415,'m7MI'),'wqZur':_0x28fa79(0x687,'tc7g'),'eMMue':_0x28fa79(0x57d,'SxD7'),'dFvhK':_0x28fa79(0x475,'%5pV'),'DWwmY':_0x28fa79(0x594,'Ep3['),'vDtii':function(_0x286903,_0x4c930d){return _0x286903(_0x4c930d);},'lmCgc':function(_0x3c90d4,_0x56b74e,_0x16c2b2,_0x20f43f,_0x280544){return _0x3c90d4(_0x56b74e,_0x16c2b2,_0x20f43f,_0x280544);},'NhDrP':function(_0x4cf4c6,_0x538a53,_0x39cfc4){return _0x4cf4c6(_0x538a53,_0x39cfc4);},'LxinT':function(_0x514a40,_0x49070a){return _0x514a40(_0x49070a);},'DWyke':function(_0x4370d5,_0x49297d){return _0x4370d5||_0x49297d;},'eKcpP':_0x28fa79(0x638,'MwRq'),'soTJo':_0x28fa79(0x2df,'pO#@'),'Kcotv':function(_0x437140,_0x599930){return _0x437140===_0x599930;},'HBFPn':_0x28fa79(0x291,'eu)n'),'vCMEu':function(_0x243f45,_0x4b5362){return _0x243f45&&_0x4b5362;},'VtwDP':_0x28fa79(0x556,'jXX@'),'ihZcv':_0x28fa79(0x40c,'jXX@'),'KurSx':function(_0x82ebdf,_0x3ec548){return _0x82ebdf>=_0x3ec548;},'EGXKN':function(_0x249aa5,_0x2d6654){return _0x249aa5>=_0x2d6654;},'PhXzj':_0x28fa79(0x58e,'Q7sg'),'ocIKN':function(_0x2ed929,_0x5d468b){return _0x2ed929!==_0x5d468b;},'AGZTn':_0x28fa79(0x559,'eu)n'),'lZCiq':_0x28fa79(0x408,'cS44'),'oXsyD':_0x28fa79(0x5b0,'T]47'),'QYziA':_0x28fa79(0x587,'EwV#'),'ntLti':function(_0x50be73,_0x3009f4,_0x25bf01){return _0x50be73(_0x3009f4,_0x25bf01);},'fhvdm':function(_0xc57f2,_0x19ddf2){return _0xc57f2!==_0x19ddf2;},'BDsCt':_0x28fa79(0x678,'pO#@'),'UHkOX':_0x28fa79(0x60e,'Lf%q')},{baseURL:_0x28531b,tokenManager:_0x5f061b,timeout:timeout=0x3a98,headers:headers={},withCredentials:withCredentials=![],middleware:middleware=[],defaultIsPublic:defaultIsPublic=![],maxTokenRefreshRetries:maxTokenRefreshRetries=0x2,maxQueueSize:maxQueueSize=0x32,onRefreshError:_0x51f4ae}=_0x8bb297,_0x3be13e=_0x5f0a73[_0x28fa79(0x5f6,'tMbK')]({'baseURL':_0x28531b,'timeout':timeout,'headers':{'Content-Type':_0x5f0369[_0x28fa79(0x311,'Oc8V')],...headers},'withCredentials':withCredentials});let _0x583b28=![],_0x9afeeb=0x0,_0x3a94b3=[];const _0x287437=(_0x548a3b,_0x4341ee=null)=>{const _0x26c586=_0x28fa79,_0x1078c7={'MNGyV':_0x5f0369[_0x26c586(0x2e9,'nec2')]};_0x5f0369[_0x26c586(0x63b,'nWnn')](_0x26c586(0x219,'Q7sg'),_0x5f0369[_0x26c586(0x62b,'Fp%A')])?_0x5301de[_0x26c586(0x44a,'nWEI')](_0x178449[_0x26c586(0x5cc,'Te]H')]||_0x1078c7[_0x26c586(0x453,'IC8t')],_0x17f5ab[_0x26c586(0x1e1,'@Qs6')]??void 0x0):(_0x3a94b3[_0x26c586(0x575,'Xon3')](_0x43439c=>_0x548a3b?_0x43439c[_0x26c586(0x3f8,'nWnn')](_0x548a3b):_0x43439c[_0x26c586(0x430,'nWnn')](_0x4341ee)),_0x3a94b3=[]);},_0x48e617=async(_0x2abcd3,_0x3e6b57)=>{const _0x24c29d=_0x28fa79,_0x599786={'GebPB':function(_0x3ac73a,_0x190a99){const _0x4b29c0=_0x185b;return _0x5f0369[_0x4b29c0(0x3fe,'P&Vw')](_0x3ac73a,_0x190a99);}};if(_0x5f0369[_0x24c29d(0x63b,'nWnn')](_0x24c29d(0x1db,'YBqZ'),_0x5f0369[_0x24c29d(0x675,'Xon3')]))return _0x5d5ad4&&_0x4f5e3b[_0x24c29d(0x28b,'SxD7')]!==void 0x0&&_0x599786[_0x24c29d(0x4da,'m7MI')](_0x4c961e[_0x24c29d(0x25c,'P7KR')],void 0x0)&&_0x3fdff6[_0x24c29d(0x24a,'FvQM')]!==void 0x0;else try{await _0x5f0369[_0x24c29d(0x681,'c08&')](runMiddleware,_0x2abcd3,_0x3e6b57);}catch(_0xa972cd){if(_0x5f0369[_0x24c29d(0x448,'%5pV')](_0x5f0369[_0x24c29d(0x5ac,'EwV#')],_0x24c29d(0x394,'ISlu')))console[_0x24c29d(0x1df,'%5pV')](_0x5f0369[_0x24c29d(0x1f0,'BGGS')],_0xa972cd);else{const _0x50b56e=this[_0x24c29d(0x27a,'SxD7')](_0x102bc3),_0x5c83fb=_0x5f0369[_0x24c29d(0x270,'cvq7')](_0x12affb,_0x50b56e);!this[_0x24c29d(0x445,'nWEI')][_0x24c29d(0x4ac,'MwRq')](_0x343b81)?this[_0x24c29d(0x2b1,'BGGS')][_0x24c29d(0x5ce,'ISlu')](_0x5f1516,{'state':_0x5c83fb,'listeners':new _0x24a535()}):this[_0x24c29d(0x3ce,'Oc8V')][_0x24c29d(0x66e,'rCo2')](_0x4d96d5)[_0x24c29d(0x4ba,'T]47')]=_0x5c83fb,this[_0x24c29d(0x368,'Te]H')][_0x24c29d(0x4e6,'c08&')](_0xd75ce0)[_0x24c29d(0x454,'nec2')][_0x24c29d(0x611,'uklM')](_0x110437=>_0x110437());}}};return _0x3be13e[_0x28fa79(0x38b,'IC8t')][_0x28fa79(0x51d,'Ep3[')][_0x28fa79(0x6ce,'wvXk')](async _0x1ca04b=>{const _0x20475d=_0x28fa79;_0x1ca04b[_0x20475d(0x51b,'BGGS')][_0x20475d(0x1d9,'@Qs6')]=_0x5f0369[_0x20475d(0x2fd,'eu)n')](_0x1c06d0);try{const _0x1ecb80=_0x5f0a73[_0x20475d(0x538,'%5pV')]({..._0x1ca04b,'baseURL':_0x1ca04b[_0x20475d(0x5c6,'c08&')]??_0x28531b});console[_0x20475d(0x633,'PIj&')](_0x20475d(0x32a,'BWTx')+_0x1ca04b[_0x20475d(0x298,'Oc8V')]?.[_0x20475d(0x576,'NFX4')]()+'\x20'+_0x1ecb80,_0x20475d(0x6d3,'jXX@')+_0x1ca04b[_0x20475d(0x51c,'uklM')][_0x5f0369[_0x20475d(0x27c,'d(K*')]]+')');}catch{_0x5f0369[_0x20475d(0x2a8,'vnwu')](_0x5f0369[_0x20475d(0x6af,'I6M*')],_0x5f0369[_0x20475d(0x435,'Fp%A')])?console[_0x20475d(0x437,'%5pV')](_0x5f0369[_0x20475d(0x43b,'uklM')]):_0x5e8b93[_0x20475d(0x22e,'P&Vw')](_0x20475d(0x6c6,'Ep3['),_0x223fff);}await _0x5f0369[_0x20475d(0x4f6,'nWnn')](_0x48e617,{'req':_0x1ca04b,'custom':{}},middleware);if(_0x1ca04b[_0x20475d(0x3a2,'YBqZ')]??defaultIsPublic)return _0x1ca04b;if(_0x5f061b[_0x20475d(0x28a,'SxD7')]())return _0x1ca04b;let _0x142ee0=await _0x5f061b[_0x20475d(0x501,'Xon3')]();const _0x23b2e0=Date[_0x20475d(0x53a,'cvq7')](),_0x3ab667=0x3c*0x3e8;if(_0x142ee0[_0x20475d(0x3af,'nWEI')]&&_0x142ee0[_0x20475d(0x5a6,'m7MI')]&&_0x5f0369[_0x20475d(0x530,'dY(T')](_0x5f0369[_0x20475d(0x238,'%5pV')](_0x142ee0[_0x20475d(0x657,'G2Zz')],_0x23b2e0),_0x3ab667)&&!_0x583b28){if(_0x8bb297[_0x20475d(0x5d5,'NFX4')]){if(_0x5f0369[_0x20475d(0x282,'Te]H')](_0x5f0369[_0x20475d(0x607,'Xon3')],_0x5f0369[_0x20475d(0x698,'I6M*')])){console[_0x20475d(0x389,'nec2')](_0x20475d(0x52f,'T]47')),_0x583b28=!![];try{const _0x548c36=await refreshToken(_0x8bb297,_0x5f061b);if(_0x548c36)_0x142ee0=_0x548c36;}catch(_0x4f8105){console[_0x20475d(0x4ae,'T]47')](_0x20475d(0x62e,'pO#@'),_0x4f8105);}finally{_0x583b28=![];}}else return()=>_0x1c0e93[_0x20475d(0x29a,'Ep3[')]();}}return _0x142ee0[_0x20475d(0x285,'FvQM')]&&(_0x5f0369[_0x20475d(0x280,'tYoG')](_0x20475d(0x494,'P7KR'),_0x5f0369[_0x20475d(0x200,'MwRq')])?_0x1ca04b[_0x20475d(0x51b,'BGGS')][_0x20475d(0x227,'Xon3')]=(_0x142ee0[_0x20475d(0x317,'SxD7')]||_0x5f0369[_0x20475d(0x55d,'dY(T')])+'\x20'+_0x142ee0[_0x20475d(0x3af,'nWEI')]:_0x370dca[_0x20475d(0x4a2,'I6M*')](_0x10e847)),_0x1ca04b;}),_0x3be13e[_0x28fa79(0x379,'I6M*')][_0x28fa79(0x3f7,'BGGS')][_0x28fa79(0x4a6,'m7MI')](async _0x2844eb=>{const _0x4b8ae3=_0x28fa79;try{const _0x2c9757=_0x5f0a73[_0x4b8ae3(0x60b,'vnwu')](_0x2844eb[_0x4b8ae3(0x4de,'SxD7')]);console[_0x4b8ae3(0x305,'%5pV')](_0x4b8ae3(0x36b,'KbGR')+_0x2844eb[_0x4b8ae3(0x4b0,'cS44')][_0x4b8ae3(0x45d,'nec2')]?.[_0x4b8ae3(0x5df,'PIj&')]()+'\x20'+_0x2c9757,_0x4b8ae3(0x513,'dY(T')+_0x2844eb[_0x4b8ae3(0x4b0,'cS44')][_0x4b8ae3(0x20b,'cS44')][_0x5f0369[_0x4b8ae3(0x593,'p8z5')]]+_0x4b8ae3(0x464,'wvXk')+_0x2844eb[_0x4b8ae3(0x1ef,'BGGS')]+')');}catch{if(_0x5f0369[_0x4b8ae3(0x46f,'nWnn')]===_0x5f0369[_0x4b8ae3(0x455,'tc7g')]){const _0x2b3d19=[];for(const _0x1af48c of this[_0x4b8ae3(0x691,'SxD7')][_0x4b8ae3(0x66a,'#05&')]()){_0x1af48c[_0x4b8ae3(0x6cf,'I6M*')](_0x4668f9)&&_0x2b3d19[_0x4b8ae3(0x5a7,'cvq7')](_0x1af48c);}_0x2b3d19[_0x4b8ae3(0x5f1,'Q7sg')](_0x12b432=>this[_0x4b8ae3(0x691,'SxD7')][_0x4b8ae3(0x543,'tc7g')](_0x12b432)),_0x1b36aa[_0x4b8ae3(0x467,'YBqZ')](_0x4b8ae3(0x2d4,'HN&h')+_0x2b3d19[_0x4b8ae3(0x235,'T]47')]+_0x4b8ae3(0x5af,'eu)n')+_0x1f35fb);}else console[_0x4b8ae3(0x34a,'p8z5')](_0x5f0369[_0x4b8ae3(0x2c0,'tYoG')]);}return await _0x5f0369[_0x4b8ae3(0x5a0,'Fp%A')](_0x48e617,{'req':_0x2844eb[_0x4b8ae3(0x2ca,'nec2')],'res':_0x2844eb,'custom':{}},middleware),_0x2844eb;},async _0x1a85f6=>{const _0x547f13=_0x28fa79,_0x158555={'fUKgK':function(_0x10b8bb,_0x3c1bc4){const _0x37b84b=_0x185b;return _0x5f0369[_0x37b84b(0x512,'Ep3[')](_0x10b8bb,_0x3c1bc4);},'zKBJr':function(_0x1cff37,_0x128590,_0x34e168,_0x5d2882,_0x10243b){const _0x1cd229=_0x185b;return _0x5f0369[_0x1cd229(0x5a9,'G2Zz')](_0x1cff37,_0x128590,_0x34e168,_0x5d2882,_0x10243b);},'XdebM':function(_0x498ac2,_0x2a719b,_0x1670f1){const _0x379a0c=_0x185b;return _0x5f0369[_0x379a0c(0x623,'P&Vw')](_0x498ac2,_0x2a719b,_0x1670f1);},'QDRNK':function(_0x57d0da,_0x336657){const _0x14de4a=_0x185b;return _0x5f0369[_0x14de4a(0x39d,'m7MI')](_0x57d0da,_0x336657);}},_0x59d9ef=_0x1a85f6[_0x547f13(0x59e,'uklM')];try{const _0x1b0efe=_0x5f0a73[_0x547f13(0x289,'rCo2')](_0x59d9ef),_0x24d7a6=_0x59d9ef[_0x547f13(0x3b6,'tMbK')]?.[_0x547f13(0x6c1,'P&Vw')](),_0x238f14=_0x1a85f6[_0x547f13(0x3f7,'BGGS')]?.[_0x547f13(0x303,'Xon3')],_0xfabc0=_0x1a85f6[_0x547f13(0x338,'SxD7')]?.[_0x547f13(0x699,'Q7sg')],_0x481c42=_0x547f13(0x302,'p8z5')+_0x24d7a6+'\x20'+_0x1b0efe+_0x547f13(0x544,'tYoG')+_0x5f0369[_0x547f13(0x60f,'MwRq')](_0x238f14,_0x5f0369[_0x547f13(0x3e6,'FvQM')]),_0x41ffdd=_0xfabc0?.[_0x547f13(0x33b,'HN&h')]||_0x1a85f6[_0x547f13(0x564,'jXX@')];console[_0x547f13(0x4c9,'nWnn')](_0x481c42),console[_0x547f13(0x321,'KbGR')](_0x547f13(0x30d,'d(K*')+_0x41ffdd),_0x1a85f6[_0x547f13(0x409,'&aZy')]&&(console[_0x547f13(0x1eb,'BWTx')](_0x547f13(0x2bf,'&aZy')),console[_0x547f13(0x68c,'Q7sg')](_0x1a85f6[_0x547f13(0x66d,'Te]H')][_0x547f13(0x22d,'&aZy')]),console[_0x547f13(0x45c,'#05&')]());}catch{console[_0x547f13(0x45f,'&aZy')](_0x5f0369[_0x547f13(0x3b2,'rCo2')],_0x1a85f6[_0x547f13(0x6a1,'dY(T')]);}await _0x48e617({'req':_0x59d9ef,'error':_0x1a85f6,'custom':{}},middleware);const _0x3f2d47=_0x5f061b[_0x547f13(0x24e,'#05&')](),_0x107fd2=_0x5f0369[_0x547f13(0x329,'MwRq')](_0x1a85f6[_0x547f13(0x1ed,'jXX@')]?.[_0x547f13(0x25a,'Oc8V')],0x191)&&!_0x59d9ef[_0x547f13(0x376,'ISlu')]&&_0x8bb297[_0x547f13(0x2e6,'BGGS')];if(_0x3f2d47&&_0x107fd2)return console[_0x547f13(0x6d8,'BGGS')](_0x5f0369[_0x547f13(0x651,'Ep3[')]),Promise[_0x547f13(0x410,'I6M*')](_0x1a85f6);if(_0x5f0369[_0x547f13(0x3da,'EwV#')](!_0x3f2d47,_0x107fd2)){if(_0x583b28){if(_0x5f0369[_0x547f13(0x2a8,'vnwu')](_0x5f0369[_0x547f13(0x4db,'EwV#')],_0x5f0369[_0x547f13(0x3fa,'vnwu')])){if(_0x5f0369[_0x547f13(0x5b1,'KbGR')](_0x3a94b3[_0x547f13(0x5c3,'P7KR')],maxQueueSize))return console[_0x547f13(0x229,'vnwu')](_0x547f13(0x5ff,'FvQM')),Promise[_0x547f13(0x622,'Te]H')](_0x1a85f6);return new Promise((_0x1b5331,_0x37f8b3)=>_0x3a94b3[_0x547f13(0x6ac,'P&Vw')]({'resolve':_0x1b5331,'reject':_0x37f8b3}))[_0x547f13(0x269,'HN&h')](_0x4acc7b=>{const _0x219f41=_0x547f13;return _0x59d9ef[_0x219f41(0x46b,'FvQM')][_0x5f0369[_0x219f41(0x471,'tc7g')]]=_0x219f41(0x62a,'EwV#')+_0x4acc7b,_0x3be13e(_0x59d9ef);});}else return _0x5f0369[_0x547f13(0x1ec,'Fp%A')](_0x17a6b8,_0x5e81d4);}if(_0x5f0369[_0x547f13(0x5e5,'Lf%q')](_0x9afeeb,maxTokenRefreshRetries))return console[_0x547f13(0x3c3,'dY(T')](_0x5f0369[_0x547f13(0x642,'tc7g')]),Promise[_0x547f13(0x35a,'&aZy')](_0x1a85f6);_0x9afeeb++,_0x59d9ef[_0x547f13(0x1dc,'IC8t')]=!![],_0x583b28=!![];try{if(_0x5f0369[_0x547f13(0x369,'@Qs6')](_0x5f0369[_0x547f13(0x463,'Lf%q')],_0x547f13(0x431,'Fp%A'))){const _0x3b3c97={'zKzhF':function(_0x2bca90,_0x18a17f){const _0x1f2a4a=_0x547f13;return _0x158555[_0x1f2a4a(0x59c,'%5pV')](_0x2bca90,_0x18a17f);}},_0x4e309f={};for(const _0x150c5a in _0x39836f[_0x547f13(0x2bc,'tc7g')]){if(_0x269e2b[_0x547f13(0x355,'IC8t')][_0x150c5a]?.[_0x547f13(0x6c8,'rCo2')]){const _0x394939=_0x5e8a46=>{const _0x53699a=_0x547f13;_0x3b3c97[_0x53699a(0x569,'Oc8V')](_0xd09562,_0x155700=>({..._0x155700,[_0x150c5a]:typeof _0x5e8a46===_0x53699a(0x500,'EwV#')?_0x5e8a46(_0x155700[_0x150c5a]||{}):_0x5e8a46}));};_0x4e309f[_0x150c5a]={'options':_0x13001d[_0x150c5a]||{},'setOptions':_0x394939,'setPage':_0x37b5ff=>_0x394939(_0x46f2e0=>({..._0x46f2e0,'page':_0x37b5ff})),'setLimit':_0x4a1a3d=>_0x394939(_0x23f92a=>({..._0x23f92a,'limit':_0x4a1a3d,'page':0x1})),'setSearchTerm':_0x4f1da7=>_0x394939(_0x80613b=>({..._0x80613b,'search':_0x4f1da7,'page':0x1})),'setFilters':_0x1997c8=>_0x394939(_0xe4daf5=>({..._0xe4daf5,'filter':_0x1997c8,'page':0x1})),'setSorting':_0x1b3dd6=>_0x394939(_0x3b0fac=>({..._0x3b0fac,'sortBy':_0x1b3dd6})),'setQueryParam':(_0xd06b5f,_0x38132d)=>_0x394939(_0x5c3406=>({..._0x5c3406,[_0xd06b5f]:_0x38132d,'page':_0xd06b5f!==_0x547f13(0x300,'Q7sg')?_0x38132d:_0x5c3406[_0x547f13(0x65f,'#05&')]})),'reset':()=>_0x394939({})};}}return _0x4e309f;}else{const _0x120b3e=await refreshToken(_0x8bb297,_0x5f061b);if(!_0x120b3e?.[_0x547f13(0x696,'#05&')]){if(_0x5f0369[_0x547f13(0x639,'d(K*')](_0x5f0369[_0x547f13(0x3e8,'dY(T')],_0x5f0369[_0x547f13(0x621,'eu)n')]))_0x16bedf[_0x547f13(0x474,'Oc8V')](_0x645add,_0x2835cf,{'get':()=>{const _0x2937e9=_0x547f13,_0x2efcb5=_0x1ad509[_0x2937e9(0x26d,'G2Zz')][_0x1d268a],_0x1e2e69=_0x373a71[_0x3efc52]?.[_0x2937e9(0x5d1,'dY(T')],_0x115186=_0x2efcb5[_0x2937e9(0x69b,'Te]H')]?_0x1e2e69:void 0x0,_0x3abce6=_0xb3e1ca[_0x2937e9(0x40a,'nWnn')](_0x105038),_0x266972=_0x158555[_0x2937e9(0x414,'BGGS')](_0x212b2e,_0xaf56c0[_0x2937e9(0x31a,'tMbK')],_0x549b76,_0x115186,{'pathParams':_0x3abce6}),_0x200ec7=_0x4b50be(_0xc44eb6=>_0x573968[_0x2937e9(0x1ea,'T]47')](_0x266972,_0xc44eb6),()=>_0x8fa200[_0x2937e9(0x550,'@8N4')](_0x266972));return _0x158555[_0x2937e9(0x6a7,'Xon3')](_0x4de929,()=>{const _0x6531c8=_0x2937e9;_0x4821d6&&_0x200ec7[_0x6531c8(0x4cd,'T]47')]&&!_0x200ec7[_0x6531c8(0x6c4,'IC8t')]&&_0x2eedaa[_0x43e8ec][_0x6531c8(0x375,'ISlu')](_0x115186);},[_0x172a7d,_0x200ec7[_0x2937e9(0x5c1,'nec2')],_0x200ec7[_0x2937e9(0x263,'pO#@')],_0x115186,_0xab1def,_0x552bc5]),_0x200ec7;},'enumerable':!![]});else throw new Error(_0x5f0369[_0x547f13(0x44e,'cS44')]);}return _0x5f0369[_0x547f13(0x2b4,'p8z5')](_0x287437,null,_0x120b3e[_0x547f13(0x4bb,'c08&')]),_0x59d9ef[_0x547f13(0x295,'dY(T')][_0x547f13(0x686,'G2Zz')]=(_0x120b3e[_0x547f13(0x628,'EwV#')]||_0x5f0369[_0x547f13(0x2e8,'@Qs6')])+'\x20'+_0x120b3e[_0x547f13(0x589,'&aZy')],_0x3be13e(_0x59d9ef);}}catch(_0x14ee8a){return _0x5f0369[_0x547f13(0x5db,'Fp%A')](_0x287437,_0x14ee8a,null),Promise[_0x547f13(0x5eb,'rCo2')](_0x14ee8a);}finally{if(_0x5f0369[_0x547f13(0x2be,'BWTx')](_0x5f0369[_0x547f13(0x3c2,'Lf%q')],_0x5f0369[_0x547f13(0x4d8,'d(K*')])){const _0xc3e2e={'waNVB':function(_0xe86cf5,_0x59d9c6){const _0x3dc74f=_0x547f13;return _0x158555[_0x3dc74f(0x28f,'tc7g')](_0xe86cf5,_0x59d9c6);}},_0x36d1ce=_0x3020ec=>{const _0x27582a=_0x547f13;_0xc3e2e[_0x27582a(0x255,'EwV#')](_0x36afac,_0x28088e=>({..._0x28088e,[_0x2d1ad5]:typeof _0x3020ec===_0x27582a(0x532,'%5pV')?_0x3020ec(_0x28088e[_0x300d7b]||{}):_0x3020ec}));};_0x2b9c5f[_0xb8ce7]={'options':_0x23059b[_0x35d7f1]||{},'setOptions':_0x36d1ce,'setPage':_0x4b4c41=>_0x36d1ce(_0x43326e=>({..._0x43326e,'page':_0x4b4c41})),'setLimit':_0x536a1b=>_0x36d1ce(_0x9ffb54=>({..._0x9ffb54,'limit':_0x536a1b,'page':0x1})),'setSearchTerm':_0x193ffb=>_0x36d1ce(_0x1ffed0=>({..._0x1ffed0,'search':_0x193ffb,'page':0x1})),'setFilters':_0x5ac60c=>_0x36d1ce(_0x918870=>({..._0x918870,'filter':_0x5ac60c,'page':0x1})),'setSorting':_0x59b7ba=>_0x36d1ce(_0x283708=>({..._0x283708,'sortBy':_0x59b7ba})),'setQueryParam':(_0x13cb74,_0x478997)=>_0x36d1ce(_0x53848f=>({..._0x53848f,[_0x13cb74]:_0x478997,'page':_0x13cb74!==_0x547f13(0x671,'jXX@')?_0x478997:_0x53848f[_0x547f13(0x2ea,'I6M*')]})),'reset':()=>_0x36d1ce({})};}else _0x583b28=![];}}return Promise[_0x547f13(0x4e5,'Q7sg')](_0x1a85f6);}),_0x3be13e;}function _0x185b(_0x31c277,_0x2e9e4d){const _0x5524de=_0x54f2();return _0x185b=function(_0x22a68d,_0x5546ac){_0x22a68d=_0x22a68d-0x1d7;let _0x54f2f3=_0x5524de[_0x22a68d];if(_0x185b['gNjDwD']===undefined){var _0x185b65=function(_0x49786f){const _0x2dc78f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x27e82f='',_0x1f9a14='',_0x58fbf2=_0x27e82f+_0x185b65;for(let _0x2235be=0x0,_0x21df9f,_0x5a2daf,_0x200f41=0x0;_0x5a2daf=_0x49786f['charAt'](_0x200f41++);~_0x5a2daf&&(_0x21df9f=_0x2235be%0x4?_0x21df9f*0x40+_0x5a2daf:_0x5a2daf,_0x2235be++%0x4)?_0x27e82f+=_0x58fbf2['charCodeAt'](_0x200f41+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x21df9f>>(-0x2*_0x2235be&0x6)):_0x2235be:0x0){_0x5a2daf=_0x2dc78f['indexOf'](_0x5a2daf);}for(let _0x1c86f6=0x0,_0x266fd5=_0x27e82f['length'];_0x1c86f6<_0x266fd5;_0x1c86f6++){_0x1f9a14+='%'+('00'+_0x27e82f['charCodeAt'](_0x1c86f6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f9a14);};const _0x3b6c8b=function(_0xec5185,_0x1e227d){let _0x3ec17e=[],_0x49b7f1=0x0,_0x34b7a6,_0x291fb4='';_0xec5185=_0x185b65(_0xec5185);let _0xda23e6;for(_0xda23e6=0x0;_0xda23e6<0x100;_0xda23e6++){_0x3ec17e[_0xda23e6]=_0xda23e6;}for(_0xda23e6=0x0;_0xda23e6<0x100;_0xda23e6++){_0x49b7f1=(_0x49b7f1+_0x3ec17e[_0xda23e6]+_0x1e227d['charCodeAt'](_0xda23e6%_0x1e227d['length']))%0x100,_0x34b7a6=_0x3ec17e[_0xda23e6],_0x3ec17e[_0xda23e6]=_0x3ec17e[_0x49b7f1],_0x3ec17e[_0x49b7f1]=_0x34b7a6;}_0xda23e6=0x0,_0x49b7f1=0x0;for(let _0x419ef6=0x0;_0x419ef6<_0xec5185['length'];_0x419ef6++){_0xda23e6=(_0xda23e6+0x1)%0x100,_0x49b7f1=(_0x49b7f1+_0x3ec17e[_0xda23e6])%0x100,_0x34b7a6=_0x3ec17e[_0xda23e6],_0x3ec17e[_0xda23e6]=_0x3ec17e[_0x49b7f1],_0x3ec17e[_0x49b7f1]=_0x34b7a6,_0x291fb4+=String['fromCharCode'](_0xec5185['charCodeAt'](_0x419ef6)^_0x3ec17e[(_0x3ec17e[_0xda23e6]+_0x3ec17e[_0x49b7f1])%0x100]);}return _0x291fb4;};_0x185b['zHbMov']=_0x3b6c8b,_0x31c277=arguments,_0x185b['gNjDwD']=!![];}const _0x66ed88=_0x5524de[0x0],_0x522afd=_0x22a68d+_0x66ed88,_0x4ff474=_0x31c277[_0x522afd];if(!_0x4ff474){if(_0x185b['TmbMEF']===undefined){const _0x5dcc5f=function(_0x2d602f){this['VlLTXx']=_0x2d602f,this['kvUggC']=[0x1,0x0,0x0],this['UHQqPi']=function(){return'newState';},this['vpSVmX']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['zgzdNe']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x5dcc5f['prototype']['cvsFBo']=function(){const _0x2034e4=new RegExp(this['vpSVmX']+this['zgzdNe']),_0x3d1d6a=_0x2034e4['test'](this['UHQqPi']['toString']())?--this['kvUggC'][0x1]:--this['kvUggC'][0x0];return this['vitaRY'](_0x3d1d6a);},_0x5dcc5f['prototype']['vitaRY']=function(_0x335560){if(!Boolean(~_0x335560))return _0x335560;return this['flBcDp'](this['VlLTXx']);},_0x5dcc5f['prototype']['flBcDp']=function(_0x491ac5){for(let _0x47e851=0x0,_0x1acdc6=this['kvUggC']['length'];_0x47e851<_0x1acdc6;_0x47e851++){this['kvUggC']['push'](Math['round'](Math['random']())),_0x1acdc6=this['kvUggC']['length'];}return _0x491ac5(this['kvUggC'][0x0]);},new _0x5dcc5f(_0x185b)['cvsFBo'](),_0x185b['TmbMEF']=!![];}_0x54f2f3=_0x185b['zHbMov'](_0x54f2f3,_0x5546ac),_0x31c277[_0x522afd]=_0x54f2f3;}else _0x54f2f3=_0x4ff474;return _0x54f2f3;},_0x185b(_0x31c277,_0x2e9e4d);}import _0x403b73 from'axios';import _0x4a0bcb from'axios';function isAxiosResponse(_0x3d2c3b){const _0x1359de=_0x3fb125,_0x2990c7={'gvHBm':function(_0x158e9d,_0xafb64e){return _0x158e9d!==_0xafb64e;},'yuuBJ':function(_0x42de35,_0x5ae8a4){return _0x42de35!==_0x5ae8a4;}};return _0x3d2c3b&&_0x2990c7[_0x1359de(0x425,'EwV#')](_0x3d2c3b[_0x1359de(0x287,'KbGR')],void 0x0)&&_0x2990c7[_0x1359de(0x5f0,'G2Zz')](_0x3d2c3b[_0x1359de(0x3f9,'tYoG')],void 0x0)&&_0x3d2c3b[_0x1359de(0x652,'tYoG')]!==void 0x0;}function buildPaginateQuery(_0x1ed209){const _0x66352b=_0x3fb125,_0x40c3b4={'qZLYZ':function(_0x5dfac4,_0x1d6d1b,_0x4f6d59,_0x4e44aa){return _0x5dfac4(_0x1d6d1b,_0x4f6d59,_0x4e44aa);},'AeInm':function(_0x3b1b52,_0x79f1cf){return _0x3b1b52===_0x79f1cf;},'mWhAY':_0x66352b(0x478,'Fp%A'),'lLdyS':_0x66352b(0x522,'Lf%q'),'ZfOch':_0x66352b(0x542,'HN&h'),'swvED':function(_0x5aa860,_0x461afc){return _0x5aa860(_0x461afc);},'zULgp':function(_0x1e6e44,_0x142083){return _0x1e6e44===_0x142083;},'TXdGF':_0x66352b(0x5c5,'dY(T'),'rDFAs':_0x66352b(0x316,'tYoG'),'PXNut':_0x66352b(0x6b9,'tMbK'),'lxNZD':_0x66352b(0x5cf,'Fp%A'),'uCUum':_0x66352b(0x333,'Te]H'),'iZvgK':_0x66352b(0x537,'YBqZ'),'VCfAQ':function(_0x1e9e2e,_0x56289b){return _0x1e9e2e===_0x56289b;},'QGQXe':_0x66352b(0x582,'HN&h'),'Xtzup':_0x66352b(0x565,'I6M*'),'vqNdW':_0x66352b(0x646,'cS44'),'QyAvo':_0x66352b(0x470,'cvq7'),'vlXxy':function(_0x2f1084,_0x1ef00d){return _0x2f1084===_0x1ef00d;},'IzYTx':_0x66352b(0x34f,'Xon3'),'gfojY':function(_0xc7033e,_0x3e0682){return _0xc7033e(_0x3e0682);}},_0x49315d=new URLSearchParams();for(const _0x25c1c5 in _0x1ed209){const _0x57a7be=_0x1ed209[_0x25c1c5];if(_0x40c3b4[_0x66352b(0x22a,'BWTx')](_0x57a7be,null)||_0x40c3b4[_0x66352b(0x2a1,'jXX@')](_0x57a7be,void 0x0)){if(_0x40c3b4[_0x66352b(0x555,'BWTx')](_0x40c3b4[_0x66352b(0x392,'Q7sg')],_0x40c3b4[_0x66352b(0x331,'nWEI')])){if(_0x4bbfb1[_0x66352b(0x545,'rCo2')][_0x66352b(0x4e2,'eu)n')][_0x66352b(0x37f,'Lf%q')](_0x10f1de,_0x4120d8)){const {method:_0x2cd81a,endpoint:_0x335c4a,log:_0x89276}=_0x23a26c[_0x4d487b];_0x75d6b7[_0x34152b]=_0x40c3b4[_0x66352b(0x5dd,'nWEI')](_0x7a63dc,_0xca7273,_0x2cd81a,_0x335c4a);}}else continue;}if(_0x40c3b4[_0x66352b(0x212,'#05&')](_0x25c1c5,_0x40c3b4[_0x66352b(0x360,'IC8t')])&&_0x40c3b4[_0x66352b(0x61a,'vnwu')](typeof _0x57a7be,_0x40c3b4[_0x66352b(0x378,'EwV#')])&&!Array[_0x66352b(0x668,'PIj&')](_0x57a7be)){if(_0x40c3b4[_0x66352b(0x33e,'BGGS')]===_0x40c3b4[_0x66352b(0x248,'@Qs6')]){const _0x752aec=_0x461b08,_0x4b29cb=_0x752aec[_0x66352b(0x602,'nWnn')],_0x3fd8b7=_0x4b29cb&&_0x40c3b4[_0x66352b(0x43e,'HN&h')](typeof _0x4b29cb[_0x66352b(0x57f,'EwV#')],_0x40c3b4[_0x66352b(0x25d,'EwV#')])&&_0x4b29cb[_0x66352b(0x294,'nec2')]!==void 0x0;return{'data':_0x3fd8b7?_0x4b29cb[_0x66352b(0x47c,'uklM')]:_0x4b29cb,'links':_0x3fd8b7?_0x4b29cb[_0x66352b(0x319,'nWEI')]:void 0x0,'meta':_0x3fd8b7?_0x4b29cb[_0x66352b(0x310,'Xon3')]:void 0x0,'rawResponse':_0x4b29cb,'loading':![],'success':!![],'error':null,'message':_0x3fd8b7?_0x4b29cb[_0x66352b(0x5c7,'%5pV')]:_0x40c3b4[_0x66352b(0x3a8,'eu)n')],'validationErrors':[]};}else for(const _0x32d4bf in _0x57a7be){const _0x42a5e2=_0x57a7be[_0x32d4bf];_0x42a5e2!==null&&_0x42a5e2!==void 0x0&&_0x49315d[_0x66352b(0x655,'@Qs6')](_0x66352b(0x4a9,'BWTx')+_0x32d4bf+']',String(_0x42a5e2));}}else _0x40c3b4[_0x66352b(0x5cb,'m7MI')](_0x25c1c5,_0x40c3b4[_0x66352b(0x27b,'Te]H')])&&Array[_0x66352b(0x218,'cvq7')](_0x57a7be)?_0x66352b(0x67e,'Q7sg')===_0x66352b(0x52a,'vnwu')?(_0x51ecbb[_0x66352b(0x4d7,'pO#@')]&&_0x184ac4[_0x66352b(0x603,'P7KR')](_0xb5a99d[_0x66352b(0x6b0,'Q7sg')]||_0x40c3b4[_0x66352b(0x35f,'nWnn')],_0x530e78[_0x66352b(0x40b,'HN&h')]??void 0x0),_0x40c3b4[_0x66352b(0x2b8,'@Qs6')](_0x9cc90d,_0x56205a=>({..._0x56205a,'loading':![],'error':_0xd2dba4[_0x66352b(0x669,'Lf%q')],'success':![]}))):_0x57a7be[_0x66352b(0x55b,'nWEI')](_0x4040b4=>{const _0x4d9b45=_0x66352b;_0x40c3b4[_0x4d9b45(0x30e,'cS44')](_0x40c3b4[_0x4d9b45(0x323,'nWEI')],_0x40c3b4[_0x4d9b45(0x3ec,'HN&h')])?_0x4040b4&&_0x4040b4[_0x4d9b45(0x3fd,'HN&h')]&&_0x4040b4[_0x4d9b45(0x26b,'&aZy')]&&(_0x40c3b4[_0x4d9b45(0x6bf,'nWnn')](_0x40c3b4[_0x4d9b45(0x3b5,'FvQM')],_0x40c3b4[_0x4d9b45(0x353,'tc7g')])?_0xe0f994[_0x4d9b45(0x1fe,'G2Zz')](_0x3870cf[_0x4d9b45(0x562,'T]47')]||_0x40c3b4[_0x4d9b45(0x4cb,'cvq7')],_0x1a949c[_0x4d9b45(0x45f,'&aZy')]??void 0x0):_0x49315d[_0x4d9b45(0x2c1,'tYoG')](_0x40c3b4[_0x4d9b45(0x6c3,'P&Vw')],_0x4040b4[_0x4d9b45(0x493,'m7MI')]+':'+_0x4040b4[_0x4d9b45(0x251,'HN&h')])):this[_0x4d9b45(0x67b,'rCo2')][_0x4d9b45(0x37c,'SxD7')](_0x4f556b,{'state':_0xe76c05,'listeners':new _0x58fa19()});}):_0x49315d[_0x66352b(0x306,'T]47')](_0x25c1c5,_0x40c3b4[_0x66352b(0x58b,'wvXk')](String,_0x57a7be));}return _0x49315d[_0x66352b(0x214,'tMbK')]();}function isServerError(_0x3a387b){const _0x480168=_0x3fb125;return _0x4a0bcb[_0x480168(0x447,'m7MI')](_0x3a387b)&&_0x3a387b[_0x480168(0x3e2,'c08&')]!==void 0x0;}function isNetworkError(_0x20ac1f){const _0x4d50c3=_0x3fb125,_0x6ffc68={'YIpiK':function(_0x284bfd,_0x48de7a){return _0x284bfd!==_0x48de7a;}};return _0x4a0bcb[_0x4d50c3(0x4e0,'ISlu')](_0x20ac1f)&&_0x20ac1f[_0x4d50c3(0x548,'cvq7')]===void 0x0&&_0x6ffc68[_0x4d50c3(0x60a,'I6M*')](_0x20ac1f[_0x4d50c3(0x68d,'KbGR')],void 0x0);}var processResponse=_0x59608a=>{const _0x8561b5=_0x3fb125,_0x4fd142={'NUIRE':function(_0x42a76b,_0xd1aff6){return _0x42a76b(_0xd1aff6);},'EHeJL':function(_0x140dce,_0x367d27){return _0x140dce(_0x367d27);},'YxBHN':function(_0x3578bb,_0x1dc4a4){return _0x3578bb(_0x1dc4a4);},'DxRny':function(_0x1f4313,_0x59006e){return _0x1f4313===_0x59006e;},'zAnth':_0x8561b5(0x64f,'KbGR'),'QxOyo':function(_0x46ed30,_0x51ff1b){return _0x46ed30!==_0x51ff1b;},'Xbksu':_0x8561b5(0x25b,'G2Zz'),'arWgb':_0x8561b5(0x352,'c08&'),'slbzo':_0x8561b5(0x2db,'%5pV'),'dRbyX':_0x8561b5(0x264,'vnwu'),'DzJnR':_0x8561b5(0x54a,'Fp%A'),'MJExM':_0x8561b5(0x4eb,'Ep3['),'uJWrb':_0x8561b5(0x6d6,'Xon3'),'FMczl':_0x8561b5(0x6bb,'BGGS'),'WVSZD':function(_0x434aea,_0x30c789){return _0x434aea(_0x30c789);},'EedlM':_0x8561b5(0x228,'MwRq'),'EQojL':_0x8561b5(0x2ee,'tMbK'),'MXRKw':_0x8561b5(0x469,'m7MI'),'WpKjR':_0x8561b5(0x23f,'Te]H'),'AKxZh':_0x8561b5(0x5de,'Lf%q')};if(_0x4fd142[_0x8561b5(0x400,'Fp%A')](isAxiosResponse,_0x59608a)){if(_0x4fd142[_0x8561b5(0x4b2,'pO#@')](_0x8561b5(0x3fb,'BGGS'),_0x4fd142[_0x8561b5(0x1de,'MwRq')])){_0x4fd142[_0x8561b5(0x44f,'uklM')](_0x4c9d6d,_0x301a09);return;}else{const _0x4f7b91=_0x59608a,_0x17671d=_0x4f7b91[_0x8561b5(0x52d,'P&Vw')],_0x381da7=_0x17671d&&typeof _0x17671d[_0x8561b5(0x256,'I6M*')]===_0x8561b5(0x4fa,'rCo2')&&_0x4fd142[_0x8561b5(0x618,'Te]H')](_0x17671d[_0x8561b5(0x5fd,'pO#@')],void 0x0);return{'data':_0x381da7?_0x17671d[_0x8561b5(0x20c,'HN&h')]:_0x17671d,'links':_0x381da7?_0x17671d[_0x8561b5(0x656,'uklM')]:void 0x0,'meta':_0x381da7?_0x17671d[_0x8561b5(0x50d,'@Qs6')]:void 0x0,'rawResponse':_0x17671d,'loading':![],'success':!![],'error':null,'message':_0x381da7?_0x17671d[_0x8561b5(0x562,'T]47')]:_0x4fd142[_0x8561b5(0x492,'cS44')],'validationErrors':[]};}}if(_0x4fd142[_0x8561b5(0x4b3,'p8z5')](isServerError,_0x59608a)){const _0x4d8af4=_0x59608a,_0x382b98=_0x4d8af4[_0x8561b5(0x418,'tc7g')][_0x8561b5(0x47b,'NFX4')],_0x2815ac=_0x4d8af4[_0x8561b5(0x499,'@Qs6')][_0x8561b5(0x2e3,'rCo2')];let _0x4bd23e=_0x4fd142[_0x8561b5(0x5fc,'FvQM')];switch(_0x2815ac){case 0x190:_0x4bd23e=_0x4fd142[_0x8561b5(0x28e,'IC8t')];break;case 0x191:_0x4bd23e=_0x4fd142[_0x8561b5(0x643,'d(K*')];break;case 0x193:_0x4bd23e=_0x4fd142[_0x8561b5(0x374,'IC8t')];break;case 0x194:_0x4bd23e=_0x4fd142[_0x8561b5(0x407,'vnwu')];break;case 0x1a6:_0x4bd23e=_0x4fd142[_0x8561b5(0x4d9,'tc7g')];break;case 0x1f4:_0x4bd23e=_0x8561b5(0x21c,'jXX@');break;case 0x1f7:_0x4bd23e=_0x4fd142[_0x8561b5(0x444,'Oc8V')];break;default:_0x4bd23e=_0x8561b5(0x404,'pO#@')+_0x2815ac+')';}const _0x2048a4={'message':_0x382b98?.[_0x8561b5(0x22c,'m7MI')]||_0x4bd23e,'status':_0x2815ac,'code':_0x382b98?.[_0x8561b5(0x413,'P&Vw')]||_0x4d8af4[_0x8561b5(0x3c9,'nWEI')],'errors':_0x382b98?.[_0x8561b5(0x3ed,'HN&h')]||[]};return{'data':null,'rawResponse':_0x382b98,'error':_0x2048a4,'validationErrors':_0x2048a4[_0x8561b5(0x202,'%5pV')],'success':![],'loading':![],'message':_0x2048a4[_0x8561b5(0x39e,'@Qs6')]};}if(_0x4fd142[_0x8561b5(0x46d,'HN&h')](isNetworkError,_0x59608a)){const _0x4b6492=_0x59608a;return{'data':null,'rawResponse':_0x4b6492[_0x8561b5(0x4f2,'FvQM')],'error':{'message':_0x4fd142[_0x8561b5(0x476,'ISlu')],'status':0x0,'code':_0x4b6492[_0x8561b5(0x1f4,'dY(T')]},'success':![],'loading':![],'message':_0x8561b5(0x419,'cvq7')};}if(_0x403b73[_0x8561b5(0x667,'p8z5')](_0x59608a)){if(_0x4fd142[_0x8561b5(0x5f5,'MwRq')]!==_0x4fd142[_0x8561b5(0x5e3,'nWEI')])return{'data':null,'rawResponse':null,'error':{'message':_0x4fd142[_0x8561b5(0x6d0,'uklM')],'status':0x1f3},'success':![],'loading':![],'message':_0x4fd142[_0x8561b5(0x47f,'Lf%q')]};else{if(_0xc8a27f[_0x8561b5(0x6b3,'Ep3[')][_0x4742f9]?.[_0x8561b5(0x6cd,'#05&')]){const _0x166154=_0x2afa43=>{const _0x52c600=_0x8561b5;_0x4fd142[_0x52c600(0x6a5,'T]47')](_0x6c13c5,_0x4bcb6c=>({..._0x4bcb6c,[_0x4acd79]:typeof _0x2afa43===_0x52c600(0x1f7,'BWTx')?_0x2afa43(_0x4bcb6c[_0x202a3d]||{}):_0x2afa43}));};_0x30c75c[_0x29c2e9]={'options':_0x1058e4[_0x5c70df]||{},'setOptions':_0x166154,'setPage':_0x373b11=>_0x166154(_0x3a471f=>({..._0x3a471f,'page':_0x373b11})),'setLimit':_0x3f4463=>_0x166154(_0x39e9f5=>({..._0x39e9f5,'limit':_0x3f4463,'page':0x1})),'setSearchTerm':_0x2a32da=>_0x166154(_0x180841=>({..._0x180841,'search':_0x2a32da,'page':0x1})),'setFilters':_0x18fa71=>_0x166154(_0x56d9e7=>({..._0x56d9e7,'filter':_0x18fa71,'page':0x1})),'setSorting':_0x5a9367=>_0x166154(_0xc20253=>({..._0xc20253,'sortBy':_0x5a9367})),'setQueryParam':(_0x5e2f63,_0x2e7dcb)=>_0x166154(_0x4c154b=>({..._0x4c154b,[_0x5e2f63]:_0x2e7dcb,'page':_0x5e2f63!==_0x8561b5(0x23b,'cvq7')?_0x2e7dcb:_0x4c154b[_0x8561b5(0x653,'wvXk')]})),'reset':()=>_0x166154({})};}}}return{'data':null,'rawResponse':_0x59608a,'error':{'message':_0x8561b5(0x4ab,'BWTx'),'status':-0x1},'success':![],'loading':![],'message':_0x4fd142[_0x8561b5(0x2cb,'d(K*')]};};function buildDynamicUrl(_0x2be37c,_0x56dea2){const _0x3f9424=_0x3fb125,_0x19ae26={'WASNO':_0x3f9424(0x612,'HN&h'),'MTUgS':_0x3f9424(0x51e,'HN&h')};if(!_0x56dea2)return _0x2be37c;return _0x2be37c[_0x3f9424(0x5d9,'d(K*')](/\{(\w+)\}/g,(_0x39b71c,_0x5643c6)=>{const _0x34ad3d=_0x3f9424,_0x98ef39={'vXlOY':_0x19ae26[_0x34ad3d(0x6a3,'PIj&')]};if(_0x19ae26[_0x34ad3d(0x4d3,'EwV#')]===_0x19ae26[_0x34ad3d(0x458,'@Qs6')])return _0x56dea2[_0x34ad3d(0x695,'FvQM')](_0x5643c6)?String(_0x56dea2[_0x5643c6]):_0x39b71c;else _0x285427[_0x34ad3d(0x2ba,'Xon3')](_0x34ad3d(0x2d7,'Ep3['),_0x18044f),_0x1d1998[_0x34ad3d(0x2f7,'@8N4')](_0x98ef39[_0x34ad3d(0x5c8,'G2Zz')],_0x2ca478);});}function createApiServices(_0x1dd8bb,_0x1df53d){const _0x59b058=_0x3fb125,_0x2b53b3={'PkkHR':function(_0x370d4d,_0x49ddd6){return _0x370d4d!=_0x49ddd6;},'jciUd':_0x59b058(0x6ad,'Oc8V'),'roUpU':function(_0x39a588,_0x33025f,_0x4c8bde){return _0x39a588(_0x33025f,_0x4c8bde);},'GLykv':function(_0x4ccc9c,_0x5ba8a0){return _0x4ccc9c!==_0x5ba8a0;},'TAGbw':_0x59b058(0x2de,'BGGS'),'XoPsO':function(_0x16d039,_0x403b81){return _0x16d039(_0x403b81);},'eVFmM':function(_0x22183a,_0x5751b6){return _0x22183a(_0x5751b6);},'VgTnB':_0x59b058(0x35d,'BGGS'),'pvrJL':_0x59b058(0x4ce,'Oc8V'),'dCLLD':function(_0x859efb,_0x149f9f){return _0x859efb(_0x149f9f);},'hiAEC':_0x59b058(0x36a,'p8z5'),'rqzQG':function(_0x7daeaf,_0x4fcaf1,_0x4244b7){return _0x7daeaf(_0x4fcaf1,_0x4244b7);},'BZJJl':function(_0x53ba42,_0x771336){return _0x53ba42===_0x771336;},'VhvLi':_0x59b058(0x4dd,'P7KR'),'olWak':_0x59b058(0x208,'HN&h'),'xDYFG':function(_0x22e3df,_0x459556){return _0x22e3df(_0x459556);},'nvIDt':_0x59b058(0x21d,'MwRq'),'bZXxk':_0x59b058(0x381,'@Qs6'),'PEERM':_0x59b058(0x488,'YBqZ'),'CgxYW':_0x59b058(0x2dd,'G2Zz'),'QGlfV':function(_0x41a352,_0x3ebd06,_0x2d1e2e){return _0x41a352(_0x3ebd06,_0x2d1e2e);},'woQIl':_0x59b058(0x529,'uklM'),'indCW':function(_0x31308d,_0x16e11c){return _0x31308d(_0x16e11c);},'ZYiHW':function(_0x176afe,_0xa01530,_0x20aa5d){return _0x176afe(_0xa01530,_0x20aa5d);},'bZUGD':function(_0x513946,_0x3a0a01){return _0x513946!==_0x3a0a01;},'ajOkD':_0x59b058(0x47e,'T]47'),'Rmfrs':function(_0x402bd4,_0x604533){return _0x402bd4(_0x604533);},'bCBAI':function(_0x30979d,_0x42f6f0){return _0x30979d(_0x42f6f0);},'FMLOQ':_0x59b058(0x421,'&aZy'),'GVAMM':_0x59b058(0x3b7,'vnwu'),'jBtzj':_0x59b058(0x245,'EwV#'),'uSDlm':_0x59b058(0x4ff,'ISlu'),'LljbU':_0x59b058(0x327,'Lf%q'),'FALMI':_0x59b058(0x6ca,'IC8t'),'BSsqs':function(_0x4d7a5c,_0x483f8f){return _0x4d7a5c(_0x483f8f);},'zssXG':_0x59b058(0x68a,'cS44'),'GauxZ':_0x59b058(0x5dc,'eu)n'),'qDzhx':_0x59b058(0x3e4,'G2Zz'),'DzAOr':function(_0x138337,_0x4c1618){return _0x138337===_0x4c1618;},'TWKnK':_0x59b058(0x4d2,'tYoG'),'xWxNs':_0x59b058(0x23a,'rCo2'),'INgBg':_0x59b058(0x5c0,'pO#@'),'eHdfS':_0x59b058(0x465,'tc7g'),'XqGFm':function(_0x397645,_0x18e923){return _0x397645(_0x18e923);}},_0x18cdab=(_0x13d63e={},_0x327ad6)=>{const _0x1afef8=_0x59b058,_0x29c967={'FTMZv':function(_0x526fe8,_0x1ad993){const _0xdc4e59=_0x185b;return _0x2b53b3[_0xdc4e59(0x63f,'NFX4')](_0x526fe8,_0x1ad993);}};if(_0x2b53b3[_0x1afef8(0x54d,'Oc8V')]!==_0x2b53b3[_0x1afef8(0x42b,'SxD7')]){const _0x268d3b=_0x3909a3[_0x1afef8(0x2d9,'m7MI')]||(_0x29c967[_0x1afef8(0x39a,'uklM')](_0xc7ab83,null)?_0x3f61dc+_0x1afef8(0x509,'P&Vw'):_0x2a5111),_0x22031d=_0x29c967[_0x1afef8(0x3c5,'pO#@')](_0x2b6264,null)?{'id':_0x2808fc,'tenant':_0x2f4d59,'tenantId':_0x3293c0,'recordId':_0x6cd096}:{};return _0x445910(_0x268d3b,_0x22031d);}else{const _0x25dffa=_0x13d63e[_0x1afef8(0x5ae,'#05&')]||(_0x2b53b3[_0x1afef8(0x390,'dY(T')](_0x327ad6,null)?_0x1df53d+_0x1afef8(0x6b8,'Ep3['):_0x1df53d),_0x5475a9=_0x2b53b3[_0x1afef8(0x203,'m7MI')](_0x327ad6,null)?{'id':_0x327ad6,'tenant':_0x327ad6,'tenantId':_0x327ad6,'recordId':_0x327ad6}:{};return _0x2b53b3[_0x1afef8(0x527,'nWnn')](buildDynamicUrl,_0x25dffa,_0x5475a9);}},_0x5e7090=async(_0xf80d33,_0x16656a)=>{const _0x4651ce=_0x59b058,_0x39ec04={'ivKEr':function(_0x4598bc,_0x3b9efe,_0x5c867e){const _0x303d29=_0x185b;return _0x2b53b3[_0x303d29(0x3bd,'cS44')](_0x4598bc,_0x3b9efe,_0x5c867e);}},_0x145e4a=_0x2b53b3[_0x4651ce(0x606,'Q7sg')](_0x18cdab,_0x16656a,_0xf80d33);try{if(_0x2b53b3[_0x4651ce(0x441,'nec2')](_0x4651ce(0x336,'uklM'),_0x2b53b3[_0x4651ce(0x3b4,'%5pV')])){const _0x40484d=await _0x1dd8bb[_0x4651ce(0x658,'IC8t')](_0x145e4a,_0x16656a);return _0x2b53b3[_0x4651ce(0x5e1,'pO#@')](processResponse,_0x40484d);}else return _0x39ec04[_0x4651ce(0x2c3,'nec2')](_0xf038ce,_0x381760,null),_0x18c845[_0x4651ce(0x65b,'BWTx')](_0x2e77d2);}catch(_0x34c38e){return _0x2b53b3[_0x4651ce(0x434,'Lf%q')](processResponse,_0x34c38e);}},_0x5f1913=async(_0x34dfce,_0x5e43a3)=>{const _0x3aec8f=_0x59b058,_0x57613d=_0x1df53d+'?'+_0x34dfce;try{const _0x397097=await _0x1dd8bb[_0x3aec8f(0x382,'Q7sg')](_0x57613d,_0x5e43a3);return processResponse(_0x397097);}catch(_0x34add1){return _0x2b53b3[_0x3aec8f(0x498,'cS44')](processResponse,_0x34add1);}},_0x4e63c8=async(_0x125fc5,_0x32558e)=>{const _0x49f98=_0x59b058,_0x12b79f=_0x2b53b3[_0x49f98(0x27f,'eu)n')](_0x18cdab,_0x32558e);try{const _0x263f18=await _0x1dd8bb[_0x49f98(0x5ba,'@Qs6')](_0x12b79f,_0x125fc5,_0x32558e);return console[_0x49f98(0x5a1,'P&Vw')](_0x2b53b3[_0x49f98(0x283,'m7MI')],_0x263f18),console[_0x49f98(0x38f,'FvQM')](_0x2b53b3[_0x49f98(0x2a2,'d(K*')],_0x2b53b3[_0x49f98(0x48a,'NFX4')](processResponse,_0x263f18)),_0x2b53b3[_0x49f98(0x2c2,'ISlu')](processResponse,_0x263f18);}catch(_0x5848cf){return console[_0x49f98(0x398,'dY(T')](_0x2b53b3[_0x49f98(0x6c0,'PIj&')],processResponse(_0x5848cf)),_0x2b53b3[_0x49f98(0x4e3,'uklM')](processResponse,_0x5848cf);}},_0x11254c=async(_0x1a6312,_0x105de9,_0x2ab53f)=>{const _0x3225f4=_0x59b058,_0x53502b=_0x2b53b3[_0x3225f4(0x6a2,'Oc8V')](_0x18cdab,_0x2ab53f,_0x1a6312);try{if(_0x2b53b3[_0x3225f4(0x27e,'nWnn')](_0x2b53b3[_0x3225f4(0x6a8,'HN&h')],_0x2b53b3[_0x3225f4(0x640,'Lf%q')]))this[_0x3225f4(0x2b1,'BGGS')][_0x3225f4(0x65d,'SxD7')]((_0x30c845,_0x182cf1)=>{const _0x56ee41=_0x3225f4;if(_0x182cf1[_0x56ee41(0x560,'P&Vw')](_0xa2952a)){const _0x500f3f=this[_0x56ee41(0x341,'Oc8V')](_0x182cf1);_0x500f3f[_0x56ee41(0x2f4,'NFX4')]&&this[_0x56ee41(0x50c,'nWEI')](_0x182cf1,_0x36cd07=>({..._0x36cd07,'isStale':!![]}));}});else{const _0x1bd65a=await _0x1dd8bb[_0x3225f4(0x2cc,'PIj&')](_0x53502b,_0x105de9,_0x2ab53f);return _0x2b53b3[_0x3225f4(0x5a2,'G2Zz')](processResponse,_0x1bd65a);}}catch(_0x5d3109){if(_0x2b53b3[_0x3225f4(0x689,'tYoG')](_0x2b53b3[_0x3225f4(0x6c9,'BGGS')],_0x2b53b3[_0x3225f4(0x48e,'tc7g')]))_0x68490[_0x3225f4(0x3aa,'@8N4')](_0x819445[_0x3225f4(0x5a5,'EwV#')],_0x3cdd6d);else return processResponse(_0x5d3109);}},_0x28e40d=async(_0x3a9641,_0x4e82e5,_0x20b8cc)=>{const _0x3b1ff9=_0x59b058;if(_0x2b53b3[_0x3b1ff9(0x32b,'SxD7')](_0x3b1ff9(0x2a4,'eu)n'),_0x2b53b3[_0x3b1ff9(0x242,'EwV#')])){const _0x2ab590=_0x2b53b3[_0x3b1ff9(0x427,'P7KR')](_0x18cdab,_0x20b8cc,_0x3a9641);try{const _0x540e32=await _0x1dd8bb[_0x3b1ff9(0x372,'Xon3')](_0x2ab590,_0x4e82e5,_0x20b8cc);return _0x2b53b3[_0x3b1ff9(0x609,'jXX@')](processResponse,_0x540e32);}catch(_0x5bf8cd){if(_0x3b1ff9(0x65e,'BWTx')!==_0x2b53b3[_0x3b1ff9(0x1d8,'P&Vw')])return _0x2b53b3[_0x3b1ff9(0x514,'MwRq')](processResponse,_0x5bf8cd);else{const _0x32baad=this[_0x3b1ff9(0x261,'#05&')](_0x31161d);_0x32baad[_0x3b1ff9(0x2ff,'PIj&')]&&this[_0x3b1ff9(0x2fb,'vnwu')](_0x51de92,_0x537fd9=>({..._0x537fd9,'isStale':!![]}));}}}else{const _0x3fcdfa=_0x4d173c;return{'data':null,'rawResponse':_0x3fcdfa[_0x3b1ff9(0x401,'wvXk')],'error':{'message':_0x2b53b3[_0x3b1ff9(0x64a,'tc7g')],'status':0x0,'code':_0x3fcdfa[_0x3b1ff9(0x25e,'%5pV')]},'success':![],'loading':![],'message':_0x2b53b3[_0x3b1ff9(0x531,'&aZy')]};}},_0x35e9fb=async(_0x4a843d,_0x586be4)=>{const _0x505014=_0x59b058,_0x4013f6={'QXdCd':function(_0x5842ed,_0x5e4fbd){const _0x3d6f35=_0x185b;return _0x2b53b3[_0x3d6f35(0x1ff,'p8z5')](_0x5842ed,_0x5e4fbd);}},_0x30c73e=_0x2b53b3[_0x505014(0x4ad,'NFX4')](_0x18cdab,_0x586be4,_0x4a843d);try{if(_0x2b53b3[_0x505014(0x41f,'@Qs6')](_0x2b53b3[_0x505014(0x344,'PIj&')],_0x505014(0x3c4,'Lf%q')))_0x3b92b6[_0x505014(0x2c1,'tYoG')](_0x245c41,_0x4013f6[_0x505014(0x2d1,'I6M*')](_0x31a300,_0x352303));else{const _0x111403=await _0x1dd8bb[_0x505014(0x4a8,'I6M*')](_0x30c73e,_0x586be4);return processResponse(_0x111403);}}catch(_0x463e9e){return _0x2b53b3[_0x505014(0x223,'c08&')](processResponse,_0x463e9e);}},_0x2b3918=async(_0xb6d708,_0x2fa4d9)=>{const _0x337242=_0x59b058,_0x4fd646={'vGwIn':_0x2b53b3[_0x337242(0x383,'ISlu')],'eqDGy':_0x2b53b3[_0x337242(0x424,'eu)n')]};if(_0x2b53b3[_0x337242(0x689,'tYoG')](_0x2b53b3[_0x337242(0x3bb,'IC8t')],_0x2b53b3[_0x337242(0x5d4,'cS44')])){const _0x75b7d9=_0x2b53b3[_0x337242(0x290,'nec2')](_0x18cdab,_0x2fa4d9);try{if(_0x2b53b3[_0x337242(0x583,'Ep3[')]===_0x2b53b3[_0x337242(0x307,'FvQM')]){const _0x232863=await _0x1dd8bb[_0x337242(0x592,'YBqZ')](_0x75b7d9,{'data':{'ids':_0xb6d708},..._0x2fa4d9});return _0x2b53b3[_0x337242(0x4c3,'BWTx')](processResponse,_0x232863);}else this[_0x337242(0x440,'pO#@')][_0x337242(0x4fe,'cS44')](_0x584b74,{'data':_0x330a49,'timestamp':_0x3b00d1[_0x337242(0x694,'nec2')](),'duration':_0x4a679e||this[_0x337242(0x3e0,'Te]H')]});}catch(_0x1d2e0f){if(_0x2b53b3[_0x337242(0x315,'nWEI')](_0x2b53b3[_0x337242(0x31d,'EwV#')],_0x2b53b3[_0x337242(0x3a1,'nWnn')]))return processResponse(_0x1d2e0f);else{const _0x500dcf=_0x2b53b3[_0x337242(0x5e4,'I6M*')](_0x35f356,_0x405140);if(!_0x500dcf)throw new _0x36339d(_0x2b53b3[_0x337242(0x2c4,'Te]H')]);return _0x500dcf;}}}else{_0x16997e[_0x337242(0x5d0,'@8N4')](_0x4fd646[_0x337242(0x67c,'P&Vw')],_0x7de0bc);const _0x105aa0={'status':_0x455cd3[_0x337242(0x284,'Fp%A')]?.[_0x337242(0x4f9,'%5pV')]||0x1f4,'message':_0x2f6cd0[_0x337242(0x293,'nec2')]||_0x4fd646[_0x337242(0x461,'vnwu')],'code':_0x2e48f0[_0x337242(0x4f7,'SxD7')]};_0x28f481(_0x263c01=>({..._0x263c01,'loading':![],'success':![],'error':_0x105aa0})),_0x2f00bd[_0x337242(0x3c8,'BWTx')]&&_0x3f86d6[_0x337242(0x2f1,'SxD7')](_0x105aa0[_0x337242(0x359,'pO#@')],_0x105aa0);}},_0x166e2f=async(_0x165080,_0x286b7d,_0x358f98)=>{const _0x251d6e=_0x59b058,_0x41ffda=_0x2b53b3[_0x251d6e(0x3ea,'P&Vw')](_0x18cdab,_0x358f98),_0x59362c=new FormData();_0x59362c[_0x251d6e(0x4a0,'G2Zz')](_0x2b53b3[_0x251d6e(0x34c,'nWnn')],_0x165080);_0x286b7d&&(_0x2b53b3[_0x251d6e(0x2ce,'P&Vw')](_0x2b53b3[_0x251d6e(0x597,'cS44')],_0x2b53b3[_0x251d6e(0x53f,'jXX@')])?Object[_0x251d6e(0x66a,'#05&')](_0x286b7d)[_0x251d6e(0x55b,'nWEI')](_0x2638ab=>_0x59362c[_0x251d6e(0x67d,'Lf%q')](_0x2638ab,String(_0x286b7d[_0x2638ab]))):_0x3a7aa3[_0x251d6e(0x2e0,'wvXk')]={'onSuccess':_0x355291,'onError':_0x9d04a8});try{if(_0x2b53b3[_0x251d6e(0x2f8,'d(K*')]!==_0x2b53b3[_0x251d6e(0x2ed,'G2Zz')]){const _0x294e03=await _0x1dd8bb[_0x251d6e(0x34b,'tYoG')](_0x41ffda,_0x59362c,{..._0x358f98,'headers':{..._0x358f98?.[_0x251d6e(0x591,'&aZy')],'Content-Type':_0x2b53b3[_0x251d6e(0x340,'eu)n')]}});return _0x2b53b3[_0x251d6e(0x605,'Te]H')](processResponse,_0x294e03);}else _0x4d140d[_0x251d6e(0x3d4,'NFX4')](_0x5af642);}catch(_0x3dd1cf){if(_0x251d6e(0x2b2,'&aZy')!==_0x251d6e(0x5bf,'wvXk'))_0x4edb1f[_0x251d6e(0x5bc,'tc7g')](_0x50cbde=>_0x115590?_0x50cbde[_0x251d6e(0x50e,'uklM')](_0x349ed4):_0x50cbde[_0x251d6e(0x3e1,'HN&h')](_0x2160fd)),_0x471ccf=[];else return _0x2b53b3[_0x251d6e(0x391,'PIj&')](processResponse,_0x3dd1cf);}};return{'get':_0x5e7090,'getWithQuery':_0x5f1913,'post':_0x4e63c8,'put':_0x11254c,'patch':_0x28e40d,'remove':_0x35e9fb,'bulkDelete':_0x2b3918,'upload':_0x166e2f};}async function callDynamicApi(_0x2df0bc,_0x2c1496,_0x479a9b,_0x5af3da){const _0x315ef8=_0x3fb125,_0x1f8314={'uZIfO':function(_0x40abdb,_0x25434c){return _0x40abdb(_0x25434c);},'aCkRc':function(_0x1e8afe,_0x4ff118){return _0x1e8afe===_0x4ff118;},'aCnPV':_0x315ef8(0x3cc,'nWnn'),'GsPaq':function(_0x70f2fd,_0x4a8624){return _0x70f2fd===_0x4a8624;},'ifUxP':_0x315ef8(0x6d1,'vnwu'),'NdOuc':function(_0x1a63cb,_0x5c6d3a){return _0x1a63cb===_0x5c6d3a;},'DlLcg':function(_0x264ef3,_0x309f5e){return _0x264ef3===_0x309f5e;},'kYbhR':_0x315ef8(0x1f1,'Te]H'),'RukYi':_0x315ef8(0x432,'IC8t'),'jLUUz':_0x315ef8(0x683,'pO#@'),'tWbOT':function(_0x3c40b9,_0xdfdc3c){return _0x3c40b9(_0xdfdc3c);}},{pathParams:_0x5b3b3a,body:_0x51fec5,config:_0x50d939}=_0x5af3da,_0x5b165e=''+_0x2c1496+_0x479a9b[_0x315ef8(0x3b9,'BWTx')],_0x243c0f=buildDynamicUrl(_0x5b165e,_0x5b3b3a||{});try{if(_0x1f8314[_0x315ef8(0x1e9,'I6M*')](_0x1f8314[_0x315ef8(0x217,'Xon3')],_0x315ef8(0x377,'wvXk'))){const {method:_0x3bea63}=_0x479a9b;let _0x1742f9;if(_0x1f8314[_0x315ef8(0x63e,'@Qs6')](_0x3bea63,_0x1f8314[_0x315ef8(0x24b,'cvq7')])||_0x1f8314[_0x315ef8(0x2f3,'I6M*')](_0x3bea63,_0x315ef8(0x578,'Xon3'))||_0x1f8314[_0x315ef8(0x3e7,'cvq7')](_0x3bea63,_0x315ef8(0x4d1,'NFX4'))){if(_0x1f8314[_0x315ef8(0x1f2,'I6M*')](_0x1f8314[_0x315ef8(0x482,'#05&')],_0x1f8314[_0x315ef8(0x43d,'NFX4')]))return _0x1f8314[_0x315ef8(0x573,'YBqZ')](_0x2f9a88,_0x250aad);else _0x1742f9=await _0x2df0bc[_0x3bea63[_0x315ef8(0x232,'IC8t')]()](_0x243c0f,_0x51fec5,_0x50d939);}else _0x3bea63===_0x1f8314[_0x315ef8(0x201,'wvXk')]?_0x1742f9=await _0x2df0bc[_0x315ef8(0x592,'YBqZ')](_0x243c0f,{'data':_0x51fec5,..._0x50d939}):_0x1742f9=await _0x2df0bc[_0x315ef8(0x349,'vnwu')](_0x243c0f,{'params':_0x51fec5,..._0x50d939});return _0x1f8314[_0x315ef8(0x59f,'Te]H')](processResponse,_0x1742f9);}else _0x119d50[_0x315ef8(0x2f1,'SxD7')](_0x116844[_0x315ef8(0x26f,'YBqZ')],_0x3bc15f);}catch(_0x553326){return processResponse(_0x553326);}}function createAction(_0x27ed1e,_0x3d6a37,_0x3f4f6f){const _0x5ee091=_0x3fb125,_0x24ee8f={'xZOCA':function(_0x3ca570,_0x41cd30){return _0x3ca570(_0x41cd30);},'tpmtU':function(_0x3a376,_0x3520ee){return _0x3a376===_0x3520ee;},'iEtyW':_0x5ee091(0x55e,'ISlu'),'ZDBgU':_0x5ee091(0x35e,'m7MI'),'EIRdq':_0x5ee091(0x4fc,'FvQM'),'RQNvr':function(_0x445dbc,_0x61646d){return _0x445dbc(_0x61646d);},'ohmNg':function(_0x1af39a,_0x39a701){return _0x1af39a(_0x39a701);}};return async(_0x4f7b22,_0x3bab15)=>{const _0x3c60dd=_0x5ee091;try{if(_0x24ee8f[_0x3c60dd(0x551,'Q7sg')](_0x24ee8f[_0x3c60dd(0x3df,'Fp%A')],_0x24ee8f[_0x3c60dd(0x36e,'EwV#')]))return _0x24ee8f[_0x3c60dd(0x554,'YBqZ')](_0x5f1fbb,_0x1725de);else{const _0x39c6f0=await _0x27ed1e[_0x3c60dd(0x395,'c08&')]({'url':_0x3f4f6f,'method':_0x3d6a37,..._0x3d6a37[_0x3c60dd(0x452,'tMbK')]()===_0x24ee8f[_0x3c60dd(0x41a,'NFX4')]?{'params':_0x4f7b22}:{'data':_0x4f7b22},..._0x3bab15});return _0x24ee8f[_0x3c60dd(0x68f,'p8z5')](processResponse,_0x39c6f0);}}catch(_0x3c9bd3){return _0x24ee8f[_0x3c60dd(0x644,'@8N4')](processResponse,_0x3c9bd3);}};}function createApiActions(_0x19b5de,_0x3d6159){const _0x3b008d=_0x3fb125,_0x3f9509={'BtaWP':function(_0x211492,_0x4e6aa1){return _0x211492===_0x4e6aa1;},'SpucZ':_0x3b008d(0x3b0,'wvXk'),'BWrHx':function(_0x112827,_0x438087,_0x3c308a,_0x179fc3){return _0x112827(_0x438087,_0x3c308a,_0x179fc3);}},_0xa588c={};for(const _0x9d9c49 in _0x3d6159){if(Object[_0x3b008d(0x5d8,'pO#@')][_0x3b008d(0x517,'YBqZ')][_0x3b008d(0x37e,'Ep3[')](_0x3d6159,_0x9d9c49)){if(_0x3f9509[_0x3b008d(0x510,'tYoG')](_0x3f9509[_0x3b008d(0x397,'pO#@')],_0x3f9509[_0x3b008d(0x6cc,'m7MI')])){const {method:_0x35d62b,endpoint:_0xc095f,log:_0x115811}=_0x3d6159[_0x9d9c49];_0xa588c[_0x9d9c49]=_0x3f9509[_0x3b008d(0x566,'Q7sg')](createAction,_0x19b5de,_0x35d62b,_0xc095f);}else _0x3c3ce2=![];}}return _0xa588c;}var createInitialState=()=>({'data':null,'links':void 0x0,'meta':void 0x0,'error':null,'loading':![],'success':![],'called':![],'isStale':![],'message':void 0x0,'validationErrors':[],'rawResponse':null}),GlobalStateManager=class{constructor(){const _0x150749=_0x3fb125,_0x46167b={'QVrJL':function(_0x2826f2,_0x56ca52,_0x4ae3ab,_0x14aa18){return _0x2826f2(_0x56ca52,_0x4ae3ab,_0x14aa18);}};_0x46167b[_0x150749(0x46a,'nWEI')](__publicField,this,_0x150749(0x48d,'cS44'),new Map());}[_0x3fb125(0x650,'dY(T')](_0x27cf7f){const _0x5c882e=_0x3fb125,_0x2efb60={'zXZcU':function(_0x123cd5){return _0x123cd5();}};return this[_0x5c882e(0x598,'#05&')][_0x5c882e(0x5b6,'MwRq')](_0x27cf7f)?.[_0x5c882e(0x237,'nWnn')]??_0x2efb60[_0x5c882e(0x3b3,'EwV#')](createInitialState);}[_0x3fb125(0x28c,'Fp%A')](_0x5e5710,_0x178531){const _0x482860=_0x3fb125,_0x385a5a={'WveUf':function(_0x30d076,_0x5b559f){return _0x30d076!==_0x5b559f;},'bcnWm':_0x482860(0x399,'YBqZ')};!this[_0x482860(0x385,'SxD7')][_0x482860(0x4fb,'nWnn')](_0x5e5710)&&this[_0x482860(0x262,'jXX@')][_0x482860(0x35c,'NFX4')](_0x5e5710,{'state':createInitialState(),'listeners':new Set()});const _0x2bcdbe=this[_0x482860(0x584,'T]47')][_0x482860(0x5b6,'MwRq')](_0x5e5710);return _0x2bcdbe[_0x482860(0x5b7,'vnwu')][_0x482860(0x504,'tMbK')](_0x178531),()=>{const _0x3ddc96=_0x482860;_0x385a5a[_0x3ddc96(0x4f8,'KbGR')](_0x385a5a[_0x3ddc96(0x44c,'ISlu')],_0x385a5a[_0x3ddc96(0x483,'cvq7')])?_0x116da1&&_0x3a09c7():_0x2bcdbe[_0x3ddc96(0x508,'rCo2')][_0x3ddc96(0x296,'SxD7')](_0x178531);};}[_0x3fb125(0x30c,'d(K*')](_0x4c922e,_0x15cb46){const _0x3ce997=_0x3fb125,_0x5892ed={'NHzYC':function(_0x2499f8,_0x2f23e8){return _0x2499f8(_0x2f23e8);},'yJVKO':_0x3ce997(0x56c,'tc7g'),'uaQGT':_0x3ce997(0x41c,'Oc8V')},_0x54fedd=this[_0x3ce997(0x466,'vnwu')](_0x4c922e),_0x1b87f5=_0x5892ed[_0x3ce997(0x20d,'BWTx')](_0x15cb46,_0x54fedd);!this[_0x3ce997(0x3ce,'Oc8V')][_0x3ce997(0x4ac,'MwRq')](_0x4c922e)?_0x5892ed[_0x3ce997(0x4b1,'SxD7')]!==_0x5892ed[_0x3ce997(0x572,'Lf%q')]?this[_0x3ce997(0x547,'cvq7')][_0x3ce997(0x56e,'eu)n')](_0x4c922e,{'state':_0x1b87f5,'listeners':new Set()}):_0x472edc=![]:this[_0x3ce997(0x445,'nWEI')][_0x3ce997(0x511,'BWTx')](_0x4c922e)[_0x3ce997(0x37b,'Q7sg')]=_0x1b87f5,this[_0x3ce997(0x2e1,'wvXk')][_0x3ce997(0x439,'HN&h')](_0x4c922e)[_0x3ce997(0x3ab,'uklM')][_0x3ce997(0x3d6,'Fp%A')](_0x5b33f5=>_0x5b33f5());}[_0x3fb125(0x472,'I6M*')](_0x344f88){const _0x5bfadb=_0x3fb125,_0x5e32bf={'hDsWb':function(_0x21d075,_0x3dfd9b){return _0x21d075!==_0x3dfd9b;},'lzTQI':_0x5bfadb(0x1da,'PIj&')},_0xf590b2=this[_0x5bfadb(0x5f4,'Fp%A')](_0x344f88);if(_0xf590b2[_0x5bfadb(0x362,'&aZy')]){if(_0x5e32bf[_0x5bfadb(0x429,'tc7g')](_0x5e32bf[_0x5bfadb(0x3ae,'jXX@')],_0x5bfadb(0x1d7,'Q7sg'))){const _0x21f34d=_0x200f41?function(){const _0x232160=_0x5bfadb;if(_0x49b7f1){const _0x531ea4=_0x419ef6[_0x232160(0x518,'NFX4')](_0x5dcc5f,arguments);return _0x2d602f=null,_0x531ea4;}}:function(){};return _0x3ec17e=![],_0x21f34d;}else this[_0x5bfadb(0x520,'m7MI')](_0x344f88,_0x40c709=>({..._0x40c709,'isStale':!![]}));}}[_0x3fb125(0x278,'NFX4')](_0xd5c842){const _0x538279=_0x3fb125;this[_0x538279(0x262,'jXX@')][_0x538279(0x541,'PIj&')]((_0x3c346c,_0x5a9189)=>{const _0x1ce468=_0x538279;if(_0x5a9189[_0x1ce468(0x526,'p8z5')](_0xd5c842)){const _0x545d79=this[_0x1ce468(0x2d8,'EwV#')](_0x5a9189);_0x545d79[_0x1ce468(0x2f4,'NFX4')]&&this[_0x1ce468(0x6c2,'T]47')](_0x5a9189,_0x49acd1=>({..._0x49acd1,'isStale':!![]}));}});}[_0x3fb125(0x4ec,'pO#@')](){const _0x2f1627=_0x3fb125,_0x1870cf={'uOOBJ':function(_0x7ce98,_0x1647bf,_0x2c282e,_0xdf244c){return _0x7ce98(_0x1647bf,_0x2c282e,_0xdf244c);},'OgJWK':_0x2f1627(0x521,'BGGS')},_0x36740c={};return this[_0x2f1627(0x204,'KbGR')][_0x2f1627(0x5fa,'nec2')]((_0x3d506d,_0x52ee6a)=>{const _0x30f45b=_0x2f1627,_0x11571d={'eqfNV':function(_0x584224,_0x393137,_0x102a1d,_0x89382d){const _0x46c4be=_0x185b;return _0x1870cf[_0x46c4be(0x3a3,'Oc8V')](_0x584224,_0x393137,_0x102a1d,_0x89382d);}};_0x3d506d[_0x30f45b(0x364,'wvXk')][_0x30f45b(0x362,'&aZy')]&&(_0x30f45b(0x26c,'Ep3[')!==_0x1870cf[_0x30f45b(0x253,'BGGS')]?_0x11571d[_0x30f45b(0x1e2,'KbGR')](_0xe057de,this,_0x30f45b(0x1ee,'IC8t'),new _0x47086d()):_0x36740c[_0x52ee6a]=_0x3d506d[_0x30f45b(0x491,'tYoG')]);}),JSON[_0x2f1627(0x2cd,'tMbK')](_0x36740c);}[_0x3fb125(0x585,'uklM')](_0x3ad539){const _0x5db4b4=_0x3fb125,_0x4c12be={'cLVWM':function(_0x41fcf8,_0x53b51a){return _0x41fcf8===_0x53b51a;},'cYzqb':_0x5db4b4(0x6aa,'HN&h'),'neXoX':_0x5db4b4(0x536,'Lf%q')};try{if(_0x4c12be[_0x5db4b4(0x61f,'m7MI')](_0x4c12be[_0x5db4b4(0x666,'KbGR')],_0x5db4b4(0x4c2,'dY(T'))){const _0x33ba14=_0x555246[_0x5db4b4(0x30b,'%5pV')]+'/'+_0x5e5e78+'::';_0x3d6779[_0x5db4b4(0x304,'SxD7')](_0x33ba14);}else{const _0x39be5a=JSON[_0x5db4b4(0x337,'FvQM')](_0x3ad539);for(const _0x4ee092 in _0x39be5a){this[_0x5db4b4(0x59d,'Q7sg')](_0x4ee092,()=>_0x39be5a[_0x4ee092]);}}}catch(_0x53b197){console[_0x5db4b4(0x55a,'wvXk')](_0x4c12be[_0x5db4b4(0x3d0,'tc7g')],_0x53b197);}}},globalStateManager=new GlobalStateManager(),CacheManager=class{constructor(){const _0x15834c=_0x3fb125,_0x473e8c={'YBpnD':function(_0x48b43c,_0x27a7f3,_0x1ad746,_0x113eec){return _0x48b43c(_0x27a7f3,_0x1ad746,_0x113eec);},'iAdWj':_0x15834c(0x3e0,'Te]H'),'PlAAZ':function(_0x33cbcb,_0xf1eb15){return _0x33cbcb*_0xf1eb15;}};__publicField(this,_0x15834c(0x440,'pO#@'),new Map()),_0x473e8c[_0x15834c(0x37d,'I6M*')](__publicField,this,_0x473e8c[_0x15834c(0x272,'tMbK')],_0x473e8c[_0x15834c(0x370,'@8N4')](0xf,0x3c)*0x3e8);}[_0x3fb125(0x2d2,'d(K*')](_0x4d9792,_0x1b524e,_0x5aa8d2){const _0x3aef52=_0x3fb125;this[_0x3aef52(0x451,'wvXk')][_0x3aef52(0x308,'PIj&')](_0x4d9792,{'data':_0x1b524e,'timestamp':Date[_0x3aef52(0x226,'Xon3')](),'duration':_0x5aa8d2||this[_0x3aef52(0x4f0,'jXX@')]});}[_0x3fb125(0x439,'HN&h')](_0xc70fcf){const _0x1e7612=_0x3fb125,_0x22d8c6={'JrsjK':function(_0x58b5a8,_0x3680c1){return _0x58b5a8>_0x3680c1;},'mmWty':function(_0x2df86f,_0x4b07c2){return _0x2df86f-_0x4b07c2;}},_0x26d445=this[_0x1e7612(0x6ba,'NFX4')][_0x1e7612(0x5d2,'tc7g')](_0xc70fcf);if(!_0x26d445)return null;const _0x5baeba=_0x22d8c6[_0x1e7612(0x2f5,'Ep3[')](_0x22d8c6[_0x1e7612(0x4bc,'IC8t')](Date[_0x1e7612(0x357,'T]47')](),_0x26d445[_0x1e7612(0x2d3,'Xon3')]),_0x26d445[_0x1e7612(0x63d,'tc7g')]);if(_0x5baeba)return this[_0x1e7612(0x627,'cS44')][_0x1e7612(0x47a,'Lf%q')](_0xc70fcf),null;return _0x26d445[_0x1e7612(0x33c,'@8N4')];}[_0x3fb125(0x5ab,'Ep3[')](_0x4ce11c){const _0x3161c4=_0x3fb125,_0x47b324={'GTQpI':function(_0x132632,_0x27d391){return _0x132632(_0x27d391);},'zmqVH':function(_0x198711,_0x185ecc){return _0x198711>_0x185ecc;},'vOAPh':function(_0x1cba4f,_0x591a43){return _0x1cba4f-_0x591a43;},'mdrOk':_0x3161c4(0x60c,'dY(T')},_0x4cf1c6=this[_0x3161c4(0x207,'tMbK')][_0x3161c4(0x4d6,'P7KR')](_0x4ce11c);if(!_0x4cf1c6)return null;const _0x210ec1=_0x47b324[_0x3161c4(0x347,'ISlu')](_0x47b324[_0x3161c4(0x21f,'HN&h')](Date[_0x3161c4(0x297,'vnwu')](),_0x4cf1c6[_0x3161c4(0x393,'IC8t')]),_0x4cf1c6[_0x3161c4(0x206,'nWnn')]);if(_0x210ec1)return _0x3161c4(0x2d5,'%5pV')===_0x47b324[_0x3161c4(0x5ca,'ISlu')]?(this[_0x3161c4(0x3d2,'nWnn')][_0x3161c4(0x4df,'P&Vw')](_0x4ce11c),null):_0x47b324[_0x3161c4(0x49d,'IC8t')](_0x3c0a9e,_0x568266);return _0x4cf1c6;}[_0x3fb125(0x224,'cS44')](_0x46a1fc){const _0x5890fc=_0x3fb125;this[_0x5890fc(0x503,'jXX@')][_0x5890fc(0x5b9,'m7MI')](_0x46a1fc);}[_0x3fb125(0x335,'#05&')](){const _0x28d208=_0x3fb125;this[_0x28d208(0x503,'jXX@')][_0x28d208(0x423,'uklM')]();}[_0x3fb125(0x3c7,'@8N4')](_0x3b7e2a){const _0x5e0095=_0x3fb125,_0x5eea54={'PwiXz':_0x5e0095(0x1fd,'wvXk'),'pJJcy':_0x5e0095(0x4aa,'dY(T')},_0x2c40a6=[];for(const _0x1393a5 of this[_0x5e0095(0x49c,'vnwu')][_0x5e0095(0x443,'m7MI')]()){if(_0x1393a5[_0x5e0095(0x3c6,'eu)n')](_0x3b7e2a)){if(_0x5e0095(0x649,'jXX@')===_0x5eea54[_0x5e0095(0x230,'Lf%q')])_0x2c40a6[_0x5e0095(0x5e2,'uklM')](_0x1393a5);else return _0x16222a[_0x5e0095(0x1e0,'nWnn')]()[_0x5e0095(0x540,'cvq7')](lqRQnn[_0x5e0095(0x62c,'dY(T')])[_0x5e0095(0x57e,'T]47')]()[_0x5e0095(0x363,'T]47')](_0x518e27)[_0x5e0095(0x345,'@8N4')](_0x5e0095(0x38e,'nec2'));}}_0x2c40a6[_0x5e0095(0x252,'cvq7')](_0x4f4345=>this[_0x5e0095(0x436,'Xon3')][_0x5e0095(0x2e4,'cvq7')](_0x4f4345)),console[_0x5e0095(0x33a,'BWTx')](_0x5e0095(0x3fc,'EwV#')+_0x2c40a6[_0x5e0095(0x42f,'Q7sg')]+_0x5e0095(0x3dd,'dY(T')+_0x3b7e2a);}},cacheManager=new CacheManager();import{useState,useEffect,useCallback,useRef,useMemo}from'react';function buildDynamicPath(_0x368ab2,_0x382570){const _0x2fe71e=_0x3fb125,_0x2eccdf={'dauDe':function(_0x2887d1,_0x5a60d4){return _0x2887d1===_0x5a60d4;},'jofhX':_0x2fe71e(0x4b4,'HN&h'),'FeuJs':function(_0x5d80de,_0x53c50d){return _0x5d80de(_0x53c50d);}};if(!_0x382570)return _0x368ab2;let _0x467210=_0x368ab2;for(const _0x151fb2 in _0x382570){if(_0x2eccdf[_0x2fe71e(0x4cf,'Xon3')](_0x2eccdf[_0x2fe71e(0x330,'SxD7')],_0x2fe71e(0x2ec,'uklM')))return this[_0x2fe71e(0x440,'pO#@')][_0x2fe71e(0x31e,'eu)n')](_0x20f838),null;else _0x467210=_0x467210[_0x2fe71e(0x5aa,'I6M*')](new RegExp('{'+_0x151fb2+'}','g'),_0x2eccdf[_0x2fe71e(0x29d,'p8z5')](String,_0x382570[_0x151fb2]));}return _0x467210;}function useApi(_0x55471e,_0x4adcd7){const _0x5c9b5d=_0x3fb125,_0x366000={'AhaBS':_0x5c9b5d(0x236,'Ep3['),'vFsXn':function(_0x28aaef,_0x3baa4b){return _0x28aaef===_0x3baa4b;},'aHGzm':function(_0x2310e4,_0x5e6434){return _0x2310e4(_0x5e6434);},'ZoHEO':function(_0x55acc3,_0x5b4a05){return _0x55acc3>_0x5b4a05;},'QoFmc':function(_0x3f8758,_0x4a73a5){return _0x3f8758(_0x4a73a5);},'Xlgyu':_0x5c9b5d(0x1f3,'Xon3'),'KQLRm':_0x5c9b5d(0x37a,'wvXk'),'gmMFm':function(_0x21e3fc,_0x2074aa){return _0x21e3fc(_0x2074aa);},'ADkbJ':function(_0x1ddea0,_0x3f8985){return _0x1ddea0(_0x3f8985);},'bBnHj':function(_0x1ac32f,_0x4ba4dc){return _0x1ac32f===_0x4ba4dc;},'PtxFz':_0x5c9b5d(0x402,'G2Zz'),'ACdcx':function(_0x551222){return _0x551222();},'eyJxC':function(_0x1cfe57,_0x381c95,_0x298f06,_0x2dbfce){return _0x1cfe57(_0x381c95,_0x298f06,_0x2dbfce);},'uGVKS':_0x5c9b5d(0x54c,'tc7g'),'vNuon':function(_0x9a8a0f,_0x429b54){return _0x9a8a0f*_0x429b54;},'dueUd':_0x5c9b5d(0x48b,'%5pV'),'HAgaI':function(_0x45ae91,_0x5e2143){return _0x45ae91(_0x5e2143);},'jGpnW':function(_0x2f1700,_0xa1dcad){return _0x2f1700(_0xa1dcad);},'xWHLg':_0x5c9b5d(0x64c,'MwRq'),'QonxH':_0x5c9b5d(0x52e,'nWnn'),'ToVCW':_0x5c9b5d(0x2c8,'Q7sg'),'SQygX':function(_0x3ef209,_0x160998){return _0x3ef209(_0x160998);},'cvnkv':_0x5c9b5d(0x426,'nWnn'),'AffRM':function(_0x44362a,_0x53a581,_0x3f081){return _0x44362a(_0x53a581,_0x3f081);},'bQICX':function(_0x342e71,_0x5e05f9){return _0x342e71??_0x5e05f9;},'PeJbD':function(_0x2dcb88,_0x1f06e2){return _0x2dcb88(_0x1f06e2);},'ziqAJ':function(_0x147c75,_0x52ea77,_0x125215){return _0x147c75(_0x52ea77,_0x125215);},'GZsKZ':function(_0x6d702f,_0x5eb7e4,_0x16e33f){return _0x6d702f(_0x5eb7e4,_0x16e33f);},'ECheP':function(_0x56f733,_0x1fa86b,_0x6e3a43){return _0x56f733(_0x1fa86b,_0x6e3a43);}},{endpoint:_0x3184d1,pathParams:_0x428128,initialData:_0x25c31b,initialQuery:initialQuery={},enabled:enabled=!![],refetchAfterChange:refetchAfterChange=!![],requestConfig:_0x31d30,onSuccess:_0xe4ff3a,onError:_0xc17194}=_0x4adcd7,_0x3dec3a=_0x366000[_0x5c9b5d(0x4d5,'cvq7')](useMemo,()=>buildDynamicPath(_0x3184d1,_0x428128),[_0x3184d1,_0x428128]),[_0x313651,_0x13299f]=_0x366000[_0x5c9b5d(0x5bd,'Xon3')](useState,{'data':_0x366000[_0x5c9b5d(0x4fd,'&aZy')](_0x25c31b,null),'rawResponse':null,'loading':enabled,'error':null,'success':![],'message':void 0x0,'validationErrors':void 0x0}),[_0x1b4151,_0x32994a]=_0x366000[_0x5c9b5d(0x43f,'dY(T')](useState,initialQuery),_0x373526=_0x366000[_0x5c9b5d(0x5ec,'nWEI')](useMemo,()=>createApiServices(_0x55471e,_0x3dec3a),[_0x55471e,_0x3dec3a]),_0x293a81=useRef(_0xe4ff3a),_0x562c92=useRef(_0xc17194);_0x366000[_0x5c9b5d(0x6ae,'SxD7')](useEffect,()=>{const _0x555fab=_0x5c9b5d;_0x293a81[_0x555fab(0x2e0,'wvXk')]=_0xe4ff3a,_0x562c92[_0x555fab(0x3c8,'BWTx')]=_0xc17194;},[_0xe4ff3a,_0xc17194]);const _0x5e0e3a=_0x366000[_0x5c9b5d(0x5e9,'c08&')](useCallback,async _0x583157=>{const _0x1142e9=_0x5c9b5d;if(_0x366000[_0x1142e9(0x487,'&aZy')](_0x1142e9(0x3ba,'m7MI'),_0x1142e9(0x59a,'P&Vw')))throw new _0x2cf25f(_0x366000[_0x1142e9(0x68b,'IC8t')]);else{_0x366000[_0x1142e9(0x4b6,'ISlu')](_0x13299f,_0x24f4f1=>({..._0x24f4f1,'loading':!![],'error':null}));try{const _0x1a0044=_0x583157||_0x1b4151,_0x116ceb=_0x366000[_0x1142e9(0x50a,'ISlu')](Object[_0x1142e9(0x51a,'&aZy')](_0x1a0044)[_0x1142e9(0x3de,'SxD7')],0x0),_0x49702d=_0x366000[_0x1142e9(0x1fc,'EwV#')](buildPaginateQuery,_0x1a0044),_0x57c81e=_0x116ceb?await _0x373526[_0x1142e9(0x209,'m7MI')](_0x49702d,_0x31d30):await _0x373526[_0x1142e9(0x54f,'eu)n')](void 0x0,_0x31d30);_0x366000[_0x1142e9(0x5ed,'G2Zz')](_0x13299f,_0x57c81e);if(_0x57c81e[_0x1142e9(0x5fe,'NFX4')]&&_0x293a81[_0x1142e9(0x2ad,'tMbK')])_0x293a81[_0x1142e9(0x44a,'nWEI')](_0x57c81e[_0x1142e9(0x211,'rCo2')]||_0x366000[_0x1142e9(0x6ab,'NFX4')],_0x57c81e[_0x1142e9(0x602,'nWnn')]??void 0x0);else!_0x57c81e[_0x1142e9(0x3ee,'IC8t')]&&_0x562c92[_0x1142e9(0x688,'I6M*')]&&_0x562c92[_0x1142e9(0x457,'m7MI')](_0x57c81e[_0x1142e9(0x685,'P&Vw')]||_0x1142e9(0x636,'SxD7'),_0x57c81e[_0x1142e9(0x1e5,'YBqZ')]??void 0x0);}catch(_0x1bbc40){const _0x554018={'status':0x1f4,'message':_0x1bbc40[_0x1142e9(0x276,'uklM')]||_0x366000[_0x1142e9(0x5ea,'Q7sg')]};_0x366000[_0x1142e9(0x41b,'G2Zz')](_0x13299f,_0x5d5e1a=>({..._0x5d5e1a,'loading':![],'error':_0x554018,'success':![]})),_0x562c92[_0x1142e9(0x4d4,'&aZy')]&&_0x562c92[_0x1142e9(0x457,'m7MI')](_0x554018[_0x1142e9(0x275,'Fp%A')],_0x554018);}}},[_0x373526,_0x1b4151,_0x31d30]);_0x366000[_0x5c9b5d(0x69a,'Te]H')](useEffect,()=>{const _0x55f612=_0x5c9b5d;if(enabled){if(_0x366000[_0x55f612(0x660,'pO#@')](_0x55f612(0x3db,'dY(T'),_0x366000[_0x55f612(0x507,'c08&')]))return _0x366000[_0x55f612(0x271,'T]47')](_0x47eead,_0x505eb2);else _0x366000[_0x55f612(0x60d,'P&Vw')](_0x5e0e3a);}},[enabled,_0x5e0e3a]);const _0x17c7cf=_0x366000[_0x5c9b5d(0x28d,'cvq7')](useCallback,async _0x4433bc=>{const _0x295f99=_0x5c9b5d,_0x376b72={'lzlMP':_0x366000[_0x295f99(0x610,'@8N4')],'KSkiE':function(_0x526560,_0x3d6e02){const _0x343f09=_0x295f99;return _0x366000[_0x343f09(0x63a,'Te]H')](_0x526560,_0x3d6e02);}};_0x366000[_0x295f99(0x680,'NFX4')](_0x13299f,_0x9ac759=>({..._0x9ac759,'loading':!![]}));try{if(_0x366000[_0x295f99(0x5e7,'G2Zz')](_0x366000[_0x295f99(0x277,'Lf%q')],_0x366000[_0x295f99(0x31b,'&aZy')])){const _0x38a859=await _0x4433bc;if(_0x38a859[_0x295f99(0x66b,'rCo2')])_0x293a81[_0x295f99(0x6a0,'Ep3[')]&&_0x293a81[_0x295f99(0x246,'tc7g')](_0x38a859[_0x295f99(0x4a3,'Oc8V')]||_0x295f99(0x2fc,'tYoG'),_0x38a859[_0x295f99(0x59b,'EwV#')]??void 0x0),refetchAfterChange?_0x366000[_0x295f99(0x387,'tMbK')](_0x366000[_0x295f99(0x3be,'#05&')],_0x366000[_0x295f99(0x635,'pO#@')])?await _0x366000[_0x295f99(0x3d1,'T]47')](_0x5e0e3a,_0x1b4151):(_0x366000[_0x295f99(0x2f9,'uklM')](_0x3ad2db,this,_0x366000[_0x295f99(0x4dc,'uklM')],new _0x597863()),_0x366000[_0x295f99(0x30f,'Oc8V')](_0xa49a8b,this,_0x295f99(0x438,'FvQM'),_0x366000[_0x295f99(0x3f1,'eu)n')](_0x366000[_0x295f99(0x2b7,'jXX@')](0xf,0x3c),0x3e8))):_0x13299f(_0x32bb2a=>({..._0x32bb2a,..._0x38a859,'loading':![]}));else{if(_0x366000[_0x295f99(0x693,'BWTx')](_0x295f99(0x44d,'tMbK'),_0x295f99(0x1f9,'Xon3'))){_0x54f335[_0x295f99(0x52b,'d(K*')](_0x376b72[_0x295f99(0x4c6,'ISlu')],_0x44cc64);const _0x2d1371={'status':_0x2764ed[_0x295f99(0x6bd,'d(K*')]?.[_0x295f99(0x661,'ISlu')]||0x1f4,'message':_0xe72df6[_0x295f99(0x4c8,'tYoG')]||_0x295f99(0x480,'dY(T'),'code':_0x2fa121[_0x295f99(0x519,'uklM')]},_0x5df559={..._0x5419ff,'loading':![],'success':![],'error':_0x2d1371,'rawResponse':_0x16ce12,'data':null};return _0x376b72[_0x295f99(0x677,'cvq7')](_0x30ea76,_0x5df559),_0x37840b[_0x295f99(0x62d,'rCo2')]&&_0x2a2cbe[_0x295f99(0x246,'tc7g')](_0x2d1371[_0x295f99(0x23d,'Xon3')],_0x2d1371),_0x5df559;}else _0x562c92[_0x295f99(0x586,'nWnn')]&&_0x562c92[_0x295f99(0x497,'dY(T')](_0x38a859[_0x295f99(0x53b,'P7KR')]||_0x366000[_0x295f99(0x528,'tc7g')],_0x38a859[_0x295f99(0x2e7,'BWTx')]??void 0x0),_0x366000[_0x295f99(0x210,'KbGR')](_0x13299f,_0x2a3db7=>({..._0x2a3db7,'loading':![],'error':_0x38a859[_0x295f99(0x484,'pO#@')],'success':![]}));}return _0x38a859;}else _0x30ddab[_0x599075]=_0x184ed6[_0x295f99(0x648,'EwV#')];}catch(_0x98c3a9){const _0x460120={'status':0x1f4,'message':_0x98c3a9[_0x295f99(0x601,'@8N4')]||_0x366000[_0x295f99(0x5d6,'EwV#')]};return _0x13299f(_0x4ccf48=>({..._0x4ccf48,'loading':![],'error':_0x460120,'success':![]})),_0x562c92[_0x295f99(0x2ad,'tMbK')]&&_0x562c92[_0x295f99(0x457,'m7MI')](_0x460120[_0x295f99(0x546,'G2Zz')],_0x460120),{'data':null,'error':_0x460120,'loading':![],'success':![],'rawResponse':_0x98c3a9};}},[refetchAfterChange,_0x5e0e3a,_0x1b4151]),_0x558b30={'fetch':_0x5e0e3a,'create':(_0x12b256,_0x5afc1d)=>_0x17c7cf(_0x373526[_0x5c9b5d(0x557,'tc7g')](_0x12b256,_0x5afc1d)),'put':(_0x47c56d,_0x1d1e6c,_0x420ff3)=>_0x17c7cf(_0x373526[_0x5c9b5d(0x50f,'@8N4')](_0x47c56d,_0x1d1e6c,_0x420ff3)),'update':(_0x5882c8,_0x52c8a7,_0x4e4174)=>_0x17c7cf(_0x373526[_0x5c9b5d(0x314,'SxD7')](_0x5882c8,_0x52c8a7,_0x4e4174)),'remove':(_0x57ff1f,_0x2a1b76)=>_0x17c7cf(_0x373526[_0x5c9b5d(0x6d2,'nWEI')](_0x57ff1f,_0x2a1b76)),'bulkRemove':(_0x325449,_0xb357a)=>_0x17c7cf(_0x373526[_0x5c9b5d(0x5c2,'&aZy')](_0x325449,_0xb357a))},_0x4ffd8={'options':_0x1b4151,'setOptions':_0x32994a,'setPage':_0x526f04=>_0x32994a(_0x274206=>({..._0x274206,'page':_0x526f04})),'setLimit':_0x430c3a=>_0x32994a(_0x36b6ce=>({..._0x36b6ce,'page':0x1,'limit':_0x430c3a})),'setSearchTerm':_0x422ef3=>_0x32994a(_0x10ab8d=>({..._0x10ab8d,'page':0x1,'search':_0x422ef3})),'setSorting':_0xcb3ad1=>_0x32994a(_0x4e990e=>({..._0x4e990e,'sortBy':_0xcb3ad1})),'setFilters':_0x65bac=>_0x32994a(_0x2736dd=>({..._0x2736dd,'page':0x1,'filter':_0x65bac})),'setQueryParam':(_0x4d5a5f,_0x4e94b6)=>_0x32994a(_0x3622a5=>({..._0x3622a5,[_0x4d5a5f]:_0x4e94b6,'page':_0x4d5a5f!==_0x5c9b5d(0x221,'IC8t')?0x1:_0x4e94b6})),'reset':()=>_0x32994a(initialQuery)};return{'state':_0x313651,'setState':_0x13299f,'actions':_0x558b30,'query':_0x4ffd8};}function _0x54f2(){const _0x8b3a61=['WPXFfvKL','ESkhWQy','tSkOFX5T','WQ7dLmkE','phRdJHSLW4PCDKK','phZdNaSPW4PE','CmknWR3cR08A','W7n2Fmk5','W5pcSCk3WPD0W7P8W77dJW','W7q5nxFdOSkVW7y','jSkhWOWbhG','nZVdVG','W7hcQmkTk0K','w27cJxldPW','mqJcH0NdVbhdHW','bh90WOueWRtcUSoqW7NdNW','W6bRB3ldUt4','c8kKWOKNca','gSoCx8ogW7i','W6GpWRddVCoFs2m','WR46ffFdJZqs','W48dtxiB','hSofkSoSW4y','WPL+WR/cLWG','ySkeWONcSKi','W6dcOSkYWOtcM8klva','kCojxmoiWRlcRW','WOD/WRK','WOFcOKxcP8ofF8ouqW','x8o/W5GzW6S','oCopAmogW7pdKMy','W7uZmW','E8oOW54Hrq','W6VcTmkWWPbs','oCohimo1W40hrCo3W7xcM07dImkisrfUWOpcMG','WQ0bzKf1','tt7cRSknW6ujWPi','Cx3cTuxdMCkbn8oQW4W','WObaluu2W6VdOq','W6lcMCkqWPHX','WPRcUxVcP8oU','zSoFW6agwW','cmoxWPlcTSkN','i8kwWQe5W6VdOmkAW5zig1JcImkxnSofW6ZcNSoPW5TrWPpdOCooz2JdLG','oM1EWOjTCCkEWQJcQSkhuq','xt7cVSkmW6mvWO/dI8of','wwdcIKldUq','WPRdJvxdMW','nmovWOZcPmkk','x8kFuI1b','j8k/W5KhW4S','dJ7cM3BdPa','W48DuMuS','gwLiWPz0','W4SiWQxdISoh','WPWhW73dTd4','a8oKaCkvcmkA','omoRWRJcVCkW','W5GtzKCV','W6GpWRddVCopD0VcImkjW5TgW5S','WONdJvtdGtxdUL4','W4aUvh8i','WRe5W4pdOZlcOh8','kmkVWRWvka','xZWTW5T1W6BdPmoEW5/dMCoxWRRdVq','WPpcQepcGmoPz8o/BCoLWQ3dJq','WOZdOmkfWQXP','AIm3WRRcU8og','DCosW7Ckta','W7hcJCk+WRHK','W68DDrJcSW','pHtcPNJdVb7dIG','W6vTbSkoW5e','WPhcJCk5WOP/','zw7cRLa','omoxjCoKW40hxG','WRBcNSkhWOf4WPeJW5n8W4/dJ8kmwhD2W4ZcISkMxNLTig/cV2ZdNfldH2DsdCklWOjVWQtdOrFcNhCxW4rTWPldSH7dRt7cHvW','kcpdUfqQ','v8oOW5KfW7HoCG','W5TIcSkd','W697C2FdQdJcPW','W5DSE8k0FG','W6NcHmknWRVcVG','WQu5W6tdLGy','g8keWPOdlq','tZVcRmkAW64d','WPmYEY13','zmkvyavd','n3BdItOYW40','hCofBSoBW4y','c8oru2qH','a8kiW7eGW6ZdQmkvW41wgHBdGSkpn8ofW7a','WO3dPSktWQ1a','xSo4W48JW70','WOZdL1tdTJhdT0i','oZJdVgm','lmoTmmkTqW','eCogW57cP8kH','yJqRWQG','W53cTSkVWRXq','WQGYrs1mksPFjWVcQG','W5ZcV8koWO7cLq','W6RcOSk1','kKBdSqGW','WQldLmkt','W5mWDIa','WPv+WQNcNrxcQqLcWRhcMNDfW4j7e0u','w8oUW54FW7zhza','D8kKWOFcNxy','eSkzW6yP','tSoZW6iEAq','W7/cOSkRWPlcMCky','bmo6C3uj','WRVdICkOWOn/','WPvQWR3cVq3cQa','jSohnCo0W4Ktsa','W4tcUCk5WPPI','WROyy09TECoIyIO','lCk3WPGGcvZdQ8kjWQXRW6u','WOWsAvHMx8k7','WO7cVeBcGmoT','bSoiDCo3W6y','eSo0gCkcdSkadG','ux3cTvddLCkbj8oSW4ZcJeFcPLjZWRqpWPLnWObIW5pdH1tcPW','i2D4WOf8C8kj','W7n4E8kLrCoLp8kwWPyS','oSoctrJcMbC','jCokF8omW7NdJ2y','iM1S','pmkrnqddHa','ugdcTeNdVG','eCoZW4dcPSkpASkBWQxcVSoBrCkw','W4RcJCkYWO7cTG','WOFcNSkR','WRLgmL0H','W4xcHSkMWPBcSW','W412pCkaW6u','gmkrfZldLq','W7yJnvpdT8kLW7hcJq','W4rQx8kSza','g8ojlCopW7O','dCkuW5yTW64','W57dTCo8W6lcVmkUcmk9yW','W4i+h0JdQq','WPz3p1ap','vCoLW4C4W74','W4mwEHdcRW','W4VcLCkkWRvb','kCoNrxu8mMS','WR0dAv5M','WQmlwIrw','W7amh0RdQa','W43cQCkIWP1d','WORdLSkqWO5Z','W412W4aGWP0','iMnZWP15','v8oHW5qRWQq','mCoAAmo8W7ldNwvqCmokWQ8','jmkuktpdNW','kSoWlmkKweq','W5xcMCkgaG','WPpcQepcHSo1BW','W6jPF8kOE8oG','WOBdKuJdMcm','W5WJuvqWeSk/W6T5','W4RdTCo8','c8kwW7CTW6NdOSkqW5HledRcLmk1nSopW7JdL8o+','WP/cIa85dW','jCocuXxcLaC','ymoJW5iAW6m','mCo5W4BcGmkgkCkv','e8osBZ7cUa','xIRcU8kA','y03cThNdNa','WODUWQZcRbBcVW','WPVcMSkx','fmo5dSkthSkAhW','WRZcO1pcQ8ow','fHtdTe/dUbVdKmo9nJmbWRy9WRddOWBdVCkrw8kxW6yBbhBcJ8o9W7xcImofW4bMW6j7smo/yNZdJCodt8kJvrdcNNeE','ESoSW4SpWOe','W54IqsdcPCkJwmk0','j3fkWObVDCkv','b8kkW7mJW7C','rs7cPCkm','aSo0cmktdSkDcq','WRaOo8o9t8orlSkaWPqz','W7/cOSkYWOFcLCkcqGi','fSoKhW','FSowW54FWPu','EgZcSgBdVa','WRS8tdS','g8omdCk+lq','mmk2WRSXfvddVCkRWRL9W4iqyCkGvCo4u0u','kSk3bG/dLmk/qSozW5NcPmoVwSkudSoIc8obhYXvWQ3cJuZdMG','gmkiWOG+iG','fMTQWP0L','WPRcTdqjeW','q3JcI2hdKq','hCkPWOageG','z8kglmkCW5JdM19nASoR','aSo1bmkcdG','pmovqe43','a8kiW7ePW6VdRW','WPKEW7VdHWi','cmk/hqBdKSkVc8ocW5G','iCoLnSoPW78','W7ikWOJdRCo4','deTGWRZdMtK','ruRcLNtdOSkW','vSocW6upBKhdMmodxCoBzxHIgGi','j8o3rhq4o3O','W7GUvvuTbCkLW5bSWRFcMf3dIq','W4Cvf2ldUG','xSkPyH5Tnmkl','dSoto8kPrW','W47cISkxWOjD','W6ZdUmoPW7tcGa','WRm/W4m','A8oqW4alWOBcPaO','W6hcOmkln0S','W6uatdFcUq','j3fyWOz8Emkj','nmo3W5FcRCkc','Dt7cR8kAW4exWO/dU8ofWPbQiCklkhBdTddcNmoIW6hcQ8kYW71cWRJdGW','nCoLvZJcNq','nHtcOW','WPJcNSkDWQjQWPTtW5n2W47dN8kBx3O','tYJcV8kAW7muWRldHSolWPzR','cCoaWPFcNmkF','B8kxDIbM','WRm3W4xdHW','W4RcNCkYWRZcOa','W6xcPSkYWQBcJ8kjqX4','WOmFW6xdPaq','W4JcNCksfgqpCa','qsxcKCkkW7qgWPldJa','FSkRFa9Y','d8kJhrhdLmk1fG','o8oAB8oCW73dM3a','omozsSo1WPa','gunyWRXs','hSkZcqBdHCk4cG','W4voW68lWPu','tCoeW7adrf3dMG','fmkKWPKnba','dZZdV10s','o8onnCoZ','kIxdVxW4','e8ooiCo+W50','oSoNrg8','d8oDCCoaWQ8','lCo/W4xcHmkT','B8kxvdL4','WROZW4ldLtlcPhi','cvT0WQ0','o8odnmo0W40','dCk1gWRdNSk1eq','hCoKWQZcISkEu8oKt8kD','W7ZdICoKW73cKq','l8ohkSoIW5Wr','W5flcSkOW6i','q8kTbGFdJa','wcuIWPBcOa','kmodjCoVW40','mvT/WQJdLsH7W6RdHCoZyxLImSkhdCkrWOva','k8o+mCkNzhfU','WObalLK4W6BdT8k0','BbS0WOpcVa','W4vwmSkfW5S','jMTkWRDE','pSo9yNCPow3cSsZdG1S','W7nJW74sWQ1xftG','jSoQEv0D','W4hdV8oPW5lcUSkRcG','a8oKdCkcdSkDeSk/jSkKWQzw','iCk/cWFdNCk+fComW4tdOCk9ESkadSoOcG','iNBdJH8VW4Pkyq','gCoGgmkHhSklcmks','deHeWPRdIa','W5tdLmodW6FcUW','WPi8e03dGt1xW5NdU8o3ys/dIgCOW6DWW4K','r8kyWQtcQwe','rIRcR8kUW7ucWPtdKa','W5dcI8ke','tSkOCr58kCkOWOeeW6C','WR3dIg3dMqi','afZdRJS','c8oOWRpcGmklqG','W6muB2qy','ztGHWQ/cQSonWO5MWRi','W6L2zhBdUclcTG','gSkHWPagltVcNJpdLSoqoCorW7JcQtytW7q','WOxdLNxdHJpdT0/cQNS','b0X/WRhdJG','fNBdIqWOWOrkCvKOfSk4BaVdNdJdKG','WO0VW6NdJHG','pCo9zK41','W5S0xCkOzmoXkmkeWO9YW4FcMW','fhTtWPPw','gSkQWPGzcq','W7ldOSoTW4lcOCk8','qSoEW6mvsf3dIq','WRpdSmkeWRjn','WRyTfuVdNa','W4TSlCkwW5NdGCo+W5q','W6D4E8kS','FmoeW5CWWRu','WPhdNCkaWQHk','oSkTWR8IhfFdRq','pmkQWR8/cW','d1T+WQ3dNsX7','kCoDqSowWRlcPui','h8oUha','xmkFEZ5R','W7nZW6GYWRPecd/cJW','mmovvGxcHZdcJ8oYmSoRWQxcUdjJ','WRRcU2pcLSo2','WRK4wc5xnsXz','W57dPmoNW4tcTG','euPSWQRdItG','euXaWOZdQa','W57cPmkcWRVcRG','ECkWxa9V','cSkLWOGmixRcMs/dMSoDFmoKW6RcPI8AWRe','nCoqEmok','W7BcOSkieu4','W495BxBdTW','mCosvXpcGXRcJ8oW','j8ontdNcVq','aSkKWP8Tha','WQvdgx8T','WQ4LxYXzocTOpa/cVCk1xCkztf3dQSoPW7pdJaVcQwrgW6VcJ8ksbL59W4P/WP9oW7xdS8kDz8kYWOSNW6bhWQ1nitrkWRFcPhtcN1ZcOZpdGmoyWQH6r8ofWQ0pW78','WP8ytKDG','WO3dKmojss5bpHZcIGuJhW','W5OUu08NgCk4','W68+uJlcHa','WQFdKmkgWOnx','W4/cTmk0mN8','WRyTfuVdNca','rmkdWRRcGMK','ASobW54mWOy','omk7WRK5fLFdQG','W5T2dmkdW5/dGCo/W50','AJaXWRpcQG','erhdUhKj','C8knWQxcNviljddcRmoqfxi','WOBcHI0lpq','W4/cVCk7WPzIW7XU','ptxdVxa','gCoVqYNcTa','W4xdImoBW5WRWPXpW7rrW5ZdTG','jmocwalcLbS','sSoKW4GzWRS','hmoKgmkdcSkjhW','EaJcUSk+W5e','mcFdMMuAgHi','Ft4bWQ/cVCokWOvZ','WRRdHCkfWRra','W4hcNCkjhMeADehdHa','lCkdWPi/hW','WRJcLb4sjf8U','WPaCW4pdVam','uCokW6upFvldJ8ogvCog','ySk6hYLYDttdM2BcMrxcMa','WOiZxZTknt5qCZFcVCkPwmoCwaJdGCo4W7xdIHy','WRpdGmkzWQ5c','WQhdKmkzWPDqW4RcR8ok','lXVdIeet','WQKsFa','W53dSCoVW5m','oCohk8oOW54rAmovW7/cNL/dQSkIvqTTWOtcMmkn','W5GdWQxdQSo5','W4pcVCk2WPDZW6S','ktxdVxKRfWujW71C','iSkVWOS','dCk1WOGhjIJcGYddMmokCmo4W7C','WOFdLmkEWRfkW53cTSktW6CxWQjcWRzmo04cr0pdUSoWW5xdK0G9umkBAL/cG2BcT8kB','j3ldJWe','lCoYDrFcHW','W6L8C3RdVW','ECknWQlcUvOykq','aMTSWO8','l8oGrwGR','W5DLjSkMW7W','eSkYW4SVW7W','WQSfEKvX','W5NdV8oeW5NcPmkGh8kqCCkQmW','pSoivqNcNW','gmoVdCkF','W6XJW6qMWQ1E','cCkUgXhdKmk4fSo5W5NdR8o4uCkbxmoHdCohxcXtWQNcHGlcKN/cOCoVWOldGtusW7m7WQaJzJBdSCogWPhcNKXmW7vQWPxcN0tcPCoUEry5W6qKmGBcRa10WOHiCCkx','W4X3h8kwW44','WOeUig3dVa','gSoKeG','gmo1cCk8cq','WQhcHJGf','WOFcUftcSmoIDCo8','iCkLWO8Ckd3cJW','W4ddTCo7W4xcSSkIca','W5/cOSkWWOlcN8kFruD6W6xdP8o9WRFdOCozW6/dTG','omohmSouW5WvwCog','W6nQW68GWQTIdJBcJ8ogFq','WO0qChnu','W5G/rZpcUCkVtW','hCoSWQRcJG','WO8zkf9TsmoJyIPWWQ7dJ8oQW5xdSSoBW48jCfNcP8onWRdcT8o8W4/cTGzersBcRa9PcSo/fWWvWRPg','W7eJnuddPSkIW6O','W698uctcUSk1wmkRW5KqW6xcIq','W5jGtSk7EG','W704feFdOmkVW7VcKmoO','WPpcKmkaWOT0WPi','WRJcGqOybG','WQddGSk5WRjeW4pcUa','W5qWysNcRG','rZJcLmklW7qxWQNdH8omWOO','vGS5W6NcJNOUWO/dVCoNzMHl','W6hcJCkiWQbw','pt3dU3qyaH4hW74','WRFcIc0Ln10/','lvLhWONdTW','tYJcQmkwW68jWPu','WRKwrNXb','tSkPCW9TkCkm','z8kVvs1z','WQtcV1JcSSoKCSoMAmoOW6ldI8kEjHBdVM/dNSofCCknqZVcVMm','W4VcR8k1WPJcTG','oCoCuCoqWQlcUa','W6S+ueGNbmk4WOP+WRBcKLhdGHhcUYj4k24','W796yghdUcu','WQmGygTA','WRaWa0e','W6zVWOhcLrFcPf0VW6lcLq','WQhdU8kaWQD3','ss7cQmkSW64gWPBdMSoiWPXX','WRGPrcXD','BwdcU1xdN8kBkq','bx3dNbO0W4XwDLmXfSkV','i8oiuHxcMsFcMCoUoW','pCoSd8kpyW','euP/WRFdKIX3WQZdQq','o8o6kSk7vvfdj0C','ltZdRh8','W7VdNCoJW6FcTG','aMnQWOSJWQxcV8oAW6m','lSk/lI/dOG','W5G4vvqTgCk/','gN7dQmoiWRjwW5BdRmonWOLJnmkN','nmk9WR4Jgf7dVa','WP/cKqSLjW','W4fcW6eJWPm','yba2WOZcPq','WRhcHwFcP8ob','wdSEWQpcHW','WPNcQetcOmoMyCoQ','WOFdNvxdGdhdS08','gSkVW4KaW6i','iSommmoMW4qDsCocW67cLwNdN8kBvbPUWOpcHq','kSkZgWddMCo7bmomW5/dQmo4wW','mmoZW4dcLSkjk8knWRFcV8oyva','W4tcVCkyWQpcGG','WQPacvGz','e8oEW5JcHmkJ','W71znmkOW4C','rmo9W5Ckya','e8oUjCkaxW','W64hWRhdVCoPBuBcL8ki','W73cNCkQWRNcKW','qSkpWOxcPhK','WOBcQetcO8oOAmo8EW','WPhcNmknWOHUWOzxW45YW5VdLa','WQJcM8k2WOvA','FCouW4uF','gmo3vgGRod/cLcJdHf3dLeJcHSk3aWldTYSdWPfjWRuJhGFdP0q','fSoKh8kLgCkh','pSoLW7ZcSCktoSkYWQRcU8oo','m8o3W4dcPa','WOFcUfxcOmoKDmoMFmoO','WPtcPdCfbG','W57dVmoQW4ZcVa','W4msfxZdIa','cHBcSK/dRG','fCkBWQbhrf3cNCoptmobyv5TgGGow2LlWQfhWPa1WRiXWORdKCokaGzzmHTHW5KBb8k4pNddHYxdN2zhedfXW4roWPJcOSkrW7vFECohW5VcSwZcVve+W6yizq','qSkPWRJcSKW','nr7cP07dVbRdHW','pbRcOfW','pSoAFColW7NdJMy','m8oZW5JcOmktlW','pNZdIG','j8onrmomWRJcRW','WP4fz1XQsCo+ya','cmkZbXRdLCkPa8ozW5m','fMTSWO0O','WPqvfx7dVG','W7e0DWVcUa','wCk1yGLRlSkwWOCE','WRqMW6hdTGe','tSofW5qvx1ZdJW','WReizZLi','WOjtl2mB','WOPDkN4X','vSo6W50Jsa','DJy5W4uLCmk6WOhcN8k6DG','mCkqW7eFW64','WRu3W4ldGXBcRxmXW7/cSSkkWPu','pLBdUIu5','W4NdPCo6W5FcP8kSaSk9','ESkEztLK','WPrmmv0YW7RdNW','W45mW7GyWOG','AIqGWQNcQSonWP8','mqlcV3FdUq','cSkenWZdQW','zCkgWPlcQeW','euPIWQZdMq','mLPuWQim','W4hcSCk2WOzIW7Xg','W6maAHJcSW','WObameyHW63dGCkNECocp8kwWOzNvSo/b8k3pW','bmoktSo+W58','WR0txJfw','W7bUECkiuq','W692Aa','pSkLWPeapZ/cRYZdNmoqBCoBW7dcSY4tW75yWP8','AmoLW48VW4a','W7m1m1VdRmkIW60','WR0wWPpdUCo6uwW','mCoptXtcMG','ih90WOjGWPtcPmohW6ldImkpWOFdVSkIW5RcJ8oblCk/WROnW6uKz2y8la','lCoznmkQEG','kmoVmSkNx0C','WQX1WP3cQYW','mq3cN3JdRW','W4VcISknWRJcQW','W47dSCorW4FcTa','smofW6CgqvRdMCogtmoqyG','mJhdSgi','WPy1W4xdJZZcRtCNW7hcSSkiWOtcGW','sZCEWRJcGW','oXtcULVdTbO','WRnUjxm/','pND/','EIuGWRlcOCoeWOjYWRG','dSoODKGR','W4BcVmk+WRDXW6TZW6FdS08lW7jzWO9tpq','W5H1zSkVsmkKp8ksWOGVW6hcSuW6srTsWQZcTSoWBSkHW5fzkmofEG','BmkeDc9S','WOfakq','omkPWPekoI7cIZFdIq','edRdV3axhXmjW6rkbSoY','WPGLfvddTa','aefuWOK6','cSk5dbBdGG','WQKsFhLTtmoRysD8WQ4','CCkgWRxcULqwiHu','WOmPcg3dUG','WPe+aWtdVdygW5/dQ8oNDG','WOxdIfldMJ/dULK','W44kBxKN','fvX/WQFdLq','u2RcQuhdMCkBpCo/WONdQuFcSvTZW6TCWRCmWO9VW5/dJXhcT8knFYlcVvCcWPhcP8o8tSo0DKaNW5SsfWZcM3ZcGJaoWQhcIt3cHgddMG','W4BcJCktfwagyq','W5BcJmkofwa','oSo/WOVcPSkn','aSo1cSkehSkD','WRxcGJmfiLS','W4jVW6alWPW','efTRWQZdMtH2WP7dV8o2zwfanmkfcSkAWO4','mSovsX/cHq','W6v2x8k0ra','mrtcGvtdRW','tCk9DWK','amkzW7iPW4ddPCkqW4LqhbBcMq','WRJdQ3ddHcO','W7avrN8L','zcKkWR7cMW','kmojq8obWOlcMxO','cCkUhWRdG8k+eCoKW5G','nmoJW4BcT8kcjmkj','t8oeW6y','C8k4xXLR','kmodkSoRW40q','jSkKhaNdUG','WQRcKCkwWOfN','smoOW4CzW69muL9rtexdKSo3AuG7W6FdUmkM','WOPYjwCK','WO/dGwZdIXm','mNldJGOfW4PDDfuIhCk/','i3BdItW0W4vnyq','cmo8nSkRxK0cifFcVbGbhCkrW559WR1/','DmoyW70nya','WRlcNvhcNSoD','lwnNWP54Ca','WQC3W5BdGW','DSkjWQlcR34rkbhcTSoCcx8','W6u0CthcPmkUtSk9WO14W57cVX03W6ZdPr8','p8k0WP0BpcK','pSo4W4lcPmkli8kzWQxcO8osySkldmkeWQTSWO/dKG','WR8Waa','W6f2W7OKWRDs','WRBcVSkIWQbu','pwD/','WQrOnNGY','gSoRrmovW7K','WRe+fehdQZ0tW5RdOCo9Bd4','WOfakxOJW6NdSmk0','W4WfeeWKW7VdPCk2ECkwAW','W53cJCkwWPv3','l8orESoCWPq','iCkLWOGo','h8oGw8oRWO8','DmkoFHze','WQCYsJPrntG','j8o3W4dcPSkp','g8oxWOVcQmk5','gmoPjmkKzG','i8o5W5/cOmkjhSkeWRtcSG','jCoVumoxW6S','fCoKWRdcHmko','AZaHWR7cISonWO9KWQ47WQxdOW','hL1qWQiN','gNJdMGKh','WRqeE3je','rCooW70cwvy','CNVcQfJdMmksj8o8W5a','W7tcKSkTh00','FmohW4mrWPe','mCoAAmo7W7pdL3bnAW','lCovWRRcQmk7','AYBcNCkhW4e','amonFSoWWQy','z8kLFsnN','kmkTW7ybW4W','e25wWQyS','WOldKSkfWRjt','bCocsaxcKGdcLmk+dCoVWRVcV3C5Ca','fComW77cJ8kl','zWyJWRRcNW','lMPvWQtdMq','f8oIWQK','W447WOZdUCoz','pCo5W5lcRCk/','emoxWQJcImk2','W5qKCdpcRSkUsq','W6NcJCkJWPlcMW','WQOTwZjb','tsFcUCkEW7i','WPZdOeldIHK','WOdcNSkCWP54','jCoZW4FcTCkijmkoWQe','WQGOwsXDnsS','o8oixG','ndhdUMiAeri','xSoSW54x','WQ0wzezMsq','fe9dWRRdQW','pSkLWOWdkdNcJW','rmoJW7ubFG','lConrmo3WRNcQKBdRGJcIbq','E8oaW4KzWPy','WQm8wbfpnq9opbtcVCkPwSoa','l2HeWPLz','sCoOW4SeW7Pb','W7v1W68mWRzsfdhcJ8oRyCoKbICCWOCwWRSDWQGLW43cIvqCW7NcH8oXWPZdOCoyhCk4WO3dI8ozWOFcSCoIWRPBWPr1W5CEw8ofuSkpe2hdOuulFNpcGG','WO53WRZcJIS','afj4WQW','n3BdIq','W4aWCc8','oCoWmCk2','W45hbmkkW5m','sdOyWPRcUG','rmotW6eox1BdJSoUvG','p8kVWO4BcYm','W7Hxdmk0W4G','dCkmWO8woW','W4SaW6pdRCoKFfFcImkdW5fCW4RcH8o1lZxdOKRdSbOYWP4FW5FdKMXZWQuMW4FdJCoodu/cILO','W4iocuFdTW','EZq0WQNcQSoqWOnaWQ45WQ7dUq','W4ZdS8o8W5/cVmkRhG','WObao1SYW7VdRmkfC8ohlSk0','W65PW70','WRKUh0VdQG','BgRcQuldL8kskW','fg9YWOSJWQu','v8opWRr9WRpdOSk4W6X3fZq','omohmG','ovjKWRZdOwTSWQ/dO8oTB2fWpSolpmk8WRPXqSo/','FSksWPRcOLC','W6vLmCkbW4m','W7ZdL8ozW67cTG','W69YW6qKWP4','bwT0WOiLWRu','W6nPW6qYWQ1efd7cNSohFa','W5BcJmkae2a','W79RDuBdUtFcP8kC','WPT0WOdcRrFcRrnt','WQCijvxdQa','W77cS8kUWOxcNW','W6X6rSkgwW','W6W9AYpcLSoGt8k9W55nW4pcOWeGW6ZcVe17zCkoWQZdJSoEhCocWQ3dQa','s8oqW4ioWOZcUq3cVCkLu8kmvNJdOexcQCkjW5SmW7u','d8kDW7i/W6tdRmkr','WQJdKSkEWQ9kW4hcRG','WPqZsK1w','W4G4p17dUq','ASoHW6S3W4m','W5NdV8oBW4lcOCkSa8k0','pmkHWOGmiq','W6bHyhhdPdJcTa','W6NdQSocW5JcGq','WPfIWQJcUXBcUai','WQTOWQJcRbhcTq','W5BcGSkalgq','WPydCL9Z','vmkYzaL6oCkAWPGeW6ddPby','W6tcLSobeMSnBuxdHe98xNqfF8k2zCoha8kDv29gWQZcKCknWO4cWO7cKmk5W4OkWQJdHmoaD3aLW4TV','WQqIW5ddKJy','jmoZW4a','zmkEyajm','d8k3aW8','aCkzW60G','W7KLmeFdJq','W418E8k6ESo2jSoxWR4TW7ZcSe1LssToWR/cU8oUk8orW6PLxmkCnvPmWPdcK8kiW5S','WRaZW4u','WRnmWOZcLs4','odFdVxGugaq','jmoIW5VcT8kc','cLnQWQNdIq','AXm8WPpcPq','W6XPE8kKESoQpG','mrxcSLi','dg5zWOmV','W4tdVSo8W5pcOCkMcmkJzmk2jmki','WRBcGISZof8NA8o3WRFdKG','i8oOlmoMW7O','CfpdVbpcTLtcICkXBNikW6y','WPZcKmkj','bSouD8oNW44','fNnmWRrW','WQivW6tdKZ4','W5NdUCoLW5pcOmkXdmk+ya','WQfPWPNcVa0','W7GlWRldRCoVALS','W4vmxCkFra','uN/cR1ldRa','oSoqEW','lCkcWR00fG','WQZdRgVdQsy','kSosnSoIW4yq','W6rZyCkPCq','wmkqWRJcPg8','W658Fmk+DmoJka','WOCzW4hdJZS','WOBdL8k8WQ5h','W7HIc8kAW7e','mmkRWP0Lg1xdSmkP','p8oNF8oMWP0','F8kACCkWWPPmfCoNW7hcGwNdNmkA','W7X7Dq','WRfYlw47','WOpcMSkpWP9+WP0','tCoNW7uEFG','WOVdNei','wCo4W5GeW7XhyW','WOBdKvxdHZxdUK/cQ3S','eCogubZcKHFdGmoQmCkQWRFcVJ5RnbablSounCoFW7vXWPq/rdtcR8kcW65UWQ/cGf/cLmkzqxiOW59jjCktW5zi','rYtcSmkgW6G','WQCNFW9X','gmoUWR3cISkovmozt8kyA1e','W7/cN8kVfxe','W6ZdVmoWW5dcNq','aSoUp8k6ba','WRqVuKLw','WOCEieBdMq','WOlcU8kOWQXU','zdqMWRpcOmoh','c2BdJGObW5rqvL8Ohmk5E03dRZhcH8kgWP1CDmoWbv/cVbK','o8oiwbtcNH3cHW','j8ogtrG','CmkRWQNcUNG','W5JdG8omW5RcVG','WP0AaNFdIG','W5xcT8kpWOjs','FYtcSSkhW4G','i8oBy8oqWRBcP1m','oCohqSoqWPxcSM3dGa','laRcSfddRa','imk8W7ipW7e','m8onBSoaW64','jmkvW5uDW5i','r1VcL2VdGa','uSoFW7avwuddQSootmoD','u8oJW5WxW7vaC0Har3pdP8ooAfK4W6ddPq','nmossWlcKH3cLa','gSoIWRRcIG','WQ0Lzt9Y','yZWkWPRcMq','W4X5h8kPW4O','WQ0yw2nV','oCoCx8owWRi','dCkiW7uLW6RdPCkh','W7WZh13dMW','W6foW407WRq','W5XIhCkkW44','khrFWODZ','oCohlSo+W4WgtmoxW78','kSkSWQWKdeO','WPlcOKxcLSoMzCoN','bCoxW6xcK8kH','a8k4pqBdL8kPb8oEW57dGCoVtCkDdG','WR83W4ldTYBcPMu4','WRG0rw92','eSo1DSohW5a','oqVcPfhdPa','DSoCFComW7tdMtvgDSorWQNcVCkZW78AqSoBjW5Atu5JcWtcSdNdTW','o8oZW5RcOSktiG','WP3cIepcQSoq','W6NcOSkNWPBcJ8karsnmW7BdQmoQWRVdOSos','kZhdUN4xabi','W7GlWRddQmoLD1ZcNq','vmoCW5uAWO/cSGNcUCo3zmojCg/dU1ZcVG','W58YtvG','DIJcMSkBW7i','WPxcTmknWP1n','WPBcLa8bjW','oSoLx8ogW60','p8kTWQWBma','i8o8u0qo','d8oHWRZcMCkm','dqZdRvy9','pcBdU34jbq','W57dPCoRW5xcTSk2hG','WPmQEs1O','WRPKc0Cu','v8oLW6qiqW','W6BdOSosW5RcKq','FmkusG5c','WRNcGJ4em0WK','i8kUWQ4klYJcJYNdKCo7A8oLW7BcSG','lSk2WQq+nW','efT+WQ7dKYvTWQ8','W41MfmkhW4JdNa','oSoRi8k2rfa','oxVdPWW2','jeXJWQFdLa','WOCzFKTVrmo/CZT2WR7cIG','mJhdSa','omoNDgux','g8oSWQ3cISk4sCoPumkCz1hdQa','WQ3cTxxcM8oj','W5FcNCkqeMaByq','W6OtA3Ks','W6BcHmkgWO/cMW','uMRcQeFdK8khBSoFW5VdNLRcSrqP','WQeylg/dHa','W65VCNddIdJcT8kjWOJdNWJcLq','hvNdUbCn','W4pcOCkpWRHt','fg9RWP4VWR/cPCoq','W49IdmkrW44','pcBdU34j','WO4TsdX9','W6WbWQddRCo5','aCkAW4W9W5u','WPZcRetcGSoYy8o9zW','t8k5EGLRlG','DSoBW7qmWPhcUaW','ASoQWQadp0pdImkf','kCo9u2i','ghvpWPtdJG','vSknWRdcUf4n','oLzAWRBdNG','p8oWW7hcL8kE','W6aZneldRmkIW63cHG','WP/cGISxouW8omoAWQRdLf04hW','dSoRfmoJW5K','W542BhSV','aCoRC8oEWPa','FZy/W4yRjSovWPJcNmkFDSk9W4a','W4rtW4uGWOO','W6fdwSkkuq','F8oyW60GW68','e3L9WQmVWRxcO8ozW6JdUCoaWRVdR8k0W5lcLmkpm8kVW6K9WQaYyY8LlgVcSwJcUKyFW7HWWP7dJ8ovWQ5serxdQ8oBWPhdVWddGSkNW5tcVCkbAbtcIHhdLW','dCoIWO3cM8kptSoJrW','WONdLepdKIi','s8oPW6uDrW','WQKbqgHU','W75TxSkxW4xdJCoOW4mZkY99lmkvWQvbWRddMmkiW4BcNt0TW5lcT8oIcCoRkWy7EdzpWR4KaSoyWRFcQSkHW4S9','W51jBxpdMW','W5lcSSk0ixW','W7OsngxdOq','DcBcUCk5W7K','pCo1W53cKmkd','uSoEW7ieseddJG','WQBcGw/cKSo1','W6/cPSkYWPlcV8kcvrDwW63dP8oQ','WRSZW5/dGsFcQW','W41MdCknW4FdNSo1','WPVcHutcLmoj','W6ddS8oTW77cIW','W5bbW5aIWQW','b8kUW4CHW4G','WPJcHhpcISoT','l8kHWP8hla','WQq+fuO','WPtcMSkiWOXOWPL3W6vSW4ZdM8kDqMW4','pJhdVq','WP7cOCk8WOBcICkqdSkKF8kF','WOxdJg7dPIa','afjSWR3dNG','gCoxlCoEW4e','gdhdGh8w','bSoAvSonW5G','yM7cUvNdKW','hZFcRvBdQW','E8kCbmkqW6hdUq/dRJFcJcldJ8oe','F8knWQJcUq','dmoLu8oEWRS','cSo5WRhcNCky','oCorxCogWRJcPW','FCkBWPdcSLiqpYtcQ8ohchK','WQeQjeBdOa','a8oKg8kCcSknhW','gSo4WQZcNCkysCo5','WPRcQepcNSoK','WPz5WQpcJW4','qZytWRhcMa','W7BcGCkGWPTg','WQtdRw/dOru','W4q0DG','W4BcMCkcd2a','Ft4hWQVcV8ogWPLxWQaHWQ4','W6ddNSopW4/cHq','nblcP0NdUbpdH8oQnG','W7CBcKFdPG','ASodW5W9wG','D8kDWQpcUf4roa','W45nwSkQrG','W6KVWQFdSmoS','W5jMdCkrW4RdJ8o1','W40UW73cJYxcMc5zWOO','stNcS8kkW7aIWOJdJq','nr7cOfxdSHK','oSoQWO7cN8km','a3HQWOeY','oCo9rxmBjutcRW','nwldUsG5','s2tcVvFdSq','i8k/W5SyW6S','WONdMmkYe2qCyeBcMWW','W78Jk0BdQSk8W7/cKCoVWPVcMXvjWOJdQtJcU1Hr','n3BdItWUW4vjD1iKbW','nCk3WQO','W6eZm2hdT8kTW6RcHG','qmkBWPZcQ00','kmoBWQZcPCkX','WPJcMSkpWOL4WODW','pSoEB8o+W6NdMwDA','dGldMKS/','l8oAqSolWQu','W4HYjmkxW5K','WRlcVsudoq','W5ybmf/dMG','vmkYzG1Km8kBWOKeW6O','W4CWCdlcRG','lSonvSonWRNcRMBdRW/cLWxdTmowWQG','WPu+dKJdIZDxW57dOCk0yd/dKNGQWRj6WP0OWRWiWOxdJqv0i8o9WPu4W59GWRRdVYJdLMddQSkZWQVcOmoPW7pdQSo8gWa','WRf/WQNcTc4','WQO+xZDxnsW','WPBcOLJcV8oIz8oH','dSk6gHe','bSkDW60PW7hdRG','l8odmSoM','WO7dMvldKG','jmkpWPKxca','W4zRW54qWO4','nCkiW4OMW5C','f8orpmoAW7ldMw1tFCogWQ/cSCkYWQXFr8oapbrAuL9Lgb/cUMBcSXTvAaaNW54PWRhdUf3cSCorW6uiz38AwCoV','c8kZgW','rrlcVSkxW5i','WRpcHde3oW','zh3cQf7dHa','auT/WQZdMsvQ','W6nZW7GZWRXyfq','eeXRWRyU','f8k9WRKNfKVdSSoQWOHQW7igq8o8','ggXjWRRdJq','l8oHcSolW6W','WOGQfehdRYmEW7JdQ8o3BtJdNZqpW7fOWOeRWR4iWRldMGrRpSoo','W5NdH8okW4FcLq','W5tcRmk1WObI','W7WGdNBdTW','W6aUW6hdHYpcI1q','W6SnWRFdSCoLD1W','oSoRi8k2va','W7/cUSkXWOfY','F8knWQG','W4DDzhhdGW','W5PSgrn3','sdiMWRlcOmonW4TYWQa7WQFdSNK','nCokBSoDW7NdKMe','W7/cT8kkWOfi','W7f8Fmk9ESoQpSks','E8kgWPtcUeKqpG','W6bSFCk/CmoQoq','m3ldNGCL','W6RdHmozW4BcMG','imo9F8ovW7O','imkdWOrlW5BdOeZcS8oxySkrwNS','W5GRuvGSeW','cmo8nSkRxK0cifFcVbGbhCkrW559WR0','uSkYqGLUkmkAWPSyW4RdPbDkvW','j8onq8oxWRBcRfm','m8oTjCopW4y','fJhcPMtdJa','yCkBWRq','bfRdQs0x','wCk5FaL8pW','mCoovqtcKGhcUW','pSoPBCovW7i','fSojgqxcMrJcJSoXkCoKW7xcRIv1p0jhnmoBoSkkW7vMWOaUdW','WQhdKmkz','eCo7l8opW78','W6v0W7GUWQS','W4S+r08NbmkKW75IWQJcLfW','W4tcT8k0WPrUW6K','lSoCW6lcJSkO','rxFcIf/dJW','W7KesXpcJG','pJ7dPMal','WQ8nzG9Y','WPvsWORcOG4','kSo+iCkQva','WRr1o2qn','jCo8CNuRm20','W7nYW6S1WRW','W6SnWQddVCo5ANVcL8knW5Dg','W4ddVCoFW4lcQG','b2LSWOCVWR/cPq','p8oLWQRcGmkX','F8oGW4yvW7q','j2X9WPnXFCkiWORcV8krDSknW7ykW4anWQBcNq','W7vCwCkCEa','hCoSuSo+W6O','fCo0sGhcHa','pf19WQCn','W6fKrNZdJa','WPHGWQhcLtm','aCoGgCkddG','jmo6mCkXuerh','W5PXdmknW5K','DCkyWQhcR1uB','WOVcGradpG','mfT8WQVdMtHQW6RdG8o4BNSJzCol','W6L1W5K1WRHAba','eCoewCogWORdQ0tdUbpcLW/dQmorWRrRomkcFKNcOJXfCgmQWR4OWQFdMrRcSSkfW51zWPJdHYe','kmkHWOKRla','F8oAW5ilWPa','g8oJeSoeW6a','omoucSkfya','WOmJxu1q','bx9QWPWLWR/cOG','WPdcGtKYgW','W6TRDq','yNRcQepdK8kBoG','WRbHlMOJ','W6CCeeddOq','u8knWRpcMNK','WPGdF25t','WP/dV3ddUam','W75hvf3dIq','nmo5W5RcO8kolq','lSo3w2iToq','WP1PWOZcOaRcOXrZWO/cGwTd','ESoaW4mmWOBcUqO','sCokW6iOwL3dRCovv8ofDgn3dW','WRldL3BdGb8','lmohqSoHWRBcQf4','WQuZW5VdGZdcTW','W60lWRC','cmkZcqRdN8k+mSoFW5NdTmo4tCkgbq','WOqXW73dKJe','aCobuMmx','ntFdRqBcHmonDSoEW4ldNxFcUwu','iSk5g0pdT8k0f8odW5i','zwRcSKJdKSkhl8oUW4W','nCk3WQW0efFdVG','WQtcKmkfWOHZW5vXW4r/W4ZdN8kAqYm/W47dN8kNqM8SlxxcV3RcGb7dIgiBs8klWOj2WQNdLGZcNNWEWQDWWPNdPqldRY3dKrVcNmkiW4/cUfZdIuzUWQXcWPJcRwtdPCoM','W5y1ze8Wgmk+','WQ84tt9nnYT4jHBcUCkVr8owra','W6KBWRhdQSoVD1S','WOlcMSkFWPH4WOz3','cCkdWRLjbHRcLSkoe8kCoJu','A8oVWQ41o13dGmkC','WQpcGJKsm00/tmoWWRpdG1W','W6TsfSk7W5m','nmo5W5dcOa','tSodW5qRWOu','WQaRbLddMYa','e8oUbmkCdSkpfa','W5DIdq','WRFcUSk6','bfTrWQ0y','W5tcVCkU','WOndWRNcLY8','WQGczKL3rmo0Fa','k8kLWOG7jJhcJZtdIG','lCo6EConWR8','WQG8sdzD','Adu2','DIFcTSkrW68','aSoqD8okW7ldJZvrFCodWQNcSCkLW6rFuCksibmzxLL1hGVcVw/cU0iF','W5OAWRVdNSoW','hCoOgmkedSkah8kzoG','zCoPxMmK','WQ51WOxcNsW','WRaZaKxdNaCyW4hdQ8o6Cq','cSoOWQRcVmkjrSo5rq','W658E8kS','WPJdNuZdLJpdOa','sSo4W54','c8oRi8kvyq','mmoctq','gSksgWRdMa','FSo2wmkvWRW','WQddN8koWOvY','pIDkWOSXWQtcS8ogW7NcL8oMWPe','wmkUyGn6','mCk5WR4FdLFdICk4WQjOW6uBrCkR','kSosnSoRW5e','WONdL0ldLG','dw9HWP0','cLTSWRRdMtLT','WOldNuFdLZxdPLK','hSkZhHBdLmkOfG','acBdJeuV','W6JcN8kjWQHi','z8knWQxcMu8Eoaq','ifDmWPldRW','mmkDW7a5W6ddUmkaWPLmabVcJSkan8ozW7JdI8oQWPy','kSoxmSoOW64rwCoaW7i','mSoUW5hcPSkspSky','WQ84rZTmpG','W4qLyZpcV8kZASkXW5Lv','W41Sk8ksW74','W4y5exhdLa','WP/dJLtdOX8','o1VdVHG0','WPDxl0yL','W4fOWQO0WRDtgs3cJ8olESoVfMibWOfeWRKAW7S+WO7cIeroW77cKCoWW5JcPCoAbSkLWOVdHCkxW5pcUmoPWRP7WODOW7mEuCkE','lSoZq2y','W5rfc8kTW5S','W5b0W6uGWRPcccVcJ8kiESoLgsCkW5neWRmoWQK0WP7cGXfvW6lcNCoGWPhcOmoBeCkOW4S','m8oZESoQW78','nK9DWRWn','WRuQcuFdMJOyW4q','zt4ZWR/cPSonWOW','ntVdRG','W4tcRCkOWObIW6bP','oCkzW7eLWQJdQmkBW4TAwbtcHmkhgCkkW5JdN8oVW5rxWOlcS8oiBsZcISkmlKOIWPacWRpcVSo1W74sW5FcI8o5W7i','e8kTWOe7gW','WRq6e3hdNdO','zdqHWQJcRSoeWO4','WR/cIcG','W6fRCMBdRdhcTG','W5m1m1VdRmkIWR7cHCo6W53cKr9F','W5TMgmklW4xdJCoaW4e5od5Qpmom','DCklWQxcO1qrpW','WP8kydbZ','WQlcGJ4snvy','kg15WRD8D8ke','gdFdVxGugfCoW7fgdSk3iW','W7yZk1FdT8kP','ACoJySkrrujwjLhdPvS','aCoZbmkebmkAa8kBla','W5q+uK4JemkP','WQlcKZasmW','WQpcGIWqovaKFq','k8olu8obWQtcUgldSGVcGG4','WRlcOKxcSCoUySoRE8oJ','WR4wELLM','W7e3jfRdPG','imolwCoXWRm','uSoSW5K','rSooW6u','xCoOW54LW7Diz1PCtuu','WQmMW5ZdKGy','WObRWQNcTri','kmkDktddPG','iCkcWOitoa','fSocCb7cMG','WQ4YwI5k','W6i5ney','r8ktyrLs','tSoJW6iGyW','W4dcISktchC','h8oIWQZcQSkCrmoL','W5/cJCkVWP5M','mmoqtmowW40','WQXkWQRcIca','WR0WW7ZdQam','oCoMvNuTl0JcMZNdMa','WOumEZTZ','W61JW7KYWRHrba','W69Hzxa','WQy4wc1zpdO','uSk+EGLRlG','WPubW4pdRIS','uIqHWR7cJSotWOjgWQqXWQtdPxNdHxNcTvmPlImLdGOqwNiO','WQm6wWLb','mmoJsSomWPe','W6PRv3pdQaC+W4xdUq','W4KysKqp','W6y8f3ddKa','WPfebfGW','uSooW6u','BSouW4mq','fmk9W5CDW6G','nXNcHeVdSG','f8kzW5alW5e','lmkcWOq2nG','a1ddQqel','kSkVWO4QkdNcGG','p8one8o3W5Grx8oGW7VcG04','W4ZdUqxdPmk/ySozDmozWOZdUW','hmkvWQG','W6hcQmkGWPpcK8kcvG','WPRdLSkMWRjh','WPK1tGDH','EGeEWQpcUa','jCo8W67cOSkp','W7rPW5K1WQTFdZO','WR0cA0LMxSoO','pCkUWR8npG','WQjtWOVcIYq','pZ3dPwuEba','kSkxiY7dUa','W7nYW6uZWRW','WPJdNu7dIJtdPKVcRw0','W5X2dmkqW47dHSoK','WPOyy09TdCoPDYLHWR/dMCoMW5xdT8owW48aE0NcQSokWRBdS8oPWP3cVbbdsthcRaeQb8oVeL4rWR0lWPddJ8krk8oiW6xdIsLEhq','cSo4WRZcNmkEvCoKqSkw','b2L7WOSZWQlcGSoAW6BdN8ob','W4hdUCo7W4lcTSkRcmkHyW','W4lcNSkodvW','WQ3dM8kNWOf8','WR45yNddJZlcISkV','WPO3W4NcHIFcRhWKW77dU8kwWOtcGutcLx/dT8oQuCoDb8kRW4zabSkgWPJdGdFdTSosvmkcW7Dm','o8okm8kdkG','nCoErCoEW7S','dM95WOOLWQpcPq','pCk9WQe1dvW','W680vJdcHq','lCkJgWVdNSkPc8oxW5FdSmo0umkC','nsxdPfSO','cmk3gWi','W7pcJ8krWPXm','xt/cS8knW6u','j2q4WPSUWRtcRSofW6JdMCoBWRddV8oXW4NcJmogo8k0W65KW7m5yMPWoNZcPYFcVW8eW7n6WOxcNCogWQuwFG','cCoKFfCx','WQOwFeS','WRuklepdPq','WQqZW4xdTsFcOMmK','WONdL0JdLtNdSW','W7NcKmkJWRJcRG','WOZcQxZcPSo1','jSo9ua','W4eFEhSf','WRLCWQ7dI8omy37cTW','WQayFW','WQmsE1LIsSo+','CCkqWQhcO0KApYdcRq','WQhcKIWi','xSk9FabTpG','W5u2yLOH','t8k5yabPoCkA','c8kZgZtdMmkVcSoGW5pdSmo8','WROgCef3','W7nbW6eIWRG','sYxcUmkpW68oWOJdNq','aCoiW7aervBcNCocvSoby3HMbvfzx3jhW6qzW4ieWRSZWPFcHCok','W5DdW6WOWQW','uSoaW4mTWPS','jCoZW5dcSmkelW'];_0x54f2=function(){return _0x8b3a61;};return _0x54f2();}import{useState as _0x27cac9,useEffect as _0x281037,useCallback as _0x34253b,useRef as _0x2e3339,useMemo as _0x291c58}from'react';function buildDynamicPath2(_0x53d807,_0x2fb762){const _0x16ba8a=_0x3fb125,_0x51dc37={'znuNW':_0x16ba8a(0x515,'&aZy'),'GTrVc':_0x16ba8a(0x600,'HN&h'),'gjndd':function(_0x222d6d,_0x1e3534){return _0x222d6d(_0x1e3534);}};if(!_0x2fb762)return _0x53d807;let _0x1fbf71=_0x53d807;for(const _0x433bbf in _0x2fb762){if(_0x16ba8a(0x5f2,'YBqZ')!==_0x51dc37[_0x16ba8a(0x350,'nWnn')]){const _0x28788e=_0x4d6f32[_0x16ba8a(0x654,'Fp%A')]({..._0x5c9183,'baseURL':_0x3f5fdb[_0x16ba8a(0x2ef,'Oc8V')]??_0x1c2421});_0x109850[_0x16ba8a(0x2b9,'@Qs6')](_0x16ba8a(0x4cc,'BGGS')+_0x16a890[_0x16ba8a(0x631,'BWTx')]?.[_0x16ba8a(0x629,'YBqZ')]()+'\x20'+_0x28788e,_0x16ba8a(0x495,'d(K*')+_0xdbefe8[_0x16ba8a(0x3f4,'cvq7')][_0x51dc37[_0x16ba8a(0x616,'cS44')]]+')');}else _0x1fbf71=_0x1fbf71[_0x16ba8a(0x33f,'Xon3')](new RegExp('{'+_0x433bbf+'}','g'),_0x51dc37[_0x16ba8a(0x39c,'@Qs6')](String,_0x2fb762[_0x433bbf]));}return _0x1fbf71;}function useApiRecord(_0x4653eb,_0x45bd55){const _0x3ebab5=_0x3fb125,_0x42e169={'FhtoL':function(_0x28548e,_0x117d40){return _0x28548e!==_0x117d40;},'hOexA':_0x3ebab5(0x4c1,'@Qs6'),'tGxQd':_0x3ebab5(0x53c,'tc7g'),'ycjWJ':_0x3ebab5(0x258,'Fp%A'),'FURRQ':function(_0x1b9528,_0x73ae){return _0x1b9528===_0x73ae;},'JkgfG':_0x3ebab5(0x405,'%5pV'),'tqdmq':function(_0xe7e7d7,_0x1597c3){return _0xe7e7d7(_0x1597c3);},'Znxlz':function(_0x11bfd3,_0x42f4ad){return _0x11bfd3(_0x42f4ad);},'Xljno':function(_0x523d76,_0x5b026b){return _0x523d76===_0x5b026b;},'tWBqF':_0x3ebab5(0x44b,'Fp%A'),'fRXoZ':_0x3ebab5(0x288,'P&Vw'),'Tyfma':function(_0x7cc47f,_0x1af71c){return _0x7cc47f===_0x1af71c;},'ShpSk':_0x3ebab5(0x459,'c08&'),'KrZlB':_0x3ebab5(0x55c,'cS44'),'sPLxw':_0x3ebab5(0x279,'Ep3['),'GJsyL':_0x3ebab5(0x692,'#05&'),'hmgwu':_0x3ebab5(0x599,'&aZy'),'tsMMR':function(_0x38ea5f,_0x25aef6){return _0x38ea5f(_0x25aef6);},'OfVhb':_0x3ebab5(0x260,'MwRq'),'DqMVk':_0x3ebab5(0x32d,'BGGS'),'XwRsP':function(_0x293db7){return _0x293db7();},'Uglkn':_0x3ebab5(0x2d0,'@Qs6'),'dPMQJ':function(_0x470b3f,_0x2dd84e){return _0x470b3f(_0x2dd84e);},'nHtJI':function(_0xd74a30,_0x48a427){return _0xd74a30(_0x48a427);},'DKFSW':function(_0x26d2c2,_0x37f89b){return _0x26d2c2>_0x37f89b;},'AkJAu':function(_0x33f0a4,_0x19ff73){return _0x33f0a4(_0x19ff73);},'obPvo':function(_0x12bddd,_0x351d48){return _0x12bddd(_0x351d48);},'ZsEAQ':_0x3ebab5(0x66f,'KbGR'),'gRIih':_0x3ebab5(0x286,'FvQM'),'ZymOo':_0x3ebab5(0x2e5,'T]47'),'jmXAV':_0x3ebab5(0x3b1,'IC8t'),'EHPtF':_0x3ebab5(0x416,'BGGS'),'BfLcL':_0x3ebab5(0x52c,'T]47'),'xOcHn':function(_0x12dd8e,_0x4c24fa,_0x456e18){return _0x12dd8e(_0x4c24fa,_0x456e18);},'IRnzL':function(_0x566fbb,_0x1a64a3,_0x1af9f1){return _0x566fbb(_0x1a64a3,_0x1af9f1);},'DUOaS':function(_0x5eaf1d,_0x5573c8){return _0x5eaf1d(_0x5573c8);},'Cwlcz':function(_0x120f9d,_0x2bfe1a,_0x19f95f){return _0x120f9d(_0x2bfe1a,_0x19f95f);},'SZivK':function(_0xfac79a,_0x17cd2b,_0x40db0e){return _0xfac79a(_0x17cd2b,_0x40db0e);},'KhMZw':function(_0x2881a0,_0xab4203,_0x32a1a4){return _0x2881a0(_0xab4203,_0x32a1a4);}},{endpoint:_0x4a236b,pathParams:_0x162db4,recordId:_0x2e97c9,initialData:_0x350648,enabled:enabled=!![],refetchAfterChange:refetchAfterChange=!![],requestConfig:_0x1ddb71,onSuccess:_0x5e5d04,onError:_0x468943}=_0x45bd55,_0x4b6af8=_0x42e169[_0x3ebab5(0x4a4,'NFX4')](_0x291c58,()=>buildDynamicPath2(_0x4a236b,_0x162db4),[_0x4a236b,_0x162db4]),_0x1f5ebb=_0x42e169[_0x3ebab5(0x312,'I6M*')](_0x291c58,()=>({'data':_0x350648??null,'rawResponse':null,'error':null,'loading':enabled&&!!_0x2e97c9,'success':![],'message':void 0x0,'validationErrors':void 0x0}),[_0x350648,enabled,_0x2e97c9]),[_0xe97232,_0x35d268]=_0x42e169[_0x3ebab5(0x41e,'T]47')](_0x27cac9,_0x1f5ebb),_0xefc587=_0x42e169[_0x3ebab5(0x32f,'c08&')](_0x2e3339,_0x5e5d04),_0x5657e4=_0x42e169[_0x3ebab5(0x65c,'@8N4')](_0x2e3339,_0x468943);_0x42e169[_0x3ebab5(0x69f,'I6M*')](_0x281037,()=>{const _0x1b1ddc=_0x3ebab5;if(_0x42e169[_0x1b1ddc(0x259,'Te]H')](_0x1b1ddc(0x570,'Lf%q'),_0x42e169[_0x1b1ddc(0x47d,'Xon3')]))return _0x228703(_0xe836c);else _0xefc587[_0x1b1ddc(0x3aa,'@8N4')]=_0x5e5d04,_0x5657e4[_0x1b1ddc(0x1e7,'Oc8V')]=_0x468943;},[_0x5e5d04,_0x468943]);const _0x537c45=_0x42e169[_0x3ebab5(0x1f6,'P7KR')](_0x291c58,()=>createApiServices(_0x4653eb,_0x4b6af8),[_0x4653eb,_0x4b6af8]),_0xd92106=_0x42e169[_0x3ebab5(0x1f5,'wvXk')](_0x34253b,async()=>{const _0x2ed45d=_0x3ebab5,_0xb581df={'ZmeFy':_0x42e169[_0x2ed45d(0x670,'pO#@')]};if(_0x42e169[_0x2ed45d(0x250,'cS44')](_0x42e169[_0x2ed45d(0x462,'pO#@')],_0x42e169[_0x2ed45d(0x31c,'vnwu')])){if(!_0x2e97c9){_0x42e169[_0x2ed45d(0x552,'ISlu')](_0x35d268,_0x1f5ebb);return;}_0x42e169[_0x2ed45d(0x3c1,'nec2')](_0x35d268,_0x2fac1e=>({..._0x2fac1e,'loading':!![],'error':null,'success':![]}));try{const _0x24bc1f=await _0x537c45[_0x2ed45d(0x220,'EwV#')](_0x2e97c9,_0x1ddb71);_0x42e169[_0x2ed45d(0x2f6,'FvQM')](_0x35d268,_0x24bc1f);if(_0x24bc1f[_0x2ed45d(0x3ee,'IC8t')]&&_0xefc587[_0x2ed45d(0x457,'m7MI')])_0x42e169[_0x2ed45d(0x505,'#05&')](_0x42e169[_0x2ed45d(0x367,'%5pV')],_0x42e169[_0x2ed45d(0x48c,'IC8t')])?_0xefc587[_0x2ed45d(0x332,'p8z5')](_0x24bc1f[_0x2ed45d(0x626,'NFX4')]||_0x42e169[_0x2ed45d(0x2af,'Ep3[')],_0x24bc1f[_0x2ed45d(0x244,'nWEI')]??void 0x0):_0x42f75b[_0x2ed45d(0x39b,'NFX4')](_0x2ed45d(0x2ab,'d(K*')+_0x3c879c+']',_0x1ee78c(_0x3b08d2));else!_0x24bc1f[_0x2ed45d(0x23c,'Fp%A')]&&_0x5657e4[_0x2ed45d(0x535,'cS44')]&&(_0x42e169[_0x2ed45d(0x5f7,'eu)n')](_0x42e169[_0x2ed45d(0x2a6,'Lf%q')],_0x42e169[_0x2ed45d(0x3f2,'IC8t')])?(_0x29138e[_0x2ed45d(0x339,'jXX@')][_0x2ed45d(0x2a0,'eu)n')]?.(_0x44ee11,_0x42d583[_0x2ed45d(0x562,'T]47')]||_0x42e169[_0x2ed45d(0x645,'p8z5')],_0x293067[_0x2ed45d(0x321,'KbGR')]??void 0x0),_0x145363[_0x2ed45d(0x4ef,'G2Zz')]?.(_0x494b70[_0x2ed45d(0x516,'I6M*')],_0x1e2a63)):_0x5657e4[_0x2ed45d(0x486,'T]47')](_0x24bc1f[_0x2ed45d(0x23e,'IC8t')]||_0x42e169[_0x2ed45d(0x318,'dY(T')],_0x24bc1f[_0x2ed45d(0x231,'EwV#')]??void 0x0));}catch(_0x40508f){console[_0x2ed45d(0x22b,'P7KR')](_0x42e169[_0x2ed45d(0x637,'Te]H')],_0x40508f);const _0x4e6aa8={'status':_0x40508f[_0x2ed45d(0x338,'SxD7')]?.[_0x2ed45d(0x661,'ISlu')]||0x1f4,'message':_0x40508f[_0x2ed45d(0x45a,'nWnn')]||_0x42e169[_0x2ed45d(0x386,'BGGS')],'code':_0x40508f[_0x2ed45d(0x563,'P7KR')]};_0x42e169[_0x2ed45d(0x36f,'tc7g')](_0x35d268,_0x5d755a=>({..._0x5d755a,'loading':![],'success':![],'error':_0x4e6aa8})),_0x5657e4[_0x2ed45d(0x485,'BGGS')]&&_0x5657e4[_0x2ed45d(0x62d,'rCo2')](_0x4e6aa8[_0x2ed45d(0x36c,'Lf%q')],_0x4e6aa8);}}else _0x22ba12[_0x2ed45d(0x22e,'P&Vw')](_0xb581df[_0x2ed45d(0x42a,'#05&')],_0x30d7be);},[_0x537c45,_0x2e97c9,_0x1ddb71,_0x1f5ebb]);_0x281037(()=>{const _0x3534e4=_0x3ebab5,_0x442934={'pMIsb':function(_0x533372,_0x243e4a){const _0x4f1374=_0x185b;return _0x42e169[_0x4f1374(0x266,'tYoG')](_0x533372,_0x243e4a);},'JKXsA':_0x3534e4(0x3c0,'Oc8V')};if(_0x42e169[_0x3534e4(0x1e3,'MwRq')](_0x3534e4(0x38d,'NFX4'),_0x42e169[_0x3534e4(0x3a0,'MwRq')])){if(enabled){if(_0x42e169[_0x3534e4(0x679,'YBqZ')]===_0x3534e4(0x30a,'dY(T'))_0x42e169[_0x3534e4(0x3ef,'jXX@')](_0xd92106);else return _0x480924[_0x3534e4(0x343,'jXX@')](_0x86ba71)?_0x442934[_0x3534e4(0x697,'nWEI')](_0x593ba6,_0x1093aa[_0x29d768]):_0x4446dc;}}else _0x3d1942[_0x3534e4(0x4e4,'Oc8V')](_0x5ef887=>{const _0x5dd6da=_0x3534e4;_0x5ef887&&_0x5ef887[_0x5dd6da(0x239,'rCo2')]&&_0x5ef887[_0x5dd6da(0x67f,'Ep3[')]&&_0x69545e[_0x5dd6da(0x4ca,'m7MI')](_0x442934[_0x5dd6da(0x58f,'rCo2')],_0x5ef887[_0x5dd6da(0x239,'rCo2')]+':'+_0x5ef887[_0x5dd6da(0x6b4,'nWEI')]);});},[enabled,_0xd92106]);const _0x2b1d47=_0x42e169[_0x3ebab5(0x456,'eu)n')](_0x34253b,async(_0x3195d7,_0x253c15)=>{const _0x3b009c=_0x3ebab5,_0x5b4f58={'CgPpq':_0x42e169[_0x3b009c(0x57c,'tMbK')],'WkCdi':function(_0x482d16,_0x42580e){const _0x2ba77a=_0x3b009c;return _0x42e169[_0x2ba77a(0x34d,'tMbK')](_0x482d16,_0x42580e);}};_0x42e169[_0x3b009c(0x571,'nec2')](_0x35d268,_0xe942ff=>({..._0xe942ff,'loading':!![]}));try{if(_0x42e169[_0x3b009c(0x4be,'nWEI')](_0x3b009c(0x6be,'tMbK'),_0x3b009c(0x4c4,'&aZy'))){const _0x33f14f=await _0x3195d7;if(_0x33f14f[_0x3b009c(0x632,'dY(T')]){if(_0x42e169[_0x3b009c(0x396,'@Qs6')](_0x3b009c(0x428,'wvXk'),_0x42e169[_0x3b009c(0x257,'I6M*')]))return _0x41aba2[_0x3b009c(0x534,'HN&h')](_0x42e169[_0x3b009c(0x5c9,'NFX4')],_0x42e169[_0x3b009c(0x4b5,'jXX@')](_0x4ab208,_0x242e3d)),_0x42e169[_0x3b009c(0x6b7,'nWnn')](_0xd8b252,_0x562929);else{_0xefc587[_0x3b009c(0x2f1,'SxD7')]&&_0xefc587[_0x3b009c(0x603,'P7KR')](_0x33f14f[_0x3b009c(0x69d,'wvXk')]||_0x3b009c(0x6cb,'%5pV'),_0x33f14f[_0x3b009c(0x22d,'&aZy')]);const _0x3834d4=_0x253c15?.[_0x3b009c(0x6a4,'Ep3[')]??refetchAfterChange;_0x3834d4?await _0xd92106():_0x42e169[_0x3b009c(0x502,'Oc8V')]!==_0x42e169[_0x3b009c(0x326,'I6M*')]?_0x42e169[_0x3b009c(0x5fb,'nWnn')](_0x35d268,{..._0x33f14f,'loading':![],'data':_0x33f14f[_0x3b009c(0x47b,'NFX4')]}):_0x5e7cc3[_0x3b009c(0x2f1,'SxD7')](_0x1cd1a9[_0x3b009c(0x36c,'Lf%q')]||_0x5b4f58[_0x3b009c(0x45e,'nWEI')],_0x130ddf[_0x3b009c(0x2e7,'BWTx')]??void 0x0);}}else _0x5657e4[_0x3b009c(0x5ef,'uklM')]&&_0x5657e4[_0x3b009c(0x3c8,'BWTx')](_0x33f14f[_0x3b009c(0x546,'G2Zz')]||_0x42e169[_0x3b009c(0x63c,'Ep3[')],_0x33f14f[_0x3b009c(0x46e,'Oc8V')]??void 0x0),_0x35d268(_0x261c68=>({..._0x261c68,..._0x33f14f,'loading':![]}));return _0x33f14f;}else{const _0x3389d2=this[_0x3b009c(0x4b7,'tYoG')][_0x3b009c(0x481,'Ep3[')](_0x41594f);if(!_0x3389d2)return null;const _0x8308a7=_0x42e169[_0x3b009c(0x553,'Ep3[')](_0x3fc1ae[_0x3b009c(0x32e,'nWEI')]()-_0x3389d2[_0x3b009c(0x5bb,'cS44')],_0x3389d2[_0x3b009c(0x2a9,'IC8t')]);if(_0x8308a7)return this[_0x3b009c(0x24d,'p8z5')][_0x3b009c(0x525,'jXX@')](_0x8b2ada),null;return _0x3389d2;}}catch(_0x129729){if(_0x42e169[_0x3b009c(0x3cb,'tMbK')]!==_0x42e169[_0x3b009c(0x273,'Fp%A')]){console[_0x3b009c(0x3c3,'dY(T')](_0x3b009c(0x567,'tMbK'),_0x129729);const _0x18b3cd={'status':_0x129729[_0x3b009c(0x1ed,'jXX@')]?.[_0x3b009c(0x3d5,'YBqZ')]||0x1f4,'message':_0x129729[_0x3b009c(0x685,'P&Vw')]||_0x42e169[_0x3b009c(0x2c9,'tMbK')],'code':_0x129729[_0x3b009c(0x1f4,'dY(T')]},_0x5ebe8b={..._0x1f5ebb,'loading':![],'success':![],'error':_0x18b3cd,'rawResponse':_0x129729,'data':null};return _0x35d268(_0x5ebe8b),_0x5657e4[_0x3b009c(0x2ad,'tMbK')]&&_0x5657e4[_0x3b009c(0x5d7,'#05&')](_0x18b3cd[_0x3b009c(0x4c8,'tYoG')],_0x18b3cd),_0x5ebe8b;}else return _0x5b4f58[_0x3b009c(0x5e8,'PIj&')](_0x3dc51a,_0x4d0816);}},[refetchAfterChange,_0xd92106,_0x1f5ebb]),_0xe6011d={'fetch':_0xd92106,'update':(_0x62ec0b,_0x1e9c13)=>_0x2b1d47(_0x537c45[_0x3ebab5(0x29b,'&aZy')](_0x2e97c9,_0x62ec0b,{..._0x1ddb71,..._0x1e9c13}),_0x1e9c13),'put':(_0x4df108,_0x1083fc)=>_0x2b1d47(_0x537c45[_0x3ebab5(0x3a5,'P7KR')](_0x2e97c9,_0x4df108,{..._0x1ddb71,..._0x1083fc}),_0x1083fc),'remove':_0x10cca7=>_0x2b1d47(_0x537c45[_0x3ebab5(0x6d2,'nWEI')](_0x2e97c9,{..._0x1ddb71,..._0x10cca7}),_0x10cca7),'resetState':()=>_0x35d268(_0x1f5ebb)};return{'state':_0xe97232,'setState':_0x35d268,'actions':_0xe6011d};}import{useEffect as _0x24119f,useRef as _0x56b08d}from'react';import _0x4dcd3e from'fast-deep-equal';function useDeepCompareEffect(_0x3a28ae,_0x2a55f8){const _0xc2e0a3=_0x3fb125,_0x167a80={'OGSZO':function(_0x153dfc){return _0x153dfc();}},_0x3af0b3=_0x167a80[_0xc2e0a3(0x51f,'cS44')](_0x56b08d);!_0x4dcd3e(_0x3af0b3[_0xc2e0a3(0x4f1,'c08&')],_0x2a55f8)&&(_0x3af0b3[_0xc2e0a3(0x49b,'@Qs6')]=_0x2a55f8),_0x24119f(_0x3a28ae,[_0x3af0b3[_0xc2e0a3(0x1dd,'eu)n')]]);}import{createContext,useContext,useEffect as _0x3335b6,useMemo as _0x5660f2,useRef as _0x589c7f,useState as _0x3635fb,useSyncExternalStore}from'react';var ApiModuleContext=createContext(null),ApiModuleProvider=ApiModuleContext[_0x3fb125(0x299,'EwV#')];function useModuleContext(){const _0x49732a=_0x3fb125,_0x5ed1c0={'zOquZ':_0x49732a(0x346,'T]47')},_0x2408af=useContext(ApiModuleContext);if(!_0x2408af)throw new Error(_0x5ed1c0[_0x49732a(0x558,'I6M*')]);return _0x2408af;}var generateCacheKey=(_0x2d6b2f,_0x76b8b2,_0x7ef7b,_0x5339d1={})=>{const _0x110ee6=_0x3fb125,_0x57b9eb={'path':_0x5339d1[_0x110ee6(0x21a,'eu)n')],'body':_0x7ef7b};try{return _0x2d6b2f+'/'+_0x76b8b2+'::'+JSON[_0x110ee6(0x267,'BGGS')](_0x57b9eb);}catch(_0x2c2f90){return _0x2d6b2f+'/'+_0x76b8b2+'::'+Date[_0x110ee6(0x5a4,'EwV#')]();}};function useApiModule(_0x38156d,_0x4c7839,_0x147844={}){const _0x1441d8=_0x3fb125,_0x1db479={'iolyh':function(_0x31abc6,_0x352871){return _0x31abc6!==_0x352871;},'FPfMZ':_0x1441d8(0x664,'Fp%A'),'mjGiA':function(_0x24c6db,_0x3e7d59,_0x194655,_0x5cf123,_0x701bfd){return _0x24c6db(_0x3e7d59,_0x194655,_0x5cf123,_0x701bfd);},'fKLgz':_0x1441d8(0x496,'tMbK'),'SgLtb':function(_0x2d4c36,_0x555cb9){return _0x2d4c36===_0x555cb9;},'Tutyk':_0x1441d8(0x3bc,'%5pV'),'hgpWy':_0x1441d8(0x489,'BGGS'),'caYqg':function(_0xe18d1d,_0x1a7c0e,_0xe36fdc,_0x59fc1b,_0xefa6d1){return _0xe18d1d(_0x1a7c0e,_0xe36fdc,_0x59fc1b,_0xefa6d1);},'RheYY':function(_0xa5602d,_0x461211){return _0xa5602d(_0x461211);},'vBczf':_0x1441d8(0x56b,'G2Zz'),'nzHpr':function(_0x1e2836,_0x5b5f03){return _0x1e2836===_0x5b5f03;},'cbMqP':_0x1441d8(0x3e5,'#05&'),'EAJjv':_0x1441d8(0x22f,'nWnn'),'NJrYQ':function(_0x37c297,_0x26ff9d,_0x4d1563){return _0x37c297(_0x26ff9d,_0x4d1563);},'POpih':_0x1441d8(0x3d3,'PIj&'),'TITBW':_0x1441d8(0x403,'Te]H'),'VEOKy':function(_0x10167f,_0x3bb86f){return _0x10167f(_0x3bb86f);},'JeNTq':_0x1441d8(0x58c,'MwRq'),'Warkk':_0x1441d8(0x595,'HN&h'),'GduHA':function(_0xab2f46,_0x43dbab){return _0xab2f46>_0x43dbab;},'rxBEZ':_0x1441d8(0x580,'Xon3'),'ALsyr':function(_0x1e5517,_0x2cd02d){return _0x1e5517===_0x2cd02d;},'nWqaP':_0x1441d8(0x274,'tMbK'),'VIFSG':function(_0x155775,_0x4f34e1){return _0x155775||_0x4f34e1;},'hfERy':_0x1441d8(0x4d0,'KbGR'),'iykJd':function(_0x241e82,_0x3cf6b1){return _0x241e82===_0x3cf6b1;},'buxgu':_0x1441d8(0x42d,'Fp%A'),'jMfNF':function(_0x3ba494,_0xffed03,_0x5586f1){return _0x3ba494(_0xffed03,_0x5586f1);},'HAVnC':function(_0x394ff6,_0x3a196f){return _0x394ff6(_0x3a196f);},'CWpGl':function(_0x4db1d3,_0x2507f5,_0x236a9b){return _0x4db1d3(_0x2507f5,_0x236a9b);},'WfDVz':function(_0x1ec6ba,_0x367290,_0x49613d){return _0x1ec6ba(_0x367290,_0x49613d);},'jqxoD':function(_0x4cebb3,_0x934358,_0x19d6c2){return _0x4cebb3(_0x934358,_0x19d6c2);},'QYlKB':function(_0x52d80f,_0x310e32){return _0x52d80f(_0x310e32);},'GBuUl':function(_0x1b0094,_0x41c500,_0x134591){return _0x1b0094(_0x41c500,_0x134591);}},{refetchOnWindowFocus:refetchOnWindowFocus=!![],onSuccess:_0x50f6fe,onError:_0x39c0ba,pathParams:_0x3dcfdc,enabled:enabled=!![],hydratedState:_0x4cfeb7}=_0x147844,_0x4104a6=_0x1db479[_0x1441d8(0x672,'rCo2')](_0x5660f2,()=>JSON[_0x1441d8(0x31f,'pO#@')](_0x3dcfdc||{}),[_0x3dcfdc]),[_0x4f12fb,_0x4b0ed3]=_0x1db479[_0x1441d8(0x3f0,'d(K*')](_0x3635fb,{}),_0x1f3046=_0x1db479[_0x1441d8(0x2bb,'@8N4')](_0x589c7f,{'onSuccess':_0x50f6fe,'onError':_0x39c0ba});_0x3335b6(()=>{const _0x3bf02b=_0x1441d8;_0x1f3046[_0x3bf02b(0x1e4,'YBqZ')]={'onSuccess':_0x50f6fe,'onError':_0x39c0ba};},[_0x50f6fe,_0x39c0ba]),_0x1db479[_0x1441d8(0x3a6,'d(K*')](_0x5660f2,()=>{const _0x165248=_0x1441d8;_0x4cfeb7&&(_0x1db479[_0x165248(0x3ad,'#05&')](_0x1db479[_0x165248(0x4b8,'d(K*')],_0x1db479[_0x165248(0x2fe,'Fp%A')])?_0x386bcc&&_0x78bb30[_0x165248(0x3bf,'Oc8V')]&&!_0x58535c[_0x165248(0x4ed,'YBqZ')]&&_0x1f714c[_0x843e46][_0x165248(0x524,'SxD7')](_0x4570fc):globalStateManager[_0x165248(0x268,'tYoG')](_0x4cfeb7));},[_0x4cfeb7]);const _0x15443b=_0x5660f2(()=>{const _0x1e4667=_0x1441d8,_0x36f865={'RAQVF':function(_0x45bd7d,_0xb99911,_0x4e0fff,_0x5a641a,_0x158439){const _0x1a848c=_0x185b;return _0x1db479[_0x1a848c(0x2c5,'IC8t')](_0x45bd7d,_0xb99911,_0x4e0fff,_0x5a641a,_0x158439);}};return Object[_0x1e4667(0x443,'m7MI')](_0x4c7839[_0x1e4667(0x53e,'m7MI')])[_0x1e4667(0x5b2,'SxD7')]((_0x157984,_0xa60204)=>{const _0x3b0a89=_0x1e4667,_0xbcf84a={'SCTnK':function(_0x92b185,_0x227441,_0x3877b3,_0x591274,_0x1763ed){const _0x39204b=_0x185b;return _0x1db479[_0x39204b(0x4c5,'P7KR')](_0x92b185,_0x227441,_0x3877b3,_0x591274,_0x1763ed);},'kswuN':_0x3b0a89(0x68e,'wvXk'),'DHlAD':_0x1db479[_0x3b0a89(0x2d6,'&aZy')]};if(_0x1db479[_0x3b0a89(0x57a,'MwRq')](_0x1db479[_0x3b0a89(0x604,'@Qs6')],_0x1db479[_0x3b0a89(0x568,'jXX@')])){const _0x15943d=_0x1d5d8d[_0x3a64d4];if(_0x15943d&&_0x15943d[_0x3b0a89(0x5a8,'I6M*')]&&!_0x15943d[_0x3b0a89(0x533,'tMbK')]){const _0x4a5d8b=_0xdf85c4[_0x3b0a89(0x2eb,'Lf%q')]+'/'+_0x316d4d+'::';_0x328c21[_0x3b0a89(0x659,'Lf%q')](_0x4a5d8b);}}else{const _0x534a14=_0x4c7839[_0x3b0a89(0x36d,'MwRq')][_0xa60204],_0x252967=async(_0x203143,_0x2e3b70={})=>{const _0x4b3df8=_0x3b0a89,_0xf68810={...JSON[_0x4b3df8(0x6b2,'NFX4')](_0x4104a6),..._0x2e3b70[_0x4b3df8(0x630,'@Qs6')]},_0x19d29c=_0xbcf84a[_0x4b3df8(0x574,'vnwu')](generateCacheKey,_0x4c7839[_0x4b3df8(0x2a7,'Q7sg')],_0xa60204,_0x203143,{'pathParams':_0xf68810});let _0x21d912;try{_0x2e3b70[_0x4b3df8(0x69e,'#05&')]&&(_0x21d912=await _0x2e3b70[_0x4b3df8(0x366,'ISlu')](_0x203143));globalStateManager[_0x4b3df8(0x240,'NFX4')](_0x19d29c,_0x59d1bd=>({..._0x59d1bd,'loading':!![],'called':!![],'error':null,'isStale':![]}));const _0x321c17=await callDynamicApi(_0x38156d,_0x4c7839[_0x4b3df8(0x5ee,'c08&')],_0x534a14,{'pathParams':_0xf68810,'body':_0x203143,'config':_0x2e3b70[_0x4b3df8(0x4b0,'cS44')]});globalStateManager[_0x4b3df8(0x468,'tc7g')](_0x19d29c,_0xb764fa=>({..._0xb764fa,..._0x321c17,'loading':![]}));if(_0x321c17[_0x4b3df8(0x42c,'eu)n')])_0x1f3046[_0x4b3df8(0x1e7,'Oc8V')][_0x4b3df8(0x6d7,'uklM')]?.(_0xa60204,_0x321c17[_0x4b3df8(0x5cc,'Te]H')]||_0x4b3df8(0x4a1,'tYoG'),_0x321c17[_0x4b3df8(0x1e1,'@Qs6')]),_0x2e3b70[_0x4b3df8(0x249,'tc7g')]?.(_0x321c17[_0x4b3df8(0x28b,'SxD7')],_0x21d912),_0x534a14[_0x4b3df8(0x2c6,'eu)n')]?.[_0x4b3df8(0x5f1,'Q7sg')](_0x3ead32=>{const _0x478ab4=_0x4b3df8,_0xf5f54a=_0x4c7839[_0x478ab4(0x406,'P7KR')]+'/'+_0x3ead32+'::';globalStateManager[_0x478ab4(0x673,'YBqZ')](_0xf5f54a);});else{if(_0x4b3df8(0x3e9,'YBqZ')!==_0xbcf84a[_0x4b3df8(0x380,'tc7g')])_0x1f3046[_0x4b3df8(0x246,'tc7g')][_0x4b3df8(0x49a,'m7MI')]?.(_0xa60204,_0x321c17[_0x4b3df8(0x5a5,'EwV#')]||_0xbcf84a[_0x4b3df8(0x27d,'SxD7')],_0x321c17[_0x4b3df8(0x1e5,'YBqZ')]??void 0x0),_0x2e3b70[_0x4b3df8(0x411,'KbGR')]?.(_0x321c17[_0x4b3df8(0x2e7,'BWTx')],_0x21d912);else{!this[_0x4b3df8(0x5b5,'I6M*')][_0x4b3df8(0x54e,'@8N4')](_0x36522c)&&this[_0x4b3df8(0x368,'Te]H')][_0x4b3df8(0x450,'p8z5')](_0x2b9482,{'state':_0x26c891(),'listeners':new _0x4f06dd()});const _0x2aadda=this[_0x4b3df8(0x215,'MwRq')][_0x4b3df8(0x619,'Te]H')](_0x3b96f2);return _0x2aadda[_0x4b3df8(0x6d4,'tMbK')][_0x4b3df8(0x3a9,'uklM')](_0x446aee),()=>{const _0x427d5a=_0x4b3df8;_0x2aadda[_0x427d5a(0x58a,'IC8t')][_0x427d5a(0x6b6,'NFX4')](_0x3989f6);};}}return _0x321c17;}catch(_0x53b627){const _0x545b06={'status':0x1f4,'message':_0x53b627[_0x4b3df8(0x1e6,'BGGS')]},_0x10b0b0={'data':null,'error':_0x545b06,'loading':![],'success':![],'rawResponse':_0x53b627};return globalStateManager[_0x4b3df8(0x240,'NFX4')](_0x19d29c,_0x4f04d8=>({..._0x4f04d8,..._0x10b0b0,'loading':![]})),_0x1f3046[_0x4b3df8(0x1e7,'Oc8V')][_0x4b3df8(0x243,'p8z5')]?.(_0xa60204,_0x545b06[_0x4b3df8(0x539,'tMbK')],_0x545b06),_0x2e3b70[_0x4b3df8(0x4b9,'P&Vw')]?.(_0x545b06,_0x21d912),_0x10b0b0;}},_0x7b8ab1=(_0x13bd31,_0x4c7054={})=>{const _0x9bf81e=_0x3b0a89,_0x2b1cea={...JSON[_0x9bf81e(0x54b,'EwV#')](_0x4104a6),..._0x4c7054[_0x9bf81e(0x225,'HN&h')]},_0x48fd44=_0x36f865[_0x9bf81e(0x3d7,'SxD7')](generateCacheKey,_0x4c7839[_0x9bf81e(0x301,'m7MI')],_0xa60204,_0x13bd31,{'pathParams':_0x2b1cea});globalStateManager[_0x9bf81e(0x365,'P7KR')](_0x48fd44,()=>({'data':null,'error':null,'loading':![],'success':![],'called':![],'isStale':![],'rawResponse':null}));};return _0x157984[_0xa60204]={'execute':_0x252967,'reset':_0x7b8ab1},_0x157984;}},{});},[_0x38156d,_0x4c7839,_0x4104a6]),_0x288fe5=_0x1db479[_0x1441d8(0x1fa,'d(K*')](_0x5660f2,()=>{const _0x478e96=_0x1441d8,_0x152d95={};for(const _0x22eb6b in _0x4c7839[_0x478e96(0x254,'#05&')]){if(_0x4c7839[_0x478e96(0x384,'HN&h')][_0x22eb6b]?.[_0x478e96(0x40f,'Fp%A')]){const _0x4619b3=_0x39e62e=>{const _0x1bdb95=_0x478e96;_0x4b0ed3(_0x5d847c=>({..._0x5d847c,[_0x22eb6b]:typeof _0x39e62e===_0x1bdb95(0x500,'EwV#')?_0x39e62e(_0x5d847c[_0x22eb6b]||{}):_0x39e62e}));};_0x152d95[_0x22eb6b]={'options':_0x4f12fb[_0x22eb6b]||{},'setOptions':_0x4619b3,'setPage':_0x2c1a52=>_0x4619b3(_0x4f6241=>({..._0x4f6241,'page':_0x2c1a52})),'setLimit':_0xec1e6c=>_0x4619b3(_0x3885f8=>({..._0x3885f8,'limit':_0xec1e6c,'page':0x1})),'setSearchTerm':_0x534b37=>_0x4619b3(_0x24c65c=>({..._0x24c65c,'search':_0x534b37,'page':0x1})),'setFilters':_0x57f518=>_0x4619b3(_0x1524f2=>({..._0x1524f2,'filter':_0x57f518,'page':0x1})),'setSorting':_0xef89b6=>_0x4619b3(_0x52421f=>({..._0x52421f,'sortBy':_0xef89b6})),'setQueryParam':(_0x2de3ed,_0x325356)=>_0x4619b3(_0x2507df=>({..._0x2507df,[_0x2de3ed]:_0x325356,'page':_0x2de3ed!==_0x478e96(0x620,'Lf%q')?_0x325356:_0x2507df[_0x478e96(0x653,'wvXk')]})),'reset':()=>_0x4619b3({})};}}return _0x152d95;},[_0x4f12fb,_0x4c7839[_0x1441d8(0x205,'YBqZ')]]),_0xc730ae=_0x1db479[_0x1441d8(0x64b,'cS44')](_0x5660f2,()=>{const _0xb5293d=_0x1441d8,_0x1052cc={};for(const _0x3eb74e of Object[_0xb5293d(0x6b1,'BGGS')](_0x4c7839[_0xb5293d(0x61e,'@8N4')])){Object[_0xb5293d(0x4e7,'Ep3[')](_0x1052cc,_0x3eb74e,{'get':()=>{const _0x45adaf=_0xb5293d,_0x4417cf={'laxod':function(_0x2559f9,_0x30767c){const _0x1da771=_0x185b;return _0x1db479[_0x1da771(0x57b,'jXX@')](_0x2559f9,_0x30767c);},'EUGVv':function(_0x19de3c,_0x68c762){return _0x19de3c!==_0x68c762;},'PGZcu':_0x1db479[_0x45adaf(0x49e,'dY(T')]};if(_0x1db479[_0x45adaf(0x5b3,'d(K*')](_0x1db479[_0x45adaf(0x40e,'Lf%q')],_0x1db479[_0x45adaf(0x5da,'cS44')]))_0x1ce899[_0x45adaf(0x1dd,'eu)n')](_0x389c4a[_0x45adaf(0x62f,'PIj&')],_0x236924);else{const _0x26816f=_0x4c7839[_0x45adaf(0x490,'c08&')][_0x3eb74e],_0x4e2759=_0x288fe5[_0x3eb74e]?.[_0x45adaf(0x388,'@Qs6')],_0x2d4374=_0x26816f[_0x45adaf(0x3d9,'Q7sg')]?_0x4e2759:void 0x0,_0x567811=JSON[_0x45adaf(0x473,'p8z5')](_0x4104a6),_0x38fabb=_0x1db479[_0x45adaf(0x56d,'d(K*')](generateCacheKey,_0x4c7839[_0x45adaf(0x3ff,'nWEI')],_0x3eb74e,_0x2d4374,{'pathParams':_0x567811}),_0x23567d=_0x1db479[_0x45adaf(0x2ac,'T]47')](useSyncExternalStore,_0x37651f=>globalStateManager[_0x45adaf(0x5e0,'#05&')](_0x38fabb,_0x37651f),()=>globalStateManager[_0x45adaf(0x38c,'cvq7')](_0x38fabb));return _0x1db479[_0x45adaf(0x4a5,'nec2')](_0x3335b6,()=>{const _0x4cb966=_0x45adaf,_0x331785={'cpPPR':function(_0x42aecf,_0x5aaa19){const _0x360b30=_0x185b;return _0x4417cf[_0x360b30(0x64e,'PIj&')](_0x42aecf,_0x5aaa19);}};if(_0x4417cf[_0x4cb966(0x420,'@8N4')](_0x4417cf[_0x4cb966(0x634,'Ep3[')],_0x4417cf[_0x4cb966(0x433,'T]47')])){if(!_0x113a2e)return _0x5e680f;let _0x54c7db=_0x399883;for(const _0x40ffe0 in _0x16bb85){_0x54c7db=_0x54c7db[_0x4cb966(0x449,'rCo2')](new _0x56f9c0('{'+_0x40ffe0+'}','g'),_0x331785[_0x4cb966(0x29f,'Q7sg')](_0x1e1598,_0x1f3646[_0x40ffe0]));}return _0x54c7db;}else enabled&&_0x23567d[_0x4cb966(0x24c,'MwRq')]&&!_0x23567d[_0x4cb966(0x373,'P7KR')]&&_0x15443b[_0x3eb74e][_0x4cb966(0x663,'rCo2')](_0x2d4374);},[enabled,_0x23567d[_0x45adaf(0x213,'HN&h')],_0x23567d[_0x45adaf(0x5b8,'vnwu')],_0x2d4374,_0x15443b,_0x3eb74e]),_0x23567d;}},'enumerable':!![]});}return _0x1052cc;},[_0x4c7839,_0x4104a6,_0x288fe5,enabled,_0x15443b]);_0x3335b6(()=>{const _0x9eddf8=_0x1441d8;if(_0x1db479[_0x9eddf8(0x39f,'Q7sg')]!==_0x9eddf8(0x3eb,'nWEI')){if(!enabled)return;const _0x524dc1=Object[_0x9eddf8(0x2c7,'HN&h')](_0x4c7839[_0x9eddf8(0x6b3,'Ep3[')]);for(const _0x5c0d8d of _0x524dc1){if(_0x1db479[_0x9eddf8(0x4a7,'vnwu')]!==_0x1db479[_0x9eddf8(0x69c,'Q7sg')])_0x3ab92c[_0x9eddf8(0x3aa,'@8N4')](_0x1f90db[_0x9eddf8(0x601,'@8N4')],_0x38c174);else{const _0x1dd105=_0xc730ae[_0x5c0d8d],_0x569a60=_0x4c7839[_0x9eddf8(0x53e,'m7MI')][_0x5c0d8d];if(_0x569a60[_0x9eddf8(0x523,'NFX4')]&&_0x1dd105&&!_0x1dd105[_0x9eddf8(0x5cd,'Oc8V')]&&!_0x1dd105[_0x9eddf8(0x313,'jXX@')]){const _0x1e01f3=_0x288fe5[_0x5c0d8d]?.[_0x9eddf8(0x2dc,'uklM')],_0x3b1157=_0x569a60[_0x9eddf8(0x46c,'dY(T')]?_0x1e01f3:void 0x0;_0x15443b[_0x5c0d8d][_0x9eddf8(0x6d5,'P7KR')](_0x3b1157);}}}}else{const _0x2fed7f=_0x361adc[_0x9eddf8(0x334,'jXX@')](_0xca29c1,arguments);return _0x5aa902=null,_0x2fed7f;}},[enabled,_0x4c7839,_0x15443b,_0xc730ae,_0x288fe5]);const _0x5642af=_0x1db479[_0x1441d8(0x6b5,'IC8t')](_0x589c7f,Date[_0x1441d8(0x2f2,'eu)n')]());_0x1db479[_0x1441d8(0x2aa,'I6M*')](_0x3335b6,()=>{const _0x11b2b3=_0x1441d8,_0x14aa4e={'MpJaD':_0x11b2b3(0x479,'Ep3[')};if(_0x1db479[_0x11b2b3(0x351,'Xon3')](_0x1db479[_0x11b2b3(0x32c,'tMbK')],_0x11b2b3(0x320,'wvXk'))){if(_0x1db479[_0x11b2b3(0x581,'ISlu')](!enabled,!refetchOnWindowFocus))return;const _0x49b37b=()=>{const _0x2e12c9=_0x11b2b3,_0x29a8b1={'FPjbF':function(_0xb0fc46,_0x2a5101){return _0xb0fc46!==_0x2a5101;},'NQPeK':function(_0x3b3f6b,_0x3d2bf5){const _0x485f3e=_0x185b;return _0x1db479[_0x485f3e(0x5e6,'nec2')](_0x3b3f6b,_0x3d2bf5);}};if(_0x1db479[_0x2e12c9(0x233,'BWTx')](_0x1db479[_0x2e12c9(0x325,'Oc8V')],_0x1db479[_0x2e12c9(0x20a,'cvq7')])){if(_0x1db479[_0x2e12c9(0x5c4,'Xon3')](Date[_0x2e12c9(0x1e8,'rCo2')]()-_0x5642af[_0x2e12c9(0x4d4,'&aZy')],0x2710)){const _0x41de09=Object[_0x2e12c9(0x615,'tMbK')](_0x4c7839[_0x2e12c9(0x477,'jXX@')]);for(const _0x2d9392 of _0x41de09){const _0x4cf1af=_0xc730ae[_0x2d9392];if(_0x4cf1af&&_0x4cf1af[_0x2e12c9(0x33d,'EwV#')]&&!_0x4cf1af[_0x2e12c9(0x3b8,'BWTx')]){const _0x251b5b=_0x4c7839[_0x2e12c9(0x42e,'Te]H')]+'/'+_0x2d9392+'::';globalStateManager[_0x2e12c9(0x4c0,'PIj&')](_0x251b5b);}}}}else for(const _0x250b9e in _0x56cfde){const _0x355eca=_0x4a7a62[_0x250b9e];_0x29a8b1[_0x2e12c9(0x614,'SxD7')](_0x355eca,null)&&_0x355eca!==void 0x0&&_0x2d030f[_0x2e12c9(0x608,'#05&')](_0x2e12c9(0x2b3,'cS44')+_0x250b9e+']',_0x29a8b1[_0x2e12c9(0x561,'jXX@')](_0x47a650,_0x355eca));}},_0x4a1a5d=()=>{const _0x4fc91f=_0x11b2b3;_0x1db479[_0x4fc91f(0x4e8,'Q7sg')](_0x4fc91f(0x2b0,'m7MI'),_0x1db479[_0x4fc91f(0x624,'MwRq')])?_0x5642af[_0x4fc91f(0x4e1,'KbGR')]=Date[_0x4fc91f(0x5be,'HN&h')]():_0x47683c[_0x4fc91f(0x647,'P&Vw')]=_0xce1139;};return window[_0x11b2b3(0x2cf,'cS44')](_0x1db479[_0x11b2b3(0x417,'SxD7')],_0x49b37b),window[_0x11b2b3(0x61d,'ISlu')](_0x11b2b3(0x348,'BGGS'),_0x4a1a5d),()=>{const _0x8797bc=_0x11b2b3;window[_0x8797bc(0x2b5,'d(K*')](_0x8797bc(0x40d,'c08&'),_0x49b37b),window[_0x8797bc(0x222,'NFX4')](_0x14aa4e[_0x8797bc(0x64d,'T]47')],_0x4a1a5d);};}else{const _0x4451f9=_0x32ea46[_0x11b2b3(0x4bd,'&aZy')][_0x56b79c],_0x721632=_0x46996e[_0x4eb56b]?.[_0x11b2b3(0x3cf,'Lf%q')],_0x9ae243=_0x4451f9[_0x11b2b3(0x21e,'MwRq')]?_0x721632:void 0x0,_0x5374cc=_0x40c4a1[_0x11b2b3(0x4c7,'rCo2')](_0x19d413),_0x5eb5da=_0x1db479[_0x11b2b3(0x590,'dY(T')](_0x122e4e,_0x293945[_0x11b2b3(0x2fa,'vnwu')],_0x50e86c,_0x9ae243,{'pathParams':_0x5374cc}),_0x550d6a=_0x433b72(_0x35eacb=>_0x2c2fb1[_0x11b2b3(0x588,'nWEI')](_0x5eb5da,_0x35eacb),()=>_0x54c16e[_0x11b2b3(0x550,'@8N4')](_0x5eb5da));return _0x3e2502(()=>{const _0x514bf4=_0x11b2b3;_0x2cdeaf&&_0x550d6a[_0x514bf4(0x690,'PIj&')]&&!_0x550d6a[_0x514bf4(0x6a6,'eu)n')]&&_0x771d9[_0x1c8a05][_0x514bf4(0x663,'rCo2')](_0x9ae243);},[_0xdd744a,_0x550d6a[_0x11b2b3(0x24c,'MwRq')],_0x550d6a[_0x11b2b3(0x579,'Te]H')],_0x9ae243,_0x4e1057,_0x1bb226]),_0x550d6a;}},[enabled,refetchOnWindowFocus,_0x4c7839,_0xc730ae]);const _0x558d0f=_0x1db479[_0x1441d8(0x358,'%5pV')](_0x5660f2,()=>{const _0x499cad=_0x1441d8;if(_0x1db479[_0x499cad(0x2ae,'nec2')](_0x1db479[_0x499cad(0x342,'KbGR')],_0x499cad(0x2a3,'d(K*'))){const _0x171b07=_0x1667d5[_0x499cad(0x676,'&aZy')](_0x1dc8ea);for(const _0x4316bc in _0x171b07){this[_0x499cad(0x59d,'Q7sg')](_0x4316bc,()=>_0x171b07[_0x4316bc]);}}else return()=>globalStateManager[_0x499cad(0x216,'wvXk')]();},[]);return{'actions':_0x15443b,'states':_0xc730ae,'queries':_0x288fe5,'dehydrate':_0x558d0f};}export{ApiModuleProvider,buildPaginateQuery,cacheManager,callDynamicApi,createApiActions,createApiClient,createApiServices,globalStateManager,processResponse,useApi,useApiModule,useApiRecord,useDeepCompareEffect,useModuleContext};
|
|
1
|
+
"use client";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
4
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
+
|
|
6
|
+
// src/core/client.ts
|
|
7
|
+
import axios from "axios";
|
|
8
|
+
import { v4 as uuidv4 } from "uuid";
|
|
9
|
+
async function runMiddleware(context, middlewares = []) {
|
|
10
|
+
const run = async (index) => {
|
|
11
|
+
if (index >= middlewares.length) return;
|
|
12
|
+
const middleware = middlewares[index];
|
|
13
|
+
await middleware(context, () => run(index + 1));
|
|
14
|
+
};
|
|
15
|
+
await run(0);
|
|
16
|
+
}
|
|
17
|
+
async function refreshToken(config, tokenManager) {
|
|
18
|
+
const { refreshTokenConfig } = config;
|
|
19
|
+
if (!refreshTokenConfig) {
|
|
20
|
+
console.warn("Token refresh is disabled: `refreshTokenConfig` is not provided.");
|
|
21
|
+
await tokenManager.clearTokens();
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
try {
|
|
25
|
+
const currentTokens = await tokenManager.getTokens();
|
|
26
|
+
if (!currentTokens.refreshToken) {
|
|
27
|
+
throw new Error("No refresh token available to perform refresh.");
|
|
28
|
+
}
|
|
29
|
+
const { path, buildRequestBody, buildRequestHeaders, extractTokens } = refreshTokenConfig;
|
|
30
|
+
const requestBody = buildRequestBody ? buildRequestBody(currentTokens.refreshToken) : { refresh_token: currentTokens.refreshToken };
|
|
31
|
+
const requestHeaders = buildRequestHeaders ? buildRequestHeaders(currentTokens) : {};
|
|
32
|
+
const response = await axios.post(
|
|
33
|
+
`${config.baseURL}${path}`,
|
|
34
|
+
requestBody,
|
|
35
|
+
{ headers: requestHeaders, withCredentials: config.withCredentials }
|
|
36
|
+
);
|
|
37
|
+
const extracted = extractTokens(response.data);
|
|
38
|
+
if (!extracted || !extracted.accessToken || typeof extracted.expiresIn !== "number") {
|
|
39
|
+
throw new Error("extractTokens function failed to return a valid token structure.");
|
|
40
|
+
}
|
|
41
|
+
const newTokens = {
|
|
42
|
+
accessToken: extracted.accessToken,
|
|
43
|
+
refreshToken: extracted.refreshToken || currentTokens.refreshToken,
|
|
44
|
+
expiresAt: Date.now() + extracted.expiresIn * 1e3,
|
|
45
|
+
tokenType: extracted.tokenType || "Bearer"
|
|
46
|
+
};
|
|
47
|
+
await tokenManager.setTokens(newTokens);
|
|
48
|
+
console.info("Tokens refreshed successfully.");
|
|
49
|
+
return newTokens;
|
|
50
|
+
} catch (err) {
|
|
51
|
+
console.error("Failed to refresh token.", err.response?.data || err.message);
|
|
52
|
+
if (config.onRefreshError) {
|
|
53
|
+
config.onRefreshError(err);
|
|
54
|
+
}
|
|
55
|
+
await tokenManager.clearTokens();
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function createApiClient(config) {
|
|
60
|
+
const {
|
|
61
|
+
baseURL,
|
|
62
|
+
tokenManager,
|
|
63
|
+
timeout = 15e3,
|
|
64
|
+
headers = {},
|
|
65
|
+
withCredentials = false,
|
|
66
|
+
middleware = [],
|
|
67
|
+
defaultIsPublic = false,
|
|
68
|
+
maxTokenRefreshRetries = 2,
|
|
69
|
+
maxQueueSize = 50,
|
|
70
|
+
onRefreshError
|
|
71
|
+
} = config;
|
|
72
|
+
const axiosInstance = axios.create({
|
|
73
|
+
baseURL,
|
|
74
|
+
timeout,
|
|
75
|
+
headers: { "Content-Type": "application/json", ...headers },
|
|
76
|
+
withCredentials
|
|
77
|
+
});
|
|
78
|
+
let isRefreshing = false;
|
|
79
|
+
let refreshAttempts = 0;
|
|
80
|
+
let failedQueue = [];
|
|
81
|
+
const processQueue = (error, token = null) => {
|
|
82
|
+
failedQueue.forEach((prom) => error ? prom.reject(error) : prom.resolve(token));
|
|
83
|
+
failedQueue = [];
|
|
84
|
+
};
|
|
85
|
+
const safeRunMiddleware = async (context, middlewareList) => {
|
|
86
|
+
try {
|
|
87
|
+
await runMiddleware(context, middlewareList);
|
|
88
|
+
} catch (err) {
|
|
89
|
+
console.error("Middleware Error", err);
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
axiosInstance.interceptors.request.use(async (req) => {
|
|
93
|
+
req.headers["X-Request-ID"] = uuidv4();
|
|
94
|
+
try {
|
|
95
|
+
const fullUrl = axios.getUri({ ...req, baseURL: req.baseURL ?? baseURL });
|
|
96
|
+
console.log(`Request Sent > ${req.method?.toUpperCase()} ${fullUrl}`, `(ID: ${req.headers["X-Request-ID"]})`);
|
|
97
|
+
} catch {
|
|
98
|
+
console.warn("Failed to build full request URL for logging.");
|
|
99
|
+
}
|
|
100
|
+
await safeRunMiddleware({ req, custom: {} }, middleware);
|
|
101
|
+
if (req.isPublic ?? defaultIsPublic) {
|
|
102
|
+
return req;
|
|
103
|
+
}
|
|
104
|
+
if (tokenManager.isHttpOnly()) return req;
|
|
105
|
+
let tokens = await tokenManager.getTokens();
|
|
106
|
+
const now = Date.now();
|
|
107
|
+
const tokenBuffer = 60 * 1e3;
|
|
108
|
+
if (tokens.accessToken && tokens.expiresAt && tokens.expiresAt - now < tokenBuffer && !isRefreshing) {
|
|
109
|
+
if (config.refreshTokenConfig) {
|
|
110
|
+
console.info("Proactive token refresh initiated.");
|
|
111
|
+
isRefreshing = true;
|
|
112
|
+
try {
|
|
113
|
+
const newTokens = await refreshToken(config, tokenManager);
|
|
114
|
+
if (newTokens) tokens = newTokens;
|
|
115
|
+
} catch (err) {
|
|
116
|
+
console.error("Proactive refresh failed", err);
|
|
117
|
+
} finally {
|
|
118
|
+
isRefreshing = false;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
if (tokens.accessToken) {
|
|
123
|
+
req.headers.Authorization = `${tokens.tokenType || "Bearer"} ${tokens.accessToken}`;
|
|
124
|
+
}
|
|
125
|
+
return req;
|
|
126
|
+
});
|
|
127
|
+
axiosInstance.interceptors.response.use(
|
|
128
|
+
async (res) => {
|
|
129
|
+
try {
|
|
130
|
+
const fullUrl = axios.getUri(res.config);
|
|
131
|
+
console.log(`Response Received < ${res.config.method?.toUpperCase()} ${fullUrl}`, `(ID: ${res.config.headers["X-Request-ID"]}, Status: ${res.status})`);
|
|
132
|
+
} catch {
|
|
133
|
+
console.warn("Failed to build full response URL for logging.");
|
|
134
|
+
}
|
|
135
|
+
await safeRunMiddleware({ req: res.config, res, custom: {} }, middleware);
|
|
136
|
+
return res;
|
|
137
|
+
},
|
|
138
|
+
async (error) => {
|
|
139
|
+
const originalRequest = error.config;
|
|
140
|
+
try {
|
|
141
|
+
const fullUrl = axios.getUri(originalRequest);
|
|
142
|
+
const method = originalRequest.method?.toUpperCase();
|
|
143
|
+
const status = error.response?.status;
|
|
144
|
+
const responseData = error.response?.data;
|
|
145
|
+
const summary = `Response Error < ${method} ${fullUrl} | Status: ${status || "N/A"}`;
|
|
146
|
+
const apiMessage = responseData?.message || error.message;
|
|
147
|
+
console.error(summary);
|
|
148
|
+
console.error(`> Message: ${apiMessage}`);
|
|
149
|
+
if (error.response) {
|
|
150
|
+
console.groupCollapsed("Full Error Response Details");
|
|
151
|
+
console.dir(error.response.data);
|
|
152
|
+
console.groupEnd();
|
|
153
|
+
}
|
|
154
|
+
} catch {
|
|
155
|
+
console.error("Response Error: Failed to build full URL for logging.", error.message);
|
|
156
|
+
}
|
|
157
|
+
await safeRunMiddleware({ req: originalRequest, error, custom: {} }, middleware);
|
|
158
|
+
const isHttpOnlyMode = tokenManager.isHttpOnly();
|
|
159
|
+
const canAttemptRefresh = error.response?.status === 401 && !originalRequest._retry && config.refreshTokenConfig;
|
|
160
|
+
if (isHttpOnlyMode && canAttemptRefresh) {
|
|
161
|
+
console.error("401 in httpOnly mode. Token refresh must be handled by the server.");
|
|
162
|
+
return Promise.reject(error);
|
|
163
|
+
}
|
|
164
|
+
if (!isHttpOnlyMode && canAttemptRefresh) {
|
|
165
|
+
if (isRefreshing) {
|
|
166
|
+
if (failedQueue.length >= maxQueueSize) {
|
|
167
|
+
console.warn("Failed request queue overflow, rejecting request.");
|
|
168
|
+
return Promise.reject(error);
|
|
169
|
+
}
|
|
170
|
+
return new Promise((resolve, reject) => failedQueue.push({ resolve, reject })).then((token) => {
|
|
171
|
+
originalRequest.headers["Authorization"] = `Bearer ${token}`;
|
|
172
|
+
return axiosInstance(originalRequest);
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
if (refreshAttempts >= maxTokenRefreshRetries) {
|
|
176
|
+
console.error("Max token refresh attempts reached.");
|
|
177
|
+
return Promise.reject(error);
|
|
178
|
+
}
|
|
179
|
+
refreshAttempts++;
|
|
180
|
+
originalRequest._retry = true;
|
|
181
|
+
isRefreshing = true;
|
|
182
|
+
try {
|
|
183
|
+
const newTokens = await refreshToken(config, tokenManager);
|
|
184
|
+
if (!newTokens?.accessToken) {
|
|
185
|
+
throw new Error("Token refresh failed to produce a new access token.");
|
|
186
|
+
}
|
|
187
|
+
processQueue(null, newTokens.accessToken);
|
|
188
|
+
originalRequest.headers["Authorization"] = `${newTokens.tokenType || "Bearer"} ${newTokens.accessToken}`;
|
|
189
|
+
return axiosInstance(originalRequest);
|
|
190
|
+
} catch (refreshError) {
|
|
191
|
+
processQueue(refreshError, null);
|
|
192
|
+
return Promise.reject(refreshError);
|
|
193
|
+
} finally {
|
|
194
|
+
isRefreshing = false;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
return Promise.reject(error);
|
|
198
|
+
}
|
|
199
|
+
);
|
|
200
|
+
return axiosInstance;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
// src/core/processor.ts
|
|
204
|
+
import axios3 from "axios";
|
|
205
|
+
|
|
206
|
+
// src/core/utils.ts
|
|
207
|
+
import axios2 from "axios";
|
|
208
|
+
function isAxiosResponse(obj) {
|
|
209
|
+
return obj && obj.data !== void 0 && obj.status !== void 0 && obj.config !== void 0;
|
|
210
|
+
}
|
|
211
|
+
function buildPaginateQuery(options) {
|
|
212
|
+
const params = new URLSearchParams();
|
|
213
|
+
for (const key in options) {
|
|
214
|
+
const value = options[key];
|
|
215
|
+
if (value === null || value === void 0) {
|
|
216
|
+
continue;
|
|
217
|
+
}
|
|
218
|
+
if (key === "filter" && typeof value === "object" && !Array.isArray(value)) {
|
|
219
|
+
for (const filterKey in value) {
|
|
220
|
+
const filterValue = value[filterKey];
|
|
221
|
+
if (filterValue !== null && filterValue !== void 0) {
|
|
222
|
+
params.append(`filter[${filterKey}]`, String(filterValue));
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
} else if (key === "sortBy" && Array.isArray(value)) {
|
|
226
|
+
value.forEach((sortItem) => {
|
|
227
|
+
if (sortItem && sortItem.key && sortItem.direction) {
|
|
228
|
+
params.append("sortBy[]", `${sortItem.key}:${sortItem.direction}`);
|
|
229
|
+
}
|
|
230
|
+
});
|
|
231
|
+
} else {
|
|
232
|
+
params.append(key, String(value));
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
return params.toString();
|
|
236
|
+
}
|
|
237
|
+
function isServerError(error) {
|
|
238
|
+
return axios2.isAxiosError(error) && error.response !== void 0;
|
|
239
|
+
}
|
|
240
|
+
function isNetworkError(error) {
|
|
241
|
+
return axios2.isAxiosError(error) && error.response === void 0 && error.request !== void 0;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
// src/core/processor.ts
|
|
245
|
+
var processResponse = (responseOrError) => {
|
|
246
|
+
if (isAxiosResponse(responseOrError)) {
|
|
247
|
+
const response = responseOrError;
|
|
248
|
+
const rawData = response.data;
|
|
249
|
+
const isStandardApiResponse = rawData && typeof rawData.success === "boolean" && rawData.data !== void 0;
|
|
250
|
+
return {
|
|
251
|
+
data: isStandardApiResponse ? rawData.data : rawData,
|
|
252
|
+
links: isStandardApiResponse ? rawData.links : void 0,
|
|
253
|
+
meta: isStandardApiResponse ? rawData.meta : void 0,
|
|
254
|
+
rawResponse: rawData,
|
|
255
|
+
loading: false,
|
|
256
|
+
success: true,
|
|
257
|
+
error: null,
|
|
258
|
+
message: isStandardApiResponse ? rawData.message : "Request successful.",
|
|
259
|
+
validationErrors: []
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
if (isServerError(responseOrError)) {
|
|
263
|
+
const error = responseOrError;
|
|
264
|
+
const responseData = error.response.data;
|
|
265
|
+
const status = error.response.status;
|
|
266
|
+
let defaultMessage = "An unexpected server error occurred.";
|
|
267
|
+
switch (status) {
|
|
268
|
+
case 400:
|
|
269
|
+
defaultMessage = "Bad Request";
|
|
270
|
+
break;
|
|
271
|
+
case 401:
|
|
272
|
+
defaultMessage = "Unauthorized";
|
|
273
|
+
break;
|
|
274
|
+
case 403:
|
|
275
|
+
defaultMessage = "Forbidden";
|
|
276
|
+
break;
|
|
277
|
+
case 404:
|
|
278
|
+
defaultMessage = "Not Found";
|
|
279
|
+
break;
|
|
280
|
+
case 422:
|
|
281
|
+
defaultMessage = "Validation Failed";
|
|
282
|
+
break;
|
|
283
|
+
case 500:
|
|
284
|
+
defaultMessage = "Internal Server Error";
|
|
285
|
+
break;
|
|
286
|
+
case 503:
|
|
287
|
+
defaultMessage = "Service Unavailable";
|
|
288
|
+
break;
|
|
289
|
+
default:
|
|
290
|
+
defaultMessage = `Server Error (${status})`;
|
|
291
|
+
}
|
|
292
|
+
const finalApiError = {
|
|
293
|
+
message: responseData?.message || defaultMessage,
|
|
294
|
+
status,
|
|
295
|
+
code: responseData?.code || error.code,
|
|
296
|
+
errors: responseData?.errors || []
|
|
297
|
+
};
|
|
298
|
+
return {
|
|
299
|
+
data: null,
|
|
300
|
+
rawResponse: responseData,
|
|
301
|
+
error: finalApiError,
|
|
302
|
+
validationErrors: finalApiError.errors,
|
|
303
|
+
success: false,
|
|
304
|
+
loading: false,
|
|
305
|
+
message: finalApiError.message
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
if (isNetworkError(responseOrError)) {
|
|
309
|
+
const error = responseOrError;
|
|
310
|
+
return {
|
|
311
|
+
data: null,
|
|
312
|
+
rawResponse: error.request,
|
|
313
|
+
error: { message: "Network Error: Unable to connect.", status: 0, code: error.code },
|
|
314
|
+
success: false,
|
|
315
|
+
loading: false,
|
|
316
|
+
message: "Network Error."
|
|
317
|
+
};
|
|
318
|
+
}
|
|
319
|
+
if (axios3.isCancel(responseOrError)) {
|
|
320
|
+
return {
|
|
321
|
+
data: null,
|
|
322
|
+
rawResponse: null,
|
|
323
|
+
error: { message: "Request Canceled.", status: 499 },
|
|
324
|
+
success: false,
|
|
325
|
+
loading: false,
|
|
326
|
+
message: "Request Canceled."
|
|
327
|
+
};
|
|
328
|
+
}
|
|
329
|
+
return {
|
|
330
|
+
data: null,
|
|
331
|
+
rawResponse: responseOrError,
|
|
332
|
+
error: { message: "An unknown error occurred.", status: -1 },
|
|
333
|
+
success: false,
|
|
334
|
+
loading: false,
|
|
335
|
+
message: "An unknown error occurred."
|
|
336
|
+
};
|
|
337
|
+
};
|
|
338
|
+
|
|
339
|
+
// src/core/buildDynamicUrl.ts
|
|
340
|
+
function buildDynamicUrl(template, params) {
|
|
341
|
+
if (!params) {
|
|
342
|
+
return template;
|
|
343
|
+
}
|
|
344
|
+
return template.replace(/\{(\w+)\}/g, (placeholder, key) => {
|
|
345
|
+
return params.hasOwnProperty(key) ? String(params[key]) : placeholder;
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
// src/services/crud.ts
|
|
350
|
+
function createApiServices(axiosInstance, baseEndpoint) {
|
|
351
|
+
const resolveUrl = (config = {}, id) => {
|
|
352
|
+
const endpointTemplate = config.endpoint || (id != null ? `${baseEndpoint}/{id}` : baseEndpoint);
|
|
353
|
+
const params = id != null ? { id, tenant: id, tenantId: id, recordId: id } : {};
|
|
354
|
+
return buildDynamicUrl(endpointTemplate, params);
|
|
355
|
+
};
|
|
356
|
+
const get = async (id, config) => {
|
|
357
|
+
const url = resolveUrl(config, id);
|
|
358
|
+
try {
|
|
359
|
+
const response = await axiosInstance.get(url, config);
|
|
360
|
+
return processResponse(response);
|
|
361
|
+
} catch (error) {
|
|
362
|
+
return processResponse(error);
|
|
363
|
+
}
|
|
364
|
+
};
|
|
365
|
+
const getWithQuery = async (query, config) => {
|
|
366
|
+
const url = `${baseEndpoint}?${query}`;
|
|
367
|
+
try {
|
|
368
|
+
const response = await axiosInstance.get(url, config);
|
|
369
|
+
return processResponse(response);
|
|
370
|
+
} catch (error) {
|
|
371
|
+
return processResponse(error);
|
|
372
|
+
}
|
|
373
|
+
};
|
|
374
|
+
const post = async (data, config) => {
|
|
375
|
+
const url = resolveUrl(config);
|
|
376
|
+
try {
|
|
377
|
+
const response = await axiosInstance.post(url, data, config);
|
|
378
|
+
console.log("[lib] response POST: ", response);
|
|
379
|
+
console.log("[lib] response processResponse POST: ", processResponse(response));
|
|
380
|
+
return processResponse(response);
|
|
381
|
+
} catch (error) {
|
|
382
|
+
console.log("[lib] response error POST: ", processResponse(error));
|
|
383
|
+
return processResponse(error);
|
|
384
|
+
}
|
|
385
|
+
};
|
|
386
|
+
const put = async (id, data, config) => {
|
|
387
|
+
const url = resolveUrl(config, id);
|
|
388
|
+
try {
|
|
389
|
+
const response = await axiosInstance.put(url, data, config);
|
|
390
|
+
return processResponse(response);
|
|
391
|
+
} catch (error) {
|
|
392
|
+
return processResponse(error);
|
|
393
|
+
}
|
|
394
|
+
};
|
|
395
|
+
const patch = async (id, data, config) => {
|
|
396
|
+
const url = resolveUrl(config, id);
|
|
397
|
+
try {
|
|
398
|
+
const response = await axiosInstance.patch(url, data, config);
|
|
399
|
+
return processResponse(response);
|
|
400
|
+
} catch (error) {
|
|
401
|
+
return processResponse(error);
|
|
402
|
+
}
|
|
403
|
+
};
|
|
404
|
+
const remove = async (id, config) => {
|
|
405
|
+
const url = resolveUrl(config, id);
|
|
406
|
+
try {
|
|
407
|
+
const response = await axiosInstance.delete(url, config);
|
|
408
|
+
return processResponse(response);
|
|
409
|
+
} catch (error) {
|
|
410
|
+
return processResponse(error);
|
|
411
|
+
}
|
|
412
|
+
};
|
|
413
|
+
const bulkDelete = async (ids, config) => {
|
|
414
|
+
const url = resolveUrl(config);
|
|
415
|
+
try {
|
|
416
|
+
const response = await axiosInstance.delete(url, { data: { ids }, ...config });
|
|
417
|
+
return processResponse(response);
|
|
418
|
+
} catch (error) {
|
|
419
|
+
return processResponse(error);
|
|
420
|
+
}
|
|
421
|
+
};
|
|
422
|
+
const upload = async (file, additionalData, config) => {
|
|
423
|
+
const url = resolveUrl(config);
|
|
424
|
+
const formData = new FormData();
|
|
425
|
+
formData.append("file", file);
|
|
426
|
+
if (additionalData) {
|
|
427
|
+
Object.keys(additionalData).forEach((key) => formData.append(key, String(additionalData[key])));
|
|
428
|
+
}
|
|
429
|
+
try {
|
|
430
|
+
const response = await axiosInstance.post(url, formData, {
|
|
431
|
+
...config,
|
|
432
|
+
headers: { ...config?.headers, "Content-Type": "multipart/form-data" }
|
|
433
|
+
});
|
|
434
|
+
return processResponse(response);
|
|
435
|
+
} catch (error) {
|
|
436
|
+
return processResponse(error);
|
|
437
|
+
}
|
|
438
|
+
};
|
|
439
|
+
return { get, getWithQuery, post, put, patch, remove, bulkDelete, upload };
|
|
440
|
+
}
|
|
441
|
+
async function callDynamicApi(axiosInstance, baseEndpoint, actionConfig, params) {
|
|
442
|
+
const { pathParams, body, config } = params;
|
|
443
|
+
const urlTemplate = `${baseEndpoint}${actionConfig.path}`;
|
|
444
|
+
const finalUrl = buildDynamicUrl(urlTemplate, pathParams || {});
|
|
445
|
+
try {
|
|
446
|
+
const { method } = actionConfig;
|
|
447
|
+
let response;
|
|
448
|
+
if (method === "POST" || method === "PUT" || method === "PATCH") {
|
|
449
|
+
response = await axiosInstance[method.toLowerCase()](finalUrl, body, config);
|
|
450
|
+
} else if (method === "DELETE") {
|
|
451
|
+
response = await axiosInstance.delete(finalUrl, { data: body, ...config });
|
|
452
|
+
} else {
|
|
453
|
+
response = await axiosInstance.get(finalUrl, { params: body, ...config });
|
|
454
|
+
}
|
|
455
|
+
return processResponse(response);
|
|
456
|
+
} catch (error) {
|
|
457
|
+
return processResponse(error);
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
// src/services/actions.ts
|
|
462
|
+
function createAction(axiosInstance, method, endpoint) {
|
|
463
|
+
return async (payload, config) => {
|
|
464
|
+
try {
|
|
465
|
+
const response = await axiosInstance.request({
|
|
466
|
+
url: endpoint,
|
|
467
|
+
method,
|
|
468
|
+
...method.toUpperCase() === "GET" ? { params: payload } : { data: payload },
|
|
469
|
+
...config
|
|
470
|
+
});
|
|
471
|
+
return processResponse(response);
|
|
472
|
+
} catch (error) {
|
|
473
|
+
return processResponse(error);
|
|
474
|
+
}
|
|
475
|
+
};
|
|
476
|
+
}
|
|
477
|
+
function createApiActions(axiosInstance, actionsConfig) {
|
|
478
|
+
const actions = {};
|
|
479
|
+
for (const actionName in actionsConfig) {
|
|
480
|
+
if (Object.prototype.hasOwnProperty.call(actionsConfig, actionName)) {
|
|
481
|
+
const { method, endpoint, log } = actionsConfig[actionName];
|
|
482
|
+
actions[actionName] = createAction(axiosInstance, method, endpoint);
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
return actions;
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
// src/core/globalStateManager.ts
|
|
489
|
+
var createInitialState = () => ({
|
|
490
|
+
data: null,
|
|
491
|
+
links: void 0,
|
|
492
|
+
meta: void 0,
|
|
493
|
+
error: null,
|
|
494
|
+
loading: false,
|
|
495
|
+
success: false,
|
|
496
|
+
called: false,
|
|
497
|
+
isStale: false,
|
|
498
|
+
message: void 0,
|
|
499
|
+
validationErrors: [],
|
|
500
|
+
rawResponse: null
|
|
501
|
+
});
|
|
502
|
+
var GlobalStateManager = class {
|
|
503
|
+
constructor() {
|
|
504
|
+
__publicField(this, "store", /* @__PURE__ */ new Map());
|
|
505
|
+
}
|
|
506
|
+
/**
|
|
507
|
+
* يحصل على لقطة (snapshot) للحالة الحالية لمفتاح معين.
|
|
508
|
+
*/
|
|
509
|
+
getSnapshot(key) {
|
|
510
|
+
return this.store.get(key)?.state ?? createInitialState();
|
|
511
|
+
}
|
|
512
|
+
/**
|
|
513
|
+
* يسجل دالة callback للاستماع إلى التغييرات على مفتاح معين.
|
|
514
|
+
* @returns دالة لإلغاء الاشتراك.
|
|
515
|
+
*/
|
|
516
|
+
subscribe(key, callback) {
|
|
517
|
+
if (!this.store.has(key)) {
|
|
518
|
+
this.store.set(key, { state: createInitialState(), listeners: /* @__PURE__ */ new Set() });
|
|
519
|
+
}
|
|
520
|
+
const item = this.store.get(key);
|
|
521
|
+
item.listeners.add(callback);
|
|
522
|
+
return () => {
|
|
523
|
+
item.listeners.delete(callback);
|
|
524
|
+
};
|
|
525
|
+
}
|
|
526
|
+
/**
|
|
527
|
+
* يحدّث الحالة لمفتاح معين ويقوم بإعلام جميع المشتركين.
|
|
528
|
+
*/
|
|
529
|
+
setState(key, updater) {
|
|
530
|
+
const currentState = this.getSnapshot(key);
|
|
531
|
+
const newState = updater(currentState);
|
|
532
|
+
if (!this.store.has(key)) {
|
|
533
|
+
this.store.set(key, { state: newState, listeners: /* @__PURE__ */ new Set() });
|
|
534
|
+
} else {
|
|
535
|
+
this.store.get(key).state = newState;
|
|
536
|
+
}
|
|
537
|
+
this.store.get(key).listeners.forEach((listener) => listener());
|
|
538
|
+
}
|
|
539
|
+
/**
|
|
540
|
+
* يجعل البيانات المرتبطة بمفتاح معين "قديمة" (stale).
|
|
541
|
+
*/
|
|
542
|
+
invalidate(key) {
|
|
543
|
+
const state = this.getSnapshot(key);
|
|
544
|
+
if (state.called) {
|
|
545
|
+
this.setState(key, (prev) => ({ ...prev, isStale: true }));
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
/**
|
|
549
|
+
* [نسخة محدثة وأكثر قوة]
|
|
550
|
+
* يجعل كل البيانات التي تبدأ بمفتاح معين "قديمة" (stale).
|
|
551
|
+
* @example invalidateByPrefix('myModule/list::') سيبطل كل صفحات القائمة.
|
|
552
|
+
*/
|
|
553
|
+
invalidateByPrefix(prefix) {
|
|
554
|
+
this.store.forEach((value, key) => {
|
|
555
|
+
if (key.startsWith(prefix)) {
|
|
556
|
+
const state = this.getSnapshot(key);
|
|
557
|
+
if (state.called) {
|
|
558
|
+
this.setState(key, (prev) => ({ ...prev, isStale: true }));
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
});
|
|
562
|
+
}
|
|
563
|
+
/**
|
|
564
|
+
* Serializes the current state of the query store into a JSON string.
|
|
565
|
+
* This is used on the server to pass the initial state to the client.
|
|
566
|
+
* @returns A JSON string representing the dehydrated state.
|
|
567
|
+
*/
|
|
568
|
+
dehydrate() {
|
|
569
|
+
const stateToPersist = {};
|
|
570
|
+
this.store.forEach((value, key) => {
|
|
571
|
+
if (value.state.called) {
|
|
572
|
+
stateToPersist[key] = value.state;
|
|
573
|
+
}
|
|
574
|
+
});
|
|
575
|
+
return JSON.stringify(stateToPersist);
|
|
576
|
+
}
|
|
577
|
+
/**
|
|
578
|
+
* Merges a dehydrated state object into the current store.
|
|
579
|
+
* This is used on the client to hydrate the state received from the server.
|
|
580
|
+
* @param hydratedState - A JSON string from the `dehydrate` method.
|
|
581
|
+
*/
|
|
582
|
+
rehydrate(hydratedState) {
|
|
583
|
+
try {
|
|
584
|
+
const parsedState = JSON.parse(hydratedState);
|
|
585
|
+
for (const key in parsedState) {
|
|
586
|
+
this.setState(key, () => parsedState[key]);
|
|
587
|
+
}
|
|
588
|
+
} catch (e) {
|
|
589
|
+
console.error("[api-core-lib] Failed to rehydrate state:", e);
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
};
|
|
593
|
+
var globalStateManager = new GlobalStateManager();
|
|
594
|
+
|
|
595
|
+
// src/core/cache.ts
|
|
596
|
+
var CacheManager = class {
|
|
597
|
+
constructor() {
|
|
598
|
+
__publicField(this, "cache", /* @__PURE__ */ new Map());
|
|
599
|
+
__publicField(this, "defaultDuration", 15 * 60 * 1e3);
|
|
600
|
+
}
|
|
601
|
+
// 15 minutes
|
|
602
|
+
set(key, data, duration) {
|
|
603
|
+
this.cache.set(key, {
|
|
604
|
+
data,
|
|
605
|
+
timestamp: Date.now(),
|
|
606
|
+
duration: duration || this.defaultDuration
|
|
607
|
+
});
|
|
608
|
+
}
|
|
609
|
+
get(key) {
|
|
610
|
+
const item = this.cache.get(key);
|
|
611
|
+
if (!item) return null;
|
|
612
|
+
const isExpired = Date.now() - item.timestamp > item.duration;
|
|
613
|
+
if (isExpired) {
|
|
614
|
+
this.cache.delete(key);
|
|
615
|
+
return null;
|
|
616
|
+
}
|
|
617
|
+
return item.data;
|
|
618
|
+
}
|
|
619
|
+
/**
|
|
620
|
+
* [FIX] تم تحويلها إلى دالة عامة (generic) لتعيد النوع الصحيح.
|
|
621
|
+
* الآن بدلًا من إرجاع CacheItem<unknown>، ستُرجع CacheItem<T>.
|
|
622
|
+
*/
|
|
623
|
+
getWithMeta(key) {
|
|
624
|
+
const item = this.cache.get(key);
|
|
625
|
+
if (!item) return null;
|
|
626
|
+
const isExpired = Date.now() - item.timestamp > item.duration;
|
|
627
|
+
if (isExpired) {
|
|
628
|
+
this.cache.delete(key);
|
|
629
|
+
return null;
|
|
630
|
+
}
|
|
631
|
+
return item;
|
|
632
|
+
}
|
|
633
|
+
delete(key) {
|
|
634
|
+
this.cache.delete(key);
|
|
635
|
+
}
|
|
636
|
+
clear() {
|
|
637
|
+
this.cache.clear();
|
|
638
|
+
}
|
|
639
|
+
invalidateByPrefix(prefix) {
|
|
640
|
+
const keysToDelete = [];
|
|
641
|
+
for (const key of this.cache.keys()) {
|
|
642
|
+
if (key.startsWith(prefix)) {
|
|
643
|
+
keysToDelete.push(key);
|
|
644
|
+
}
|
|
645
|
+
}
|
|
646
|
+
keysToDelete.forEach((key) => this.cache.delete(key));
|
|
647
|
+
console.log(`Invalidated ${keysToDelete.length} cache entries with prefix: ${prefix}`);
|
|
648
|
+
}
|
|
649
|
+
};
|
|
650
|
+
var cacheManager = new CacheManager();
|
|
651
|
+
|
|
652
|
+
// src/hooks/useApi.ts
|
|
653
|
+
import { useState, useEffect, useCallback, useRef, useMemo } from "react";
|
|
654
|
+
function buildDynamicPath(template, params) {
|
|
655
|
+
if (!params) return template;
|
|
656
|
+
let path = template;
|
|
657
|
+
for (const key in params) {
|
|
658
|
+
path = path.replace(new RegExp(`{${key}}`, "g"), String(params[key]));
|
|
659
|
+
}
|
|
660
|
+
return path;
|
|
661
|
+
}
|
|
662
|
+
function useApi(axiosInstance, config) {
|
|
663
|
+
const {
|
|
664
|
+
endpoint,
|
|
665
|
+
pathParams,
|
|
666
|
+
// [REMOVE] لم نعد بحاجة لهذا الخيار
|
|
667
|
+
// encodeQuery = true,
|
|
668
|
+
initialData,
|
|
669
|
+
initialQuery = {},
|
|
670
|
+
enabled = true,
|
|
671
|
+
refetchAfterChange = true,
|
|
672
|
+
requestConfig,
|
|
673
|
+
onSuccess,
|
|
674
|
+
onError
|
|
675
|
+
} = config;
|
|
676
|
+
const finalEndpoint = useMemo(
|
|
677
|
+
() => buildDynamicPath(endpoint, pathParams),
|
|
678
|
+
[endpoint, pathParams]
|
|
679
|
+
);
|
|
680
|
+
const [state, setState] = useState({
|
|
681
|
+
data: initialData ?? null,
|
|
682
|
+
rawResponse: null,
|
|
683
|
+
loading: enabled,
|
|
684
|
+
error: null,
|
|
685
|
+
success: false,
|
|
686
|
+
message: void 0,
|
|
687
|
+
validationErrors: void 0
|
|
688
|
+
});
|
|
689
|
+
const [queryOptions, setQueryOptions] = useState(initialQuery);
|
|
690
|
+
const apiServices = useMemo(
|
|
691
|
+
() => createApiServices(axiosInstance, finalEndpoint),
|
|
692
|
+
[axiosInstance, finalEndpoint]
|
|
693
|
+
);
|
|
694
|
+
const savedOnSuccess = useRef(onSuccess);
|
|
695
|
+
const savedOnError = useRef(onError);
|
|
696
|
+
useEffect(() => {
|
|
697
|
+
savedOnSuccess.current = onSuccess;
|
|
698
|
+
savedOnError.current = onError;
|
|
699
|
+
}, [onSuccess, onError]);
|
|
700
|
+
const fetchData = useCallback(async (currentQueryOptions) => {
|
|
701
|
+
setState((prev) => ({ ...prev, loading: true, error: null }));
|
|
702
|
+
try {
|
|
703
|
+
const finalQuery = currentQueryOptions || queryOptions;
|
|
704
|
+
const hasQueryParams = Object.keys(finalQuery).length > 0;
|
|
705
|
+
const queryString = buildPaginateQuery(finalQuery);
|
|
706
|
+
const result = hasQueryParams ? await apiServices.getWithQuery(queryString, requestConfig) : await apiServices.get(void 0, requestConfig);
|
|
707
|
+
setState(result);
|
|
708
|
+
if (result.success && savedOnSuccess.current) {
|
|
709
|
+
savedOnSuccess.current(result.message || "Fetch successful!", result.data ?? void 0);
|
|
710
|
+
} else if (!result.success && savedOnError.current) {
|
|
711
|
+
savedOnError.current(result.message || "Fetch failed", result.error ?? void 0);
|
|
712
|
+
}
|
|
713
|
+
} catch (e) {
|
|
714
|
+
const apiError = { status: 500, message: e.message || "An unexpected client-side error occurred." };
|
|
715
|
+
setState((prev) => ({ ...prev, loading: false, error: apiError, success: false }));
|
|
716
|
+
if (savedOnError.current) {
|
|
717
|
+
savedOnError.current(apiError.message, apiError);
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
}, [apiServices, queryOptions, requestConfig]);
|
|
721
|
+
useEffect(() => {
|
|
722
|
+
if (enabled) {
|
|
723
|
+
fetchData();
|
|
724
|
+
}
|
|
725
|
+
}, [enabled, fetchData]);
|
|
726
|
+
const handleActionResult = useCallback(async (actionPromise) => {
|
|
727
|
+
setState((prev) => ({ ...prev, loading: true }));
|
|
728
|
+
try {
|
|
729
|
+
const result = await actionPromise;
|
|
730
|
+
if (result.success) {
|
|
731
|
+
if (savedOnSuccess.current) {
|
|
732
|
+
savedOnSuccess.current(result.message || "Action successful!", result.data ?? void 0);
|
|
733
|
+
}
|
|
734
|
+
if (refetchAfterChange) {
|
|
735
|
+
await fetchData(queryOptions);
|
|
736
|
+
} else {
|
|
737
|
+
setState((prev) => ({ ...prev, ...result, loading: false }));
|
|
738
|
+
}
|
|
739
|
+
} else {
|
|
740
|
+
if (savedOnError.current) {
|
|
741
|
+
savedOnError.current(result.message || "Action failed", result.error ?? void 0);
|
|
742
|
+
}
|
|
743
|
+
setState((prev) => ({ ...prev, loading: false, error: result.error, success: false }));
|
|
744
|
+
}
|
|
745
|
+
return result;
|
|
746
|
+
} catch (e) {
|
|
747
|
+
const apiError = { status: 500, message: e.message || "An unexpected error occurred during action." };
|
|
748
|
+
setState((prev) => ({ ...prev, loading: false, error: apiError, success: false }));
|
|
749
|
+
if (savedOnError.current) {
|
|
750
|
+
savedOnError.current(apiError.message, apiError);
|
|
751
|
+
}
|
|
752
|
+
return { data: null, error: apiError, loading: false, success: false, rawResponse: e };
|
|
753
|
+
}
|
|
754
|
+
}, [refetchAfterChange, fetchData, queryOptions]);
|
|
755
|
+
const actions = {
|
|
756
|
+
fetch: fetchData,
|
|
757
|
+
create: (newItem, options) => handleActionResult(apiServices.post(newItem, options)),
|
|
758
|
+
put: (id, item, options) => handleActionResult(apiServices.put(id, item, options)),
|
|
759
|
+
update: (id, updatedItem, options) => handleActionResult(apiServices.patch(id, updatedItem, options)),
|
|
760
|
+
remove: (id, options) => handleActionResult(apiServices.remove(id, options)),
|
|
761
|
+
bulkRemove: (ids, options) => handleActionResult(apiServices.bulkDelete(ids, options))
|
|
762
|
+
};
|
|
763
|
+
const query = {
|
|
764
|
+
options: queryOptions,
|
|
765
|
+
setOptions: setQueryOptions,
|
|
766
|
+
setPage: (page) => setQueryOptions((prev) => ({ ...prev, page })),
|
|
767
|
+
setLimit: (limit) => setQueryOptions((prev) => ({ ...prev, page: 1, limit })),
|
|
768
|
+
setSearchTerm: (search) => setQueryOptions((prev) => ({ ...prev, page: 1, search })),
|
|
769
|
+
setSorting: (sortBy) => setQueryOptions((prev) => ({ ...prev, sortBy })),
|
|
770
|
+
setFilters: (filter) => setQueryOptions((prev) => ({ ...prev, page: 1, filter })),
|
|
771
|
+
setQueryParam: (key, value) => setQueryOptions((prev) => ({ ...prev, [key]: value, page: key !== "page" ? 1 : value })),
|
|
772
|
+
reset: () => setQueryOptions(initialQuery)
|
|
773
|
+
};
|
|
774
|
+
return { state, setState, actions, query };
|
|
775
|
+
}
|
|
776
|
+
|
|
777
|
+
// src/hooks/useApiRecord/index.ts
|
|
778
|
+
import { useState as useState2, useEffect as useEffect2, useCallback as useCallback2, useRef as useRef2, useMemo as useMemo2 } from "react";
|
|
779
|
+
function buildDynamicPath2(template, params) {
|
|
780
|
+
if (!params) return template;
|
|
781
|
+
let path = template;
|
|
782
|
+
for (const key in params) {
|
|
783
|
+
path = path.replace(new RegExp(`{${key}}`, "g"), String(params[key]));
|
|
784
|
+
}
|
|
785
|
+
return path;
|
|
786
|
+
}
|
|
787
|
+
function useApiRecord(axiosInstance, config) {
|
|
788
|
+
const {
|
|
789
|
+
endpoint,
|
|
790
|
+
pathParams,
|
|
791
|
+
recordId,
|
|
792
|
+
initialData,
|
|
793
|
+
enabled = true,
|
|
794
|
+
refetchAfterChange = true,
|
|
795
|
+
requestConfig,
|
|
796
|
+
onSuccess,
|
|
797
|
+
onError
|
|
798
|
+
} = config;
|
|
799
|
+
const finalEndpoint = useMemo2(
|
|
800
|
+
() => buildDynamicPath2(endpoint, pathParams),
|
|
801
|
+
[endpoint, pathParams]
|
|
802
|
+
);
|
|
803
|
+
const initialState = useMemo2(() => ({
|
|
804
|
+
data: initialData ?? null,
|
|
805
|
+
rawResponse: null,
|
|
806
|
+
error: null,
|
|
807
|
+
loading: enabled && !!recordId,
|
|
808
|
+
success: false,
|
|
809
|
+
message: void 0,
|
|
810
|
+
validationErrors: void 0
|
|
811
|
+
}), [initialData, enabled, recordId]);
|
|
812
|
+
const [state, setState] = useState2(initialState);
|
|
813
|
+
const savedOnSuccess = useRef2(onSuccess);
|
|
814
|
+
const savedOnError = useRef2(onError);
|
|
815
|
+
useEffect2(() => {
|
|
816
|
+
savedOnSuccess.current = onSuccess;
|
|
817
|
+
savedOnError.current = onError;
|
|
818
|
+
}, [onSuccess, onError]);
|
|
819
|
+
const apiServices = useMemo2(
|
|
820
|
+
() => createApiServices(axiosInstance, finalEndpoint),
|
|
821
|
+
[axiosInstance, finalEndpoint]
|
|
822
|
+
);
|
|
823
|
+
const fetchRecord = useCallback2(async () => {
|
|
824
|
+
if (!recordId) {
|
|
825
|
+
setState(initialState);
|
|
826
|
+
return;
|
|
827
|
+
}
|
|
828
|
+
setState((prev) => ({ ...prev, loading: true, error: null, success: false }));
|
|
829
|
+
try {
|
|
830
|
+
const result = await apiServices.get(recordId, requestConfig);
|
|
831
|
+
setState(result);
|
|
832
|
+
if (result.success && savedOnSuccess.current) {
|
|
833
|
+
savedOnSuccess.current(result.message || "Record fetched successfully!", result.data ?? void 0);
|
|
834
|
+
} else if (!result.success && savedOnError.current) {
|
|
835
|
+
savedOnError.current(result.message || "Fetch failed", result.error ?? void 0);
|
|
836
|
+
}
|
|
837
|
+
} catch (e) {
|
|
838
|
+
console.error("[useApiRecord Fetch Error]", e);
|
|
839
|
+
const apiError = {
|
|
840
|
+
status: e.response?.status || 500,
|
|
841
|
+
message: e.message || "An unexpected client-side error occurred.",
|
|
842
|
+
code: e.code
|
|
843
|
+
};
|
|
844
|
+
setState((prev) => ({ ...prev, loading: false, success: false, error: apiError }));
|
|
845
|
+
if (savedOnError.current) {
|
|
846
|
+
savedOnError.current(apiError.message, apiError);
|
|
847
|
+
}
|
|
848
|
+
}
|
|
849
|
+
}, [apiServices, recordId, requestConfig, initialState]);
|
|
850
|
+
useEffect2(() => {
|
|
851
|
+
if (enabled) {
|
|
852
|
+
fetchRecord();
|
|
853
|
+
}
|
|
854
|
+
}, [enabled, fetchRecord]);
|
|
855
|
+
const handleActionResult = useCallback2(
|
|
856
|
+
async (actionPromise, options) => {
|
|
857
|
+
setState((prev) => ({ ...prev, loading: true }));
|
|
858
|
+
try {
|
|
859
|
+
const result = await actionPromise;
|
|
860
|
+
if (result.success) {
|
|
861
|
+
if (savedOnSuccess.current) {
|
|
862
|
+
savedOnSuccess.current(result.message || "Action successful!", result.data);
|
|
863
|
+
}
|
|
864
|
+
const shouldRefetch = options?.refetch ?? refetchAfterChange;
|
|
865
|
+
if (shouldRefetch) {
|
|
866
|
+
await fetchRecord();
|
|
867
|
+
} else {
|
|
868
|
+
setState({ ...result, loading: false, data: result.data });
|
|
869
|
+
}
|
|
870
|
+
} else {
|
|
871
|
+
if (savedOnError.current) {
|
|
872
|
+
savedOnError.current(result.message || "Action failed", result.error ?? void 0);
|
|
873
|
+
}
|
|
874
|
+
setState((prev) => ({ ...prev, ...result, loading: false }));
|
|
875
|
+
}
|
|
876
|
+
return result;
|
|
877
|
+
} catch (e) {
|
|
878
|
+
console.error("[useApiRecord Action Error]", e);
|
|
879
|
+
const apiError = {
|
|
880
|
+
status: e.response?.status || 500,
|
|
881
|
+
message: e.message || "An unexpected error occurred during the action.",
|
|
882
|
+
code: e.code
|
|
883
|
+
};
|
|
884
|
+
const errorResponse = { ...initialState, loading: false, success: false, error: apiError, rawResponse: e, data: null };
|
|
885
|
+
setState(errorResponse);
|
|
886
|
+
if (savedOnError.current) {
|
|
887
|
+
savedOnError.current(apiError.message, apiError);
|
|
888
|
+
}
|
|
889
|
+
return errorResponse;
|
|
890
|
+
}
|
|
891
|
+
},
|
|
892
|
+
[refetchAfterChange, fetchRecord, initialState]
|
|
893
|
+
);
|
|
894
|
+
const actions = {
|
|
895
|
+
fetch: fetchRecord,
|
|
896
|
+
update: (updatedItem, options) => handleActionResult(apiServices.patch(recordId, updatedItem, { ...requestConfig, ...options }), options),
|
|
897
|
+
put: (item, options) => handleActionResult(apiServices.put(recordId, item, { ...requestConfig, ...options }), options),
|
|
898
|
+
remove: (options) => handleActionResult(apiServices.remove(recordId, { ...requestConfig, ...options }), options),
|
|
899
|
+
resetState: () => setState(initialState)
|
|
900
|
+
};
|
|
901
|
+
return { state, setState, actions };
|
|
902
|
+
}
|
|
903
|
+
|
|
904
|
+
// src/hooks/useDeepCompareEffect/index.ts
|
|
905
|
+
import { useEffect as useEffect3, useRef as useRef3 } from "react";
|
|
906
|
+
import isEqual from "fast-deep-equal";
|
|
907
|
+
function useDeepCompareEffect(callback, dependencies) {
|
|
908
|
+
const currentDependenciesRef = useRef3();
|
|
909
|
+
if (!isEqual(currentDependenciesRef.current, dependencies)) {
|
|
910
|
+
currentDependenciesRef.current = dependencies;
|
|
911
|
+
}
|
|
912
|
+
useEffect3(callback, [currentDependenciesRef.current]);
|
|
913
|
+
}
|
|
914
|
+
|
|
915
|
+
// src/hooks/useApiModule/useApiModule.ts
|
|
916
|
+
import { createContext, useContext, useEffect as useEffect4, useMemo as useMemo3, useRef as useRef4, useState as useState3, useSyncExternalStore } from "react";
|
|
917
|
+
var ApiModuleContext = createContext(null);
|
|
918
|
+
var ApiModuleProvider = ApiModuleContext.Provider;
|
|
919
|
+
function useModuleContext() {
|
|
920
|
+
const context = useContext(ApiModuleContext);
|
|
921
|
+
if (!context) {
|
|
922
|
+
throw new Error("useModuleContext must be used within an ApiModuleProvider");
|
|
923
|
+
}
|
|
924
|
+
return context;
|
|
925
|
+
}
|
|
926
|
+
var generateCacheKey = (moduleName, actionName, input, callOptions = {}) => {
|
|
927
|
+
const params = { path: callOptions.pathParams, body: input };
|
|
928
|
+
try {
|
|
929
|
+
return `${moduleName}/${actionName}::${JSON.stringify(params)}`;
|
|
930
|
+
} catch (error) {
|
|
931
|
+
return `${moduleName}/${actionName}::${Date.now()}`;
|
|
932
|
+
}
|
|
933
|
+
};
|
|
934
|
+
function useApiModule(axiosInstance, moduleConfig, options = {}) {
|
|
935
|
+
const { refetchOnWindowFocus = true, onSuccess, onError, pathParams: modulePathParams, enabled = true, hydratedState } = options;
|
|
936
|
+
const pathParamsString = useMemo3(() => JSON.stringify(modulePathParams || {}), [modulePathParams]);
|
|
937
|
+
const [queryOptions, setQueryOptions] = useState3({});
|
|
938
|
+
const savedCallbacks = useRef4({ onSuccess, onError });
|
|
939
|
+
useEffect4(() => {
|
|
940
|
+
savedCallbacks.current = { onSuccess, onError };
|
|
941
|
+
}, [onSuccess, onError]);
|
|
942
|
+
useMemo3(() => {
|
|
943
|
+
if (hydratedState) {
|
|
944
|
+
globalStateManager.rehydrate(hydratedState);
|
|
945
|
+
}
|
|
946
|
+
}, [hydratedState]);
|
|
947
|
+
const actions = useMemo3(() => {
|
|
948
|
+
return Object.keys(moduleConfig.actions).reduce((acc, actionName) => {
|
|
949
|
+
const actionConfig = moduleConfig.actions[actionName];
|
|
950
|
+
const execute = async (input, options2 = {}) => {
|
|
951
|
+
const finalPathParams = { ...JSON.parse(pathParamsString), ...options2.pathParams };
|
|
952
|
+
const cacheKey = generateCacheKey(moduleConfig.baseEndpoint, actionName, input, { pathParams: finalPathParams });
|
|
953
|
+
let mutationContext;
|
|
954
|
+
try {
|
|
955
|
+
if (options2.onMutate) {
|
|
956
|
+
mutationContext = await options2.onMutate(input);
|
|
957
|
+
}
|
|
958
|
+
globalStateManager.setState(cacheKey, (prev) => ({ ...prev, loading: true, called: true, error: null, isStale: false }));
|
|
959
|
+
const result = await callDynamicApi(axiosInstance, moduleConfig.baseEndpoint, actionConfig, {
|
|
960
|
+
pathParams: finalPathParams,
|
|
961
|
+
body: input,
|
|
962
|
+
config: options2.config
|
|
963
|
+
});
|
|
964
|
+
globalStateManager.setState(cacheKey, (prev) => ({ ...prev, ...result, loading: false }));
|
|
965
|
+
if (result.success) {
|
|
966
|
+
savedCallbacks.current.onSuccess?.(actionName, result.message || "Action successful", result.data);
|
|
967
|
+
options2.onSuccess?.(result.data, mutationContext);
|
|
968
|
+
actionConfig.invalidates?.forEach((keyToInvalidate) => {
|
|
969
|
+
const prefix = `${moduleConfig.baseEndpoint}/${keyToInvalidate}::`;
|
|
970
|
+
globalStateManager.invalidateByPrefix(prefix);
|
|
971
|
+
});
|
|
972
|
+
} else {
|
|
973
|
+
savedCallbacks.current.onError?.(actionName, result.message || "Action failed", result.error ?? void 0);
|
|
974
|
+
options2.onError?.(result.error, mutationContext);
|
|
975
|
+
}
|
|
976
|
+
return result;
|
|
977
|
+
} catch (error) {
|
|
978
|
+
const apiError = { status: 500, message: error.message };
|
|
979
|
+
const errorResult = { data: null, error: apiError, loading: false, success: false, rawResponse: error };
|
|
980
|
+
globalStateManager.setState(cacheKey, (prev) => ({ ...prev, ...errorResult, loading: false }));
|
|
981
|
+
savedCallbacks.current.onError?.(actionName, apiError.message, apiError);
|
|
982
|
+
options2.onError?.(apiError, mutationContext);
|
|
983
|
+
return errorResult;
|
|
984
|
+
}
|
|
985
|
+
};
|
|
986
|
+
const reset = (input, options2 = {}) => {
|
|
987
|
+
const finalPathParams = { ...JSON.parse(pathParamsString), ...options2.pathParams };
|
|
988
|
+
const cacheKey = generateCacheKey(moduleConfig.baseEndpoint, actionName, input, { pathParams: finalPathParams });
|
|
989
|
+
globalStateManager.setState(cacheKey, () => ({
|
|
990
|
+
data: null,
|
|
991
|
+
error: null,
|
|
992
|
+
loading: false,
|
|
993
|
+
success: false,
|
|
994
|
+
called: false,
|
|
995
|
+
isStale: false,
|
|
996
|
+
rawResponse: null
|
|
997
|
+
}));
|
|
998
|
+
};
|
|
999
|
+
acc[actionName] = { execute, reset };
|
|
1000
|
+
return acc;
|
|
1001
|
+
}, {});
|
|
1002
|
+
}, [axiosInstance, moduleConfig, pathParamsString]);
|
|
1003
|
+
const queries = useMemo3(() => {
|
|
1004
|
+
const builtQueries = {};
|
|
1005
|
+
for (const actionName in moduleConfig.actions) {
|
|
1006
|
+
if (moduleConfig.actions[actionName]?.hasQuery) {
|
|
1007
|
+
const setActionQueryOptions = (updater) => {
|
|
1008
|
+
setQueryOptions((prev) => ({ ...prev, [actionName]: typeof updater === "function" ? updater(prev[actionName] || {}) : updater }));
|
|
1009
|
+
};
|
|
1010
|
+
builtQueries[actionName] = {
|
|
1011
|
+
options: queryOptions[actionName] || {},
|
|
1012
|
+
setOptions: setActionQueryOptions,
|
|
1013
|
+
setPage: (page) => setActionQueryOptions((p) => ({ ...p, page })),
|
|
1014
|
+
setLimit: (limit) => setActionQueryOptions((p) => ({ ...p, limit, page: 1 })),
|
|
1015
|
+
setSearchTerm: (search) => setActionQueryOptions((p) => ({ ...p, search, page: 1 })),
|
|
1016
|
+
setFilters: (filter) => setActionQueryOptions((p) => ({ ...p, filter, page: 1 })),
|
|
1017
|
+
setSorting: (sortBy) => setActionQueryOptions((p) => ({ ...p, sortBy })),
|
|
1018
|
+
setQueryParam: (key, value) => setActionQueryOptions((p) => ({ ...p, [key]: value, page: key !== "page" ? value : p.page })),
|
|
1019
|
+
reset: () => setActionQueryOptions({})
|
|
1020
|
+
};
|
|
1021
|
+
}
|
|
1022
|
+
}
|
|
1023
|
+
return builtQueries;
|
|
1024
|
+
}, [queryOptions, moduleConfig.actions]);
|
|
1025
|
+
const states = useMemo3(() => {
|
|
1026
|
+
const finalStates = {};
|
|
1027
|
+
for (const actionName of Object.keys(moduleConfig.actions)) {
|
|
1028
|
+
Object.defineProperty(finalStates, actionName, {
|
|
1029
|
+
get: () => {
|
|
1030
|
+
const actionConfig = moduleConfig.actions[actionName];
|
|
1031
|
+
const query = queries[actionName]?.options;
|
|
1032
|
+
const input = actionConfig.hasQuery ? query : void 0;
|
|
1033
|
+
const pathParams = JSON.parse(pathParamsString);
|
|
1034
|
+
const cacheKey = generateCacheKey(moduleConfig.baseEndpoint, actionName, input, { pathParams });
|
|
1035
|
+
const state = useSyncExternalStore(
|
|
1036
|
+
(callback) => globalStateManager.subscribe(cacheKey, callback),
|
|
1037
|
+
() => globalStateManager.getSnapshot(cacheKey)
|
|
1038
|
+
);
|
|
1039
|
+
useEffect4(() => {
|
|
1040
|
+
if (enabled && state.isStale && !state.loading) {
|
|
1041
|
+
actions[actionName].execute(input);
|
|
1042
|
+
}
|
|
1043
|
+
}, [enabled, state.isStale, state.loading, input, actions, actionName]);
|
|
1044
|
+
return state;
|
|
1045
|
+
},
|
|
1046
|
+
enumerable: true
|
|
1047
|
+
});
|
|
1048
|
+
}
|
|
1049
|
+
return finalStates;
|
|
1050
|
+
}, [moduleConfig, pathParamsString, queries, enabled, actions]);
|
|
1051
|
+
useEffect4(() => {
|
|
1052
|
+
if (!enabled) return;
|
|
1053
|
+
const actionKeys = Object.keys(moduleConfig.actions);
|
|
1054
|
+
for (const actionName of actionKeys) {
|
|
1055
|
+
const state = states[actionName];
|
|
1056
|
+
const actionConfig = moduleConfig.actions[actionName];
|
|
1057
|
+
if (actionConfig.autoFetch && state && !state.called && !state.loading) {
|
|
1058
|
+
const query = queries[actionName]?.options;
|
|
1059
|
+
const input = actionConfig.hasQuery ? query : void 0;
|
|
1060
|
+
actions[actionName].execute(input);
|
|
1061
|
+
}
|
|
1062
|
+
}
|
|
1063
|
+
}, [enabled, moduleConfig, actions, states, queries]);
|
|
1064
|
+
const lastBlurTimestamp = useRef4(Date.now());
|
|
1065
|
+
useEffect4(() => {
|
|
1066
|
+
if (!enabled || !refetchOnWindowFocus) return;
|
|
1067
|
+
const onFocus = () => {
|
|
1068
|
+
if (Date.now() - lastBlurTimestamp.current > 1e4) {
|
|
1069
|
+
const actionKeys = Object.keys(moduleConfig.actions);
|
|
1070
|
+
for (const actionName of actionKeys) {
|
|
1071
|
+
const state = states[actionName];
|
|
1072
|
+
if (state && state.called && !state.loading) {
|
|
1073
|
+
const prefix = `${moduleConfig.baseEndpoint}/${actionName}::`;
|
|
1074
|
+
globalStateManager.invalidateByPrefix(prefix);
|
|
1075
|
+
}
|
|
1076
|
+
}
|
|
1077
|
+
}
|
|
1078
|
+
};
|
|
1079
|
+
const onBlur = () => {
|
|
1080
|
+
lastBlurTimestamp.current = Date.now();
|
|
1081
|
+
};
|
|
1082
|
+
window.addEventListener("focus", onFocus);
|
|
1083
|
+
window.addEventListener("blur", onBlur);
|
|
1084
|
+
return () => {
|
|
1085
|
+
window.removeEventListener("focus", onFocus);
|
|
1086
|
+
window.removeEventListener("blur", onBlur);
|
|
1087
|
+
};
|
|
1088
|
+
}, [enabled, refetchOnWindowFocus, moduleConfig, states]);
|
|
1089
|
+
const dehydrate = useMemo3(() => {
|
|
1090
|
+
return () => globalStateManager.dehydrate();
|
|
1091
|
+
}, []);
|
|
1092
|
+
return { actions, states, queries, dehydrate };
|
|
1093
|
+
}
|
|
1094
|
+
export {
|
|
1095
|
+
ApiModuleProvider,
|
|
1096
|
+
buildPaginateQuery,
|
|
1097
|
+
cacheManager,
|
|
1098
|
+
callDynamicApi,
|
|
1099
|
+
createApiActions,
|
|
1100
|
+
createApiClient,
|
|
1101
|
+
createApiServices,
|
|
1102
|
+
globalStateManager,
|
|
1103
|
+
processResponse,
|
|
1104
|
+
useApi,
|
|
1105
|
+
useApiModule,
|
|
1106
|
+
useApiRecord,
|
|
1107
|
+
useDeepCompareEffect,
|
|
1108
|
+
useModuleContext
|
|
1109
|
+
};
|