/* Generated by Nim Compiler v0.16.0 */ /* (c) 2017 Andreas Rumpf */ /* The generated code is subject to the original license. */ /* Compiled for: Linux, amd64, gcc */ /* Command for C compiler: gcc -c -w -O3 -fno-strict-aliasing -I/afs/athena.mit.edu/software/nim-lang_v0.16.0/nim-0.16.0/lib -o tools/nimsuggest/nimcache/stdlib_strutils.o tools/nimsuggest/nimcache/stdlib_strutils.c */ #define NIM_INTBITS 64 #include "nimbase.h" #include #undef linux typedef struct NimStringDesc NimStringDesc; typedef struct TGenericSeq TGenericSeq; typedef struct Valueerror_Gi06FkNeykJn7mrqRZYrkA Valueerror_Gi06FkNeykJn7mrqRZYrkA; typedef struct Exception Exception; typedef struct TNimObject TNimObject; typedef struct TNimType TNimType; typedef struct TNimNode TNimNode; typedef struct TY_sM4lkSb7zS6F7OVMvW9cffQ TY_sM4lkSb7zS6F7OVMvW9cffQ; struct TGenericSeq { NI len; NI reserved; }; struct NimStringDesc { TGenericSeq Sup; NIM_CHAR data[SEQ_DECL_SIZE]; }; typedef NU8 Tnimkind_jIBKr1ejBgsfM33Kxw4j7A; typedef NU8 Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set; typedef N_NIMCALL_PTR(void, TY_ojoeKfW4VYIm36I9cpDTQIg) (void* p0, NI op0); typedef N_NIMCALL_PTR(void*, TY_WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p0); struct TNimType { NI size; Tnimkind_jIBKr1ejBgsfM33Kxw4j7A kind; Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set flags; TNimType* base; TNimNode* node; void* finalizer; TY_ojoeKfW4VYIm36I9cpDTQIg marker; TY_WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy; }; struct TNimObject { TNimType* m_type; }; struct Exception { TNimObject Sup; Exception* parent; NCSTRING name; NimStringDesc* message; NimStringDesc* trace; }; struct Valueerror_Gi06FkNeykJn7mrqRZYrkA { Exception Sup; }; typedef NU8 Tnimnodekind_unfNsxrcATrufDZmpBq4HQ; struct TNimNode { Tnimnodekind_unfNsxrcATrufDZmpBq4HQ kind; NI offset; TNimType* typ; NCSTRING name; NI len; TNimNode** sons; }; typedef NimStringDesc* TY_nHXaesL0DJZHyVS07ARPRA[1]; typedef NI TY_9cc9aPiDa8VaWjVcFLabEDZQ[256]; typedef NU8 TY_nmiMWKVIe46vacnhAFrQvw_Set[32]; struct TY_sM4lkSb7zS6F7OVMvW9cffQ { TGenericSeq Sup; NimStringDesc* data[SEQ_DECL_SIZE]; }; N_NIMCALL(NIM_CHAR, nsuToLowerAsciiChar)(NIM_CHAR c0); N_NIMCALL(NimStringDesc*, mnewString)(NI len0); N_NIMCALL(NimStringDesc*, mnewString)(NI len0); N_NIMCALL(NimStringDesc*, rawNewString)(NI space0); N_NIMCALL(NimStringDesc*, rawNewString)(NI cap0); N_NIMCALL(void, nsuAddf)(NimStringDesc** s0, NimStringDesc* formatstr0, NimStringDesc** a0, NI a0Len0); N_NOINLINE(void, invalidformatstring_61EJWW6vRISEo9a8gt0tusw)(void); N_NIMCALL(void*, newObj)(TNimType* typ0, NI size0); N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src0); N_NIMCALL(void, raiseException)(Exception* e0, NCSTRING ename0); static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0); static N_INLINE(void, copymem_E1xtACub5WcDa3vbrIXbwgsystem)(void* dest0, void* source0, NI size0); N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest0, NI addlen0); N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s0, NIM_CHAR c0); N_NIMCALL(NI, findnormalized_SW1VCMDsxPTtzxnYrf3N6w)(NimStringDesc* x0, NimStringDesc** inarray0, NI inarray0Len0); N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringDesc* a0, NimStringDesc* b0); N_NIMCALL(NimStringDesc*, copyStrLast)(NimStringDesc* s0, NI start_WPWyPKk58Cr5a6XFFviMjg, NI last0); N_NIMCALL(NimStringDesc*, copyStrLast)(NimStringDesc* s0, NI first0, NI last0); N_NIMCALL(NI, npuParseFloat)(NimStringDesc* s0, NF* number0, NI start0); N_NIMCALL(NI, npuParseBiggestInt)(NimStringDesc* s0, NI64* number0, NI start0); N_NIMCALL(void, preprocesssub_IhQT0o4blhF4hbhCz0srsw)(NimStringDesc* sub0, NI* a0); N_NIMCALL(NI, findaux_twow8DFxO4IDgSmpDGkD0g)(NimStringDesc* s0, NimStringDesc* sub0, NI start0, TY_9cc9aPiDa8VaWjVcFLabEDZQ a0); N_NIMCALL(NimStringDesc*, copyStr)(NimStringDesc* s0, NI start0); N_NIMCALL(NimStringDesc*, copyStr)(NimStringDesc* s0, NI first0); N_NIMCALL(NI, nsuFindCharSet)(NimStringDesc* s0, TY_nmiMWKVIe46vacnhAFrQvw_Set chars0, NI start0); N_NIMCALL(NI, npuParseInt)(NimStringDesc* s0, NI* number0, NI start0); N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s0, NI newlen0); N_NIMCALL(NI, nsuFindChar)(NimStringDesc* s0, NIM_CHAR sub0, NI start0); N_NIMCALL(void*, newSeq)(TNimType* typ0, NI len0); N_NIMCALL(TGenericSeq*, incrSeqV2)(TGenericSeq* seq0, NI elemsize0); N_NIMCALL(NimStringDesc*, nsuToHex)(NI64 x0, NI len0); N_NIMCALL(NimStringDesc*, nsuToLowerAsciiStr)(NimStringDesc* s0); N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x0); static N_INLINE(void, appendChar)(NimStringDesc* dest0, NIM_CHAR c0); N_NOINLINE(void, raiseassert_PpfSiTIeNpMAb9a5o6SglJw_2)(NimStringDesc* msg0); N_NIMCALL(NIM_BOOL, substreq_7ngl0F5lryTkSAj7sYQ7pw)(NimStringDesc* s0, NI pos0, NimStringDesc* substr0); extern TNimType NTI_yCEN9anxCD6mzBxGjuaRBdg; extern TNimType NTI_Gi06FkNeykJn7mrqRZYrkA; extern TNimType NTI_sM4lkSb7zS6F7OVMvW9cffQ; STRING_LITERAL(T_JGc9b9bh2D3nTdUR7TGyq8aA_2, "invalid format string", 21); STRING_LITERAL(T_JGc9b9bh2D3nTdUR7TGyq8aA_3, "invalid float: ", 15); STRING_LITERAL(T_JGc9b9bh2D3nTdUR7TGyq8aA_4, "invalid integer: ", 17); STRING_LITERAL(T_JGc9b9bh2D3nTdUR7TGyq8aA_5, "0123456789ABCDEF", 16); STRING_LITERAL(T_JGc9b9bh2D3nTdUR7TGyq8aA_6, "", 0); STRING_LITERAL(T_JGc9b9bh2D3nTdUR7TGyq8aA_7, "\\x", 2); STRING_LITERAL(T_JGc9b9bh2D3nTdUR7TGyq8aA_8, "\\\\", 2); STRING_LITERAL(T_JGc9b9bh2D3nTdUR7TGyq8aA_9, "\\\'", 2); STRING_LITERAL(T_JGc9b9bh2D3nTdUR7TGyq8aA_10, "\\\"", 2); STRING_LITERAL(T_JGc9b9bh2D3nTdUR7TGyq8aA_11, "\012 0 < len(sep) ", 16); N_NIMCALL(NIM_CHAR, nsuToLowerAsciiChar)(NIM_CHAR c0) { NIM_CHAR result0; result0 = (NIM_CHAR)0; { if (!(((NU8)(c0)) >= ((NU8)(65)) && ((NU8)(c0)) <= ((NU8)(90)))) goto LA3; result0 = ((NIM_CHAR) (((NI) ((NI)(((NI) (((NU8)(c0)))) + ((NI) 32)))))); } goto LA1; LA3: ; { result0 = c0; } LA1: ; return result0; } N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringDesc* a0, NimStringDesc* b0) { NI result0; NI i0; NI j0; result0 = (NI)0; i0 = ((NI) 0); j0 = ((NI) 0); { while (1) { NIM_CHAR aa0; NIM_CHAR bb0; { while (1) { if (!((NU8)(a0->data[i0]) == (NU8)(95))) goto LA4; i0 += ((NI) 1); } LA4: ; } { while (1) { if (!((NU8)(b0->data[j0]) == (NU8)(95))) goto LA6; j0 += ((NI) 1); } LA6: ; } aa0 = nsuToLowerAsciiChar(a0->data[i0]); bb0 = nsuToLowerAsciiChar(b0->data[j0]); result0 = (NI)(((NI) (((NU8)(aa0)))) - ((NI) (((NU8)(bb0))))); { NIM_BOOL LOC9; LOC9 = (NIM_BOOL)0; LOC9 = !((result0 == ((NI) 0))); if (LOC9) goto LA10; LOC9 = ((NU8)(aa0) == (NU8)(0)); LA10: ; if (!LOC9) goto LA11; goto LA1; } LA11: ; i0 += ((NI) 1); j0 += ((NI) 1); } } LA1: ; return result0; } N_NIMCALL(NimStringDesc*, nsuToOctal)(NIM_CHAR c0) { NimStringDesc* result0; NI val0; result0 = (NimStringDesc*)0; result0 = mnewString(((NI) 3)); val0 = ((NU8)(c0)); { NI i_9cfVWLIQccp8ssOepJfZqOQ; NI res_9bbCZUKnBnPxqgLCvr9ag9aHA; i_9cfVWLIQccp8ssOepJfZqOQ = (NI)0; res_9bbCZUKnBnPxqgLCvr9ag9aHA = ((NI) 2); { while (1) { if (!(((NI) 0) <= res_9bbCZUKnBnPxqgLCvr9ag9aHA)) goto LA3; i_9cfVWLIQccp8ssOepJfZqOQ = res_9bbCZUKnBnPxqgLCvr9ag9aHA; result0->data[i_9cfVWLIQccp8ssOepJfZqOQ] = ((NIM_CHAR) (((NI) ((NI)(((NI) ((NI)(((NI) (val0)) % ((NI) 8)))) + ((NI) 48)))))); val0 = ((NI) ((NI)(((NI) (val0)) / ((NI) 8)))); res_9bbCZUKnBnPxqgLCvr9ag9aHA -= ((NI) 1); } LA3: ; } } return result0; } N_NOINLINE(void, invalidformatstring_61EJWW6vRISEo9a8gt0tusw)(void) { Valueerror_Gi06FkNeykJn7mrqRZYrkA* e_L35A58svp4sBF5unURnN4A; e_L35A58svp4sBF5unURnN4A = (Valueerror_Gi06FkNeykJn7mrqRZYrkA*)0; e_L35A58svp4sBF5unURnN4A = (Valueerror_Gi06FkNeykJn7mrqRZYrkA*) newObj((&NTI_yCEN9anxCD6mzBxGjuaRBdg), sizeof(Valueerror_Gi06FkNeykJn7mrqRZYrkA)); (*e_L35A58svp4sBF5unURnN4A).Sup.Sup.m_type = (&NTI_Gi06FkNeykJn7mrqRZYrkA); (*e_L35A58svp4sBF5unURnN4A).Sup.message = copyString(((NimStringDesc*) &T_JGc9b9bh2D3nTdUR7TGyq8aA_2)); raiseException((Exception*)e_L35A58svp4sBF5unURnN4A, "ValueError"); } static N_INLINE(void, copymem_E1xtACub5WcDa3vbrIXbwgsystem)(void* dest0, void* source0, NI size0) { void* LOC1; LOC1 = (void*)0; LOC1 = memcpy(dest0, source0, ((size_t) (size0))); } static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0) { copymem_E1xtACub5WcDa3vbrIXbwgsystem(((void*) ((&(*dest0).data[((*dest0).Sup.len)- 0]))), ((void*) ((*src0).data)), ((NI) ((NI)((*src0).Sup.len + ((NI) 1))))); (*dest0).Sup.len += (*src0).Sup.len; } N_NIMCALL(NI, findnormalized_SW1VCMDsxPTtzxnYrf3N6w)(NimStringDesc* x0, NimStringDesc** inarray0, NI inarray0Len0) { NI result0; NI i0; { result0 = (NI)0; i0 = ((NI) 0); { while (1) { if (!(i0 < (inarray0Len0-1))) goto LA2; { NI LOC5; LOC5 = (NI)0; LOC5 = nsuCmpIgnoreStyle(x0, inarray0[i0]); if (!(LOC5 == ((NI) 0))) goto LA6; result0 = i0; goto BeforeRet; } LA6: ; i0 += ((NI) 2); } LA2: ; } result0 = ((NI) -1); goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(void, nsuAddf)(NimStringDesc** s0, NimStringDesc* formatstr0, NimStringDesc** a0, NI a0Len0) { NI i0; NI num0; i0 = ((NI) 0); num0 = ((NI) 0); { while (1) { if (!(i0 < (formatstr0 ? formatstr0->Sup.len : 0))) goto LA2; { if (!((NU8)(formatstr0->data[i0]) == (NU8)(36))) goto LA5; switch (((NU8)(formatstr0->data[(NI)(i0 + ((NI) 1))]))) { case 35: { { if (!((NU64)((a0Len0-1)) < (NU64)(num0))) goto LA10; invalidformatstring_61EJWW6vRISEo9a8gt0tusw(); } LA10: ; (*s0) = resizeString((*s0), a0[num0]->Sup.len + 0); appendString((*s0), a0[num0]); i0 += ((NI) 2); num0 += ((NI) 1); } break; case 36: { (*s0) = addChar((*s0), 36); i0 += ((NI) 2); } break; case 49 ... 57: case 45: { NI j0; NIM_BOOL negative0; NI idx0; j0 = ((NI) 0); i0 += ((NI) 1); negative0 = ((NU8)(formatstr0->data[i0]) == (NU8)(45)); { if (!negative0) goto LA16; i0 += ((NI) 1); } LA16: ; { while (1) { if (!(((NU8)(formatstr0->data[i0])) >= ((NU8)(48)) && ((NU8)(formatstr0->data[i0])) <= ((NU8)(57)))) goto LA19; j0 = (NI)((NI)((NI)(j0 * ((NI) 10)) + ((NI) (((NU8)(formatstr0->data[i0]))))) - ((NI) 48)); i0 += ((NI) 1); } LA19: ; } { if (!!(negative0)) goto LA22; idx0 = (NI)(j0 - ((NI) 1)); } goto LA20; LA22: ; { idx0 = (NI)(a0Len0 - j0); } LA20: ; { if (!((NU64)((a0Len0-1)) < (NU64)(idx0))) goto LA27; invalidformatstring_61EJWW6vRISEo9a8gt0tusw(); } LA27: ; (*s0) = resizeString((*s0), a0[idx0]->Sup.len + 0); appendString((*s0), a0[idx0]); } break; case 123: { NI j0; NI x0; NimStringDesc* LOC32; j0 = (NI)(i0 + ((NI) 1)); { while (1) { if (!!((((NU8)(formatstr0->data[j0])) == ((NU8)(0)) || ((NU8)(formatstr0->data[j0])) == ((NU8)(125))))) goto LA31; j0 += ((NI) 1); } LA31: ; } LOC32 = (NimStringDesc*)0; LOC32 = copyStrLast(formatstr0, (NI)(i0 + ((NI) 2)), (NI)(j0 - ((NI) 1))); x0 = findnormalized_SW1VCMDsxPTtzxnYrf3N6w(LOC32, a0, a0Len0); { NIM_BOOL LOC35; LOC35 = (NIM_BOOL)0; LOC35 = (((NI) 0) <= x0); if (!(LOC35)) goto LA36; LOC35 = (x0 < (a0Len0-1)); LA36: ; if (!LOC35) goto LA37; (*s0) = resizeString((*s0), a0[(NI)(x0 + ((NI) 1))]->Sup.len + 0); appendString((*s0), a0[(NI)(x0 + ((NI) 1))]); } goto LA33; LA37: ; { invalidformatstring_61EJWW6vRISEo9a8gt0tusw(); } LA33: ; i0 = (NI)(j0 + ((NI) 1)); } break; case 97 ... 122: case 65 ... 90: case 128 ... 255: case 95: { NI j0; NI x0; NimStringDesc* LOC43; j0 = (NI)(i0 + ((NI) 1)); { while (1) { if (!(((NU8)(formatstr0->data[j0])) >= ((NU8)(97)) && ((NU8)(formatstr0->data[j0])) <= ((NU8)(122)) || ((NU8)(formatstr0->data[j0])) >= ((NU8)(65)) && ((NU8)(formatstr0->data[j0])) <= ((NU8)(90)) || ((NU8)(formatstr0->data[j0])) >= ((NU8)(48)) && ((NU8)(formatstr0->data[j0])) <= ((NU8)(57)) || ((NU8)(formatstr0->data[j0])) >= ((NU8)(128)) && ((NU8)(formatstr0->data[j0])) <= ((NU8)(255)) || ((NU8)(formatstr0->data[j0])) == ((NU8)(95)))) goto LA42; j0 += ((NI) 1); } LA42: ; } LOC43 = (NimStringDesc*)0; LOC43 = copyStrLast(formatstr0, (NI)(i0 + ((NI) 1)), (NI)(j0 - ((NI) 1))); x0 = findnormalized_SW1VCMDsxPTtzxnYrf3N6w(LOC43, a0, a0Len0); { NIM_BOOL LOC46; LOC46 = (NIM_BOOL)0; LOC46 = (((NI) 0) <= x0); if (!(LOC46)) goto LA47; LOC46 = (x0 < (a0Len0-1)); LA47: ; if (!LOC46) goto LA48; (*s0) = resizeString((*s0), a0[(NI)(x0 + ((NI) 1))]->Sup.len + 0); appendString((*s0), a0[(NI)(x0 + ((NI) 1))]); } goto LA44; LA48: ; { invalidformatstring_61EJWW6vRISEo9a8gt0tusw(); } LA44: ; i0 = j0; } break; default: { invalidformatstring_61EJWW6vRISEo9a8gt0tusw(); } break; } } goto LA3; LA5: ; { (*s0) = addChar((*s0), formatstr0->data[i0]); i0 += ((NI) 1); } LA3: ; } LA2: ; } } N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr0, NimStringDesc** a0, NI a0Len0) { NimStringDesc* result0; result0 = (NimStringDesc*)0; result0 = rawNewString(((NI) ((NI)((formatstr0 ? formatstr0->Sup.len : 0) + (NI)((NU64)(a0Len0) << (NU64)(((NI) 4))))))); nsuAddf((&result0), formatstr0, a0, a0Len0); return result0; } N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr0, NimStringDesc* a0) { NimStringDesc* result0; TY_nHXaesL0DJZHyVS07ARPRA LOC1; result0 = (NimStringDesc*)0; result0 = rawNewString(((NI) ((NI)((formatstr0 ? formatstr0->Sup.len : 0) + (a0 ? a0->Sup.len : 0))))); memset((void*)LOC1, 0, sizeof(LOC1)); LOC1[0] = copyString(a0); nsuAddf((&result0), formatstr0, LOC1, 1); return result0; } N_NIMCALL(NimStringDesc*, nsuRepeatChar)(NIM_CHAR c0, NI count0) { NimStringDesc* result0; result0 = (NimStringDesc*)0; result0 = mnewString(count0); { NI i_3GQd65NoQ8GRAK9aKcUCkqQ; NI HEX3Atmp_dzdTGA9bp9cdFQ4FdPqfyPrQ; NI res_ZCK9av0K5RQEcyuf9cJ7G5eg; i_3GQd65NoQ8GRAK9aKcUCkqQ = (NI)0; HEX3Atmp_dzdTGA9bp9cdFQ4FdPqfyPrQ = (NI)0; HEX3Atmp_dzdTGA9bp9cdFQ4FdPqfyPrQ = (NI)(((NI) (count0)) - ((NI) 1)); res_ZCK9av0K5RQEcyuf9cJ7G5eg = ((NI) 0); { while (1) { if (!(res_ZCK9av0K5RQEcyuf9cJ7G5eg <= ((NI) (HEX3Atmp_dzdTGA9bp9cdFQ4FdPqfyPrQ)))) goto LA3; i_3GQd65NoQ8GRAK9aKcUCkqQ = ((NI) (res_ZCK9av0K5RQEcyuf9cJ7G5eg)); result0->data[i_3GQd65NoQ8GRAK9aKcUCkqQ] = c0; res_ZCK9av0K5RQEcyuf9cJ7G5eg += ((NI) 1); } LA3: ; } } return result0; } N_NIMCALL(NF, nsuParseFloat)(NimStringDesc* s0) { NF result0; NI L0; result0 = (NF)0; L0 = npuParseFloat(s0, (&result0), ((NI) 0)); { NIM_BOOL LOC3; Valueerror_Gi06FkNeykJn7mrqRZYrkA* e_tBQ1yEygRNCXyDbW7d5n0Q; NimStringDesc* LOC7; LOC3 = (NIM_BOOL)0; LOC3 = !((L0 == (s0 ? s0->Sup.len : 0))); if (LOC3) goto LA4; LOC3 = (L0 == ((NI) 0)); LA4: ; if (!LOC3) goto LA5; e_tBQ1yEygRNCXyDbW7d5n0Q = (Valueerror_Gi06FkNeykJn7mrqRZYrkA*)0; e_tBQ1yEygRNCXyDbW7d5n0Q = (Valueerror_Gi06FkNeykJn7mrqRZYrkA*) newObj((&NTI_yCEN9anxCD6mzBxGjuaRBdg), sizeof(Valueerror_Gi06FkNeykJn7mrqRZYrkA)); (*e_tBQ1yEygRNCXyDbW7d5n0Q).Sup.Sup.m_type = (&NTI_Gi06FkNeykJn7mrqRZYrkA); LOC7 = (NimStringDesc*)0; LOC7 = rawNewString(s0->Sup.len + 15); appendString(LOC7, ((NimStringDesc*) &T_JGc9b9bh2D3nTdUR7TGyq8aA_3)); appendString(LOC7, s0); (*e_tBQ1yEygRNCXyDbW7d5n0Q).Sup.message = LOC7; raiseException((Exception*)e_tBQ1yEygRNCXyDbW7d5n0Q, "ValueError"); } LA5: ; return result0; } N_NIMCALL(NI64, nsuParseBiggestInt)(NimStringDesc* s0) { NI64 result0; NI L0; result0 = (NI64)0; L0 = npuParseBiggestInt(s0, (&result0), ((NI) 0)); { NIM_BOOL LOC3; Valueerror_Gi06FkNeykJn7mrqRZYrkA* e_p4geovby25ZtMrv9aTrThJw; NimStringDesc* LOC7; LOC3 = (NIM_BOOL)0; LOC3 = !((L0 == (s0 ? s0->Sup.len : 0))); if (LOC3) goto LA4; LOC3 = (L0 == ((NI) 0)); LA4: ; if (!LOC3) goto LA5; e_p4geovby25ZtMrv9aTrThJw = (Valueerror_Gi06FkNeykJn7mrqRZYrkA*)0; e_p4geovby25ZtMrv9aTrThJw = (Valueerror_Gi06FkNeykJn7mrqRZYrkA*) newObj((&NTI_yCEN9anxCD6mzBxGjuaRBdg), sizeof(Valueerror_Gi06FkNeykJn7mrqRZYrkA)); (*e_p4geovby25ZtMrv9aTrThJw).Sup.Sup.m_type = (&NTI_Gi06FkNeykJn7mrqRZYrkA); LOC7 = (NimStringDesc*)0; LOC7 = rawNewString(s0->Sup.len + 17); appendString(LOC7, ((NimStringDesc*) &T_JGc9b9bh2D3nTdUR7TGyq8aA_4)); appendString(LOC7, s0); (*e_p4geovby25ZtMrv9aTrThJw).Sup.message = LOC7; raiseException((Exception*)e_p4geovby25ZtMrv9aTrThJw, "ValueError"); } LA5: ; return result0; } N_NIMCALL(NIM_BOOL, nsuStartsWith)(NimStringDesc* s0, NimStringDesc* prefix0) { NIM_BOOL result0; NI i0; { result0 = (NIM_BOOL)0; i0 = ((NI) 0); { while (1) { { if (!((NU8)(prefix0->data[i0]) == (NU8)(0))) goto LA5; result0 = NIM_TRUE; goto BeforeRet; } LA5: ; { if (!!(((NU8)(s0->data[i0]) == (NU8)(prefix0->data[i0])))) goto LA9; result0 = NIM_FALSE; goto BeforeRet; } LA9: ; i0 += ((NI) 1); } } }BeforeRet: ; return result0; } N_NIMCALL(NI, nsuFindChar)(NimStringDesc* s0, NIM_CHAR sub0, NI start0) { NI result0; { result0 = (NI)0; { NI i_S4Ts5NaQRo1vHKx5LGYx5w; NI HEX3Atmp_Ms17sAa0cfUTjtJ6sQnN2Q; NI res_dBqJ9biAHlqcB0S3Zb0ahAw; i_S4Ts5NaQRo1vHKx5LGYx5w = (NI)0; HEX3Atmp_Ms17sAa0cfUTjtJ6sQnN2Q = (NI)0; HEX3Atmp_Ms17sAa0cfUTjtJ6sQnN2Q = (NI)((s0 ? s0->Sup.len : 0) - ((NI) 1)); res_dBqJ9biAHlqcB0S3Zb0ahAw = ((NI) (start0)); { while (1) { if (!(res_dBqJ9biAHlqcB0S3Zb0ahAw <= HEX3Atmp_Ms17sAa0cfUTjtJ6sQnN2Q)) goto LA3; i_S4Ts5NaQRo1vHKx5LGYx5w = res_dBqJ9biAHlqcB0S3Zb0ahAw; { if (!((NU8)(sub0) == (NU8)(s0->data[i_S4Ts5NaQRo1vHKx5LGYx5w]))) goto LA6; result0 = i_S4Ts5NaQRo1vHKx5LGYx5w; goto BeforeRet; } LA6: ; res_dBqJ9biAHlqcB0S3Zb0ahAw += ((NI) 1); } LA3: ; } } result0 = ((NI) -1); goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(NimStringDesc*, nsuToHex)(NI64 x0, NI len0) { NimStringDesc* result0; NI64 n0; result0 = (NimStringDesc*)0; n0 = x0; result0 = mnewString(((NI) (len0))); { NI j_jtVhfoYpXeRJUwm8SjFcYA; NI HEX3Atmp_DL9bYykBTQPZcxEnrzhm9cYg; NI res_K9cSgDvHGGBxWzGn3Ng0Dkw; j_jtVhfoYpXeRJUwm8SjFcYA = (NI)0; HEX3Atmp_DL9bYykBTQPZcxEnrzhm9cYg = (NI)0; HEX3Atmp_DL9bYykBTQPZcxEnrzhm9cYg = (NI)(((NI) (len0)) - ((NI) 1)); res_K9cSgDvHGGBxWzGn3Ng0Dkw = ((NI) (HEX3Atmp_DL9bYykBTQPZcxEnrzhm9cYg)); { while (1) { if (!(((NI) 0) <= res_K9cSgDvHGGBxWzGn3Ng0Dkw)) goto LA3; j_jtVhfoYpXeRJUwm8SjFcYA = ((NI) (res_K9cSgDvHGGBxWzGn3Ng0Dkw)); result0->data[j_jtVhfoYpXeRJUwm8SjFcYA] = ((NimStringDesc*) &T_JGc9b9bh2D3nTdUR7TGyq8aA_5)->data[(NI64)(n0 & IL64(15))]; n0 = (NI64)((NU64)(n0) >> (NU64)(((NI) 4))); { NIM_BOOL LOC6; LOC6 = (NIM_BOOL)0; LOC6 = (n0 == IL64(0)); if (!(LOC6)) goto LA7; LOC6 = (x0 < IL64(0)); LA7: ; if (!LOC6) goto LA8; n0 = IL64(-1); } LA8: ; res_K9cSgDvHGGBxWzGn3Ng0Dkw -= ((NI) 1); } LA3: ; } } return result0; } N_NIMCALL(void, preprocesssub_IhQT0o4blhF4hbhCz0srsw)(NimStringDesc* sub0, NI* a0) { NI m0; m0 = (sub0 ? sub0->Sup.len : 0); { NI i_e6Fq2F2KbLiz5Un9cYQeH0A; NI res_559coKXM747stwdhO9at4t6g; i_e6Fq2F2KbLiz5Un9cYQeH0A = (NI)0; res_559coKXM747stwdhO9at4t6g = ((NI) 0); { while (1) { if (!(res_559coKXM747stwdhO9at4t6g <= ((NI) 255))) goto LA3; i_e6Fq2F2KbLiz5Un9cYQeH0A = res_559coKXM747stwdhO9at4t6g; a0[(((NU8)(((NIM_CHAR) (((NI) (i_e6Fq2F2KbLiz5Un9cYQeH0A)))))))- 0] = (NI)(m0 + ((NI) 1)); res_559coKXM747stwdhO9at4t6g += ((NI) 1); } LA3: ; } } { NI i_e6Fq2F2KbLiz5Un9cYQeH0A_2; NI HEX3Atmp_hfvQ2kAAQr6ctPB7eJPykg; NI res_559coKXM747stwdhO9at4t6g_2; i_e6Fq2F2KbLiz5Un9cYQeH0A_2 = (NI)0; HEX3Atmp_hfvQ2kAAQr6ctPB7eJPykg = (NI)0; HEX3Atmp_hfvQ2kAAQr6ctPB7eJPykg = (NI)(m0 - ((NI) 1)); res_559coKXM747stwdhO9at4t6g_2 = ((NI) 0); { while (1) { if (!(res_559coKXM747stwdhO9at4t6g_2 <= HEX3Atmp_hfvQ2kAAQr6ctPB7eJPykg)) goto LA6; i_e6Fq2F2KbLiz5Un9cYQeH0A_2 = res_559coKXM747stwdhO9at4t6g_2; a0[(((NU8)(sub0->data[i_e6Fq2F2KbLiz5Un9cYQeH0A_2])))- 0] = (NI)(m0 - i_e6Fq2F2KbLiz5Un9cYQeH0A_2); res_559coKXM747stwdhO9at4t6g_2 += ((NI) 1); } LA6: ; } } } N_NIMCALL(NI, findaux_twow8DFxO4IDgSmpDGkD0g)(NimStringDesc* s0, NimStringDesc* sub0, NI start0, TY_9cc9aPiDa8VaWjVcFLabEDZQ a0) { NI result0; NI m0; NI n0; NI j0; { result0 = (NI)0; m0 = (sub0 ? sub0->Sup.len : 0); n0 = (s0 ? s0->Sup.len : 0); j0 = start0; { while (1) { if (!(j0 <= (NI)(n0 - m0))) goto LA2; { { NI k_uC7XjvS9c2GS6xLhF08s2tA; NI HEX3Atmp_lYkEjs4J5uPVOwALJAm4zA; NI res_FImOo74aopp4R0IZMqyDTw; k_uC7XjvS9c2GS6xLhF08s2tA = (NI)0; HEX3Atmp_lYkEjs4J5uPVOwALJAm4zA = (NI)0; HEX3Atmp_lYkEjs4J5uPVOwALJAm4zA = (NI)(m0 - ((NI) 1)); res_FImOo74aopp4R0IZMqyDTw = ((NI) 0); { while (1) { if (!(res_FImOo74aopp4R0IZMqyDTw <= HEX3Atmp_lYkEjs4J5uPVOwALJAm4zA)) goto LA6; k_uC7XjvS9c2GS6xLhF08s2tA = res_FImOo74aopp4R0IZMqyDTw; { if (!!(((NU8)(sub0->data[k_uC7XjvS9c2GS6xLhF08s2tA]) == (NU8)(s0->data[(NI)(k_uC7XjvS9c2GS6xLhF08s2tA + j0)])))) goto LA9; goto LA3; } LA9: ; res_FImOo74aopp4R0IZMqyDTw += ((NI) 1); } LA6: ; } } result0 = j0; goto BeforeRet; } LA3: ; j0 += a0[(((NU8)(s0->data[(NI)(j0 + m0)])))- 0]; } LA2: ; } result0 = ((NI) -1); goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(NimStringDesc*, nsuReplaceStr)(NimStringDesc* s0, NimStringDesc* sub0, NimStringDesc* by0) { NimStringDesc* result0; TY_9cc9aPiDa8VaWjVcFLabEDZQ a0; NI i0; NimStringDesc* LOC8; result0 = (NimStringDesc*)0; result0 = copyString(((NimStringDesc*) &T_JGc9b9bh2D3nTdUR7TGyq8aA_6)); preprocesssub_IhQT0o4blhF4hbhCz0srsw(sub0, a0); i0 = ((NI) 0); { while (1) { NI j0; NimStringDesc* LOC7; j0 = findaux_twow8DFxO4IDgSmpDGkD0g(s0, sub0, i0, a0); { if (!(j0 < ((NI) 0))) goto LA5; goto LA1; } LA5: ; LOC7 = (NimStringDesc*)0; LOC7 = copyStrLast(s0, i0, (NI)(j0 - ((NI) 1))); result0 = resizeString(result0, LOC7->Sup.len + 0); appendString(result0, LOC7); result0 = resizeString(result0, by0->Sup.len + 0); appendString(result0, by0); i0 = (NI)(j0 + (sub0 ? sub0->Sup.len : 0)); } } LA1: ; LOC8 = (NimStringDesc*)0; LOC8 = copyStr(s0, i0); result0 = resizeString(result0, LOC8->Sup.len + 0); appendString(result0, LOC8); return result0; } N_NIMCALL(NimStringDesc*, nsuToBin)(NI64 x0, NI len0) { NimStringDesc* result0; NI64 mask0; NI64 shift0; result0 = (NimStringDesc*)0; mask0 = IL64(1); shift0 = IL64(0); result0 = mnewString(((NI) (len0))); { NI j_kqDQW71AcD1YE9ck9aCt9bP0g; NI HEX3Atmp_LyFPJREsdrXwEph89a66kMQ; NI res_27cjPOiZUK3BZEBNVpPExw; j_kqDQW71AcD1YE9ck9aCt9bP0g = (NI)0; HEX3Atmp_LyFPJREsdrXwEph89a66kMQ = (NI)0; HEX3Atmp_LyFPJREsdrXwEph89a66kMQ = (NI)(((NI) (len0)) - ((NI) 1)); res_27cjPOiZUK3BZEBNVpPExw = ((NI) (HEX3Atmp_LyFPJREsdrXwEph89a66kMQ)); { while (1) { if (!(((NI) 0) <= res_27cjPOiZUK3BZEBNVpPExw)) goto LA3; j_kqDQW71AcD1YE9ck9aCt9bP0g = ((NI) (res_27cjPOiZUK3BZEBNVpPExw)); result0->data[j_kqDQW71AcD1YE9ck9aCt9bP0g] = ((NIM_CHAR) (((NI) ((NI)(((NI) ((NI64)((NU64)((NI64)(x0 & mask0)) >> (NU64)(shift0)))) + ((NI) 48)))))); shift0 = (NI64)(shift0 + IL64(1)); mask0 = (NI64)((NU64)(mask0) << (NU64)(((NI) 1))); res_27cjPOiZUK3BZEBNVpPExw -= ((NI) 1); } LA3: ; } } return result0; } N_NIMCALL(NimStringDesc*, nsuToOct)(NI64 x0, NI len0) { NimStringDesc* result0; NI64 mask0; NI64 shift0; result0 = (NimStringDesc*)0; mask0 = IL64(7); shift0 = IL64(0); result0 = mnewString(((NI) (len0))); { NI j_XC9cjPBvqVuZpNFrvZwEV9aQ; NI HEX3Atmp_Xi8UrXd9cedzMYMg9bT89bm3Q; NI res_BJZqaBTiRvKJyZFMDSG6og; j_XC9cjPBvqVuZpNFrvZwEV9aQ = (NI)0; HEX3Atmp_Xi8UrXd9cedzMYMg9bT89bm3Q = (NI)0; HEX3Atmp_Xi8UrXd9cedzMYMg9bT89bm3Q = (NI)(((NI) (len0)) - ((NI) 1)); res_BJZqaBTiRvKJyZFMDSG6og = ((NI) (HEX3Atmp_Xi8UrXd9cedzMYMg9bT89bm3Q)); { while (1) { if (!(((NI) 0) <= res_BJZqaBTiRvKJyZFMDSG6og)) goto LA3; j_XC9cjPBvqVuZpNFrvZwEV9aQ = ((NI) (res_BJZqaBTiRvKJyZFMDSG6og)); result0->data[j_XC9cjPBvqVuZpNFrvZwEV9aQ] = ((NIM_CHAR) (((NI) ((NI)(((NI) ((NI64)((NU64)((NI64)(x0 & mask0)) >> (NU64)(shift0)))) + ((NI) 48)))))); shift0 = (NI64)(shift0 + IL64(3)); mask0 = (NI64)((NU64)(mask0) << (NU64)(((NI) 3))); res_BJZqaBTiRvKJyZFMDSG6og -= ((NI) 1); } LA3: ; } } return result0; } N_NIMCALL(NI, nsuFindCharSet)(NimStringDesc* s0, TY_nmiMWKVIe46vacnhAFrQvw_Set chars0, NI start0) { NI result0; { result0 = (NI)0; { NI i_S4Ts5NaQRo1vHKx5LGYx5w_2; NI HEX3Atmp_Ms17sAa0cfUTjtJ6sQnN2Q_2; NI res_dBqJ9biAHlqcB0S3Zb0ahAw_2; i_S4Ts5NaQRo1vHKx5LGYx5w_2 = (NI)0; HEX3Atmp_Ms17sAa0cfUTjtJ6sQnN2Q_2 = (NI)0; HEX3Atmp_Ms17sAa0cfUTjtJ6sQnN2Q_2 = (NI)((s0 ? s0->Sup.len : 0) - ((NI) 1)); res_dBqJ9biAHlqcB0S3Zb0ahAw_2 = ((NI) (start0)); { while (1) { if (!(res_dBqJ9biAHlqcB0S3Zb0ahAw_2 <= HEX3Atmp_Ms17sAa0cfUTjtJ6sQnN2Q_2)) goto LA3; i_S4Ts5NaQRo1vHKx5LGYx5w_2 = res_dBqJ9biAHlqcB0S3Zb0ahAw_2; { if (!((chars0[(NU)(((NU8)(s0->data[i_S4Ts5NaQRo1vHKx5LGYx5w_2])))>>3] &(1U<<((NU)(((NU8)(s0->data[i_S4Ts5NaQRo1vHKx5LGYx5w_2])))&7U)))!=0)) goto LA6; result0 = i_S4Ts5NaQRo1vHKx5LGYx5w_2; goto BeforeRet; } LA6: ; res_dBqJ9biAHlqcB0S3Zb0ahAw_2 += ((NI) 1); } LA3: ; } } result0 = ((NI) -1); goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, contains_m1TSS3QwQPclQATuiRuVZg)(NimStringDesc* s0, TY_nmiMWKVIe46vacnhAFrQvw_Set chars0) { NIM_BOOL result0; NI LOC1; { result0 = (NIM_BOOL)0; LOC1 = (NI)0; LOC1 = nsuFindCharSet(s0, chars0, ((NI) 0)); result0 = (((NI) 0) <= LOC1); goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(NimStringDesc*, nsuStrip)(NimStringDesc* s0, NIM_BOOL leading0, NIM_BOOL trailing0, TY_nmiMWKVIe46vacnhAFrQvw_Set chars0) { NimStringDesc* result0; NI first0; NI last0; result0 = (NimStringDesc*)0; first0 = ((NI) 0); last0 = (NI)((s0 ? s0->Sup.len : 0) - ((NI) 1)); { if (!leading0) goto LA3; { while (1) { if (!((chars0[(NU)(((NU8)(s0->data[first0])))>>3] &(1U<<((NU)(((NU8)(s0->data[first0])))&7U)))!=0)) goto LA6; first0 += ((NI) 1); } LA6: ; } } LA3: ; { if (!trailing0) goto LA9; { while (1) { NIM_BOOL LOC13; LOC13 = (NIM_BOOL)0; LOC13 = (((NI) 0) <= last0); if (!(LOC13)) goto LA14; LOC13 = ((chars0[(NU)(((NU8)(s0->data[last0])))>>3] &(1U<<((NU)(((NU8)(s0->data[last0])))&7U)))!=0); LA14: ; if (!LOC13) goto LA12; last0 -= ((NI) 1); } LA12: ; } } LA9: ; result0 = copyStrLast(s0, first0, last0); return result0; } N_NIMCALL(NI, nsuCmpIgnoreCase)(NimStringDesc* a0, NimStringDesc* b0) { NI result0; NI i0; NI m0; { result0 = (NI)0; i0 = ((NI) 0); m0 = (((a0 ? a0->Sup.len : 0) <= (b0 ? b0->Sup.len : 0)) ? (a0 ? a0->Sup.len : 0) : (b0 ? b0->Sup.len : 0)); { while (1) { NIM_CHAR LOC3; NIM_CHAR LOC4; if (!(i0 < m0)) goto LA2; LOC3 = (NIM_CHAR)0; LOC3 = nsuToLowerAsciiChar(a0->data[i0]); LOC4 = (NIM_CHAR)0; LOC4 = nsuToLowerAsciiChar(b0->data[i0]); result0 = (NI)(((NI) (((NU8)(LOC3)))) - ((NI) (((NU8)(LOC4))))); { if (!!((result0 == ((NI) 0)))) goto LA7; goto BeforeRet; } LA7: ; i0 += ((NI) 1); } LA2: ; } result0 = (NI)((a0 ? a0->Sup.len : 0) - (b0 ? b0->Sup.len : 0)); }BeforeRet: ; return result0; } N_NIMCALL(NI, nsuParseInt)(NimStringDesc* s0) { NI result0; NI L0; result0 = (NI)0; L0 = npuParseInt(s0, (&result0), ((NI) 0)); { NIM_BOOL LOC3; Valueerror_Gi06FkNeykJn7mrqRZYrkA* e_h9cJEojVqoNVqDKVeb0IKjg; NimStringDesc* LOC7; LOC3 = (NIM_BOOL)0; LOC3 = !((L0 == (s0 ? s0->Sup.len : 0))); if (LOC3) goto LA4; LOC3 = (L0 == ((NI) 0)); LA4: ; if (!LOC3) goto LA5; e_h9cJEojVqoNVqDKVeb0IKjg = (Valueerror_Gi06FkNeykJn7mrqRZYrkA*)0; e_h9cJEojVqoNVqDKVeb0IKjg = (Valueerror_Gi06FkNeykJn7mrqRZYrkA*) newObj((&NTI_yCEN9anxCD6mzBxGjuaRBdg), sizeof(Valueerror_Gi06FkNeykJn7mrqRZYrkA)); (*e_h9cJEojVqoNVqDKVeb0IKjg).Sup.Sup.m_type = (&NTI_Gi06FkNeykJn7mrqRZYrkA); LOC7 = (NimStringDesc*)0; LOC7 = rawNewString(s0->Sup.len + 17); appendString(LOC7, ((NimStringDesc*) &T_JGc9b9bh2D3nTdUR7TGyq8aA_4)); appendString(LOC7, s0); (*e_h9cJEojVqoNVqDKVeb0IKjg).Sup.message = LOC7; raiseException((Exception*)e_h9cJEojVqoNVqDKVeb0IKjg, "ValueError"); } LA5: ; return result0; } N_NIMCALL(NI, nsuParseHexInt)(NimStringDesc* s0) { NI result0; NI i0; result0 = (NI)0; i0 = ((NI) 0); { NIM_BOOL LOC3; NIM_BOOL LOC5; LOC3 = (NIM_BOOL)0; LOC3 = ((NU8)(s0->data[i0]) == (NU8)(48)); if (!(LOC3)) goto LA4; LOC5 = (NIM_BOOL)0; LOC5 = ((NU8)(s0->data[(NI)(i0 + ((NI) 1))]) == (NU8)(120)); if (LOC5) goto LA6; LOC5 = ((NU8)(s0->data[(NI)(i0 + ((NI) 1))]) == (NU8)(88)); LA6: ; LOC3 = LOC5; LA4: ; if (!LOC3) goto LA7; i0 += ((NI) 2); } goto LA1; LA7: ; { if (!((NU8)(s0->data[i0]) == (NU8)(35))) goto LA10; i0 += ((NI) 1); } goto LA1; LA10: ; LA1: ; { while (1) { switch (((NU8)(s0->data[i0]))) { case 95: { i0 += ((NI) 1); } break; case 48 ... 57: { result0 = (NI)((NI)((NU64)(result0) << (NU64)(((NI) 4))) | ((NI) ((NI)(((NI) (((NU8)(s0->data[i0])))) - ((NI) 48))))); i0 += ((NI) 1); } break; case 97 ... 102: { result0 = (NI)((NI)((NU64)(result0) << (NU64)(((NI) 4))) | ((NI) ((NI)(((NI) ((NI)(((NI) (((NU8)(s0->data[i0])))) - ((NI) 97)))) + ((NI) 10))))); i0 += ((NI) 1); } break; case 65 ... 70: { result0 = (NI)((NI)((NU64)(result0) << (NU64)(((NI) 4))) | ((NI) ((NI)(((NI) ((NI)(((NI) (((NU8)(s0->data[i0])))) - ((NI) 65)))) + ((NI) 10))))); i0 += ((NI) 1); } break; case 0: { goto LA12; } break; default: { Valueerror_Gi06FkNeykJn7mrqRZYrkA* e_s9a8HynXzFiyMdNic0A3chQ; NimStringDesc* LOC20; e_s9a8HynXzFiyMdNic0A3chQ = (Valueerror_Gi06FkNeykJn7mrqRZYrkA*)0; e_s9a8HynXzFiyMdNic0A3chQ = (Valueerror_Gi06FkNeykJn7mrqRZYrkA*) newObj((&NTI_yCEN9anxCD6mzBxGjuaRBdg), sizeof(Valueerror_Gi06FkNeykJn7mrqRZYrkA)); (*e_s9a8HynXzFiyMdNic0A3chQ).Sup.Sup.m_type = (&NTI_Gi06FkNeykJn7mrqRZYrkA); LOC20 = (NimStringDesc*)0; LOC20 = rawNewString(s0->Sup.len + 17); appendString(LOC20, ((NimStringDesc*) &T_JGc9b9bh2D3nTdUR7TGyq8aA_4)); appendString(LOC20, s0); (*e_s9a8HynXzFiyMdNic0A3chQ).Sup.message = LOC20; raiseException((Exception*)e_s9a8HynXzFiyMdNic0A3chQ, "ValueError"); } break; } } } LA12: ; return result0; } N_NIMCALL(NimStringDesc*, nsuNormalize)(NimStringDesc* s0) { NimStringDesc* result0; NI j0; result0 = (NimStringDesc*)0; result0 = mnewString(((NI) ((s0 ? s0->Sup.len : 0)))); j0 = ((NI) 0); { NI i_jpbFLgkKR9chZipjHint9c4g; NI HEX3Atmp_ULpmQ4pwpkB9ac9cKHbK9cXJw; NI res_9aRtiCFskeEOMEBziesZaaQ; i_jpbFLgkKR9chZipjHint9c4g = (NI)0; HEX3Atmp_ULpmQ4pwpkB9ac9cKHbK9cXJw = (NI)0; HEX3Atmp_ULpmQ4pwpkB9ac9cKHbK9cXJw = (NI)((s0 ? s0->Sup.len : 0) - ((NI) 1)); res_9aRtiCFskeEOMEBziesZaaQ = ((NI) 0); { while (1) { if (!(res_9aRtiCFskeEOMEBziesZaaQ <= HEX3Atmp_ULpmQ4pwpkB9ac9cKHbK9cXJw)) goto LA3; i_jpbFLgkKR9chZipjHint9c4g = res_9aRtiCFskeEOMEBziesZaaQ; { if (!(((NU8)(s0->data[i_jpbFLgkKR9chZipjHint9c4g])) >= ((NU8)(65)) && ((NU8)(s0->data[i_jpbFLgkKR9chZipjHint9c4g])) <= ((NU8)(90)))) goto LA6; result0->data[j0] = ((NIM_CHAR) (((NI) ((NI)(((NI) (((NU8)(s0->data[i_jpbFLgkKR9chZipjHint9c4g])))) + ((NI) 32)))))); j0 += ((NI) 1); } goto LA4; LA6: ; { if (!!(((NU8)(s0->data[i_jpbFLgkKR9chZipjHint9c4g]) == (NU8)(95)))) goto LA9; result0->data[j0] = s0->data[i_jpbFLgkKR9chZipjHint9c4g]; j0 += ((NI) 1); } goto LA4; LA9: ; LA4: ; res_9aRtiCFskeEOMEBziesZaaQ += ((NI) 1); } LA3: ; } } { if (!!((j0 == (s0 ? s0->Sup.len : 0)))) goto LA13; result0 = setLengthStr(result0, ((NI) (j0))); } LA13: ; return result0; } N_NIMCALL(NimStringDesc*, nsuToLowerAsciiStr)(NimStringDesc* s0) { NimStringDesc* result0; result0 = (NimStringDesc*)0; result0 = mnewString(((NI) ((s0 ? s0->Sup.len : 0)))); { NI i_Q4ErNf9cOnD9bQiwEaTZI6PA; NI HEX3Atmp_GYbw9c9aYs4vIjnQGiCqmtRg; NI res_kjxR3eSoP8WNRp9c4KDSe2w; i_Q4ErNf9cOnD9bQiwEaTZI6PA = (NI)0; HEX3Atmp_GYbw9c9aYs4vIjnQGiCqmtRg = (NI)0; HEX3Atmp_GYbw9c9aYs4vIjnQGiCqmtRg = (NI)((s0 ? s0->Sup.len : 0) - ((NI) 1)); res_kjxR3eSoP8WNRp9c4KDSe2w = ((NI) 0); { while (1) { if (!(res_kjxR3eSoP8WNRp9c4KDSe2w <= HEX3Atmp_GYbw9c9aYs4vIjnQGiCqmtRg)) goto LA3; i_Q4ErNf9cOnD9bQiwEaTZI6PA = res_kjxR3eSoP8WNRp9c4KDSe2w; result0->data[i_Q4ErNf9cOnD9bQiwEaTZI6PA] = nsuToLowerAsciiChar(s0->data[i_Q4ErNf9cOnD9bQiwEaTZI6PA]); res_kjxR3eSoP8WNRp9c4KDSe2w += ((NI) 1); } LA3: ; } } return result0; } N_NIMCALL(NIM_BOOL, contains_6e5MGL10HDAJ205lBYpWxw)(NimStringDesc* s0, NIM_CHAR c0) { NIM_BOOL result0; NI LOC1; { result0 = (NIM_BOOL)0; LOC1 = (NI)0; LOC1 = nsuFindChar(s0, c0, ((NI) 0)); result0 = (((NI) 0) <= LOC1); goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, nsuEndsWith)(NimStringDesc* s0, NimStringDesc* suffix0) { NIM_BOOL result0; NI i0; NI j0; { result0 = (NIM_BOOL)0; i0 = ((NI) 0); j0 = (NI)((s0 ? s0->Sup.len : 0) - (suffix0 ? suffix0->Sup.len : 0)); { while (1) { if (!((NU64)((NI)(i0 + j0)) < (NU64)((s0 ? s0->Sup.len : 0)))) goto LA2; { if (!!(((NU8)(s0->data[(NI)(i0 + j0)]) == (NU8)(suffix0->data[i0])))) goto LA5; result0 = NIM_FALSE; goto BeforeRet; } LA5: ; i0 += ((NI) 1); } LA2: ; } { if (!((NU8)(suffix0->data[i0]) == (NU8)(0))) goto LA9; result0 = NIM_TRUE; goto BeforeRet; } LA9: ; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, allcharsinset_wVfr4F6j4mVzI8ggLoMVdw)(NimStringDesc* s0, TY_nmiMWKVIe46vacnhAFrQvw_Set theset0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { NIM_CHAR c_OfX9ahk9c2gxTAqT6o9cLontQ; NI i_YukgSFsRpghxM0a8yZJrxw; NI L_yJ2xOhbK0cwCgg3gx7kF9cg; c_OfX9ahk9c2gxTAqT6o9cLontQ = (NIM_CHAR)0; i_YukgSFsRpghxM0a8yZJrxw = ((NI) 0); L_yJ2xOhbK0cwCgg3gx7kF9cg = (s0 ? s0->Sup.len : 0); { while (1) { if (!(i_YukgSFsRpghxM0a8yZJrxw < L_yJ2xOhbK0cwCgg3gx7kF9cg)) goto LA3; c_OfX9ahk9c2gxTAqT6o9cLontQ = s0->data[i_YukgSFsRpghxM0a8yZJrxw]; { if (!!(((theset0[(NU)(((NU8)(c_OfX9ahk9c2gxTAqT6o9cLontQ)))>>3] &(1U<<((NU)(((NU8)(c_OfX9ahk9c2gxTAqT6o9cLontQ)))&7U)))!=0))) goto LA6; result0 = NIM_FALSE; goto BeforeRet; } LA6: ; i_YukgSFsRpghxM0a8yZJrxw += ((NI) 1); } LA3: ; } } result0 = NIM_TRUE; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(NimStringDesc*, nsuJoinSep)(NimStringDesc** a0, NI a0Len0, NimStringDesc* sep0) { NimStringDesc* result0; result0 = (NimStringDesc*)0; { NI L0; if (!(((NI) 0) < a0Len0)) goto LA3; L0 = (NI)((sep0 ? sep0->Sup.len : 0) * (NI)(a0Len0 - ((NI) 1))); { NI i_fREibIaKmq2zYiljMJVMRQ; NI HEX3Atmp_l8p5x5I1Hq3gH840mqBnBA; NI res_on8ifzaDBjEBmA4tjFkP9bQ; i_fREibIaKmq2zYiljMJVMRQ = (NI)0; HEX3Atmp_l8p5x5I1Hq3gH840mqBnBA = (NI)0; HEX3Atmp_l8p5x5I1Hq3gH840mqBnBA = (a0Len0-1); res_on8ifzaDBjEBmA4tjFkP9bQ = ((NI) 0); { while (1) { if (!(res_on8ifzaDBjEBmA4tjFkP9bQ <= HEX3Atmp_l8p5x5I1Hq3gH840mqBnBA)) goto LA7; i_fREibIaKmq2zYiljMJVMRQ = res_on8ifzaDBjEBmA4tjFkP9bQ; L0 += (a0[i_fREibIaKmq2zYiljMJVMRQ] ? a0[i_fREibIaKmq2zYiljMJVMRQ]->Sup.len : 0); res_on8ifzaDBjEBmA4tjFkP9bQ += ((NI) 1); } LA7: ; } } result0 = rawNewString(((NI) (L0))); result0 = resizeString(result0, a0[((NI) 0)]->Sup.len + 0); appendString(result0, a0[((NI) 0)]); { NI i_fREibIaKmq2zYiljMJVMRQ_2; NI HEX3Atmp_l8p5x5I1Hq3gH840mqBnBA_2; NI res_on8ifzaDBjEBmA4tjFkP9bQ_2; i_fREibIaKmq2zYiljMJVMRQ_2 = (NI)0; HEX3Atmp_l8p5x5I1Hq3gH840mqBnBA_2 = (NI)0; HEX3Atmp_l8p5x5I1Hq3gH840mqBnBA_2 = (a0Len0-1); res_on8ifzaDBjEBmA4tjFkP9bQ_2 = ((NI) 1); { while (1) { if (!(res_on8ifzaDBjEBmA4tjFkP9bQ_2 <= HEX3Atmp_l8p5x5I1Hq3gH840mqBnBA_2)) goto LA10; i_fREibIaKmq2zYiljMJVMRQ_2 = res_on8ifzaDBjEBmA4tjFkP9bQ_2; result0 = resizeString(result0, sep0->Sup.len + 0); appendString(result0, sep0); result0 = resizeString(result0, a0[i_fREibIaKmq2zYiljMJVMRQ_2]->Sup.len + 0); appendString(result0, a0[i_fREibIaKmq2zYiljMJVMRQ_2]); res_on8ifzaDBjEBmA4tjFkP9bQ_2 += ((NI) 1); } LA10: ; } } } goto LA1; LA3: ; { result0 = copyString(((NimStringDesc*) &T_JGc9b9bh2D3nTdUR7TGyq8aA_6)); } LA1: ; return result0; } N_NIMCALL(NI, nsuFindStr)(NimStringDesc* s0, NimStringDesc* sub0, NI start0) { NI result0; TY_9cc9aPiDa8VaWjVcFLabEDZQ a0; result0 = (NI)0; preprocesssub_IhQT0o4blhF4hbhCz0srsw(sub0, a0); result0 = findaux_twow8DFxO4IDgSmpDGkD0g(s0, sub0, ((NI) (start0)), a0); return result0; } N_NIMCALL(TY_sM4lkSb7zS6F7OVMvW9cffQ*, nsuSplitChar)(NimStringDesc* s0, NIM_CHAR sep0, NI maxsplit0) { TY_sM4lkSb7zS6F7OVMvW9cffQ* result0; result0 = (TY_sM4lkSb7zS6F7OVMvW9cffQ*)0; result0 = (TY_sM4lkSb7zS6F7OVMvW9cffQ*) newSeq((&NTI_sM4lkSb7zS6F7OVMvW9cffQ), 0); { NimStringDesc* x_i1RTC8M8gCw2O9bxltRP9bug; NI last_aZS3H8Em9avjIiTx5gJVWWg; NI splits_1KoAqytD225d59az3YUN6QQ; x_i1RTC8M8gCw2O9bxltRP9bug = (NimStringDesc*)0; last_aZS3H8Em9avjIiTx5gJVWWg = ((NI) 0); splits_1KoAqytD225d59az3YUN6QQ = maxsplit0; { if (!(((NI) 0) < (s0 ? s0->Sup.len : 0))) goto LA4; { while (1) { NI first_PdTEqNTipVVUckMLTj8beg; if (!(last_aZS3H8Em9avjIiTx5gJVWWg <= (s0 ? s0->Sup.len : 0))) goto LA7; first_PdTEqNTipVVUckMLTj8beg = last_aZS3H8Em9avjIiTx5gJVWWg; { while (1) { NIM_BOOL LOC10; LOC10 = (NIM_BOOL)0; LOC10 = (last_aZS3H8Em9avjIiTx5gJVWWg < (s0 ? s0->Sup.len : 0)); if (!(LOC10)) goto LA11; LOC10 = !(((NU8)(s0->data[last_aZS3H8Em9avjIiTx5gJVWWg]) == (NU8)(sep0))); LA11: ; if (!LOC10) goto LA9; last_aZS3H8Em9avjIiTx5gJVWWg += ((NI) 1); } LA9: ; } { if (!(splits_1KoAqytD225d59az3YUN6QQ == ((NI) 0))) goto LA14; last_aZS3H8Em9avjIiTx5gJVWWg = (s0 ? s0->Sup.len : 0); } LA14: ; x_i1RTC8M8gCw2O9bxltRP9bug = copyStrLast(s0, first_PdTEqNTipVVUckMLTj8beg, (NI)(last_aZS3H8Em9avjIiTx5gJVWWg - ((NI) 1))); result0 = (TY_sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV2(&(result0)->Sup, sizeof(NimStringDesc*)); result0->data[result0->Sup.len] = copyString(x_i1RTC8M8gCw2O9bxltRP9bug); ++result0->Sup.len; { if (!(splits_1KoAqytD225d59az3YUN6QQ == ((NI) 0))) goto LA18; goto LA6; } LA18: ; splits_1KoAqytD225d59az3YUN6QQ -= ((NI) 1); last_aZS3H8Em9avjIiTx5gJVWWg += ((NI) 1); } LA7: ; } LA6: ; } LA4: ; } return result0; } N_NIMCALL(NimStringDesc*, nsuEscape)(NimStringDesc* s0, NimStringDesc* prefix0, NimStringDesc* suffix0) { NimStringDesc* result0; result0 = (NimStringDesc*)0; result0 = rawNewString(((NI) ((NI)((s0 ? s0->Sup.len : 0) + (NI)((NU64)((s0 ? s0->Sup.len : 0)) >> (NU64)(((NI) 2))))))); result0 = resizeString(result0, prefix0->Sup.len + 0); appendString(result0, prefix0); { NIM_CHAR c_YVXQcNuWEzuXn6dlnxCkxg; NI i_ITzZJ02U1apTS7zwtlf6FQ; NI L_c1dMvDAXseN0SGb0n7Q9asg; c_YVXQcNuWEzuXn6dlnxCkxg = (NIM_CHAR)0; i_ITzZJ02U1apTS7zwtlf6FQ = ((NI) 0); L_c1dMvDAXseN0SGb0n7Q9asg = (s0 ? s0->Sup.len : 0); { while (1) { if (!(i_ITzZJ02U1apTS7zwtlf6FQ < L_c1dMvDAXseN0SGb0n7Q9asg)) goto LA3; c_YVXQcNuWEzuXn6dlnxCkxg = s0->data[i_ITzZJ02U1apTS7zwtlf6FQ]; switch (((NU8)(c_YVXQcNuWEzuXn6dlnxCkxg))) { case 0 ... 31: case 128 ... 255: { NimStringDesc* LOC5; result0 = resizeString(result0, 2); appendString(result0, ((NimStringDesc*) &T_JGc9b9bh2D3nTdUR7TGyq8aA_7)); LOC5 = (NimStringDesc*)0; LOC5 = nsuToHex(((NI64) (((NU8)(c_YVXQcNuWEzuXn6dlnxCkxg)))), ((NI) 2)); result0 = resizeString(result0, LOC5->Sup.len + 0); appendString(result0, LOC5); } break; case 92: { result0 = resizeString(result0, 2); appendString(result0, ((NimStringDesc*) &T_JGc9b9bh2D3nTdUR7TGyq8aA_8)); } break; case 39: { result0 = resizeString(result0, 2); appendString(result0, ((NimStringDesc*) &T_JGc9b9bh2D3nTdUR7TGyq8aA_9)); } break; case 34: { result0 = resizeString(result0, 2); appendString(result0, ((NimStringDesc*) &T_JGc9b9bh2D3nTdUR7TGyq8aA_10)); } break; default: { result0 = addChar(result0, c_YVXQcNuWEzuXn6dlnxCkxg); } break; } i_ITzZJ02U1apTS7zwtlf6FQ += ((NI) 1); } LA3: ; } } result0 = resizeString(result0, suffix0->Sup.len + 0); appendString(result0, suffix0); return result0; } N_NIMCALL(void, nsuDelete)(NimStringDesc** s0, NI first0, NI last0) { NI i0; NI j0; NI newlen0; i0 = first0; j0 = (NI)(last0 + ((NI) 1)); newlen0 = (NI)((NI)(((*s0) ? (*s0)->Sup.len : 0) - j0) + i0); { while (1) { if (!(i0 < newlen0)) goto LA2; (*s0)->data[i0] = (*s0)->data[j0]; i0 += ((NI) 1); j0 += ((NI) 1); } LA2: ; } (*s0) = setLengthStr((*s0), ((NI) (newlen0))); } N_NIMCALL(NimStringDesc*, nsuToLowerStr)(NimStringDesc* s0) { NimStringDesc* result0; result0 = (NimStringDesc*)0; result0 = nsuToLowerAsciiStr(s0); return result0; } N_NIMCALL(NI, nsuCountLines)(NimStringDesc* s0) { NI result0; NI i0; result0 = (NI)0; i0 = ((NI) 0); { while (1) { if (!(i0 < (s0 ? s0->Sup.len : 0))) goto LA2; switch (((NU8)(s0->data[i0]))) { case 13: { { if (!((NU8)(s0->data[(NI)(i0 + ((NI) 1))]) == (NU8)(10))) goto LA6; i0 += ((NI) 1); } LA6: ; result0 += ((NI) 1); } break; case 10: { result0 += ((NI) 1); } break; default: { } break; } i0 += ((NI) 1); } LA2: ; } return result0; } N_NIMCALL(NIM_BOOL, nsuContinuesWith)(NimStringDesc* s0, NimStringDesc* substr0, NI start0) { NIM_BOOL result0; NI i0; { result0 = (NIM_BOOL)0; i0 = ((NI) 0); { while (1) { { if (!((NU8)(substr0->data[i0]) == (NU8)(0))) goto LA5; result0 = NIM_TRUE; goto BeforeRet; } LA5: ; { if (!!(((NU8)(s0->data[(NI)(i0 + ((NI) (start0)))]) == (NU8)(substr0->data[i0])))) goto LA9; result0 = NIM_FALSE; goto BeforeRet; } LA9: ; i0 += ((NI) 1); } } }BeforeRet: ; return result0; } static N_INLINE(void, appendChar)(NimStringDesc* dest0, NIM_CHAR c0) { (*dest0).data[((*dest0).Sup.len)- 0] = c0; (*dest0).data[((NI)((*dest0).Sup.len + ((NI) 1)))- 0] = 0; (*dest0).Sup.len += ((NI) 1); } N_NIMCALL(NimStringDesc*, nsuIntToStr)(NI x0, NI minchars0) { NimStringDesc* result0; result0 = (NimStringDesc*)0; result0 = nimIntToStr((x0 > 0? (x0) : -(x0))); { NI i_0WI5azliNHYkVYV8ChzA6A; NI HEX3Atmp_fSOxXjlVMUMPmJjXyPHj4Q; NI res_9aPdOY13II9avtAIzc2NHzgg; i_0WI5azliNHYkVYV8ChzA6A = (NI)0; HEX3Atmp_fSOxXjlVMUMPmJjXyPHj4Q = (NI)0; HEX3Atmp_fSOxXjlVMUMPmJjXyPHj4Q = (NI)(((NI) (minchars0)) - (result0 ? result0->Sup.len : 0)); res_9aPdOY13II9avtAIzc2NHzgg = ((NI) 1); { while (1) { NimStringDesc* LOC4; if (!(res_9aPdOY13II9avtAIzc2NHzgg <= HEX3Atmp_fSOxXjlVMUMPmJjXyPHj4Q)) goto LA3; i_0WI5azliNHYkVYV8ChzA6A = res_9aPdOY13II9avtAIzc2NHzgg; LOC4 = (NimStringDesc*)0; LOC4 = rawNewString(result0->Sup.len + 1); appendChar(LOC4, 48); appendString(LOC4, result0); result0 = LOC4; res_9aPdOY13II9avtAIzc2NHzgg += ((NI) 1); } LA3: ; } } { NimStringDesc* LOC9; if (!(x0 < ((NI) 0))) goto LA7; LOC9 = (NimStringDesc*)0; LOC9 = rawNewString(result0->Sup.len + 1); appendChar(LOC9, 45); appendString(LOC9, result0); result0 = LOC9; } LA7: ; return result0; } N_NIMCALL(NIM_BOOL, substreq_7ngl0F5lryTkSAj7sYQ7pw)(NimStringDesc* s0, NI pos0, NimStringDesc* substr0) { NIM_BOOL result0; NI i0; NI length0; { result0 = (NIM_BOOL)0; i0 = ((NI) 0); length0 = (substr0 ? substr0->Sup.len : 0); { while (1) { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = (i0 < length0); if (!(LOC3)) goto LA4; LOC3 = ((NU8)(s0->data[(NI)(pos0 + i0)]) == (NU8)(substr0->data[i0])); LA4: ; if (!LOC3) goto LA2; i0 += ((NI) 1); } LA2: ; } result0 = (i0 == length0); goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(TY_sM4lkSb7zS6F7OVMvW9cffQ*, nsuSplitString)(NimStringDesc* s0, NimStringDesc* sep0, NI maxsplit0) { TY_sM4lkSb7zS6F7OVMvW9cffQ* result0; result0 = (TY_sM4lkSb7zS6F7OVMvW9cffQ*)0; { if (!!((((NI) 0) < (sep0 ? sep0->Sup.len : 0)))) goto LA3; raiseassert_PpfSiTIeNpMAb9a5o6SglJw_2(((NimStringDesc*) &T_JGc9b9bh2D3nTdUR7TGyq8aA_11)); } LA3: ; result0 = (TY_sM4lkSb7zS6F7OVMvW9cffQ*) newSeq((&NTI_sM4lkSb7zS6F7OVMvW9cffQ), 0); { NimStringDesc* x_i1RTC8M8gCw2O9bxltRP9bug_2; NI last_aZS3H8Em9avjIiTx5gJVWWg_2; NI splits_1KoAqytD225d59az3YUN6QQ_2; x_i1RTC8M8gCw2O9bxltRP9bug_2 = (NimStringDesc*)0; last_aZS3H8Em9avjIiTx5gJVWWg_2 = ((NI) 0); splits_1KoAqytD225d59az3YUN6QQ_2 = maxsplit0; { if (!(((NI) 0) < (s0 ? s0->Sup.len : 0))) goto LA8; { while (1) { NI first_PdTEqNTipVVUckMLTj8beg_2; if (!(last_aZS3H8Em9avjIiTx5gJVWWg_2 <= (s0 ? s0->Sup.len : 0))) goto LA11; first_PdTEqNTipVVUckMLTj8beg_2 = last_aZS3H8Em9avjIiTx5gJVWWg_2; { while (1) { NIM_BOOL LOC14; NIM_BOOL LOC16; LOC14 = (NIM_BOOL)0; LOC14 = (last_aZS3H8Em9avjIiTx5gJVWWg_2 < (s0 ? s0->Sup.len : 0)); if (!(LOC14)) goto LA15; LOC16 = (NIM_BOOL)0; LOC16 = substreq_7ngl0F5lryTkSAj7sYQ7pw(s0, last_aZS3H8Em9avjIiTx5gJVWWg_2, sep0); LOC14 = !(LOC16); LA15: ; if (!LOC14) goto LA13; last_aZS3H8Em9avjIiTx5gJVWWg_2 += ((NI) 1); } LA13: ; } { if (!(splits_1KoAqytD225d59az3YUN6QQ_2 == ((NI) 0))) goto LA19; last_aZS3H8Em9avjIiTx5gJVWWg_2 = (s0 ? s0->Sup.len : 0); } LA19: ; x_i1RTC8M8gCw2O9bxltRP9bug_2 = copyStrLast(s0, first_PdTEqNTipVVUckMLTj8beg_2, (NI)(last_aZS3H8Em9avjIiTx5gJVWWg_2 - ((NI) 1))); result0 = (TY_sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV2(&(result0)->Sup, sizeof(NimStringDesc*)); result0->data[result0->Sup.len] = copyString(x_i1RTC8M8gCw2O9bxltRP9bug_2); ++result0->Sup.len; { if (!(splits_1KoAqytD225d59az3YUN6QQ_2 == ((NI) 0))) goto LA23; goto LA10; } LA23: ; splits_1KoAqytD225d59az3YUN6QQ_2 -= ((NI) 1); last_aZS3H8Em9avjIiTx5gJVWWg_2 += (sep0 ? sep0->Sup.len : 0); } LA11: ; } LA10: ; } LA8: ; } return result0; } NIM_EXTERNC N_NOINLINE(void, stdlib_strutilsInit000)(void) { } NIM_EXTERNC N_NOINLINE(void, stdlib_strutilsDatInit000)(void) { }