lakutata 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.idea/codeStyles/Project.xml +18 -0
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/inspectionProfiles/Project_Default.xml +6 -0
- package/.idea/lakutata.iml +13 -0
- package/.idea/modules.xml +8 -0
- package/.idea/vcs.xml +6 -0
- package/LICENSE +21 -0
- package/README.md +1 -0
- package/build/Application-78a416de.d.ts +387 -0
- package/build/Application-b5e19e08.d.ts +387 -0
- package/build/Components.cjs +55 -0
- package/build/Components.d.cts +9 -0
- package/build/Components.d.ts +9 -0
- package/build/Components.js +44 -0
- package/build/Core.cjs +148 -0
- package/build/Core.d.cts +33 -0
- package/build/Core.d.ts +33 -0
- package/build/Core.js +71 -0
- package/build/Crypto.cjs +96 -0
- package/build/Crypto.d.cts +19 -0
- package/build/Crypto.d.ts +19 -0
- package/build/Crypto.js +41 -0
- package/build/Decorators.cjs +100 -0
- package/build/Decorators.d.cts +23 -0
- package/build/Decorators.d.ts +23 -0
- package/build/Decorators.js +45 -0
- package/build/DependencyInjectionContainer-871a6c03.d.ts +340 -0
- package/build/DependencyInjectionContainer-f037ac36.d.ts +340 -0
- package/build/Exceptions.cjs +144 -0
- package/build/Exceptions.d.cts +28 -0
- package/build/Exceptions.d.ts +28 -0
- package/build/Exceptions.js +37 -0
- package/build/Hash.cjs +223 -0
- package/build/Hash.d.cts +535 -0
- package/build/Hash.d.ts +535 -0
- package/build/Hash.js +10 -0
- package/build/Time.cjs +14 -0
- package/build/Time.d.cts +5 -0
- package/build/Time.d.ts +5 -0
- package/build/Time.js +5 -0
- package/build/TimeInput-24fced42.d.ts +243 -0
- package/build/TimeInput-4401fc58.d.ts +243 -0
- package/build/Utilities.cjs +100 -0
- package/build/Utilities.d.cts +212 -0
- package/build/Utilities.d.ts +212 -0
- package/build/Utilities.js +7 -0
- package/build/Validator.cjs +24 -0
- package/build/Validator.d.cts +1851 -0
- package/build/Validator.d.ts +1851 -0
- package/build/Validator.js +11 -0
- package/build/chunk-26TQI22I.js +196 -0
- package/build/chunk-27OFA7C3.js +16 -0
- package/build/chunk-2C2UILFN.js +23 -0
- package/build/chunk-2CHYQHWR.cjs +16 -0
- package/build/chunk-2DN35UQB.cjs +10947 -0
- package/build/chunk-2E4TF6LU.cjs +16 -0
- package/build/chunk-2PLJEW2R.js +14 -0
- package/build/chunk-2RW3VMNS.js +45 -0
- package/build/chunk-2T6JU2UH.js +14 -0
- package/build/chunk-3CX3GCQF.js +32 -0
- package/build/chunk-3JIQCDQG.cjs +25 -0
- package/build/chunk-3KLEN3PR.js +14 -0
- package/build/chunk-3LZRQPJ5.js +14 -0
- package/build/chunk-3NHHHZFR.cjs +870 -0
- package/build/chunk-4332C5BW.js +30 -0
- package/build/chunk-46V7GHKE.cjs +25 -0
- package/build/chunk-4EPPSZ7L.js +14 -0
- package/build/chunk-4FEEQIQ4.js +23 -0
- package/build/chunk-4G2ZCUBN.js +5570 -0
- package/build/chunk-4KTVY73U.js +15 -0
- package/build/chunk-4MQXSUTL.cjs +14 -0
- package/build/chunk-4OHSPWRQ.js +34 -0
- package/build/chunk-4PK4TGU4.cjs +16 -0
- package/build/chunk-4YXUEJSO.js +23 -0
- package/build/chunk-5475IFR4.cjs +16 -0
- package/build/chunk-5B5Z4GCR.cjs +17 -0
- package/build/chunk-5FPTDIKI.cjs +16 -0
- package/build/chunk-5NK7E2HA.js +69 -0
- package/build/chunk-67F5WP5Z.cjs +8 -0
- package/build/chunk-6BJTKEXZ.cjs +25 -0
- package/build/chunk-6WNLPTDY.cjs +8 -0
- package/build/chunk-7G7FCNEG.cjs +8 -0
- package/build/chunk-7IVNTVYK.cjs +16 -0
- package/build/chunk-7MJAWOWL.js +22896 -0
- package/build/chunk-7MTOK62N.js +767 -0
- package/build/chunk-7PADGZPI.cjs +129 -0
- package/build/chunk-7ZUM53G6.js +14 -0
- package/build/chunk-A4BYNKYF.js +42 -0
- package/build/chunk-A7F6LCRA.cjs +16 -0
- package/build/chunk-AFV3VN3X.cjs +8 -0
- package/build/chunk-AGHMOCC3.cjs +16 -0
- package/build/chunk-AHUH4FWQ.cjs +29 -0
- package/build/chunk-AM4YMG2S.js +6 -0
- package/build/chunk-ANDEVIKJ.cjs +16 -0
- package/build/chunk-APETX7ZT.cjs +16 -0
- package/build/chunk-ASMC7EUP.js +6 -0
- package/build/chunk-BDCRHGKN.js +6 -0
- package/build/chunk-BDJXMO44.js +2920 -0
- package/build/chunk-BE7ICF5R.js +32 -0
- package/build/chunk-BEDKPRVX.cjs +17 -0
- package/build/chunk-BFE66ADZ.cjs +34 -0
- package/build/chunk-BKCT2HSQ.js +178 -0
- package/build/chunk-BMNC4W46.js +20 -0
- package/build/chunk-BO7Y6HNS.cjs +176 -0
- package/build/chunk-D4H35ART.cjs +53 -0
- package/build/chunk-D5DE7Z4J.js +29 -0
- package/build/chunk-DHSSJJMD.cjs +25 -0
- package/build/chunk-DIMOR6NE.cjs +8 -0
- package/build/chunk-DN5TSX6S.cjs +244 -0
- package/build/chunk-EEH5LCBP.cjs +16 -0
- package/build/chunk-EFYDUUXT.cjs +92 -0
- package/build/chunk-ENJSEFE4.js +14 -0
- package/build/chunk-EPYJVQHQ.js +6 -0
- package/build/chunk-EUVLTNDV.js +32 -0
- package/build/chunk-EXQVCESB.cjs +20 -0
- package/build/chunk-EYPPC6HP.js +18 -0
- package/build/chunk-F5NKGQDL.cjs +16 -0
- package/build/chunk-F7RNH2H2.js +266 -0
- package/build/chunk-FCTV4OB7.cjs +50 -0
- package/build/chunk-FHEXUE67.js +29 -0
- package/build/chunk-FJP3KNXK.js +23 -0
- package/build/chunk-FJQSLRIP.js +14 -0
- package/build/chunk-FSFWPTIC.js +6 -0
- package/build/chunk-FTKFMQHJ.cjs +16 -0
- package/build/chunk-FW26MPE4.js +69 -0
- package/build/chunk-FZNRGZGE.js +6372 -0
- package/build/chunk-G7EDOLQ7.cjs +100 -0
- package/build/chunk-GGY7LCMQ.cjs +73 -0
- package/build/chunk-GLWUJIMW.cjs +8 -0
- package/build/chunk-GZ5KN2PE.js +6 -0
- package/build/chunk-HBPRX3WA.cjs +202 -0
- package/build/chunk-HJAQ6WJM.cjs +288 -0
- package/build/chunk-HJSJA5CF.js +14 -0
- package/build/chunk-HKAY7FWM.js +28 -0
- package/build/chunk-HMKTNRQF.js +14 -0
- package/build/chunk-HODDA5D5.js +199 -0
- package/build/chunk-HPKJUFTM.js +14 -0
- package/build/chunk-HWCTWIVZ.cjs +30 -0
- package/build/chunk-HXWC4YN6.cjs +22908 -0
- package/build/chunk-HZJ7XFHQ.cjs +8 -0
- package/build/chunk-I5TGKTX6.js +18 -0
- package/build/chunk-I7J6V3EU.cjs +34 -0
- package/build/chunk-IKWXYUGY.js +14 -0
- package/build/chunk-IYGGR65W.cjs +16 -0
- package/build/chunk-J6RXNX2K.js +174 -0
- package/build/chunk-JAEEMFEZ.cjs +24 -0
- package/build/chunk-JFOMNL5I.cjs +22 -0
- package/build/chunk-JPV2PUHF.cjs +8 -0
- package/build/chunk-JR726PDZ.cjs +70 -0
- package/build/chunk-JTKOYDJB.js +5914 -0
- package/build/chunk-JU53NOVA.cjs +31 -0
- package/build/chunk-JVSBYHUY.js +10944 -0
- package/build/chunk-JYBISTRN.cjs +25 -0
- package/build/chunk-K2ALA7QI.js +12 -0
- package/build/chunk-KG6DPM4B.js +14 -0
- package/build/chunk-KNSBLLL2.cjs +32 -0
- package/build/chunk-KNTGBUSY.js +6 -0
- package/build/chunk-KWOHVRRL.js +6 -0
- package/build/chunk-L3IVYIVA.js +23 -0
- package/build/chunk-LBL5XNWX.js +221 -0
- package/build/chunk-LBOBUFWZ.js +6 -0
- package/build/chunk-LEJXJUBE.js +6 -0
- package/build/chunk-LJTCXKC4.js +242 -0
- package/build/chunk-MBKTJ3KM.cjs +118 -0
- package/build/chunk-MDE5SRLT.cjs +16 -0
- package/build/chunk-MEKICSEL.js +22 -0
- package/build/chunk-MNDBRDT2.cjs +608 -0
- package/build/chunk-MSWZLYS7.cjs +5916 -0
- package/build/chunk-MT2OB376.js +14 -0
- package/build/chunk-MVWB4XDJ.js +14 -0
- package/build/chunk-MXAAAL2S.js +53 -0
- package/build/chunk-N37KV2VV.cjs +199 -0
- package/build/chunk-NZ5IZMM5.cjs +2922 -0
- package/build/chunk-O2NOYN65.js +54 -0
- package/build/chunk-OAD22QZQ.js +6 -0
- package/build/chunk-OIFILR4I.js +125 -0
- package/build/chunk-OJGBPS2B.cjs +16 -0
- package/build/chunk-OMPATIMZ.cjs +71 -0
- package/build/chunk-P3Z7ZEGJ.cjs +18 -0
- package/build/chunk-P6BBXCBD.cjs +6425 -0
- package/build/chunk-PE4C2TIO.cjs +16 -0
- package/build/chunk-PF2WAZLH.cjs +52 -0
- package/build/chunk-PFFTGOAR.cjs +25 -0
- package/build/chunk-PFUZLHWJ.cjs +25 -0
- package/build/chunk-POE7A7NF.cjs +180 -0
- package/build/chunk-PQSDA5BN.js +50 -0
- package/build/chunk-PR5TPAGH.js +14 -0
- package/build/chunk-PXMWVOKK.cjs +16 -0
- package/build/chunk-PZ5OJC4I.cjs +16 -0
- package/build/chunk-Q4LNTPEI.cjs +34 -0
- package/build/chunk-QCA5YGYV.js +14 -0
- package/build/chunk-QGGML4PP.js +17 -0
- package/build/chunk-QHW273SN.js +32 -0
- package/build/chunk-QJJRQMA6.cjs +8 -0
- package/build/chunk-QKB76MIV.cjs +769 -0
- package/build/chunk-QKVPGRI5.cjs +8 -0
- package/build/chunk-QME47CJL.cjs +8 -0
- package/build/chunk-QNJ6XBYQ.js +14 -0
- package/build/chunk-QWYKUNU5.js +14 -0
- package/build/chunk-QXTBP6TW.js +116 -0
- package/build/chunk-RH3LAIQS.js +32 -0
- package/build/chunk-RMAXG5F7.js +118 -0
- package/build/chunk-RUHAPGDE.js +14 -0
- package/build/chunk-S4KA3ZGO.js +6 -0
- package/build/chunk-SAGMV3YX.cjs +16 -0
- package/build/chunk-SCWEQ5JA.cjs +34 -0
- package/build/chunk-SEKBDIJH.cjs +16 -0
- package/build/chunk-SGWWTKLW.cjs +16 -0
- package/build/chunk-SWCU6OID.cjs +61 -0
- package/build/chunk-T4C7UJEZ.js +29 -0
- package/build/chunk-TBWIKIS3.cjs +8 -0
- package/build/chunk-TS74DN3N.cjs +229 -0
- package/build/chunk-TXTNUC7S.cjs +16 -0
- package/build/chunk-UEGDBJEG.cjs +127 -0
- package/build/chunk-UR2ZK7MI.cjs +16 -0
- package/build/chunk-VAOR6JOP.js +14 -0
- package/build/chunk-VELZ3KJY.cjs +45 -0
- package/build/chunk-VHTAHAD6.cjs +34 -0
- package/build/chunk-VISA22LF.js +14 -0
- package/build/chunk-VOFRWVGM.js +23 -0
- package/build/chunk-VPRNM6FU.cjs +118 -0
- package/build/chunk-VTFNEUOF.js +14 -0
- package/build/chunk-VVNU27G2.js +868 -0
- package/build/chunk-W3TQER3B.cjs +31 -0
- package/build/chunk-WINISBV4.js +70 -0
- package/build/chunk-WSEZ7DZV.js +14 -0
- package/build/chunk-WW57G6RG.js +124 -0
- package/build/chunk-WYJCE3KY.cjs +5593 -0
- package/build/chunk-WZI5UPER.cjs +61 -0
- package/build/chunk-WZZF2IEV.js +14 -0
- package/build/chunk-X4AIZSIY.cjs +47 -0
- package/build/chunk-XO6M5AYN.js +585 -0
- package/build/chunk-XWP76C6E.js +25 -0
- package/build/chunk-Y7O5SCF6.cjs +16 -0
- package/build/chunk-YEBPQG7X.js +96 -0
- package/build/chunk-YT4CYDJ3.js +14 -0
- package/build/chunk-ZG3PHRVQ.cjs +20 -0
- package/build/chunk-ZG7QF5S2.cjs +16 -0
- package/build/chunk-ZJYLWSBE.js +90 -0
- package/build/chunk-ZYBMNLGI.js +48 -0
- package/build/constants/DefaultValue.cjs +14 -0
- package/build/constants/DefaultValue.d.cts +9 -0
- package/build/constants/DefaultValue.d.ts +9 -0
- package/build/constants/DefaultValue.js +5 -0
- package/build/constants/MetadataKey.cjs +114 -0
- package/build/constants/MetadataKey.d.cts +30 -0
- package/build/constants/MetadataKey.d.ts +30 -0
- package/build/constants/MetadataKey.js +5 -0
- package/build/decorators/ControllerDecorators.cjs +21 -0
- package/build/decorators/ControllerDecorators.d.cts +32 -0
- package/build/decorators/ControllerDecorators.d.ts +32 -0
- package/build/decorators/ControllerDecorators.js +12 -0
- package/build/decorators/DependencyInjectionDecorators.cjs +78 -0
- package/build/decorators/DependencyInjectionDecorators.d.cts +75 -0
- package/build/decorators/DependencyInjectionDecorators.d.ts +75 -0
- package/build/decorators/DependencyInjectionDecorators.js +41 -0
- package/build/decorators/ValidationDecorators.cjs +35 -0
- package/build/decorators/ValidationDecorators.d.cts +36 -0
- package/build/decorators/ValidationDecorators.d.ts +36 -0
- package/build/decorators/ValidationDecorators.js +14 -0
- package/build/exceptions/DependencyInjectionException.cjs +18 -0
- package/build/exceptions/DependencyInjectionException.d.cts +8 -0
- package/build/exceptions/DependencyInjectionException.d.ts +8 -0
- package/build/exceptions/DependencyInjectionException.js +9 -0
- package/build/exceptions/InvalidConfigurableValueException.cjs +18 -0
- package/build/exceptions/InvalidConfigurableValueException.d.cts +8 -0
- package/build/exceptions/InvalidConfigurableValueException.d.ts +8 -0
- package/build/exceptions/InvalidConfigurableValueException.js +9 -0
- package/build/exceptions/InvalidDTOValueException.cjs +18 -0
- package/build/exceptions/InvalidDTOValueException.d.cts +8 -0
- package/build/exceptions/InvalidDTOValueException.d.ts +8 -0
- package/build/exceptions/InvalidDTOValueException.js +9 -0
- package/build/exceptions/InvalidGlobStringException.cjs +18 -0
- package/build/exceptions/InvalidGlobStringException.d.cts +8 -0
- package/build/exceptions/InvalidGlobStringException.d.ts +8 -0
- package/build/exceptions/InvalidGlobStringException.js +9 -0
- package/build/exceptions/MethodNotFoundException.cjs +18 -0
- package/build/exceptions/MethodNotFoundException.d.cts +8 -0
- package/build/exceptions/MethodNotFoundException.d.ts +8 -0
- package/build/exceptions/MethodNotFoundException.js +9 -0
- package/build/exceptions/NotSupportHashException.cjs +18 -0
- package/build/exceptions/NotSupportHashException.d.cts +8 -0
- package/build/exceptions/NotSupportHashException.d.ts +8 -0
- package/build/exceptions/NotSupportHashException.js +9 -0
- package/build/exceptions/controller/DuplicateControllerActionPatternException.cjs +18 -0
- package/build/exceptions/controller/DuplicateControllerActionPatternException.d.cts +8 -0
- package/build/exceptions/controller/DuplicateControllerActionPatternException.d.ts +8 -0
- package/build/exceptions/controller/DuplicateControllerActionPatternException.js +9 -0
- package/build/exceptions/controller/DynamicRegisterControllerNotAllowException.cjs +18 -0
- package/build/exceptions/controller/DynamicRegisterControllerNotAllowException.d.cts +8 -0
- package/build/exceptions/controller/DynamicRegisterControllerNotAllowException.d.ts +8 -0
- package/build/exceptions/controller/DynamicRegisterControllerNotAllowException.js +9 -0
- package/build/exceptions/controller/NoMatchedControllerActionPatternException.cjs +18 -0
- package/build/exceptions/controller/NoMatchedControllerActionPatternException.d.cts +8 -0
- package/build/exceptions/controller/NoMatchedControllerActionPatternException.d.ts +8 -0
- package/build/exceptions/controller/NoMatchedControllerActionPatternException.js +9 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricDecryptException.cjs +18 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricDecryptException.d.cts +8 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricDecryptException.d.ts +8 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricDecryptException.js +9 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricEncryptException.cjs +18 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricEncryptException.d.cts +8 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricEncryptException.d.ts +8 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricEncryptException.js +9 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricSignException.cjs +18 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricSignException.d.cts +8 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricSignException.d.ts +8 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricSignException.js +9 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricVerifyException.cjs +18 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricVerifyException.d.cts +8 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricVerifyException.d.ts +8 -0
- package/build/exceptions/crypto/asymmetric/AsymmetricVerifyException.js +9 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptKeyPairException.cjs +18 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptKeyPairException.d.cts +8 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptKeyPairException.d.ts +8 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptKeyPairException.js +9 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPrivateKeyException.cjs +18 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPrivateKeyException.d.cts +8 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPrivateKeyException.d.ts +8 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPrivateKeyException.js +9 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPublicKeyException.cjs +18 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPublicKeyException.d.cts +8 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPublicKeyException.d.ts +8 -0
- package/build/exceptions/crypto/asymmetric/InvalidAsymmetricEncryptPublicKeyException.js +9 -0
- package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPrivateKeyException.cjs +18 -0
- package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPrivateKeyException.d.cts +8 -0
- package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPrivateKeyException.d.ts +8 -0
- package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPrivateKeyException.js +9 -0
- package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPublicKeyException.cjs +18 -0
- package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPublicKeyException.d.cts +8 -0
- package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPublicKeyException.d.ts +8 -0
- package/build/exceptions/crypto/asymmetric/NoAsymmetricEncryptPublicKeyException.js +9 -0
- package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherIVLengthException.cjs +18 -0
- package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherIVLengthException.d.cts +8 -0
- package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherIVLengthException.d.ts +8 -0
- package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherIVLengthException.js +9 -0
- package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherKeyLengthException.cjs +18 -0
- package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherKeyLengthException.d.cts +8 -0
- package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherKeyLengthException.d.ts +8 -0
- package/build/exceptions/crypto/symmetric/InvalidSymmetricCipherKeyLengthException.js +9 -0
- package/build/exceptions/crypto/symmetric/NotSupportCipherException.cjs +18 -0
- package/build/exceptions/crypto/symmetric/NotSupportCipherException.d.cts +8 -0
- package/build/exceptions/crypto/symmetric/NotSupportCipherException.d.ts +8 -0
- package/build/exceptions/crypto/symmetric/NotSupportCipherException.js +9 -0
- package/build/exceptions/crypto/symmetric/SymmetricDecryptException.cjs +18 -0
- package/build/exceptions/crypto/symmetric/SymmetricDecryptException.d.cts +8 -0
- package/build/exceptions/crypto/symmetric/SymmetricDecryptException.d.ts +8 -0
- package/build/exceptions/crypto/symmetric/SymmetricDecryptException.js +9 -0
- package/build/exceptions/crypto/symmetric/SymmetricEncryptException.cjs +18 -0
- package/build/exceptions/crypto/symmetric/SymmetricEncryptException.d.cts +8 -0
- package/build/exceptions/crypto/symmetric/SymmetricEncryptException.d.ts +8 -0
- package/build/exceptions/crypto/symmetric/SymmetricEncryptException.js +9 -0
- package/build/exceptions/validation/InvalidMethodAcceptException.cjs +18 -0
- package/build/exceptions/validation/InvalidMethodAcceptException.d.cts +8 -0
- package/build/exceptions/validation/InvalidMethodAcceptException.d.ts +8 -0
- package/build/exceptions/validation/InvalidMethodAcceptException.js +9 -0
- package/build/exceptions/validation/InvalidMethodReturnException.cjs +18 -0
- package/build/exceptions/validation/InvalidMethodReturnException.d.cts +8 -0
- package/build/exceptions/validation/InvalidMethodReturnException.d.ts +8 -0
- package/build/exceptions/validation/InvalidMethodReturnException.js +9 -0
- package/build/exceptions/validation/InvalidValueException.cjs +18 -0
- package/build/exceptions/validation/InvalidValueException.d.cts +8 -0
- package/build/exceptions/validation/InvalidValueException.d.ts +8 -0
- package/build/exceptions/validation/InvalidValueException.js +9 -0
- package/build/index.d-e5279fea.d.ts +872 -0
- package/build/interfaces/IConstructor.cjs +7 -0
- package/build/interfaces/IConstructor.d.cts +6 -0
- package/build/interfaces/IConstructor.d.ts +6 -0
- package/build/interfaces/IConstructor.js +4 -0
- package/build/interfaces/ILogger.cjs +7 -0
- package/build/interfaces/ILogger.d.cts +22 -0
- package/build/interfaces/ILogger.d.ts +22 -0
- package/build/interfaces/ILogger.js +4 -0
- package/build/interfaces/IPatRun.cjs +7 -0
- package/build/interfaces/IPatRun.d.cts +12 -0
- package/build/interfaces/IPatRun.d.ts +12 -0
- package/build/interfaces/IPatRun.js +4 -0
- package/build/interfaces/ISortArrayOptions.cjs +7 -0
- package/build/interfaces/ISortArrayOptions.d.cts +12 -0
- package/build/interfaces/ISortArrayOptions.d.ts +12 -0
- package/build/interfaces/ISortArrayOptions.js +4 -0
- package/build/interfaces/ISortObjectOptions.cjs +7 -0
- package/build/interfaces/ISortObjectOptions.d.cts +6 -0
- package/build/interfaces/ISortObjectOptions.d.ts +6 -0
- package/build/interfaces/ISortObjectOptions.js +4 -0
- package/build/lib/Application.cjs +50 -0
- package/build/lib/Application.d.cts +20 -0
- package/build/lib/Application.d.ts +20 -0
- package/build/lib/Application.js +41 -0
- package/build/lib/base/BaseObject.cjs +50 -0
- package/build/lib/base/BaseObject.d.cts +112 -0
- package/build/lib/base/BaseObject.d.ts +112 -0
- package/build/lib/base/BaseObject.js +41 -0
- package/build/lib/base/Component.cjs +50 -0
- package/build/lib/base/Component.d.cts +116 -0
- package/build/lib/base/Component.d.ts +116 -0
- package/build/lib/base/Component.js +41 -0
- package/build/lib/base/Container.cjs +50 -0
- package/build/lib/base/Container.d.cts +20 -0
- package/build/lib/base/Container.d.ts +20 -0
- package/build/lib/base/Container.js +41 -0
- package/build/lib/base/Controller.cjs +50 -0
- package/build/lib/base/Controller.d.cts +20 -0
- package/build/lib/base/Controller.d.ts +20 -0
- package/build/lib/base/Controller.js +41 -0
- package/build/lib/base/DTO.cjs +23 -0
- package/build/lib/base/DTO.d.cts +59 -0
- package/build/lib/base/DTO.d.ts +59 -0
- package/build/lib/base/DTO.js +14 -0
- package/build/lib/base/Model.cjs +51 -0
- package/build/lib/base/Model.d.cts +30 -0
- package/build/lib/base/Model.d.ts +30 -0
- package/build/lib/base/Model.js +42 -0
- package/build/lib/base/Module.cjs +50 -0
- package/build/lib/base/Module.d.cts +20 -0
- package/build/lib/base/Module.d.ts +20 -0
- package/build/lib/base/Module.js +41 -0
- package/build/lib/base/abstracts/AsymmetricEncryption.cjs +27 -0
- package/build/lib/base/abstracts/AsymmetricEncryption.d.cts +172 -0
- package/build/lib/base/abstracts/AsymmetricEncryption.d.ts +172 -0
- package/build/lib/base/abstracts/AsymmetricEncryption.js +18 -0
- package/build/lib/base/abstracts/Exception.cjs +17 -0
- package/build/lib/base/abstracts/Exception.d.cts +23 -0
- package/build/lib/base/abstracts/Exception.d.ts +23 -0
- package/build/lib/base/abstracts/Exception.js +8 -0
- package/build/lib/base/abstracts/Interval.cjs +51 -0
- package/build/lib/base/abstracts/Interval.d.cts +76 -0
- package/build/lib/base/abstracts/Interval.d.ts +76 -0
- package/build/lib/base/abstracts/Interval.js +42 -0
- package/build/lib/base/abstracts/SymmetricEncryption.cjs +23 -0
- package/build/lib/base/abstracts/SymmetricEncryption.d.cts +149 -0
- package/build/lib/base/abstracts/SymmetricEncryption.d.ts +149 -0
- package/build/lib/base/abstracts/SymmetricEncryption.js +14 -0
- package/build/lib/base/async-constructor/Append.cjs +14 -0
- package/build/lib/base/async-constructor/Append.d.cts +5 -0
- package/build/lib/base/async-constructor/Append.d.ts +5 -0
- package/build/lib/base/async-constructor/Append.js +5 -0
- package/build/lib/base/async-constructor/AsyncConstructor.cjs +15 -0
- package/build/lib/base/async-constructor/AsyncConstructor.d.cts +7 -0
- package/build/lib/base/async-constructor/AsyncConstructor.d.ts +7 -0
- package/build/lib/base/async-constructor/AsyncConstructor.js +6 -0
- package/build/lib/components/Formatter.cjs +50 -0
- package/build/lib/components/Formatter.d.cts +203 -0
- package/build/lib/components/Formatter.d.ts +203 -0
- package/build/lib/components/Formatter.js +41 -0
- package/build/lib/components/Logger.cjs +50 -0
- package/build/lib/components/Logger.d.cts +61 -0
- package/build/lib/components/Logger.d.ts +61 -0
- package/build/lib/components/Logger.js +41 -0
- package/build/lib/crypto/RSA.cjs +28 -0
- package/build/lib/crypto/RSA.d.cts +61 -0
- package/build/lib/crypto/RSA.d.ts +61 -0
- package/build/lib/crypto/RSA.js +19 -0
- package/build/lib/crypto/SM2.cjs +28 -0
- package/build/lib/crypto/SM2.d.cts +47 -0
- package/build/lib/crypto/SM2.d.ts +47 -0
- package/build/lib/crypto/SM2.js +19 -0
- package/build/lib/crypto/aes/AES128.cjs +25 -0
- package/build/lib/crypto/aes/AES128.d.cts +14 -0
- package/build/lib/crypto/aes/AES128.d.ts +14 -0
- package/build/lib/crypto/aes/AES128.js +16 -0
- package/build/lib/crypto/aes/AES192.cjs +25 -0
- package/build/lib/crypto/aes/AES192.d.cts +14 -0
- package/build/lib/crypto/aes/AES192.d.ts +14 -0
- package/build/lib/crypto/aes/AES192.js +16 -0
- package/build/lib/crypto/aes/AES256.cjs +25 -0
- package/build/lib/crypto/aes/AES256.d.cts +14 -0
- package/build/lib/crypto/aes/AES256.d.ts +14 -0
- package/build/lib/crypto/aes/AES256.js +16 -0
- package/build/lib/crypto/aria/ARIA128.cjs +24 -0
- package/build/lib/crypto/aria/ARIA128.d.cts +13 -0
- package/build/lib/crypto/aria/ARIA128.d.ts +13 -0
- package/build/lib/crypto/aria/ARIA128.js +15 -0
- package/build/lib/crypto/aria/ARIA192.cjs +24 -0
- package/build/lib/crypto/aria/ARIA192.d.cts +13 -0
- package/build/lib/crypto/aria/ARIA192.d.ts +13 -0
- package/build/lib/crypto/aria/ARIA192.js +15 -0
- package/build/lib/crypto/aria/ARIA256.cjs +24 -0
- package/build/lib/crypto/aria/ARIA256.d.cts +13 -0
- package/build/lib/crypto/aria/ARIA256.d.ts +13 -0
- package/build/lib/crypto/aria/ARIA256.js +15 -0
- package/build/lib/crypto/camellia/CAMELLIA128.cjs +24 -0
- package/build/lib/crypto/camellia/CAMELLIA128.d.cts +13 -0
- package/build/lib/crypto/camellia/CAMELLIA128.d.ts +13 -0
- package/build/lib/crypto/camellia/CAMELLIA128.js +15 -0
- package/build/lib/crypto/camellia/CAMELLIA192.cjs +24 -0
- package/build/lib/crypto/camellia/CAMELLIA192.d.cts +13 -0
- package/build/lib/crypto/camellia/CAMELLIA192.d.ts +13 -0
- package/build/lib/crypto/camellia/CAMELLIA192.js +15 -0
- package/build/lib/crypto/camellia/CAMELLIA256.cjs +24 -0
- package/build/lib/crypto/camellia/CAMELLIA256.d.cts +13 -0
- package/build/lib/crypto/camellia/CAMELLIA256.d.ts +13 -0
- package/build/lib/crypto/camellia/CAMELLIA256.js +15 -0
- package/build/lib/crypto/des/DES.cjs +25 -0
- package/build/lib/crypto/des/DES.d.cts +14 -0
- package/build/lib/crypto/des/DES.d.ts +14 -0
- package/build/lib/crypto/des/DES.js +16 -0
- package/build/lib/crypto/des/TripleDES.cjs +25 -0
- package/build/lib/crypto/des/TripleDES.d.cts +14 -0
- package/build/lib/crypto/des/TripleDES.d.ts +14 -0
- package/build/lib/crypto/des/TripleDES.js +16 -0
- package/build/lib/ioc/DependencyInjectionContainer.cjs +29 -0
- package/build/lib/ioc/DependencyInjectionContainer.d.cts +4 -0
- package/build/lib/ioc/DependencyInjectionContainer.d.ts +4 -0
- package/build/lib/ioc/DependencyInjectionContainer.js +20 -0
- package/build/lib/ioc/Errors.cjs +27 -0
- package/build/lib/ioc/Errors.d.cts +53 -0
- package/build/lib/ioc/Errors.d.ts +53 -0
- package/build/lib/ioc/Errors.js +10 -0
- package/build/lib/ioc/FunctionTokenizer.cjs +18 -0
- package/build/lib/ioc/FunctionTokenizer.d.cts +33 -0
- package/build/lib/ioc/FunctionTokenizer.d.ts +33 -0
- package/build/lib/ioc/FunctionTokenizer.js +5 -0
- package/build/lib/ioc/InjectionMode.cjs +14 -0
- package/build/lib/ioc/InjectionMode.d.cts +12 -0
- package/build/lib/ioc/InjectionMode.d.ts +12 -0
- package/build/lib/ioc/InjectionMode.js +5 -0
- package/build/lib/ioc/Lifetime.cjs +14 -0
- package/build/lib/ioc/Lifetime.d.cts +12 -0
- package/build/lib/ioc/Lifetime.d.ts +12 -0
- package/build/lib/ioc/Lifetime.js +5 -0
- package/build/lib/ioc/ListModules.cjs +17 -0
- package/build/lib/ioc/ListModules.d.cts +4 -0
- package/build/lib/ioc/ListModules.d.ts +4 -0
- package/build/lib/ioc/ListModules.js +8 -0
- package/build/lib/ioc/LoadModuleNative.cjs +14 -0
- package/build/lib/ioc/LoadModuleNative.d.cts +9 -0
- package/build/lib/ioc/LoadModuleNative.d.ts +9 -0
- package/build/lib/ioc/LoadModuleNative.js +5 -0
- package/build/lib/ioc/LoadModules.cjs +26 -0
- package/build/lib/ioc/LoadModules.d.cts +4 -0
- package/build/lib/ioc/LoadModules.d.ts +4 -0
- package/build/lib/ioc/LoadModules.js +17 -0
- package/build/lib/ioc/ParamParser.cjs +15 -0
- package/build/lib/ioc/ParamParser.d.cts +25 -0
- package/build/lib/ioc/ParamParser.d.ts +25 -0
- package/build/lib/ioc/ParamParser.js +6 -0
- package/build/lib/ioc/Resolvers.cjs +49 -0
- package/build/lib/ioc/Resolvers.d.cts +4 -0
- package/build/lib/ioc/Resolvers.d.ts +4 -0
- package/build/lib/ioc/Resolvers.js +16 -0
- package/build/lib/ioc/Utils.cjs +35 -0
- package/build/lib/ioc/Utils.d.cts +38 -0
- package/build/lib/ioc/Utils.d.ts +38 -0
- package/build/lib/ioc/Utils.js +6 -0
- package/build/options/ApplicationOptions.cjs +50 -0
- package/build/options/ApplicationOptions.d.cts +20 -0
- package/build/options/ApplicationOptions.d.ts +20 -0
- package/build/options/ApplicationOptions.js +41 -0
- package/build/options/LoadComponentOptions.cjs +50 -0
- package/build/options/LoadComponentOptions.d.cts +22 -0
- package/build/options/LoadComponentOptions.d.ts +22 -0
- package/build/options/LoadComponentOptions.js +41 -0
- package/build/options/LoadEntryClassOptions.cjs +50 -0
- package/build/options/LoadEntryClassOptions.d.cts +16 -0
- package/build/options/LoadEntryClassOptions.d.ts +16 -0
- package/build/options/LoadEntryClassOptions.js +41 -0
- package/build/options/LoadEntryCommonOptions.cjs +27 -0
- package/build/options/LoadEntryCommonOptions.d.cts +13 -0
- package/build/options/LoadEntryCommonOptions.d.ts +13 -0
- package/build/options/LoadEntryCommonOptions.js +18 -0
- package/build/options/LoadModuleOptions.cjs +50 -0
- package/build/options/LoadModuleOptions.d.cts +20 -0
- package/build/options/LoadModuleOptions.d.ts +20 -0
- package/build/options/LoadModuleOptions.js +41 -0
- package/build/options/ModuleOptions.cjs +50 -0
- package/build/options/ModuleOptions.d.cts +20 -0
- package/build/options/ModuleOptions.d.ts +20 -0
- package/build/options/ModuleOptions.js +41 -0
- package/build/types/AsyncFunction.cjs +7 -0
- package/build/types/AsyncFunction.d.cts +3 -0
- package/build/types/AsyncFunction.d.ts +3 -0
- package/build/types/AsyncFunction.js +4 -0
- package/build/types/ControllerActionMapItem.cjs +7 -0
- package/build/types/ControllerActionMapItem.d.cts +20 -0
- package/build/types/ControllerActionMapItem.d.ts +20 -0
- package/build/types/ControllerActionMapItem.js +4 -0
- package/build/types/InjectionProperties.cjs +7 -0
- package/build/types/InjectionProperties.d.cts +3 -0
- package/build/types/InjectionProperties.d.ts +3 -0
- package/build/types/InjectionProperties.js +4 -0
- package/build/types/TimeInput.cjs +7 -0
- package/build/types/TimeInput.d.cts +5 -0
- package/build/types/TimeInput.d.ts +5 -0
- package/build/types/TimeInput.js +4 -0
- package/build/types/TimeObject.cjs +7 -0
- package/build/types/TimeObject.d.cts +11 -0
- package/build/types/TimeObject.d.ts +11 -0
- package/build/types/TimeObject.js +4 -0
- package/build/types/UnitOfTime.cjs +7 -0
- package/build/types/UnitOfTime.d.cts +14 -0
- package/build/types/UnitOfTime.d.ts +14 -0
- package/build/types/UnitOfTime.js +4 -0
- package/package.json +145 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Exception } from './chunk-HODDA5D5.js';
|
|
2
|
+
import { init_esm_shims, __name } from './chunk-5NK7E2HA.js';
|
|
3
|
+
|
|
4
|
+
// src/exceptions/crypto/asymmetric/AsymmetricSignException.ts
|
|
5
|
+
init_esm_shims();
|
|
6
|
+
var _AsymmetricSignException = class _AsymmetricSignException extends Exception {
|
|
7
|
+
errno = "E_ASYMMETRIC_SIGN";
|
|
8
|
+
};
|
|
9
|
+
__name(_AsymmetricSignException, "AsymmetricSignException");
|
|
10
|
+
var AsymmetricSignException = _AsymmetricSignException;
|
|
11
|
+
|
|
12
|
+
export { AsymmetricSignException };
|
|
13
|
+
//# sourceMappingURL=out.js.map
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leGNlcHRpb25zL2NyeXB0by9hc3ltbWV0cmljL0FzeW1tZXRyaWNTaWduRXhjZXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBO0FBRU8sSUFBTSwyQkFBTixNQUFNLGlDQUFnQyxVQUFVO0FBQUEsRUFDNUMsUUFBeUI7QUFDcEM7QUFGdUQ7QUFBaEQsSUFBTSwwQkFBTiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXhjZXB0aW9ufSBmcm9tICcuLi8uLi8uLi9saWIvYmFzZS9hYnN0cmFjdHMvRXhjZXB0aW9uLmpzJ1xuXG5leHBvcnQgY2xhc3MgQXN5bW1ldHJpY1NpZ25FeGNlcHRpb24gZXh0ZW5kcyBFeGNlcHRpb24ge1xuICAgIHB1YmxpYyBlcnJubzogbnVtYmVyIHwgc3RyaW5nID0gJ0VfQVNZTU1FVFJJQ19TSUdOJ1xufVxuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Exception } from './chunk-HODDA5D5.js';
|
|
2
|
+
import { init_esm_shims, __name } from './chunk-5NK7E2HA.js';
|
|
3
|
+
|
|
4
|
+
// src/exceptions/crypto/symmetric/InvalidSymmetricCipherKeyLengthException.ts
|
|
5
|
+
init_esm_shims();
|
|
6
|
+
var _InvalidSymmetricCipherKeyLengthException = class _InvalidSymmetricCipherKeyLengthException extends Exception {
|
|
7
|
+
errno = "E_INVALID_SYMMETRIC_CIPHER_KEY_LENGTH";
|
|
8
|
+
};
|
|
9
|
+
__name(_InvalidSymmetricCipherKeyLengthException, "InvalidSymmetricCipherKeyLengthException");
|
|
10
|
+
var InvalidSymmetricCipherKeyLengthException = _InvalidSymmetricCipherKeyLengthException;
|
|
11
|
+
|
|
12
|
+
export { InvalidSymmetricCipherKeyLengthException };
|
|
13
|
+
//# sourceMappingURL=out.js.map
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leGNlcHRpb25zL2NyeXB0by9zeW1tZXRyaWMvSW52YWxpZFN5bW1ldHJpY0NpcGhlcktleUxlbmd0aEV4Y2VwdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTtBQUVPLElBQU0sNENBQU4sTUFBTSxrREFBaUQsVUFBVTtBQUFBLEVBQzdELFFBQXlCO0FBQ3BDO0FBRndFO0FBQWpFLElBQU0sMkNBQU4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0V4Y2VwdGlvbn0gZnJvbSAnLi4vLi4vLi4vbGliL2Jhc2UvYWJzdHJhY3RzL0V4Y2VwdGlvbi5qcydcblxuZXhwb3J0IGNsYXNzIEludmFsaWRTeW1tZXRyaWNDaXBoZXJLZXlMZW5ndGhFeGNlcHRpb24gZXh0ZW5kcyBFeGNlcHRpb24ge1xuICAgIHB1YmxpYyBlcnJubzogbnVtYmVyIHwgc3RyaW5nID0gJ0VfSU5WQUxJRF9TWU1NRVRSSUNfQ0lQSEVSX0tFWV9MRU5HVEgnXG59XG4iXX0=
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { functionConfig } from './chunk-A4BYNKYF.js';
|
|
2
|
+
import { TestComponent } from './chunk-4332C5BW.js';
|
|
3
|
+
import { Inject, Application, Configurable, Lifetime, Module } from './chunk-7MJAWOWL.js';
|
|
4
|
+
import { init_esm_shims, __name, __decorateClass } from './chunk-5NK7E2HA.js';
|
|
5
|
+
|
|
6
|
+
// src/tests/modules/TestModule1/TestModule1.ts
|
|
7
|
+
init_esm_shims();
|
|
8
|
+
var TestModule1 = class extends Module {
|
|
9
|
+
app;
|
|
10
|
+
greet;
|
|
11
|
+
async entries() {
|
|
12
|
+
return {
|
|
13
|
+
tt11: { class: TestComponent, greet: "subModule" }
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
async configure() {
|
|
17
|
+
return await functionConfig();
|
|
18
|
+
}
|
|
19
|
+
// protected async entries(): Promise<Record<string, LoadEntryCommonOptions | LoadEntryClassOptions<any>>> {
|
|
20
|
+
// return {
|
|
21
|
+
// tt11: {class: TestComponent, config: {greet: 'subModule'}},
|
|
22
|
+
// stc: {class: (await import('../../components/SubTestComponent.js')).SubTestComponent}
|
|
23
|
+
// }
|
|
24
|
+
// }
|
|
25
|
+
//
|
|
26
|
+
// protected bootstrap<U extends Module>(): (string | IConstructor<any> | AsyncFunction<U, void>)[] {
|
|
27
|
+
// return [
|
|
28
|
+
// async () => {
|
|
29
|
+
// console.log('TestModule1 bootstrap')
|
|
30
|
+
// },
|
|
31
|
+
// 'tt11',
|
|
32
|
+
// 'stc'
|
|
33
|
+
// ]
|
|
34
|
+
// }
|
|
35
|
+
async init() {
|
|
36
|
+
await super.init();
|
|
37
|
+
console.log("this is test from ", this.greet ? this.greet : this.className);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
__name(TestModule1, "TestModule1");
|
|
41
|
+
__decorateClass([
|
|
42
|
+
Inject(Application)
|
|
43
|
+
], TestModule1.prototype, "app", 2);
|
|
44
|
+
__decorateClass([
|
|
45
|
+
Configurable()
|
|
46
|
+
], TestModule1.prototype, "greet", 2);
|
|
47
|
+
TestModule1 = __decorateClass([
|
|
48
|
+
Lifetime("SINGLETON")
|
|
49
|
+
], TestModule1);
|
|
50
|
+
|
|
51
|
+
export { TestModule1 };
|
|
52
|
+
//# sourceMappingURL=out.js.map
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXN0cy9tb2R1bGVzL1Rlc3RNb2R1bGUxL1Rlc3RNb2R1bGUxLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFZTyxJQUFNLGNBQU4sY0FBMEIsT0FBTztBQUFBLEVBR2pCO0FBQUEsRUFHQTtBQUFBLEVBRW5CLE1BQWdCLFVBQXdGO0FBQ3BHLFdBQU87QUFBQSxNQUNILE1BQU0sRUFBQyxPQUFPLGVBQWUsT0FBTyxZQUFXO0FBQUEsSUFDbkQ7QUFBQSxFQUNKO0FBQUEsRUFFQSxNQUFnQixZQUFzRDtBQUNsRSxXQUFPLE1BQU0sZUFBZTtBQUFBLEVBRWhDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQW1CQSxNQUFnQixPQUFzQjtBQUNsQyxVQUFNLE1BQU0sS0FBSztBQUNqQixZQUFRLElBQUksc0JBQXNCLEtBQUssUUFBUSxLQUFLLFFBQVEsS0FBSyxTQUFTO0FBQUEsRUFDOUU7QUFDSjtBQXhDd0M7QUFHakI7QUFBQSxFQURsQixPQUFPLFdBQVc7QUFBQSxHQUZWLFlBR1U7QUFHQTtBQUFBLEVBRGxCLGFBQWE7QUFBQSxHQUxMLFlBTVU7QUFOVixjQUFOO0FBQUEsRUFETixTQUFTLFdBQVc7QUFBQSxHQUNSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNb2R1bGV9IGZyb20gJy4uLy4uLy4uL2xpYi9iYXNlL01vZHVsZS5qcydcbmltcG9ydCB7QXBwbGljYXRpb259IGZyb20gJy4uLy4uLy4uL2xpYi9BcHBsaWNhdGlvbi5qcydcbmltcG9ydCB7Q29uZmlndXJhYmxlLCBJbmplY3QsIExpZmV0aW1lfSBmcm9tICcuLi8uLi8uLi9kZWNvcmF0b3JzL0RlcGVuZGVuY3lJbmplY3Rpb25EZWNvcmF0b3JzLmpzJ1xuaW1wb3J0IHtMb2FkRW50cnlDb21tb25PcHRpb25zfSBmcm9tICcuLi8uLi8uLi9vcHRpb25zL0xvYWRFbnRyeUNvbW1vbk9wdGlvbnMuanMnXG5pbXBvcnQge0xvYWRFbnRyeUNsYXNzT3B0aW9uc30gZnJvbSAnLi4vLi4vLi4vb3B0aW9ucy9Mb2FkRW50cnlDbGFzc09wdGlvbnMuanMnXG5pbXBvcnQge1Rlc3RDb21wb25lbnR9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvVGVzdENvbXBvbmVudC5qcydcbmltcG9ydCB7SUNvbnN0cnVjdG9yfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL0lDb25zdHJ1Y3Rvci5qcydcbmltcG9ydCB7QXN5bmNGdW5jdGlvbn0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvQXN5bmNGdW5jdGlvbi5qcydcbmltcG9ydCB7TW9kdWxlT3B0aW9uc30gZnJvbSAnLi4vLi4vLi4vb3B0aW9ucy9Nb2R1bGVPcHRpb25zLmpzJ1xuaW1wb3J0IHtmdW5jdGlvbkNvbmZpZywgb2JqZWN0Q29uZmlnfSBmcm9tICcuL2NvbmZpZy90ZXN0Q29uZmlnLmpzJ1xuXG5ATGlmZXRpbWUoJ1NJTkdMRVRPTicpXG5leHBvcnQgY2xhc3MgVGVzdE1vZHVsZTEgZXh0ZW5kcyBNb2R1bGUge1xuXG4gICAgQEluamVjdChBcHBsaWNhdGlvbilcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXBwOiBBcHBsaWNhdGlvblxuXG4gICAgQENvbmZpZ3VyYWJsZSgpXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGdyZWV0OiBzdHJpbmdcblxuICAgIHByb3RlY3RlZCBhc3luYyBlbnRyaWVzKCk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgTG9hZEVudHJ5Q29tbW9uT3B0aW9ucyB8IExvYWRFbnRyeUNsYXNzT3B0aW9uczxhbnk+Pj4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHQxMToge2NsYXNzOiBUZXN0Q29tcG9uZW50LCBncmVldDogJ3N1Yk1vZHVsZSd9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYXN5bmMgY29uZmlndXJlKCk6IFByb21pc2U8TW9kdWxlT3B0aW9uczx0aGlzPiB8IHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgZnVuY3Rpb25Db25maWcoKVxuICAgICAgICAvLyByZXR1cm4gb2JqZWN0Q29uZmlnXG4gICAgfVxuXG4gICAgLy8gcHJvdGVjdGVkIGFzeW5jIGVudHJpZXMoKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBMb2FkRW50cnlDb21tb25PcHRpb25zIHwgTG9hZEVudHJ5Q2xhc3NPcHRpb25zPGFueT4+PiB7XG4gICAgLy8gICAgIHJldHVybiB7XG4gICAgLy8gICAgICAgICB0dDExOiB7Y2xhc3M6IFRlc3RDb21wb25lbnQsIGNvbmZpZzoge2dyZWV0OiAnc3ViTW9kdWxlJ319LFxuICAgIC8vICAgICAgICAgc3RjOiB7Y2xhc3M6IChhd2FpdCBpbXBvcnQoJy4uLy4uL2NvbXBvbmVudHMvU3ViVGVzdENvbXBvbmVudC5qcycpKS5TdWJUZXN0Q29tcG9uZW50fVxuICAgIC8vICAgICB9XG4gICAgLy8gfVxuICAgIC8vXG4gICAgLy8gcHJvdGVjdGVkIGJvb3RzdHJhcDxVIGV4dGVuZHMgTW9kdWxlPigpOiAoc3RyaW5nIHwgSUNvbnN0cnVjdG9yPGFueT4gfCBBc3luY0Z1bmN0aW9uPFUsIHZvaWQ+KVtdIHtcbiAgICAvLyAgICAgcmV0dXJuIFtcbiAgICAvLyAgICAgICAgIGFzeW5jICgpID0+IHtcbiAgICAvLyAgICAgICAgICAgICBjb25zb2xlLmxvZygnVGVzdE1vZHVsZTEgYm9vdHN0cmFwJylcbiAgICAvLyAgICAgICAgIH0sXG4gICAgLy8gICAgICAgICAndHQxMScsXG4gICAgLy8gICAgICAgICAnc3RjJ1xuICAgIC8vICAgICBdXG4gICAgLy8gfVxuXG4gICAgcHJvdGVjdGVkIGFzeW5jIGluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHN1cGVyLmluaXQoKVxuICAgICAgICBjb25zb2xlLmxvZygndGhpcyBpcyB0ZXN0IGZyb20gJywgdGhpcy5ncmVldCA/IHRoaXMuZ3JlZXQgOiB0aGlzLmNsYXNzTmFtZSlcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkGGY7LCMQ_cjs = require('./chunk-GGY7LCMQ.cjs');
|
|
4
|
+
|
|
5
|
+
// src/lib/ioc/FunctionTokenizer.ts
|
|
6
|
+
chunkGGY7LCMQ_cjs.init_cjs_shims();
|
|
7
|
+
var TokenizerFlags = /* @__PURE__ */ ((TokenizerFlags2) => {
|
|
8
|
+
TokenizerFlags2[TokenizerFlags2["None"] = 0] = "None";
|
|
9
|
+
TokenizerFlags2[TokenizerFlags2["Dumb"] = 1] = "Dumb";
|
|
10
|
+
return TokenizerFlags2;
|
|
11
|
+
})(TokenizerFlags || {});
|
|
12
|
+
function createTokenizer(source) {
|
|
13
|
+
const end = source.length;
|
|
14
|
+
let pos = 0;
|
|
15
|
+
let type = "EOF";
|
|
16
|
+
let value = "";
|
|
17
|
+
let flags = 0 /* None */;
|
|
18
|
+
let parenLeft = 0;
|
|
19
|
+
let parenRight = 0;
|
|
20
|
+
return {
|
|
21
|
+
next,
|
|
22
|
+
done
|
|
23
|
+
};
|
|
24
|
+
function next(nextFlags = 0 /* None */) {
|
|
25
|
+
flags = nextFlags;
|
|
26
|
+
advance();
|
|
27
|
+
return createToken();
|
|
28
|
+
}
|
|
29
|
+
function advance() {
|
|
30
|
+
value = "";
|
|
31
|
+
type = "EOF";
|
|
32
|
+
while (true) {
|
|
33
|
+
if (pos >= end)
|
|
34
|
+
return type = "EOF";
|
|
35
|
+
let ch = source.charAt(pos);
|
|
36
|
+
if (isWhiteSpace(ch)) {
|
|
37
|
+
pos++;
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
switch (ch) {
|
|
41
|
+
case "(":
|
|
42
|
+
pos++;
|
|
43
|
+
parenLeft++;
|
|
44
|
+
return type = ch;
|
|
45
|
+
case ")":
|
|
46
|
+
pos++;
|
|
47
|
+
parenRight++;
|
|
48
|
+
return type = ch;
|
|
49
|
+
case "*":
|
|
50
|
+
pos++;
|
|
51
|
+
return type = ch;
|
|
52
|
+
case ",":
|
|
53
|
+
pos++;
|
|
54
|
+
return type = ch;
|
|
55
|
+
case "=":
|
|
56
|
+
pos++;
|
|
57
|
+
if ((flags & 1 /* Dumb */) === 0) {
|
|
58
|
+
skipExpression();
|
|
59
|
+
}
|
|
60
|
+
return type = ch;
|
|
61
|
+
case "/":
|
|
62
|
+
pos++;
|
|
63
|
+
const nextCh = source.charAt(pos);
|
|
64
|
+
if (nextCh === "/") {
|
|
65
|
+
skipUntil((c) => c === "\n", true);
|
|
66
|
+
pos++;
|
|
67
|
+
}
|
|
68
|
+
if (nextCh === "*") {
|
|
69
|
+
skipUntil((c) => {
|
|
70
|
+
const closing = source.charAt(pos + 1);
|
|
71
|
+
return c === "*" && closing === "/";
|
|
72
|
+
}, true);
|
|
73
|
+
pos++;
|
|
74
|
+
}
|
|
75
|
+
continue;
|
|
76
|
+
default:
|
|
77
|
+
if (isIdentifierStart(ch)) {
|
|
78
|
+
scanIdentifier();
|
|
79
|
+
return type;
|
|
80
|
+
}
|
|
81
|
+
pos++;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
function scanIdentifier() {
|
|
86
|
+
const identStart = source.charAt(pos);
|
|
87
|
+
const start = ++pos;
|
|
88
|
+
while (isIdentifierPart(source.charAt(pos)))
|
|
89
|
+
pos++;
|
|
90
|
+
value = "" + identStart + source.substring(start, pos);
|
|
91
|
+
type = value === "function" || value === "class" ? value : "ident";
|
|
92
|
+
if (type !== "ident")
|
|
93
|
+
value = "";
|
|
94
|
+
return value;
|
|
95
|
+
}
|
|
96
|
+
function skipExpression() {
|
|
97
|
+
skipUntil((ch) => {
|
|
98
|
+
const isAtRoot = parenLeft === parenRight + 1;
|
|
99
|
+
if (ch === "," && isAtRoot)
|
|
100
|
+
return true;
|
|
101
|
+
if (ch === "(") {
|
|
102
|
+
parenLeft++;
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
if (ch === ")") {
|
|
106
|
+
parenRight++;
|
|
107
|
+
if (isAtRoot) {
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return false;
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
function skipUntil(callback, dumb = false) {
|
|
115
|
+
while (pos < source.length) {
|
|
116
|
+
let ch = source.charAt(pos);
|
|
117
|
+
if (callback(ch))
|
|
118
|
+
return;
|
|
119
|
+
if (!dumb) {
|
|
120
|
+
if (isWhiteSpace(ch)) {
|
|
121
|
+
pos++;
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
if (isStringQuote(ch)) {
|
|
125
|
+
skipString();
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
pos++;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
function skipString() {
|
|
133
|
+
const quote = source.charAt(pos);
|
|
134
|
+
pos++;
|
|
135
|
+
while (pos < source.length) {
|
|
136
|
+
const ch = source.charAt(pos);
|
|
137
|
+
const prev = source.charAt(pos - 1);
|
|
138
|
+
if (ch === quote && prev !== "\\") {
|
|
139
|
+
pos++;
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
if (quote === "`") {
|
|
143
|
+
const next2 = source.charAt(pos + 1);
|
|
144
|
+
if (next2 === "$") {
|
|
145
|
+
const afterDollar = source.charAt(pos + 2);
|
|
146
|
+
if (afterDollar === "{") {
|
|
147
|
+
pos = pos + 2;
|
|
148
|
+
skipUntil((ch2) => ch2 === "}");
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
pos++;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
function createToken() {
|
|
156
|
+
if (value)
|
|
157
|
+
return { value, type };
|
|
158
|
+
return { type };
|
|
159
|
+
}
|
|
160
|
+
function done() {
|
|
161
|
+
return type === "EOF";
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
chunkGGY7LCMQ_cjs.__name(createTokenizer, "createTokenizer");
|
|
165
|
+
function isWhiteSpace(ch) {
|
|
166
|
+
switch (ch) {
|
|
167
|
+
case "\r":
|
|
168
|
+
case "\n":
|
|
169
|
+
case " ":
|
|
170
|
+
return true;
|
|
171
|
+
}
|
|
172
|
+
return false;
|
|
173
|
+
}
|
|
174
|
+
chunkGGY7LCMQ_cjs.__name(isWhiteSpace, "isWhiteSpace");
|
|
175
|
+
function isStringQuote(ch) {
|
|
176
|
+
switch (ch) {
|
|
177
|
+
case "'":
|
|
178
|
+
case '"':
|
|
179
|
+
case "`":
|
|
180
|
+
return true;
|
|
181
|
+
}
|
|
182
|
+
return false;
|
|
183
|
+
}
|
|
184
|
+
chunkGGY7LCMQ_cjs.__name(isStringQuote, "isStringQuote");
|
|
185
|
+
var IDENT_START_EXPR = /^[_$a-zA-Z\xA0-\uFFFF]$/;
|
|
186
|
+
var IDENT_PART_EXPR = /^[._$a-zA-Z0-9\xA0-\uFFFF]$/;
|
|
187
|
+
function isIdentifierStart(ch) {
|
|
188
|
+
return IDENT_START_EXPR.test(ch);
|
|
189
|
+
}
|
|
190
|
+
chunkGGY7LCMQ_cjs.__name(isIdentifierStart, "isIdentifierStart");
|
|
191
|
+
function isIdentifierPart(ch) {
|
|
192
|
+
return IDENT_PART_EXPR.test(ch);
|
|
193
|
+
}
|
|
194
|
+
chunkGGY7LCMQ_cjs.__name(isIdentifierPart, "isIdentifierPart");
|
|
195
|
+
|
|
196
|
+
exports.TokenizerFlags = TokenizerFlags;
|
|
197
|
+
exports.createTokenizer = createTokenizer;
|
|
198
|
+
//# sourceMappingURL=out.js.map
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9saWIvaW9jL0Z1bmN0aW9uVG9rZW5pemVyLnRzIl0sIm5hbWVzIjpbIlRva2VuaXplckZsYWdzIiwibmV4dCIsImNoIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQTJCTyxJQUFXLGlCQUFYLGtCQUFXQSxvQkFBWDtBQUNILEVBQUFBLGdDQUFBLFVBQU8sS0FBUDtBQUlBLEVBQUFBLGdDQUFBLFVBQU8sS0FBUDtBQUxjLFNBQUFBO0FBQUEsR0FBQTtBQVlYLFNBQVMsZ0JBQWdCLFFBQWdCO0FBQzVDLFFBQU0sTUFBTSxPQUFPO0FBQ25CLE1BQUksTUFBYztBQUNsQixNQUFJLE9BQWtCO0FBQ3RCLE1BQUksUUFBZ0I7QUFDcEIsTUFBSSxRQUFRO0FBR1osTUFBSSxZQUFZO0FBQ2hCLE1BQUksYUFBYTtBQUNqQixTQUFPO0FBQUEsSUFDSDtBQUFBLElBQ0E7QUFBQSxFQUNKO0FBS0EsV0FBUyxLQUFLLFlBQTRCLGNBQTRCO0FBQ2xFLFlBQVE7QUFDUixZQUFRO0FBQ1IsV0FBTyxZQUFZO0FBQUEsRUFDdkI7QUFKUztBQVNULFdBQVMsVUFBVTtBQUNmLFlBQVE7QUFDUixXQUFPO0FBQ1AsV0FBTyxNQUFNO0FBQ1QsVUFBSSxPQUFPO0FBQUssZUFBUSxPQUFPO0FBQy9CLFVBQUksS0FBYSxPQUFPLE9BQU8sR0FBRztBQUVsQyxVQUFJLGFBQWEsRUFBRSxHQUFHO0FBQ2xCO0FBQ0E7QUFBQSxNQUNKO0FBQ0EsY0FBUSxJQUFJO0FBQUEsUUFDUixLQUFLO0FBQ0Q7QUFDQTtBQUNBLGlCQUFRLE9BQU87QUFBQSxRQUNuQixLQUFLO0FBQ0Q7QUFDQTtBQUNBLGlCQUFRLE9BQU87QUFBQSxRQUNuQixLQUFLO0FBQ0Q7QUFDQSxpQkFBUSxPQUFPO0FBQUEsUUFDbkIsS0FBSztBQUNEO0FBQ0EsaUJBQVEsT0FBTztBQUFBLFFBQ25CLEtBQUs7QUFDRDtBQUNBLGVBQUssUUFBUSxrQkFBeUIsR0FBRztBQUVyQywyQkFBZTtBQUFBLFVBQ25CO0FBR0EsaUJBQVEsT0FBTztBQUFBLFFBQ25CLEtBQUs7QUFDRDtBQUNBLGdCQUFNLFNBQWlCLE9BQU8sT0FBTyxHQUFHO0FBQ3hDLGNBQUksV0FBVyxLQUFLO0FBQ2hCLHNCQUFVLENBQUMsTUFBdUIsTUFBTSxNQUFNLElBQUk7QUFDbEQ7QUFBQSxVQUNKO0FBQ0EsY0FBSSxXQUFXLEtBQUs7QUFDaEIsc0JBQVUsQ0FBQyxNQUFjO0FBQ3JCLG9CQUFNLFVBQWtCLE9BQU8sT0FBTyxNQUFNLENBQUM7QUFDN0MscUJBQU8sTUFBTSxPQUFPLFlBQVk7QUFBQSxZQUNwQyxHQUFHLElBQUk7QUFDUDtBQUFBLFVBQ0o7QUFDQTtBQUFBLFFBQ0o7QUFFSSxjQUFJLGtCQUFrQixFQUFFLEdBQUc7QUFDdkIsMkJBQWU7QUFDZixtQkFBTztBQUFBLFVBQ1g7QUFFQTtBQUFBLE1BQ1I7QUFBQSxJQUNKO0FBQUEsRUFDSjtBQTVEUztBQWlFVCxXQUFTLGlCQUF5QjtBQUM5QixVQUFNLGFBQXFCLE9BQU8sT0FBTyxHQUFHO0FBQzVDLFVBQU0sUUFBZ0IsRUFBRTtBQUN4QixXQUFPLGlCQUFpQixPQUFPLE9BQU8sR0FBRyxDQUFDO0FBQUc7QUFDN0MsWUFBUSxLQUFLLGFBQWEsT0FBTyxVQUFVLE9BQU8sR0FBRztBQUNyRCxXQUFPLFVBQVUsY0FBYyxVQUFVLFVBQVUsUUFBUTtBQUMzRCxRQUFJLFNBQVM7QUFBUyxjQUFRO0FBQzlCLFdBQU87QUFBQSxFQUNYO0FBUlM7QUFhVCxXQUFTLGlCQUF1QjtBQUM1QixjQUFVLENBQUMsT0FBd0I7QUFDL0IsWUFBTSxXQUFvQixjQUFjLGFBQWE7QUFDckQsVUFBSSxPQUFPLE9BQU87QUFBVSxlQUFPO0FBQ25DLFVBQUksT0FBTyxLQUFLO0FBQ1o7QUFDQSxlQUFPO0FBQUEsTUFDWDtBQUNBLFVBQUksT0FBTyxLQUFLO0FBQ1o7QUFDQSxZQUFJLFVBQVU7QUFDVixpQkFBTztBQUFBLFFBQ1g7QUFBQSxNQUNKO0FBQ0EsYUFBTztBQUFBLElBQ1gsQ0FBQztBQUFBLEVBQ0w7QUFoQlM7QUF1QlQsV0FBUyxVQUFVLFVBQW1DLE9BQWdCLE9BQWE7QUFDL0UsV0FBTyxNQUFNLE9BQU8sUUFBUTtBQUN4QixVQUFJLEtBQWEsT0FBTyxPQUFPLEdBQUc7QUFDbEMsVUFBSSxTQUFTLEVBQUU7QUFBRztBQUNsQixVQUFJLENBQUMsTUFBTTtBQUNQLFlBQUksYUFBYSxFQUFFLEdBQUc7QUFDbEI7QUFDQTtBQUFBLFFBQ0o7QUFDQSxZQUFJLGNBQWMsRUFBRSxHQUFHO0FBQ25CLHFCQUFXO0FBQ1g7QUFBQSxRQUNKO0FBQUEsTUFDSjtBQUNBO0FBQUEsSUFDSjtBQUFBLEVBQ0o7QUFoQlM7QUFxQlQsV0FBUyxhQUFtQjtBQUN4QixVQUFNLFFBQVEsT0FBTyxPQUFPLEdBQUc7QUFDL0I7QUFDQSxXQUFPLE1BQU0sT0FBTyxRQUFRO0FBQ3hCLFlBQU0sS0FBYSxPQUFPLE9BQU8sR0FBRztBQUNwQyxZQUFNLE9BQWUsT0FBTyxPQUFPLE1BQU0sQ0FBQztBQUUxQyxVQUFJLE9BQU8sU0FBUyxTQUFTLE1BQU07QUFDL0I7QUFDQTtBQUFBLE1BQ0o7QUFFQSxVQUFJLFVBQVUsS0FBSztBQUNmLGNBQU1DLFFBQWUsT0FBTyxPQUFPLE1BQU0sQ0FBQztBQUMxQyxZQUFJQSxVQUFTLEtBQUs7QUFDZCxnQkFBTSxjQUFzQixPQUFPLE9BQU8sTUFBTSxDQUFDO0FBQ2pELGNBQUksZ0JBQWdCLEtBQUs7QUFFckIsa0JBQU0sTUFBTTtBQUdaLHNCQUFVLENBQUNDLFFBQU9BLFFBQU8sR0FBRztBQUFBLFVBQ2hDO0FBQUEsUUFDSjtBQUFBLE1BQ0o7QUFDQTtBQUFBLElBQ0o7QUFBQSxFQUNKO0FBM0JTO0FBZ0NULFdBQVMsY0FBcUI7QUFDMUIsUUFBSTtBQUFPLGFBQU8sRUFBQyxPQUFPLEtBQUk7QUFDOUIsV0FBTyxFQUFDLEtBQUk7QUFBQSxFQUNoQjtBQUhTO0FBUVQsV0FBUyxPQUFnQjtBQUNyQixXQUFPLFNBQVM7QUFBQSxFQUNwQjtBQUZTO0FBR2I7QUFoTWdCO0FBc01oQixTQUFTLGFBQWEsSUFBcUI7QUFDdkMsVUFBUSxJQUFJO0FBQUEsSUFDUixLQUFLO0FBQUEsSUFDTCxLQUFLO0FBQUEsSUFDTCxLQUFLO0FBQ0QsYUFBTztBQUFBLEVBQ2Y7QUFDQSxTQUFPO0FBQ1g7QUFSUztBQWNULFNBQVMsY0FBYyxJQUFxQjtBQUN4QyxVQUFRLElBQUk7QUFBQSxJQUNSLEtBQUs7QUFBQSxJQUNMLEtBQUs7QUFBQSxJQUNMLEtBQUs7QUFDRCxhQUFPO0FBQUEsRUFDZjtBQUNBLFNBQU87QUFDWDtBQVJTO0FBVVQsSUFBTSxtQkFBMkI7QUFDakMsSUFBTSxrQkFBMEI7QUFLaEMsU0FBUyxrQkFBa0IsSUFBcUI7QUFDNUMsU0FBTyxpQkFBaUIsS0FBSyxFQUFFO0FBQ25DO0FBRlM7QUFPVCxTQUFTLGlCQUFpQixJQUFZO0FBQ2xDLFNBQU8sZ0JBQWdCLEtBQUssRUFBRTtBQUNsQztBQUZTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdyZWZsZWN0LW1ldGFkYXRhJ1xuXG4vKipcbiAqIOagh+iusOexu+Wei1xuICovXG5leHBvcnQgdHlwZSBUb2tlblR5cGUgPVxuICAgIHwgJ2lkZW50J1xuICAgIHwgJygnXG4gICAgfCAnKSdcbiAgICB8ICcsJ1xuICAgIHwgJz0nXG4gICAgfCAnKidcbiAgICB8ICdmdW5jdGlvbidcbiAgICB8ICdjbGFzcydcbiAgICB8ICdFT0YnXG5cbi8qKlxuICog6K+N5rOV5YiG5p6Q5Zmo5qCH6K6wXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVG9rZW4ge1xuICAgIHR5cGU6IFRva2VuVHlwZVxuICAgIHZhbHVlPzogc3RyaW5nXG59XG5cbi8qKlxuICog5Y+v5Lul5Lyg6YCS57uZ5qCH6K6w5Zmo55qE5qCH5b+X77yM55So5LqO5YiH5o2i5p+Q5Lqb5Yqf6IO9XG4gKi9cbmV4cG9ydCBjb25zdCBlbnVtIFRva2VuaXplckZsYWdzIHtcbiAgICBOb25lID0gMCxcbiAgICAvKipcbiAgICAgKiDlpoLmnpzorr7nva7kuobmraTpgInpobnvvIzmoIforrDlmajlsIbkuI3kvJrlsJ3or5Xmmbrog73ot7Pov4fooajovr7lvI9cbiAgICAgKi9cbiAgICBEdW1iID0gMSxcbn1cblxuLyoqXG4gKiDkuLrmjIflrprnmoTmupDku6PnoIHliJvlu7rkuIDkuKrmoIforrDlmahcbiAqIEBwYXJhbSBzb3VyY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRva2VuaXplcihzb3VyY2U6IHN0cmluZykge1xuICAgIGNvbnN0IGVuZCA9IHNvdXJjZS5sZW5ndGhcbiAgICBsZXQgcG9zOiBudW1iZXIgPSAwXG4gICAgbGV0IHR5cGU6IFRva2VuVHlwZSA9ICdFT0YnXG4gICAgbGV0IHZhbHVlOiBzdHJpbmcgPSAnJ1xuICAgIGxldCBmbGFncyA9IFRva2VuaXplckZsYWdzLk5vbmVcbiAgICAvLyBUaGVzZSBhcmUgdXNlZCB0byBncmVlZGlseSBza2lwIGFzIG11Y2ggYXMgcG9zc2libGUuXG4gICAgLy8gV2hlbmV2ZXIgd2UgcmVhY2ggYSBwYXJlbiwgd2UgaW5jcmVtZW50IHRoZXNlLlxuICAgIGxldCBwYXJlbkxlZnQgPSAwXG4gICAgbGV0IHBhcmVuUmlnaHQgPSAwXG4gICAgcmV0dXJuIHtcbiAgICAgICAgbmV4dCxcbiAgICAgICAgZG9uZVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaOqOi/m+agh+iusOWZqOW5tui/lOWbnuS4i+S4gOS4quagh+iusFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG5leHQobmV4dEZsYWdzOiBUb2tlbml6ZXJGbGFncyA9IFRva2VuaXplckZsYWdzLk5vbmUpOiBUb2tlbiB7XG4gICAgICAgIGZsYWdzID0gbmV4dEZsYWdzXG4gICAgICAgIGFkdmFuY2UoKVxuICAgICAgICByZXR1cm4gY3JlYXRlVG9rZW4oKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkdmFuY2VzIHRoZSB0b2tlbml6ZXIgc3RhdGUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYWR2YW5jZSgpIHtcbiAgICAgICAgdmFsdWUgPSAnJ1xuICAgICAgICB0eXBlID0gJ0VPRidcbiAgICAgICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgICAgIGlmIChwb3MgPj0gZW5kKSByZXR1cm4gKHR5cGUgPSAnRU9GJylcbiAgICAgICAgICAgIGxldCBjaDogc3RyaW5nID0gc291cmNlLmNoYXJBdChwb3MpXG4gICAgICAgICAgICAvLyBXaGl0ZXNwYWNlIGlzIGlycmVsZXZhbnRcbiAgICAgICAgICAgIGlmIChpc1doaXRlU3BhY2UoY2gpKSB7XG4gICAgICAgICAgICAgICAgcG9zKytcbiAgICAgICAgICAgICAgICBjb250aW51ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3dpdGNoIChjaCkge1xuICAgICAgICAgICAgICAgIGNhc2UgJygnOlxuICAgICAgICAgICAgICAgICAgICBwb3MrK1xuICAgICAgICAgICAgICAgICAgICBwYXJlbkxlZnQrK1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHR5cGUgPSBjaClcbiAgICAgICAgICAgICAgICBjYXNlICcpJzpcbiAgICAgICAgICAgICAgICAgICAgcG9zKytcbiAgICAgICAgICAgICAgICAgICAgcGFyZW5SaWdodCsrXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAodHlwZSA9IGNoKVxuICAgICAgICAgICAgICAgIGNhc2UgJyonOlxuICAgICAgICAgICAgICAgICAgICBwb3MrK1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHR5cGUgPSBjaClcbiAgICAgICAgICAgICAgICBjYXNlICcsJzpcbiAgICAgICAgICAgICAgICAgICAgcG9zKytcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICh0eXBlID0gY2gpXG4gICAgICAgICAgICAgICAgY2FzZSAnPSc6XG4gICAgICAgICAgICAgICAgICAgIHBvcysrXG4gICAgICAgICAgICAgICAgICAgIGlmICgoZmxhZ3MgJiBUb2tlbml6ZXJGbGFncy5EdW1iKSA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gTm90IGluIGR1bWItbW9kZSwgc28gYXR0ZW1wdCB0byBza2lwLlxuICAgICAgICAgICAgICAgICAgICAgICAgc2tpcEV4cHJlc3Npb24oKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8ga25vdyB0aGF0IHRoZXJlJ3MgYSBkZWZhdWx0IHZhbHVlIHNvIHdlIGNhblxuICAgICAgICAgICAgICAgICAgICAvLyBza2lwIGl0IGlmIGl0IGRvZXMgbm90IGV4aXN0IHdoZW4gcmVzb2x2aW5nLlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHR5cGUgPSBjaClcbiAgICAgICAgICAgICAgICBjYXNlICcvJzpcbiAgICAgICAgICAgICAgICAgICAgcG9zKytcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV4dENoOiBzdHJpbmcgPSBzb3VyY2UuY2hhckF0KHBvcylcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5leHRDaCA9PT0gJy8nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBza2lwVW50aWwoKGM6IHN0cmluZyk6IGJvb2xlYW4gPT4gYyA9PT0gJ1xcbicsIHRydWUpXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3MrK1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChuZXh0Q2ggPT09ICcqJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2tpcFVudGlsKChjOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjbG9zaW5nOiBzdHJpbmcgPSBzb3VyY2UuY2hhckF0KHBvcyArIDEpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGMgPT09ICcqJyAmJiBjbG9zaW5nID09PSAnLydcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHRydWUpXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3MrK1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgLy8gU2NhbnMgYW4gaWRlbnRpZmllci5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzSWRlbnRpZmllclN0YXJ0KGNoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2NhbklkZW50aWZpZXIoKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyBFbGVnYW50bHkgc2tpcCBvdmVyIHRva2VucyB3ZSBkb24ndCBjYXJlIGFib3V0LlxuICAgICAgICAgICAgICAgICAgICBwb3MrK1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5omr5o+P5qCH6K+G56ym77yM5YGH6K6+5bey57uP5YeG5aSH5aW96L+Z5qC35YGaXG4gICAgICovXG4gICAgZnVuY3Rpb24gc2NhbklkZW50aWZpZXIoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgaWRlbnRTdGFydDogc3RyaW5nID0gc291cmNlLmNoYXJBdChwb3MpXG4gICAgICAgIGNvbnN0IHN0YXJ0OiBudW1iZXIgPSArK3Bvc1xuICAgICAgICB3aGlsZSAoaXNJZGVudGlmaWVyUGFydChzb3VyY2UuY2hhckF0KHBvcykpKSBwb3MrK1xuICAgICAgICB2YWx1ZSA9ICcnICsgaWRlbnRTdGFydCArIHNvdXJjZS5zdWJzdHJpbmcoc3RhcnQsIHBvcylcbiAgICAgICAgdHlwZSA9IHZhbHVlID09PSAnZnVuY3Rpb24nIHx8IHZhbHVlID09PSAnY2xhc3MnID8gdmFsdWUgOiAnaWRlbnQnXG4gICAgICAgIGlmICh0eXBlICE9PSAnaWRlbnQnKSB2YWx1ZSA9ICcnXG4gICAgICAgIHJldHVybiB2YWx1ZVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOi3s+i/h+ebtOWIsOS4i+S4gOS4qumAl+WPt+aIluWPguaVsOWIl+ihqOe7k+adn+eahOaJgOacieWGheWuueOAguajgOafpeaLrOWPt+W5s+ihoe+8jOS7peS+v+ato+ehrui3s+i/h+WHveaVsOiwg+eUqFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNraXBFeHByZXNzaW9uKCk6IHZvaWQge1xuICAgICAgICBza2lwVW50aWwoKGNoOiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlzQXRSb290OiBib29sZWFuID0gcGFyZW5MZWZ0ID09PSBwYXJlblJpZ2h0ICsgMVxuICAgICAgICAgICAgaWYgKGNoID09PSAnLCcgJiYgaXNBdFJvb3QpIHJldHVybiB0cnVlXG4gICAgICAgICAgICBpZiAoY2ggPT09ICcoJykge1xuICAgICAgICAgICAgICAgIHBhcmVuTGVmdCsrXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoY2ggPT09ICcpJykge1xuICAgICAgICAgICAgICAgIHBhcmVuUmlnaHQrK1xuICAgICAgICAgICAgICAgIGlmIChpc0F0Um9vdCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICB9KVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOi3s+i/h+Wtl+espuS4suWSjOepuuagvO+8jOebtOWIsOiwk+ivjeS4uuecn1xuICAgICAqIEBwYXJhbSBjYWxsYmFjayDlvZPmraTlh73mlbDov5Tlm550cnVl5pe25YGc5q2i6Lez6L+HXG4gICAgICogQHBhcmFtIGR1bWIg5aaC5p6c5Li6dHJ1Ze+8jOWImeS4jei3s+i/h+epuuagvOWSjOWtl+espuS4su+8m+Wug+WPquS8muWcqOWbnuiwg+WHveaVsOi/lOWbnnRydWXml7blgZzmraJcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBza2lwVW50aWwoY2FsbGJhY2s6IChjaDogc3RyaW5nKSA9PiBib29sZWFuLCBkdW1iOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgd2hpbGUgKHBvcyA8IHNvdXJjZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIGxldCBjaDogc3RyaW5nID0gc291cmNlLmNoYXJBdChwb3MpXG4gICAgICAgICAgICBpZiAoY2FsbGJhY2soY2gpKSByZXR1cm5cbiAgICAgICAgICAgIGlmICghZHVtYikge1xuICAgICAgICAgICAgICAgIGlmIChpc1doaXRlU3BhY2UoY2gpKSB7XG4gICAgICAgICAgICAgICAgICAgIHBvcysrXG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpc1N0cmluZ1F1b3RlKGNoKSkge1xuICAgICAgICAgICAgICAgICAgICBza2lwU3RyaW5nKClcbiAgICAgICAgICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwb3MrK1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5YGH6K6+5b2T5YmN5L2N572u5Zyo5a2X56ym5Liy5byV5Y+35aSE77yM6Lez6L+H5pW05Liq5a2X56ym5LiyXG4gICAgICovXG4gICAgZnVuY3Rpb24gc2tpcFN0cmluZygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcXVvdGUgPSBzb3VyY2UuY2hhckF0KHBvcylcbiAgICAgICAgcG9zKytcbiAgICAgICAgd2hpbGUgKHBvcyA8IHNvdXJjZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGNoOiBzdHJpbmcgPSBzb3VyY2UuY2hhckF0KHBvcylcbiAgICAgICAgICAgIGNvbnN0IHByZXY6IHN0cmluZyA9IHNvdXJjZS5jaGFyQXQocG9zIC0gMSlcbiAgICAgICAgICAgIC8vIENoZWNrcyBpZiB0aGUgcXVvdGUgd2FzIGVzY2FwZWQuXG4gICAgICAgICAgICBpZiAoY2ggPT09IHF1b3RlICYmIHByZXYgIT09ICdcXFxcJykge1xuICAgICAgICAgICAgICAgIHBvcysrXG4gICAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBUZW1wbGF0ZSBzdHJpbmdzIGFyZSBhIGJpdCB0b3VnaGVyLCB3ZSB3YW50IHRvIHNraXAgdGhlIGludGVycG9sYXRlZCB2YWx1ZXMuXG4gICAgICAgICAgICBpZiAocXVvdGUgPT09ICdgJykge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5leHQ6IHN0cmluZyA9IHNvdXJjZS5jaGFyQXQocG9zICsgMSlcbiAgICAgICAgICAgICAgICBpZiAobmV4dCA9PT0gJyQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFmdGVyRG9sbGFyOiBzdHJpbmcgPSBzb3VyY2UuY2hhckF0KHBvcyArIDIpXG4gICAgICAgICAgICAgICAgICAgIGlmIChhZnRlckRvbGxhciA9PT0gJ3snKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBzdGFydCBvZiBhbiBpbnRlcnBvbGF0aW9uOyBza2lwIHRoZSAke1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zID0gcG9zICsgMlxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2tpcCBzdHJpbmdzIGFuZCB3aGl0ZXNwYWNlIHVudGlsIHdlIHJlYWNoIHRoZSBlbmRpbmcgfS5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgaW5jbHVkZXMgc2tpcHBpbmcgbmVzdGVkIGludGVycG9sYXRlZCBzdHJpbmdzLiA6RFxuICAgICAgICAgICAgICAgICAgICAgICAgc2tpcFVudGlsKChjaCkgPT4gY2ggPT09ICd9JylcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBvcysrXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmoLnmja7lvZPliY3nirbmgIHliJvlu7rkuIDkuKrmoIforrBcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVUb2tlbigpOiBUb2tlbiB7XG4gICAgICAgIGlmICh2YWx1ZSkgcmV0dXJuIHt2YWx1ZSwgdHlwZX1cbiAgICAgICAgcmV0dXJuIHt0eXBlfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOehruWumuaYr+WQpuWujOaIkOino+aekFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGRvbmUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0eXBlID09PSAnRU9GJ1xuICAgIH1cbn1cblxuLyoqXG4gKiDnoa7lrprnu5nlrprnmoTlrZfnrKbmmK/lkKbkuLrnqbrmoLzlrZfnrKZcbiAqIEBwYXJhbSBjaFxuICovXG5mdW5jdGlvbiBpc1doaXRlU3BhY2UoY2g6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHN3aXRjaCAoY2gpIHtcbiAgICAgICAgY2FzZSAnXFxyJzpcbiAgICAgICAgY2FzZSAnXFxuJzpcbiAgICAgICAgY2FzZSAnICc6XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2Vcbn1cblxuLyoqXG4gKiDnoa7lrprmjIflrprnmoTlrZfnrKbmmK/lkKbkuLrlrZfnrKbkuLLlvJXlj7dcbiAqIEBwYXJhbSBjaFxuICovXG5mdW5jdGlvbiBpc1N0cmluZ1F1b3RlKGNoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBzd2l0Y2ggKGNoKSB7XG4gICAgICAgIGNhc2UgJ1xcJyc6XG4gICAgICAgIGNhc2UgJ1wiJzpcbiAgICAgICAgY2FzZSAnYCc6XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2Vcbn1cblxuY29uc3QgSURFTlRfU1RBUlRfRVhQUjogUmVnRXhwID0gL15bXyRhLXpBLVpcXHhBMC1cXHVGRkZGXSQvXG5jb25zdCBJREVOVF9QQVJUX0VYUFI6IFJlZ0V4cCA9IC9eWy5fJGEtekEtWjAtOVxceEEwLVxcdUZGRkZdJC9cblxuLyoqXG4gKiDnoa7lrprlrZfnrKbmmK/lkKbkuLrmnInmlYjnmoQgSmF2YVNjcmlwdCDmoIfor4bnrKbotbflp4vlrZfnrKZcbiAqL1xuZnVuY3Rpb24gaXNJZGVudGlmaWVyU3RhcnQoY2g6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBJREVOVF9TVEFSVF9FWFBSLnRlc3QoY2gpXG59XG5cbi8qKlxuICog56Gu5a6a5a2X56ym5piv5ZCm5Li65pyJ5pWI55qEIEphdmFTY3JpcHQg5qCH6K+G56ym6LW35aeL5a2X56ymXG4gKi9cbmZ1bmN0aW9uIGlzSWRlbnRpZmllclBhcnQoY2g6IHN0cmluZykge1xuICAgIHJldHVybiBJREVOVF9QQVJUX0VYUFIudGVzdChjaClcbn1cbiJdfQ==
|