Files
csources-nimble/nimble-linux/@m..@s..@s..@s..@s.choosenim@stoolchains@snim-@hversion-1-6@slib@spure@sos.nim.c
T

4251 lines
179 KiB
C

/* Generated by Nim Compiler v1.6.11 */
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
#include <unistd.h>
#include <errno.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <time.h>
#include <dirent.h>
#include <setjmp.h>
#include <stdio.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
# define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
# define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
# define nimln_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA;
typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
typedef struct tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ;
typedef struct tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA;
typedef struct tyTuple__UV3llMMYFckfui8YMBuUZA tyTuple__UV3llMMYFckfui8YMBuUZA;
typedef struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw;
typedef struct tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw;
typedef struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg tyTuple__7q7q3E6Oj24ZNVJb9aonhAg;
typedef struct tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q;
typedef struct TSafePoint TSafePoint;
typedef struct tyObject_FileInfo__i26mN9byzlhWT5HGlFoyCYQ tyObject_FileInfo__i26mN9byzlhWT5HGlFoyCYQ;
typedef struct tyTuple__CjzvtqWyPaH89b7mBo9b6sZg tyTuple__CjzvtqWyPaH89b7mBo9b6sZg;
typedef struct tyTuple__HFn8JzZZeLZ9aKrFg4S9a7HA tyTuple__HFn8JzZZeLZ9aKrFg4S9a7HA;
typedef struct tyObject_PathIter__tllF14xUpDWpqG9ci5sg9bMg tyObject_PathIter__tllF14xUpDWpqG9ci5sg9bMg;
typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ;
typedef struct tyTuple__LCURwohbLBusrL8hdCnvng tyTuple__LCURwohbLBusrL8hdCnvng;
typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
struct RootObj {
TNimType* m_type;
};
struct Exception {
RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringDesc* message;
tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
Exception* up;
};
struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA {
Exception Sup;
};
struct tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA {
tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
NI32 errorCode;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
tyArray__0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
};
struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
NI gcThreadId;
};
struct tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA {
Exception Sup;
};
struct tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ {
tyObject_Defect__LbeSGvgPzGzXnW9caIkJqMA Sup;
};
struct tyTuple__UV3llMMYFckfui8YMBuUZA {
NimStringDesc* Field0;
NimStringDesc* Field1;
};
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw {
tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
};
struct tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw {
tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
};
typedef NU8 tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg;
typedef NU8 tySet_tyEnum_CopyFlag__pdzel23GjJ9cPFw8c5ldeRA;
typedef NU8 tyEnum_CopyFlag__pdzel23GjJ9cPFw8c5ldeRA;
typedef NU8 tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg;
struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg {
NimStringDesc* Field0;
NimStringDesc* Field1;
NimStringDesc* Field2;
};
struct tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q {
NI64 seconds;
NI nanosecond;
};
typedef NimStringDesc* tyArray__sMpvt1sOxOJ3LFGulnbeMQ[4];
typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
typedef long tyArray__TcvIiMAJvcwzNLsZkfnFnQ[25];
struct TSafePoint {
TSafePoint* prev;
NI status;
jmp_buf context;
};
typedef char tyArray__XKk9bNZbVEtY3RuROG9aRBgw[256];
struct tyTuple__CjzvtqWyPaH89b7mBo9b6sZg {
dev_t Field0;
ino_t Field1;
};
typedef NU16 tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA;
struct tyObject_FileInfo__i26mN9byzlhWT5HGlFoyCYQ {
tyTuple__CjzvtqWyPaH89b7mBo9b6sZg id;
tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg kind;
NI64 size;
tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA permissions;
NI64 linkCount;
tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q lastAccessTime;
tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q lastWriteTime;
tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q creationTime;
NI blockSize;
};
typedef NU8 tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA;
struct tyTuple__HFn8JzZZeLZ9aKrFg4S9a7HA {
NimStringDesc* Field0;
tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA Field1;
};
struct tyObject_PathIter__tllF14xUpDWpqG9ci5sg9bMg {
NI i;
NI prev;
NIM_BOOL notFirst;
};
struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
NI Field0;
NI Field1;
};
struct tyTuple__LCURwohbLBusrL8hdCnvng {
tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg Field0;
NimStringDesc* Field1;
};
struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
NCSTRING procname;
NI line;
NCSTRING filename;
};
struct tySequence__uB9b75OUPRENsBAu4AnoePA {
TGenericSeq Sup;
tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
};
N_NIMCALL(NimStringDesc*, mnewString)(NI len);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i, NI64 a, NI64 b);
static N_INLINE(NIM_BOOL, eqeq___system_7770)(NCSTRING x, NCSTRING y);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_2997)(void);
static N_INLINE(void, popFrame)(void);
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newLen);
N_LIB_PRIVATE N_NIMCALL(NI32, osLastError__pureZos_408)(void);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg);
N_LIB_PRIVATE N_NOINLINE(void, raiseOSError__pureZos_405)(NI32 errorCode, NimStringDesc* additionalInfo);
N_LIB_PRIVATE N_NOINLINE(tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA*, newOSError__pureZos_379)(NI32 errorCode, NimStringDesc* additionalInfo);
N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, osErrorMsg__pureZos_358)(NI32 errorCode);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, cstrToNimstr)(NCSTRING str);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__system_5337)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5299)(void* usr);
static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
static N_INLINE(void, decRef__system_5344)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__system_5342)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5293)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NIM_CHAR*, X5BX5D___system_7408)(NimStringDesc** s, NI i);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
static N_INLINE(void, nimGCunrefNoCycle)(void* p);
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, normalizePath__pureZpathnorm_127)(NimStringDesc* path, NIM_CHAR dirSep);
N_NIMCALL(NimStringDesc*, rawNewString)(NI cap);
N_LIB_PRIVATE N_NIMCALL(void, joinPathImpl__pureZos_82)(NimStringDesc** result, NI* state, NimStringDesc* tail);
static N_INLINE(NIM_CHAR, X5BX5D___system_7375)(NimStringDesc* s, NI i);
N_LIB_PRIVATE N_NIMCALL(void, normalizePathEnd__pureZos_51)(NimStringDesc** path, NIM_BOOL trailingSep);
N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
N_LIB_PRIVATE N_NIMCALL(void, addNormalizePath__pureZpathnorm_71)(NimStringDesc* x, NimStringDesc** result, NI* state, NIM_CHAR dirSep);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getEnv__pureZos_418)(NimStringDesc* key, NimStringDesc* default_0);
static N_INLINE(NimStringDesc*, slash___pureZos_121)(NimStringDesc* head, NimStringDesc* tail);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosjoinPath)(NimStringDesc* head, NimStringDesc* tail);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__system_7790)(NimStringDesc* s, NI first, NI last);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__system_7802)(NimStringDesc* s, NI first);
static N_INLINE(NIM_BOOL, contains__pureZos_653)(NIM_CHAR* a, NI aLen_0, NIM_CHAR item);
static N_INLINE(NI, find__pureZos_658)(NIM_CHAR* a, NI aLen_0, NIM_CHAR item);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosaddFileExt)(NimStringDesc* filename, NimStringDesc* ext);
N_LIB_PRIVATE N_NIMCALL(NI, searchExtPos__pureZos_271)(NimStringDesc* path);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, normExt__pureZos_268)(NimStringDesc* ext);
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosfileExists)(NimStringDesc* filename);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, expandTilde__pureZos_578)(NimStringDesc* path);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosgetHomeDir)(void);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nossymlinkExists)(NimStringDesc* link);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosisAbsolute)(NimStringDesc* path);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosparentDir)(NimStringDesc* path);
N_LIB_PRIVATE N_NIMCALL(NI, parentDirPos__pureZos_195)(NimStringDesc* path);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___pureZos_429)(tyTuple__UV3llMMYFckfui8YMBuUZA x);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosexistsOrCreateDir)(NimStringDesc* dir);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, rawCreateDir__pureZos_1406)(NimStringDesc* dir);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosdirExists)(NimStringDesc* dir);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, open__systemZio_392)(FILE** f, NimStringDesc* filename, tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg mode, NI bufSize);
N_LIB_PRIVATE N_NIMCALL(NI64, getFileSize__systemZio_455)(FILE* f);
N_LIB_PRIVATE N_NIMCALL(void, close__systemZio_217)(FILE* f);
static N_INLINE(NI, countBits32)(NU32 n);
static N_INLINE(NI, countSetBitsImpl__systemZcountbits95impl_26)(NU32 x);
N_CDECL(int, __builtin_popcount)(unsigned int x);
N_LIB_PRIVATE N_NIMCALL(void, createSymlink__pureZos_1011)(NimStringDesc* src, NimStringDesc* dest);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, expandSymlink__pureZos_1017)(NimStringDesc* symlinkPath);
N_LIB_PRIVATE N_NOCONV(void*, allocImpl__system_1743)(NI size);
N_LIB_PRIVATE N_NIMCALL(NI, readBuffer__systemZio_144)(FILE* f, void* buffer, NI len);
N_LIB_PRIVATE N_NIMCALL(NI, writeBuffer__systemZio_176)(FILE* f, void* buffer, NI len);
N_LIB_PRIVATE N_NOCONV(void, dealloc)(void* p);
N_LIB_PRIVATE N_NIMCALL(void, flushFile__systemZio_226)(FILE* f);
static N_INLINE(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, toTime__pureZos_17)(struct timespec ts);
N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, initTime__pureZtimes_897)(NI64 unix_0, NI nanosecond);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getApplAux__pureZos_1549)(NimStringDesc* procPath);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getApplHeuristic__pureZos_1553)(void);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, paramStr__pureZos_1526)(NI i);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, existsEnv__pureZos_423)(NimStringDesc* key);
N_LIB_PRIVATE N_NIMCALL(void, nossplitPath)(NimStringDesc* path, tyTuple__UV3llMMYFckfui8YMBuUZA* Result);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nospquoteShellPosix)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, allCharsInSet__pureZstrutils_1402)(NimStringDesc* s, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw theSet);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuReplaceStr)(NimStringDesc* s, NimStringDesc* sub, NimStringDesc* by);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, WIFSIGNALED__posixZposix_1063)(int s);
N_LIB_PRIVATE N_NIMCALL(int, WTERMSIG__posixZposix_1054)(int s);
N_LIB_PRIVATE N_NIMCALL(int, WEXITSTATUS__posixZposix_1047)(int s);
N_LIB_PRIVATE N_NIMCALL(NI, cmp__system_1549)(NimStringDesc* x, NimStringDesc* y);
N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreCase)(NimStringDesc* a, NimStringDesc* b);
static N_INLINE(void, pushSafePoint)(TSafePoint* s);
N_LIB_PRIVATE N_NIMCALL(tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg, getSymlinkFileKind__pureZos_1220)(NimStringDesc* path);
N_LIB_PRIVATE N_NIMCALL(void, nosremoveFile)(NimStringDesc* file);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nostryRemoveFile)(NimStringDesc* file);
N_LIB_PRIVATE N_NIMCALL(void, nosremoveDir)(NimStringDesc* dir, NIM_BOOL checkDir);
static N_INLINE(void, popSafePoint)(void);
static N_INLINE(TFrame*, getFrame)(void);
static N_INLINE(void, setFrame)(TFrame* s);
N_LIB_PRIVATE N_NIMCALL(void, nimLeaveFinally)(void);
N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
N_LIB_PRIVATE N_NIMCALL(void, rawRemoveDir__pureZos_1399)(NimStringDesc* dir);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorNoArgs)(void);
N_LIB_PRIVATE N_NIMCALL(void, noscopyFile)(NimStringDesc* source, NimStringDesc* dest, tySet_tyEnum_CopyFlag__pdzel23GjJ9cPFw8c5ldeRA options);
N_LIB_PRIVATE N_NIMCALL(void, nossetFilePermissions)(NimStringDesc* filename, tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA permissions, NIM_BOOL followSymlinks);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___pureZos_873)(tyTuple__HFn8JzZZeLZ9aKrFg4S9a7HA x);
N_LIB_PRIVATE N_NIMCALL(tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA, nosgetFilePermissions)(NimStringDesc* filename);
static N_INLINE(void, popCurrentException)(void);
static N_INLINE(void, normalizePathAux__pureZos_31)(NimStringDesc** path);
N_LIB_PRIVATE N_NIMCALL(void, nosnormalizePath)(NimStringDesc** path);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, absolutePathInternal__pureZos_49)(NimStringDesc* path);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, absolutePath__pureZos_735)(NimStringDesc* path, NimStringDesc* root);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosgetCurrentDir)(void);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasNext__pureZpathnorm_6)(tyObject_PathIter__tllF14xUpDWpqG9ci5sg9bMg it, NimStringDesc* x);
N_LIB_PRIVATE N_NIMCALL(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ, next__pureZpathnorm_10)(tyObject_PathIter__tllF14xUpDWpqG9ci5sg9bMg* it, NimStringDesc* x);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nospquoteShell)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(int, exitStatusLikeShell__pureZos_1100)(int status);
STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_2, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim(1417, 21) `bufsize >= 0` ", 94);
extern TNimType NTIrefoserror__9clYsYwyjCqe2PFTuCI3Ubg_;
extern TNimType NTIoserror__BeJgrOdDsczOwEWOZbRfKA_;
STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_4, "Additional info: ", 17);
STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_5, "unknown OS error", 16);
extern TNimType NTIrefindexdefect__RJnHOb9cQV3neNC9cDkRgMyw_;
extern TNimType NTIindexdefect__n6tGEPHKkh7E1AP9bj30WrQ_;
STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_8, "index out of bounds, the container is empty", 43);
STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_9, "index ", 6);
STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_10, " not in 0 .. ", 13);
STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_19, "/", 1);
STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_20, "HOME", 4);
STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_21, "XDG_CONFIG_HOME", 15);
STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_22, ".config", 7);
STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_32, "PATH", 4);
STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_39, "..", 2);
STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_40, ".", 1);
N_LIB_PRIVATE NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA ExeExts__pureZos_645 = {((NimStringDesc*) NIM_NIL)}
;
extern TNimType NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_;
extern TNimType NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_;
STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_44, "The specified root is not absolute: ", 36);
extern TNimType NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_;
extern TNimType NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_;
STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_46, "Failed to create \'", 18);
STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_47, "\'", 1);
STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_50, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim(1851, 12) `card(copyFlagSymlink * options) == 1` There should be exactly one cfSymlink* in options", 167);
STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_52, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim(2260, 11) `path != \"\"` ", 92);
STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_62, "/proc/self/exe", 14);
STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_68, "TMPDIR", 6);
STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_69, "TEMP", 4);
STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_70, "TMP", 3);
STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_71, "TEMPDIR", 7);
static NIM_CONST tyArray__sMpvt1sOxOJ3LFGulnbeMQ TM__yu6cxgKBBXbNsTkT9cyMd4g_67 = {((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_68),
((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_69),
((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_70),
((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_71)}
;
STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_73, "/tmp", 4);
STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_76, "\'\'", 2);
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__yu6cxgKBBXbNsTkT9cyMd4g_77 = {
0x00, 0x00, 0x00, 0x00, 0x20, 0xe8, 0xff, 0x27,
0xff, 0xff, 0xff, 0x87, 0xfe, 0xff, 0xff, 0x07,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_78, "\'\"\'\"\'", 5);
STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_81, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim(3324, 15) `path != \"\"` ", 92);
N_LIB_PRIVATE TNimType NTIfilepermission__uTVeDpjCH6aWw9c74YkAskA_;
static NIM_CONST tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ TM__yu6cxgKBBXbNsTkT9cyMd4g_86 = {((NI) 0),
((NI) -1)}
;
STRING_LITERAL(TM__yu6cxgKBBXbNsTkT9cyMd4g_95, " ", 1);
N_LIB_PRIVATE TNimType NTItupleLkind58pathcomponent_path58stringT__LCURwohbLBusrL8hdCnvng_;
N_LIB_PRIVATE TNimType NTIpathcomponent__9c1SIU9cO1wHcl09b703A9cDrg_;
extern TNimType NTIstring__77mFvmsOLKik79ci2hXkHEg_;
extern NCSTRING* environ;
extern int cmdCount;
extern NCSTRING* cmdLine;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5246;
extern TSafePoint* excHandler__system_2565;
extern TSafePoint* excHandler__system_2565;
extern TSafePoint* excHandler__system_2565;
extern TSafePoint* excHandler__system_2565;
extern TFrame* framePtr__system_2564;
extern TFrame* framePtr__system_2564;
extern Exception* currException__system_2566;
extern Exception* currException__system_2566;
static N_INLINE(void, nimFrame)(TFrame* s) {
{
if (!(framePtr__system_2564 == ((TFrame*) NIM_NIL))) goto LA3_;
(*s).calldepth = ((NI16) 0);
}
goto LA1_;
LA3_: ;
{
(*s).calldepth = (NI16)((*framePtr__system_2564).calldepth + ((NI16) 1));
}
LA1_: ;
(*s).prev = framePtr__system_2564;
framePtr__system_2564 = s;
{
if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
callDepthLimitReached__system_2997();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__system_2564 = (*framePtr__system_2564).prev;
}
static N_INLINE(NIM_BOOL, eqeq___system_7770)(NCSTRING x, NCSTRING y) {
NIM_BOOL result;
nimfr_("==", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
result = (NIM_BOOL)0;
nimln_(2994, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
{
if (!(((void*) (x)) == ((void*) (y)))) goto LA3_;
result = NIM_TRUE;
}
goto LA1_;
LA3_: ;
{
NIM_BOOL T6_;
nimln_(2995, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
T6_ = (NIM_BOOL)0;
T6_ = (x == 0);
if (T6_) goto LA7_;
T6_ = (y == 0);
LA7_: ;
if (!T6_) goto LA8_;
result = NIM_FALSE;
}
goto LA1_;
LA8_: ;
{
int T11_;
nimln_(2996, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
T11_ = (int)0;
T11_ = strcmp(x, y);
result = (T11_ == ((NI32) 0));
}
LA1_: ;
popFrame();
return result;
}
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s) {
NCSTRING result;
result = (NCSTRING)0;
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = (s == ((NimStringDesc*) NIM_NIL));
if (T3_) goto LA4_;
T3_ = ((*s).Sup.len == ((NI) 0));
LA4_: ;
if (!T3_) goto LA5_;
result = "";
}
goto LA1_;
LA5_: ;
{
result = ((NCSTRING) ((*s).data));
}
LA1_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI32, osLastError__pureZos_408)(void) {
NI32 result;
result = (NI32)0;
result = errno;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, osErrorMsg__pureZos_358)(NI32 errorCode) {
NimStringDesc* result;
nimfr_("osErrorMsg", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
result = NIM_NIL;
nimln_(39, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
result = ((NimStringDesc*) NIM_NIL);
nimln_(57, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
{
NCSTRING T5_;
if (!!((errorCode == ((NI32) 0)))) goto LA3_;
nimln_(58, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
T5_ = (NCSTRING)0;
T5_ = strerror(errorCode);
result = cstrToNimstr(T5_);
}
LA3_: ;
popFrame();
return result;
}
static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
NI result;
nimfr_("+%", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
result = (NI)0;
nimln_(403, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
nimln_(407, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
popFrame();
return result;
}
static N_INLINE(void, incRef__system_5337)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
nimfr_("incRef", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
nimln_(231, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
popFrame();
}
static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
NI result;
nimfr_("-%", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
result = (NI)0;
nimln_(414, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
nimln_(418, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
popFrame();
return result;
}
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5299)(void* usr) {
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
NI T1_;
nimfr_("usrToCell", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
nimln_(177, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
T1_ = (NI)0;
T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
popFrame();
return result;
}
static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
NIM_BOOL result;
nimfr_("<%", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/comparisons.nim");
result = (NIM_BOOL)0;
nimln_(186, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/comparisons.nim");
nimln_(188, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/comparisons.nim");
result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
popFrame();
return result;
}
static N_INLINE(void, rtlAddZCT__system_5342)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
nimfr_("rtlAddZCT", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
nimln_(243, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
addZCT__system_5293((&gch__system_5246.zct), c);
popFrame();
}
static N_INLINE(void, decRef__system_5344)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
nimfr_("decRef", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
nimln_(248, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
nimln_(249, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
if (!T3_) goto LA4_;
nimln_(250, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
rtlAddZCT__system_5342(c);
}
LA4_: ;
popFrame();
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
nimfr_("asgnRef", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
nimln_(286, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
{
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
if (!!((src == NIM_NIL))) goto LA3_;
T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
T5_ = usrToCell__system_5299(src);
incRef__system_5337(T5_);
}
LA3_: ;
nimln_(287, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
{
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
if (!!(((*dest) == NIM_NIL))) goto LA8_;
T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
T10_ = usrToCell__system_5299((*dest));
decRef__system_5344(T10_);
}
LA8_: ;
nimln_(288, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
(*dest) = src;
popFrame();
}
static N_INLINE(NIM_CHAR*, X5BX5D___system_7408)(NimStringDesc** s, NI i) {
NIM_CHAR* result;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_3;
nimfr_("[]", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
result = (NIM_CHAR*)0;
nimln_(2652, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
if (nimSubInt(((*s) ? (*s)->Sup.len : 0), i, &TM__yu6cxgKBBXbNsTkT9cyMd4g_3)) { raiseOverflow(); };
if ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_3) < 0 || (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_3) >= ((*s) ? (*s)->Sup.len : 0)){ raiseIndexError2((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_3),((*s) ? (*s)->Sup.len : 0)-1); }
result = (&(*s)->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_3)]);
popFrame();
return result;
}
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memcpy(dest, source, ((size_t) (size)));
}
static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
{
if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
(*dest).Sup.len += (*src).Sup.len;
}
LA3_: ;
}
static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
nimfr_("nimGCunrefNoCycle", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
nimln_(276, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
T1_ = usrToCell__system_5299(p);
decRef__system_5344(T1_);
popFrame();
}
N_LIB_PRIVATE N_NOINLINE(tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA*, newOSError__pureZos_379)(NI32 errorCode, NimStringDesc* additionalInfo) {
tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA* result;
tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA* e;
nimfr_("newOSError", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
{ result = NIM_NIL;
e = NIM_NIL;
nimln_(78, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
e = (tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA*) newObj((&NTIrefoserror__9clYsYwyjCqe2PFTuCI3Ubg_), sizeof(tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA));
(*e).Sup.Sup.Sup.m_type = (&NTIoserror__BeJgrOdDsczOwEWOZbRfKA_);
(*e).Sup.Sup.name = "OSError";
nimln_(79, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
(*e).errorCode = errorCode;
nimln_(80, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
asgnRef((void**) (&(*e).Sup.Sup.message), osErrorMsg__pureZos_358(errorCode));
nimln_(81, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
{
if (!(((NI) 0) < (additionalInfo ? additionalInfo->Sup.len : 0))) goto LA3_;
nimln_(82, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
{
NIM_BOOL T7_;
NIM_CHAR* T9_;
T7_ = (NIM_BOOL)0;
T7_ = (((NI) 0) < ((*e).Sup.Sup.message ? (*e).Sup.Sup.message->Sup.len : 0));
if (!(T7_)) goto LA8_;
T9_ = (NIM_CHAR*)0;
T9_ = X5BX5D___system_7408((&(*e).Sup.Sup.message), ((NI) 1));
T7_ = !(((NU8)((*T9_)) == (NU8)(10)));
LA8_: ;
if (!T7_) goto LA10_;
asgnRef((void**) (&(*e).Sup.Sup.message), addChar((*e).Sup.Sup.message, 10));
}
LA10_: ;
nimln_(83, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
asgnRef((void**) (&(*e).Sup.Sup.message), resizeString((*e).Sup.Sup.message, 17));
appendString((*e).Sup.Sup.message, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_4));
nimln_(84, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
asgnRef((void**) (&(*e).Sup.Sup.message), resizeString((*e).Sup.Sup.message, (additionalInfo ? additionalInfo->Sup.len : 0) + 0));
appendString((*e).Sup.Sup.message, additionalInfo);
}
LA3_: ;
nimln_(86, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
{
NimStringDesc* T16_;
if (!(((*e).Sup.Sup.message ? (*e).Sup.Sup.message->Sup.len : 0) == 0)) goto LA14_;
nimln_(87, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
T16_ = NIM_NIL;
T16_ = (*e).Sup.Sup.message; (*e).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_5));
if (T16_) nimGCunrefNoCycle(T16_);
}
LA14_: ;
nimln_(88, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
result = e;
goto BeforeRet_;
}BeforeRet_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NOINLINE(void, raiseOSError__pureZos_405)(NI32 errorCode, NimStringDesc* additionalInfo) {
tyObject_OSError__BeJgrOdDsczOwEWOZbRfKA* T1_;
nimfr_("raiseOSError", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
nimln_(95, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim");
T1_ = NIM_NIL;
T1_ = newOSError__pureZos_379(errorCode, additionalInfo);
raiseExceptionEx((Exception*)T1_, "OSError", "raiseOSError", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/oserr.nim", 95);
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosgetCurrentDir)(void) {
NimStringDesc* result;
NI bufsize;
nimfr_("getCurrentDir", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = NIM_NIL;
nimln_(1407, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
bufsize = ((NI) 1024);
nimln_(1408, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if ((bufsize) < ((NI) 0) || (bufsize) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(bufsize, ((NI) 0), ((NI) IL64(9223372036854775807))); }
result = mnewString(((NI) (bufsize)));
{
nimln_(1409, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
while (1) {
nimln_(1410, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NCSTRING T5_;
NIM_BOOL T6_;
int T9_;
T5_ = (NCSTRING)0;
T5_ = getcwd(nimToCStringConv(result), bufsize);
T6_ = (NIM_BOOL)0;
T6_ = eqeq___system_7770(T5_, ((NCSTRING) NIM_NIL));
if (!!(T6_)) goto LA7_;
nimln_(1411, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T9_ = (int)0;
T9_ = strlen(nimToCStringConv(result));
if ((T9_) < ((NI) 0) || (T9_) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(T9_, ((NI) 0), ((NI) IL64(9223372036854775807))); }
result = setLengthStr(result, ((NI) (T9_)));
nimln_(1412, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
goto LA1;
}
goto LA3_;
LA7_: ;
{
NI32 err;
nimln_(1414, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
err = osLastError__pureZos_408();
nimln_(1415, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!(err == ((int) 34))) goto LA13_;
nimln_(1416, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
bufsize = (NI)((NU64)(bufsize) << (NU64)(((NI) 1)));
nimln_(1417, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!!((((NI) 0) <= bufsize))) goto LA17_;
failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_2));
}
LA17_: ;
nimln_(1418, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if ((bufsize) < ((NI) 0) || (bufsize) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(bufsize, ((NI) 0), ((NI) IL64(9223372036854775807))); }
result = mnewString(((NI) (bufsize)));
}
goto LA11_;
LA13_: ;
{
NI32 T20_;
nimln_(1420, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T20_ = (NI32)0;
T20_ = osLastError__pureZos_408();
raiseOSError__pureZos_405(T20_, ((NimStringDesc*) NIM_NIL));
}
LA11_: ;
}
LA3_: ;
}
} LA1: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, paramCount__pureZos_1532)(void) {
NI result;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_6;
nimfr_("paramCount", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = (NI)0;
nimln_(2969, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (nimSubInt(cmdCount, ((NI32) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_6)) { raiseOverflow(); };
if (TM__yu6cxgKBBXbNsTkT9cyMd4g_6 < (-2147483647 -1) || TM__yu6cxgKBBXbNsTkT9cyMd4g_6 > 2147483647){ raiseOverflow(); }
result = ((NI) ((NI32)(TM__yu6cxgKBBXbNsTkT9cyMd4g_6)));
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, paramStr__pureZos_1526)(NI i) {
NimStringDesc* result;
nimfr_("paramStr", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = NIM_NIL;
nimln_(2962, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = (i < ((NI) (cmdCount)));
if (!(T3_)) goto LA4_;
T3_ = (((NI) 0) <= i);
LA4_: ;
if (!T3_) goto LA5_;
nimln_(2963, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = cstrToNimstr(cmdLine[i]);
}
goto LA1_;
LA5_: ;
{
tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ* T8_;
T8_ = NIM_NIL;
T8_ = (tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ*) newObj((&NTIrefindexdefect__RJnHOb9cQV3neNC9cDkRgMyw_), sizeof(tyObject_IndexDefect__n6tGEPHKkh7E1AP9bj30WrQ));
(*T8_).Sup.Sup.Sup.m_type = (&NTIindexdefect__n6tGEPHKkh7E1AP9bj30WrQ_);
(*T8_).Sup.Sup.name = "IndexDefect";
nimln_(2965, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_7;
NimStringDesc* T13_;
nimln_(8, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/indexerrors.nim");
nimln_(2965, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (nimSubInt(cmdCount, ((NI32) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_7)) { raiseOverflow(); };
if (TM__yu6cxgKBBXbNsTkT9cyMd4g_7 < (-2147483647 -1) || TM__yu6cxgKBBXbNsTkT9cyMd4g_7 > 2147483647){ raiseOverflow(); }
if (!((NI32)(TM__yu6cxgKBBXbNsTkT9cyMd4g_7) < ((NI32) 0))) goto LA11_;
T13_ = NIM_NIL;
T13_ = (*T8_).Sup.Sup.message; (*T8_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_8));
if (T13_) nimGCunrefNoCycle(T13_);
}
goto LA9_;
LA11_: ;
{
NimStringDesc* T15_;
NimStringDesc* T16_;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_11;
NimStringDesc* T17_;
nimln_(9, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/indexerrors.nim");
T15_ = NIM_NIL;
T16_ = NIM_NIL;
T16_ = dollar___systemZdollars_3(i);
nimln_(2965, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (nimSubInt(cmdCount, ((NI32) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_11)) { raiseOverflow(); };
if (TM__yu6cxgKBBXbNsTkT9cyMd4g_11 < (-2147483647 -1) || TM__yu6cxgKBBXbNsTkT9cyMd4g_11 > 2147483647){ raiseOverflow(); }
nimln_(9, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/indexerrors.nim");
T17_ = NIM_NIL;
T17_ = dollar___systemZdollars_3(((NI) ((NI32)(TM__yu6cxgKBBXbNsTkT9cyMd4g_11))));
T15_ = rawNewString((T16_ ? T16_->Sup.len : 0) + (T17_ ? T17_->Sup.len : 0) + 19);
appendString(T15_, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_9));
appendString(T15_, T16_);
appendString(T15_, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_10));
appendString(T15_, T17_);
asgnRef((void**) (&(*T8_).Sup.Sup.message), T15_);
}
LA9_: ;
asgnRef((void**) (&(*T8_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(2965, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
raiseExceptionEx((Exception*)T8_, "IndexDefect", "paramStr", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim", 2965);
}
LA1_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosnormalizedPath)(NimStringDesc* path) {
NimStringDesc* result;
nimfr_("normalizedPath", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = NIM_NIL;
nimln_(1533, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = normalizePath__pureZpathnorm_127(path, 47);
popFrame();
return result;
}
static N_INLINE(NIM_CHAR, X5BX5D___system_7375)(NimStringDesc* s, NI i) {
NIM_CHAR result;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_13;
nimfr_("[]", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
result = (NIM_CHAR)0;
nimln_(2646, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
if (nimSubInt((s ? s->Sup.len : 0), i, &TM__yu6cxgKBBXbNsTkT9cyMd4g_13)) { raiseOverflow(); };
if ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_13) < 0 || (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_13) >= (s ? s->Sup.len : 0)){ raiseIndexError2((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_13),(s ? s->Sup.len : 0)-1); }
result = s->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_13)];
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, normalizePathEnd__pureZos_51)(NimStringDesc** path, NIM_BOOL trailingSep) {
NI i;
nimfr_("normalizePathEnd", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{ nimln_(104, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!(((*path) ? (*path)->Sup.len : 0) == ((NI) 0))) goto LA3_;
goto BeforeRet_;
}
LA3_: ;
nimln_(105, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
i = ((*path) ? (*path)->Sup.len : 0);
{
nimln_(106, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
while (1) {
if (!(((NI) 1) <= i)) goto LA6;
nimln_(107, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_14;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_15;
if (nimSubInt(i, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_14)) { raiseOverflow(); };
if ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_14) < 0 || (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_14) >= ((*path) ? (*path)->Sup.len : 0)){ raiseIndexError2((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_14),((*path) ? (*path)->Sup.len : 0)-1); }
if (!(((NU8)((*path)->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_14)])) == ((NU8)(47)) || ((NU8)((*path)->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_14)])) == ((NU8)(47)))) goto LA9_;
if (nimSubInt(i, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_15)) { raiseOverflow(); };
i = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_15);
}
goto LA7_;
LA9_: ;
{
NIM_BOOL T12_;
NIM_BOOL T13_;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_16;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_17;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_18;
nimln_(108, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T12_ = (NIM_BOOL)0;
T13_ = (NIM_BOOL)0;
if (nimSubInt(i, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_16)) { raiseOverflow(); };
if ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_16) < 0 || (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_16) >= ((*path) ? (*path)->Sup.len : 0)){ raiseIndexError2((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_16),((*path) ? (*path)->Sup.len : 0)-1); }
T13_ = ((NU8)((*path)->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_16)]) == (NU8)(46));
if (!(T13_)) goto LA14_;
T13_ = (((NI) 2) <= i);
LA14_: ;
T12_ = T13_;
if (!(T12_)) goto LA15_;
if (nimSubInt(i, ((NI) 2), &TM__yu6cxgKBBXbNsTkT9cyMd4g_17)) { raiseOverflow(); };
if ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_17) < 0 || (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_17) >= ((*path) ? (*path)->Sup.len : 0)){ raiseIndexError2((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_17),((*path) ? (*path)->Sup.len : 0)-1); }
T12_ = (((NU8)((*path)->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_17)])) == ((NU8)(47)) || ((NU8)((*path)->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_17)])) == ((NU8)(47)));
LA15_: ;
if (!T12_) goto LA16_;
if (nimSubInt(i, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_18)) { raiseOverflow(); };
i = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_18);
}
goto LA7_;
LA16_: ;
{
nimln_(109, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
goto LA5;
}
LA7_: ;
} LA6: ;
} LA5: ;
nimln_(110, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!trailingSep) goto LA21_;
nimln_(112, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if ((i) < ((NI) 0) || (i) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(i, ((NI) 0), ((NI) IL64(9223372036854775807))); }
unsureAsgnRef((void**) (&(*path)), setLengthStr((*path), ((NI) (i))));
nimln_(114, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
unsureAsgnRef((void**) (&(*path)), addChar((*path), 47));
}
goto LA19_;
LA21_: ;
{
nimln_(115, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (!(((NI) 0) < i)) goto LA24_;
nimln_(117, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if ((i) < ((NI) 0) || (i) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(i, ((NI) 0), ((NI) IL64(9223372036854775807))); }
unsureAsgnRef((void**) (&(*path)), setLengthStr((*path), ((NI) (i))));
}
goto LA19_;
LA24_: ;
{
nimln_(120, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
unsureAsgnRef((void**) (&(*path)), copyString(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_19)));
}
LA19_: ;
}BeforeRet_: ;
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, joinPathImpl__pureZos_82)(NimStringDesc** result, NI* state, NimStringDesc* tail) {
NIM_BOOL trailingSep;
NIM_BOOL T1_;
NIM_BOOL T2_;
NIM_CHAR T4_;
NIM_BOOL T6_;
NIM_BOOL T8_;
NIM_CHAR* T10_;
nimfr_("joinPathImpl", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
nimln_(141, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T1_ = (NIM_BOOL)0;
T2_ = (NIM_BOOL)0;
nimln_(138, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T2_ = (((NI) 0) < (tail ? tail->Sup.len : 0));
if (!(T2_)) goto LA3_;
T4_ = (NIM_CHAR)0;
T4_ = X5BX5D___system_7375(tail, ((NI) 1));
T2_ = (((NU8)(T4_)) == ((NU8)(47)) || ((NU8)(T4_)) == ((NU8)(47)));
LA3_: ;
T1_ = T2_;
if (T1_) goto LA5_;
nimln_(141, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T6_ = (NIM_BOOL)0;
T6_ = ((tail ? tail->Sup.len : 0) == ((NI) 0));
if (!(T6_)) goto LA7_;
T8_ = (NIM_BOOL)0;
nimln_(138, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T8_ = (((NI) 0) < ((*result) ? (*result)->Sup.len : 0));
if (!(T8_)) goto LA9_;
T10_ = (NIM_CHAR*)0;
T10_ = X5BX5D___system_7408(result, ((NI) 1));
T8_ = (((NU8)((*T10_))) == ((NU8)(47)) || ((NU8)((*T10_))) == ((NU8)(47)));
LA9_: ;
T6_ = T8_;
LA7_: ;
T1_ = T6_;
LA5_: ;
trailingSep = T1_;
nimln_(142, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
normalizePathEnd__pureZos_51(result, NIM_FALSE);
nimln_(143, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
addNormalizePath__pureZpathnorm_71(tail, result, state, 47);
nimln_(144, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
normalizePathEnd__pureZos_51(result, trailingSep);
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosjoinPath)(NimStringDesc* head, NimStringDesc* tail) {
NimStringDesc* result;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_12;
NI state;
nimfr_("joinPath", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = NIM_NIL;
nimln_(172, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (nimAddInt((head ? head->Sup.len : 0), (tail ? tail->Sup.len : 0), &TM__yu6cxgKBBXbNsTkT9cyMd4g_12)) { raiseOverflow(); };
if (((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_12)) < ((NI) 0) || ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_12)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_12), ((NI) 0), ((NI) IL64(9223372036854775807))); }
result = rawNewString(((NI) ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_12))));
nimln_(173, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
state = ((NI) 0);
nimln_(174, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
joinPathImpl__pureZos_82((&result), (&state), head);
nimln_(175, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
joinPathImpl__pureZos_82((&result), (&state), tail);
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getEnv__pureZos_418)(NimStringDesc* key, NimStringDesc* default_0) {
NimStringDesc* result;
NCSTRING env;
nimfr_("getEnv", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/osenv.nim");
{ result = NIM_NIL;
nimln_(70, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/osenv.nim");
env = getenv(nimToCStringConv(key));
nimln_(71, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/osenv.nim");
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = eqeq___system_7770(env, ((NCSTRING) NIM_NIL));
if (!T3_) goto LA4_;
result = copyString(default_0);
goto BeforeRet_;
}
LA4_: ;
nimln_(72, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/osenv.nim");
result = cstrToNimstr(env);
}BeforeRet_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosgetHomeDir)(void) {
NimStringDesc* result;
NimStringDesc* T1_;
NimStringDesc* T2_;
nimfr_("getHomeDir", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{ result = NIM_NIL;
nimln_(893, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T1_ = NIM_NIL;
T2_ = NIM_NIL;
T2_ = getEnv__pureZos_418(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_20), ((NimStringDesc*) NIM_NIL));
T1_ = rawNewString((T2_ ? T2_->Sup.len : 0) + 1);
appendString(T1_, T2_);
appendString(T1_, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_19));
result = T1_;
goto BeforeRet_;
}BeforeRet_: ;
popFrame();
return result;
}
static N_INLINE(NimStringDesc*, slash___pureZos_121)(NimStringDesc* head, NimStringDesc* tail) {
NimStringDesc* result;
nimfr_("/", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = NIM_NIL;
nimln_(234, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = nosjoinPath(head, tail);
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosgetConfigDir)(void) {
NimStringDesc* result;
NimStringDesc* T1_;
NimStringDesc* T2_;
nimfr_("getConfigDir", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = NIM_NIL;
nimln_(916, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T1_ = NIM_NIL;
T1_ = getEnv__pureZos_418(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_20), ((NimStringDesc*) NIM_NIL));
T2_ = NIM_NIL;
T2_ = slash___pureZos_121(T1_, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_22));
result = getEnv__pureZos_418(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_21), T2_);
nimln_(917, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
normalizePathEnd__pureZos_51((&result), NIM_TRUE);
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, nossplitPath)(NimStringDesc* path, tyTuple__UV3llMMYFckfui8YMBuUZA* Result) {
NI sepPos;
nimfr_("splitPath", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
unsureAsgnRef((void**)&(*Result).Field0, NIM_NIL);
unsureAsgnRef((void**)&(*Result).Field1, NIM_NIL);
nimln_(258, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
sepPos = ((NI) -1);
{
NI i;
NI colontmp_;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_23;
NI res;
i = (NI)0;
colontmp_ = (NI)0;
nimln_(259, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (nimSubInt((path ? path->Sup.len : 0), ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_23)) { raiseOverflow(); };
colontmp_ = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_23);
nimln_(33, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
res = colontmp_;
{
nimln_(34, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
while (1) {
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_24;
if (!(((NI) 0) <= res)) goto LA3;
nimln_(259, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
i = res;
{
nimln_(260, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (i < 0 || i >= (path ? path->Sup.len : 0)){ raiseIndexError2(i,(path ? path->Sup.len : 0)-1); }
if (!(((NU8)(path->data[i])) == ((NU8)(47)) || ((NU8)(path->data[i])) == ((NU8)(47)))) goto LA6_;
nimln_(261, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
sepPos = i;
nimln_(262, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
goto LA1;
}
LA6_: ;
nimln_(36, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
if (nimSubInt(res, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_24)) { raiseOverflow(); };
res = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_24);
} LA3: ;
}
} LA1: ;
nimln_(263, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NI T12_;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_26;
if (!(((NI) 0) <= sepPos)) goto LA10_;
nimln_(264, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T12_ = (NI)0;
nimln_(268, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T15_;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_25;
nimln_(2093, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
nimln_(268, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
nimln_(2093, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
T15_ = (NIM_BOOL)0;
T15_ = NIM_LIKELY((((NI) 1) <= sepPos));
if (!T15_) goto LA16_;
nimln_(268, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (nimSubInt(sepPos, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_25)) { raiseOverflow(); };
T12_ = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_25);
}
goto LA13_;
LA16_: ;
{
T12_ = ((NI) 0);
}
LA13_: ;
nimln_(264, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
unsureAsgnRef((void**) (&(*Result).Field0), substr__system_7790(path, ((NI) 0), T12_));
nimln_(270, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (nimAddInt(sepPos, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_26)) { raiseOverflow(); };
unsureAsgnRef((void**) (&(*Result).Field1), substr__system_7802(path, (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_26)));
}
goto LA8_;
LA10_: ;
{
nimln_(272, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
unsureAsgnRef((void**) (&(*Result).Field0), ((NimStringDesc*) NIM_NIL));
nimln_(273, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
unsureAsgnRef((void**) (&(*Result).Field1), copyString(path));
}
LA8_: ;
popFrame();
}
static N_INLINE(NI, find__pureZos_658)(NIM_CHAR* a, NI aLen_0, NIM_CHAR item) {
NI result;
nimfr_("find", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
{ result = (NI)0;
nimln_(1837, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
result = ((NI) 0);
{
NIM_CHAR i;
NI i_2;
i = (NIM_CHAR)0;
nimln_(18, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
i_2 = ((NI) 0);
{
nimln_(19, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
while (1) {
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_27;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_28;
if (!(i_2 < aLen_0)) goto LA3;
nimln_(1838, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
if (i_2 < 0 || i_2 >= aLen_0){ raiseIndexError2(i_2,aLen_0-1); }
i = a[i_2];
{
nimln_(1839, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
if (!((NU8)(i) == (NU8)(item))) goto LA6_;
goto BeforeRet_;
}
LA6_: ;
nimln_(1838, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
if (nimAddInt(result, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_27)) { raiseOverflow(); };
result = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_27);
nimln_(21, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
if (nimAddInt(i_2, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_28)) { raiseOverflow(); };
i_2 = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_28);
} LA3: ;
}
}
nimln_(1841, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
result = ((NI) -1);
}BeforeRet_: ;
popFrame();
return result;
}
static N_INLINE(NIM_BOOL, contains__pureZos_653)(NIM_CHAR* a, NI aLen_0, NIM_CHAR item) {
NIM_BOOL result;
NI T1_;
nimfr_("contains", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
{ result = (NIM_BOOL)0;
nimln_(1855, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
T1_ = (NI)0;
T1_ = find__pureZos_658(a, aLen_0, item);
result = (((NI) 0) <= T1_);
goto BeforeRet_;
}BeforeRet_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, searchExtPos__pureZos_271)(NimStringDesc* path) {
NI result;
nimfr_("searchExtPos", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = (NI)0;
nimln_(638, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = ((NI) -1);
{
NI i;
NI colontmp_;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_29;
NI res;
i = (NI)0;
colontmp_ = (NI)0;
nimln_(639, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (nimSubInt((path ? path->Sup.len : 0), ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_29)) { raiseOverflow(); };
colontmp_ = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_29);
nimln_(33, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
res = colontmp_;
{
nimln_(34, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
while (1) {
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_30;
if (!(((NI) 1) <= res)) goto LA3;
nimln_(639, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
i = res;
{
nimln_(640, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (i < 0 || i >= (path ? path->Sup.len : 0)){ raiseIndexError2(i,(path ? path->Sup.len : 0)-1); }
if (!((NU8)(path->data[i]) == (NU8)(46))) goto LA6_;
nimln_(641, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = i;
nimln_(642, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
goto LA1;
}
goto LA4_;
LA6_: ;
{
nimln_(643, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (i < 0 || i >= (path ? path->Sup.len : 0)){ raiseIndexError2(i,(path ? path->Sup.len : 0)-1); }
if (!(((NU8)(path->data[i])) == ((NU8)(47)) || ((NU8)(path->data[i])) == ((NU8)(47)))) goto LA9_;
nimln_(644, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
goto LA1;
}
goto LA4_;
LA9_: ;
LA4_: ;
nimln_(36, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
if (nimSubInt(res, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_30)) { raiseOverflow(); };
res = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_30);
} LA3: ;
}
} LA1: ;
popFrame();
return result;
}
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
(*dest).data[(*dest).Sup.len] = c;
(*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
(*dest).Sup.len += ((NI) 1);
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, normExt__pureZos_268)(NimStringDesc* ext) {
NimStringDesc* result;
nimfr_("normExt", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = NIM_NIL;
nimln_(618, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = ((ext ? ext->Sup.len : 0) == 0);
if (T3_) goto LA4_;
if (((NI) 0) < 0 || ((NI) 0) >= (ext ? ext->Sup.len : 0)){ raiseIndexError2(((NI) 0),(ext ? ext->Sup.len : 0)-1); }
T3_ = ((NU8)(ext->data[((NI) 0)]) == (NU8)(46));
LA4_: ;
if (!T3_) goto LA5_;
result = copyString(ext);
}
goto LA1_;
LA5_: ;
{
NimStringDesc* T8_;
nimln_(619, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T8_ = NIM_NIL;
T8_ = rawNewString((ext ? ext->Sup.len : 0) + 1);
appendChar(T8_, 46);
appendString(T8_, ext);
result = T8_;
}
LA1_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosaddFileExt)(NimStringDesc* filename, NimStringDesc* ext) {
NimStringDesc* result;
NI extPos;
nimfr_("addFileExt", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = NIM_NIL;
nimln_(786, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
extPos = searchExtPos__pureZos_271(filename);
nimln_(787, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NimStringDesc* T5_;
NimStringDesc* T6_;
if (!(extPos < ((NI) 0))) goto LA3_;
T5_ = NIM_NIL;
T6_ = NIM_NIL;
T6_ = normExt__pureZos_268(ext);
T5_ = rawNewString((filename ? filename->Sup.len : 0) + (T6_ ? T6_->Sup.len : 0) + 0);
appendString(T5_, filename);
appendString(T5_, T6_);
result = T5_;
}
goto LA1_;
LA3_: ;
{
nimln_(788, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = copyString(filename);
}
LA1_: ;
popFrame();
return result;
}
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
nimSetMem__systemZmemory_7(p, ((int) 0), size);
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosfileExists)(NimStringDesc* filename) {
NIM_BOOL result;
struct stat res;
NIM_BOOL T1_;
int T2_;
nimfr_("fileExists", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{ result = (NIM_BOOL)0;
nimZeroMem((void*)(&res), sizeof(struct stat));
nimln_(1175, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T1_ = (NIM_BOOL)0;
T2_ = (int)0;
T2_ = stat(nimToCStringConv(filename), (&res));
T1_ = (((NI32) 0) <= T2_);
if (!(T1_)) goto LA3_;
T1_ = S_ISREG(res.st_mode);
LA3_: ;
result = T1_;
goto BeforeRet_;
}BeforeRet_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, expandTilde__pureZos_578)(NimStringDesc* path) {
NimStringDesc* result;
nimfr_("expandTilde", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = NIM_NIL;
nimln_(1037, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = ((path ? path->Sup.len : 0) == ((NI) 0));
if (T3_) goto LA4_;
if (((NI) 0) < 0 || ((NI) 0) >= (path ? path->Sup.len : 0)){ raiseIndexError2(((NI) 0),(path ? path->Sup.len : 0)-1); }
T3_ = !(((NU8)(path->data[((NI) 0)]) == (NU8)(126)));
LA4_: ;
if (!T3_) goto LA5_;
nimln_(1038, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = copyString(path);
}
goto LA1_;
LA5_: ;
{
nimln_(1039, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (!((path ? path->Sup.len : 0) == ((NI) 1))) goto LA8_;
nimln_(1040, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = nosgetHomeDir();
}
goto LA1_;
LA8_: ;
{
NimStringDesc* T13_;
NimStringDesc* T14_;
nimln_(1041, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (((NI) 1) < 0 || ((NI) 1) >= (path ? path->Sup.len : 0)){ raiseIndexError2(((NI) 1),(path ? path->Sup.len : 0)-1); }
if (!(((NU8)(path->data[((NI) 1)])) == ((NU8)(47)) || ((NU8)(path->data[((NI) 1)])) == ((NU8)(47)))) goto LA11_;
nimln_(1042, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T13_ = NIM_NIL;
T13_ = nosgetHomeDir();
T14_ = NIM_NIL;
T14_ = substr__system_7802(path, ((NI) 2));
result = slash___pureZos_121(T13_, T14_);
}
goto LA1_;
LA11_: ;
{
nimln_(1045, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = copyString(path);
}
LA1_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nossymlinkExists)(NimStringDesc* link) {
NIM_BOOL result;
struct stat res;
NIM_BOOL T1_;
int T2_;
nimfr_("symlinkExists", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = (NIM_BOOL)0;
nimZeroMem((void*)(&res), sizeof(struct stat));
nimln_(1216, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T1_ = (NIM_BOOL)0;
T2_ = (int)0;
T2_ = lstat(nimToCStringConv(link), (&res));
T1_ = (((NI32) 0) <= T2_);
if (!(T1_)) goto LA3_;
T1_ = S_ISLNK(res.st_mode);
LA3_: ;
result = T1_;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosisAbsolute)(NimStringDesc* path) {
NIM_BOOL result;
nimfr_("isAbsolute", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{ result = (NIM_BOOL)0;
nimln_(287, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!((path ? path->Sup.len : 0) == ((NI) 0))) goto LA3_;
result = NIM_FALSE;
goto BeforeRet_;
}
LA3_: ;
nimln_(301, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (((NI) 0) < 0 || ((NI) 0) >= (path ? path->Sup.len : 0)){ raiseIndexError2(((NI) 0),(path ? path->Sup.len : 0)-1); }
result = ((NU8)(path->data[((NI) 0)]) == (NU8)(47));
}BeforeRet_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, parentDirPos__pureZos_195)(NimStringDesc* path) {
NI result;
NI q;
nimfr_("parentDirPos", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{ result = (NI)0;
nimln_(467, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
q = ((NI) 1);
nimln_(468, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T3_;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_36;
T3_ = (NIM_BOOL)0;
T3_ = (((NI) 1) <= (path ? path->Sup.len : 0));
if (!(T3_)) goto LA4_;
if (nimSubInt((path ? path->Sup.len : 0), ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_36)) { raiseOverflow(); };
if ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_36) < 0 || (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_36) >= (path ? path->Sup.len : 0)){ raiseIndexError2((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_36),(path ? path->Sup.len : 0)-1); }
T3_ = (((NU8)(path->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_36)])) == ((NU8)(47)) || ((NU8)(path->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_36)])) == ((NU8)(47)));
LA4_: ;
if (!T3_) goto LA5_;
q = ((NI) 2);
}
LA5_: ;
{
NI i;
NI colontmp_;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_37;
NI res;
i = (NI)0;
colontmp_ = (NI)0;
nimln_(469, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (nimSubInt((path ? path->Sup.len : 0), q, &TM__yu6cxgKBBXbNsTkT9cyMd4g_37)) { raiseOverflow(); };
colontmp_ = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_37);
nimln_(33, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
res = colontmp_;
{
nimln_(34, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
while (1) {
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_38;
if (!(((NI) 0) <= res)) goto LA9;
nimln_(469, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
i = res;
{
nimln_(470, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (i < 0 || i >= (path ? path->Sup.len : 0)){ raiseIndexError2(i,(path ? path->Sup.len : 0)-1); }
if (!(((NU8)(path->data[i])) == ((NU8)(47)) || ((NU8)(path->data[i])) == ((NU8)(47)))) goto LA12_;
result = i;
goto BeforeRet_;
}
LA12_: ;
nimln_(36, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
if (nimSubInt(res, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_38)) { raiseOverflow(); };
res = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_38);
} LA9: ;
}
}
nimln_(471, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = ((NI) -1);
}BeforeRet_: ;
popFrame();
return result;
}
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
int result;
result = (int)0;
result = memcmp(a, b, ((size_t) (size)));
return result;
}
static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
NIM_BOOL result;
int T1_;
result = (NIM_BOOL)0;
T1_ = (int)0;
T1_ = nimCmpMem(a, b, size);
result = (T1_ == ((NI32) 0));
return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
NIM_BOOL result;
NI alen;
NI blen;
nimfr_("eqStrings", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/strmantle.nim");
{ result = (NIM_BOOL)0;
nimln_(27, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/strmantle.nim");
alen = (a ? a->Sup.len : 0);
nimln_(28, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/strmantle.nim");
blen = (b ? b->Sup.len : 0);
nimln_(29, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/strmantle.nim");
{
if (!(alen == blen)) goto LA3_;
nimln_(30, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/strmantle.nim");
{
if (!(alen == ((NI) 0))) goto LA7_;
result = NIM_TRUE;
goto BeforeRet_;
}
LA7_: ;
nimln_(31, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/strmantle.nim");
result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosparentDir)(NimStringDesc* path) {
NimStringDesc* result;
NI sepPos;
nimfr_("parentDir", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = NIM_NIL;
nimln_(497, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = normalizePath__pureZpathnorm_127(path, 47);
nimln_(498, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
sepPos = parentDirPos__pureZos_195(result);
nimln_(499, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!(((NI) 0) <= sepPos)) goto LA3_;
nimln_(500, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = substr__system_7790(result, ((NI) 0), sepPos);
nimln_(501, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
normalizePathEnd__pureZos_51((&result), NIM_FALSE);
}
goto LA1_;
LA3_: ;
{
NIM_BOOL T6_;
NIM_BOOL T7_;
NIM_BOOL T8_;
NIM_CHAR* T12_;
nimln_(502, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T6_ = (NIM_BOOL)0;
T7_ = (NIM_BOOL)0;
T8_ = (NIM_BOOL)0;
T8_ = eqStrings(result, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_39));
if (T8_) goto LA9_;
T8_ = eqStrings(result, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_40));
LA9_: ;
T7_ = T8_;
if (T7_) goto LA10_;
T7_ = ((result ? result->Sup.len : 0) == ((NI) 0));
LA10_: ;
T6_ = T7_;
if (T6_) goto LA11_;
T12_ = (NIM_CHAR*)0;
T12_ = X5BX5D___system_7408((&result), ((NI) 1));
T6_ = (((NU8)((*T12_))) == ((NU8)(47)) || ((NU8)((*T12_))) == ((NU8)(47)));
LA11_: ;
if (!T6_) goto LA13_;
nimln_(505, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = ((NimStringDesc*) NIM_NIL);
}
goto LA1_;
LA13_: ;
{
nimln_(507, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = copyString(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_40));
}
LA1_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, findExe__pureZos_646)(NimStringDesc* exe, NIM_BOOL followSymlinks, NimStringDesc** extensions, NI extensionsLen_0) {
NimStringDesc* result;
NimStringDesc* path;
nimfr_("findExe", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{ result = NIM_NIL;
nimln_(1240, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!((exe ? exe->Sup.len : 0) == ((NI) 0))) goto LA3_;
goto BeforeRet_;
}
LA3_: ;
nimln_(1246, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T7_;
T7_ = (NIM_BOOL)0;
T7_ = contains__pureZos_653((exe) ? (exe->data) : NIM_NIL, (exe ? exe->Sup.len : 0), 47);
if (!T7_) goto LA8_;
{
NimStringDesc** extX60gensym82_;
NI i;
extX60gensym82_ = (NimStringDesc**)0;
nimln_(8, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
i = ((NI) 0);
{
nimln_(9, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
while (1) {
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_31;
if (!(i < extensionsLen_0)) goto LA12;
nimln_(1246, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (i < 0 || i >= extensionsLen_0){ raiseIndexError2(i,extensionsLen_0-1); }
extX60gensym82_ = (&extensions[i]);
nimln_(1243, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = nosaddFileExt(exe, (*extX60gensym82_));
nimln_(1246, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T15_;
nimln_(1244, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T15_ = (NIM_BOOL)0;
T15_ = nosfileExists(result);
if (!T15_) goto LA16_;
goto BeforeRet_;
}
LA16_: ;
nimln_(11, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
if (nimAddInt(i, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_31)) { raiseOverflow(); };
i = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_31);
} LA12: ;
}
}
}
LA8_: ;
nimln_(1249, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
path = getEnv__pureZos_418(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_32), ((NimStringDesc*) NIM_NIL));
{
NimStringDesc* candidate;
NI lastX60gensym34_;
NI splitsX60gensym34_;
candidate = NIM_NIL;
nimln_(365, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
lastX60gensym34_ = ((NI) 0);
nimln_(366, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
splitsX60gensym34_ = ((NI) -1);
{
nimln_(426, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
while (1) {
NI firstX60gensym34_;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_34;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_42;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_43;
nimln_(368, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
if (!(lastX60gensym34_ <= (path ? path->Sup.len : 0))) goto LA20;
nimln_(369, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
firstX60gensym34_ = lastX60gensym34_;
{
nimln_(370, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
while (1) {
NIM_BOOL T23_;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_33;
T23_ = (NIM_BOOL)0;
T23_ = (lastX60gensym34_ < (path ? path->Sup.len : 0));
if (!(T23_)) goto LA24_;
if (lastX60gensym34_ < 0 || lastX60gensym34_ >= (path ? path->Sup.len : 0)){ raiseIndexError2(lastX60gensym34_,(path ? path->Sup.len : 0)-1); }
T23_ = !(((NU8)(path->data[lastX60gensym34_]) == (NU8)(58)));
LA24_: ;
if (!T23_) goto LA22;
nimln_(371, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
if (nimAddInt(lastX60gensym34_, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_33)) { raiseOverflow(); };
lastX60gensym34_ = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_33);
} LA22: ;
}
nimln_(372, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
{
if (!(splitsX60gensym34_ == ((NI) 0))) goto LA27_;
lastX60gensym34_ = (path ? path->Sup.len : 0);
}
LA27_: ;
nimln_(1250, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
nimln_(373, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
if (nimSubInt(lastX60gensym34_, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_34)) { raiseOverflow(); };
nimln_(1250, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
candidate = substr__system_7790(path, firstX60gensym34_, (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_34));
{
NimStringDesc* x;
NimStringDesc* T34_;
nimln_(1251, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!((candidate ? candidate->Sup.len : 0) == ((NI) 0))) goto LA32_;
goto LA29;
}
LA32_: ;
nimln_(1257, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T34_ = NIM_NIL;
T34_ = expandTilde__pureZos_578(candidate);
x = slash___pureZos_121(T34_, exe);
{
NimStringDesc** ext;
NI i_2;
ext = (NimStringDesc**)0;
nimln_(8, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
i_2 = ((NI) 0);
{
nimln_(9, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
while (1) {
NimStringDesc* x_2;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_41;
if (!(i_2 < extensionsLen_0)) goto LA37;
nimln_(1258, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (i_2 < 0 || i_2 >= extensionsLen_0){ raiseIndexError2(i_2,extensionsLen_0-1); }
ext = (&extensions[i_2]);
nimln_(1259, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
x_2 = nosaddFileExt(x, (*ext));
nimln_(1258, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T40_;
nimln_(1260, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T40_ = (NIM_BOOL)0;
T40_ = nosfileExists(x_2);
if (!T40_) goto LA41_;
{
nimln_(1262, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
while (1) {
if (!followSymlinks) goto LA44;
nimln_(1263, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T47_;
NimStringDesc* r;
NI len;
T47_ = (NIM_BOOL)0;
T47_ = nossymlinkExists(x_2);
if (!T47_) goto LA48_;
nimln_(1264, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
r = mnewString(((NI) 1024));
nimln_(1265, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
len = readlink(nimToCStringConv(x_2), nimToCStringConv(r), ((NI) 1024));
nimln_(1266, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NI32 T54_;
if (!(len < ((NI) 0))) goto LA52_;
nimln_(1267, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T54_ = (NI32)0;
T54_ = osLastError__pureZos_408();
raiseOSError__pureZos_405(T54_, exe);
}
LA52_: ;
nimln_(1268, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_35;
if (!(((NI) 1024) < len)) goto LA57_;
nimln_(1269, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (nimAddInt(len, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_35)) { raiseOverflow(); };
if (((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_35)) < ((NI) 0) || ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_35)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_35), ((NI) 0), ((NI) IL64(9223372036854775807))); }
r = mnewString(((NI) ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_35))));
nimln_(1270, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
len = readlink(nimToCStringConv(x_2), nimToCStringConv(r), len);
}
LA57_: ;
nimln_(1271, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if ((len) < ((NI) 0) || (len) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(len, ((NI) 0), ((NI) IL64(9223372036854775807))); }
r = setLengthStr(r, ((NI) (len)));
nimln_(1272, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T61_;
T61_ = (NIM_BOOL)0;
T61_ = nosisAbsolute(r);
if (!T61_) goto LA62_;
nimln_(1273, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
x_2 = copyString(r);
}
goto LA59_;
LA62_: ;
{
NimStringDesc* T65_;
nimln_(1275, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T65_ = NIM_NIL;
T65_ = nosparentDir(x_2);
x_2 = slash___pureZos_121(T65_, r);
}
LA59_: ;
}
goto LA45_;
LA48_: ;
{
nimln_(1277, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
goto LA43;
}
LA45_: ;
} LA44: ;
} LA43: ;
nimln_(1278, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = copyString(x_2);
goto BeforeRet_;
}
LA41_: ;
nimln_(11, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
if (nimAddInt(i_2, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_41)) { raiseOverflow(); };
i_2 = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_41);
} LA37: ;
}
}
} LA29: ;
nimln_(374, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
{
if (!(splitsX60gensym34_ == ((NI) 0))) goto LA69_;
goto LA19;
}
LA69_: ;
nimln_(375, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
if (nimSubInt(splitsX60gensym34_, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_42)) { raiseOverflow(); };
splitsX60gensym34_ = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_42);
nimln_(376, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
if (nimAddInt(lastX60gensym34_, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_43)) { raiseOverflow(); };
lastX60gensym34_ = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_43);
} LA20: ;
} LA19: ;
}
nimln_(1279, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = ((NimStringDesc*) NIM_NIL);
}BeforeRet_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, absolutePath__pureZos_735)(NimStringDesc* path, NimStringDesc* root) {
NimStringDesc* result;
nimfr_("absolutePath", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = NIM_NIL;
nimln_(1442, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
nimln_(1452, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = nosisAbsolute(path);
if (!T3_) goto LA4_;
result = copyString(path);
}
goto LA1_;
LA4_: ;
{
nimln_(1454, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T9_;
tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T12_;
NimStringDesc* T13_;
T9_ = (NIM_BOOL)0;
T9_ = nosisAbsolute(root);
if (!!(T9_)) goto LA10_;
T12_ = NIM_NIL;
T12_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
(*T12_).Sup.Sup.Sup.m_type = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
(*T12_).Sup.Sup.name = "ValueError";
nimln_(1455, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T13_ = NIM_NIL;
T13_ = rawNewString((root ? root->Sup.len : 0) + 36);
appendString(T13_, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_44));
appendString(T13_, root);
asgnRef((void**) (&(*T12_).Sup.Sup.message), T13_);
asgnRef((void**) (&(*T12_).Sup.Sup.parent), ((Exception*) NIM_NIL));
raiseExceptionEx((Exception*)T12_, "ValueError", "absolutePath", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim", 1455);
}
LA10_: ;
nimln_(1456, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = nosjoinPath(root, path);
}
LA1_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosdirExists)(NimStringDesc* dir) {
NIM_BOOL result;
struct stat res;
NIM_BOOL T1_;
int T2_;
nimfr_("dirExists", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = (NIM_BOOL)0;
nimZeroMem((void*)(&res), sizeof(struct stat));
nimln_(1194, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T1_ = (NIM_BOOL)0;
T2_ = (int)0;
T2_ = stat(nimToCStringConv(dir), (&res));
T1_ = (((NI32) 0) <= T2_);
if (!(T1_)) goto LA3_;
T1_ = S_ISDIR(res.st_mode);
LA3_: ;
result = T1_;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, putEnv__pureZos_426)(NimStringDesc* key, NimStringDesc* val) {
nimfr_("putEnv", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/osenv.nim");
nimln_(103, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/osenv.nim");
{
int T3_;
NI32 T6_;
tyTuple__UV3llMMYFckfui8YMBuUZA T7_;
NimStringDesc* T8_;
T3_ = (int)0;
T3_ = setenv(nimToCStringConv(key), nimToCStringConv(val), ((NI32) 1));
if (!!((T3_ == ((NI32) 0)))) goto LA4_;
nimln_(104, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/osenv.nim");
T6_ = (NI32)0;
T6_ = osLastError__pureZos_408();
nimZeroMem((void*)(&T7_), sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
T7_.Field0 = copyString(key);
T7_.Field1 = copyString(val);
T8_ = NIM_NIL;
T8_ = dollar___pureZos_429(T7_);
raiseOSError__pureZos_405(T6_, T8_);
}
LA4_: ;
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, rawCreateDir__pureZos_1406)(NimStringDesc* dir) {
NIM_BOOL result;
int res;
nimfr_("rawCreateDir", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = (NIM_BOOL)0;
nimln_(2488, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
res = mkdir(nimToCStringConv(dir), ((mode_t) 511));
nimln_(2489, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!(res == ((NI32) 0))) goto LA3_;
nimln_(2490, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = NIM_TRUE;
}
goto LA1_;
LA3_: ;
{
nimln_(2491, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (!(errno == ((int) 17))) goto LA6_;
nimln_(2492, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = NIM_FALSE;
}
goto LA1_;
LA6_: ;
{
NI32 T9_;
nimln_(2495, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T9_ = (NI32)0;
T9_ = osLastError__pureZos_408();
raiseOSError__pureZos_405(T9_, dir);
}
LA1_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosexistsOrCreateDir)(NimStringDesc* dir) {
NIM_BOOL result;
NIM_BOOL T1_;
nimfr_("existsOrCreateDir", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = (NIM_BOOL)0;
nimln_(2522, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T1_ = (NIM_BOOL)0;
T1_ = rawCreateDir__pureZos_1406(dir);
result = !(T1_);
nimln_(2523, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!result) goto LA4_;
nimln_(2525, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T8_;
tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw* T11_;
NimStringDesc* T12_;
T8_ = (NIM_BOOL)0;
T8_ = nosdirExists(dir);
if (!!(T8_)) goto LA9_;
T11_ = NIM_NIL;
T11_ = (tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw*) newObj((&NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_), sizeof(tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw));
(*T11_).Sup.Sup.Sup.m_type = (&NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_);
(*T11_).Sup.Sup.name = "IOError";
nimln_(2526, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T12_ = NIM_NIL;
T12_ = rawNewString((dir ? dir->Sup.len : 0) + 19);
appendString(T12_, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_46));
appendString(T12_, dir);
appendString(T12_, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_47));
asgnRef((void**) (&(*T11_).Sup.Sup.message), T12_);
asgnRef((void**) (&(*T11_).Sup.Sup.parent), ((Exception*) NIM_NIL));
raiseExceptionEx((Exception*)T11_, "IOError", "existsOrCreateDir", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim", 2526);
}
LA9_: ;
}
LA4_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, noscreateDir)(NimStringDesc* dir) {
NIM_BOOL omitNext;
nimfr_("createDir", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
nimln_(2544, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
omitNext = NIM_FALSE;
{
NI i;
NI colontmp_;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_45;
NI res;
i = (NI)0;
colontmp_ = (NI)0;
nimln_(2547, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (nimSubInt((dir ? dir->Sup.len : 0), ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_45)) { raiseOverflow(); };
colontmp_ = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_45);
nimln_(90, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
res = ((NI) 1);
{
nimln_(91, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
while (1) {
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_49;
if (!(res <= colontmp_)) goto LA3;
nimln_(2547, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
i = res;
{
nimln_(2548, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (i < 0 || i >= (dir ? dir->Sup.len : 0)){ raiseIndexError2(i,(dir ? dir->Sup.len : 0)-1); }
if (!(((NU8)(dir->data[i])) == ((NU8)(47)) || ((NU8)(dir->data[i])) == ((NU8)(47)))) goto LA6_;
nimln_(2549, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!omitNext) goto LA10_;
nimln_(2550, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
omitNext = NIM_FALSE;
}
goto LA8_;
LA10_: ;
{
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_48;
NimStringDesc* T13_;
NIM_BOOL T14_;
nimln_(2552, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (nimSubInt(i, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_48)) { raiseOverflow(); };
T13_ = NIM_NIL;
T13_ = substr__system_7790(dir, ((NI) 0), (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_48));
T14_ = (NIM_BOOL)0;
T14_ = nosexistsOrCreateDir(T13_);
(void)(T14_);
}
LA8_: ;
}
LA6_: ;
nimln_(93, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
if (nimAddInt(res, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_49)) { raiseOverflow(); };
res = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_49);
} LA3: ;
}
}
nimln_(2555, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T17_;
NIM_BOOL T18_;
NIM_CHAR T21_;
NIM_BOOL T24_;
T17_ = (NIM_BOOL)0;
T18_ = (NIM_BOOL)0;
T18_ = (((NI) 0) < (dir ? dir->Sup.len : 0));
if (!(T18_)) goto LA19_;
T18_ = !(omitNext);
LA19_: ;
T17_ = T18_;
if (!(T17_)) goto LA20_;
nimln_(2556, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T21_ = (NIM_CHAR)0;
T21_ = X5BX5D___system_7375(dir, ((NI) 1));
T17_ = !((((NU8)(T21_)) == ((NU8)(47)) || ((NU8)(T21_)) == ((NU8)(47))));
LA20_: ;
if (!T17_) goto LA22_;
nimln_(2557, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T24_ = (NIM_BOOL)0;
T24_ = nosexistsOrCreateDir(dir);
(void)(T24_);
}
LA22_: ;
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, existsEnv__pureZos_423)(NimStringDesc* key) {
NIM_BOOL result;
NCSTRING T1_;
NIM_BOOL T2_;
nimfr_("existsEnv", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/osenv.nim");
{ result = (NIM_BOOL)0;
nimln_(86, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/includes/osenv.nim");
T1_ = (NCSTRING)0;
T1_ = getenv(nimToCStringConv(key));
T2_ = (NIM_BOOL)0;
T2_ = eqeq___system_7770(T1_, ((NCSTRING) NIM_NIL));
result = !(T2_);
goto BeforeRet_;
}BeforeRet_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI64, nosgetFileSize)(NimStringDesc* file) {
NI64 result;
FILE* f;
nimfr_("getFileSize", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = (NI64)0;
f = (FILE*)0;
nimln_(3228, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = open__systemZio_392(&f, file, ((tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg) 0), ((NI) -1));
if (!T3_) goto LA4_;
nimln_(3229, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = getFileSize__systemZio_455(f);
nimln_(3230, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
close__systemZio_217(f);
}
goto LA1_;
LA4_: ;
{
NI32 T7_;
nimln_(3231, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T7_ = (NI32)0;
T7_ = osLastError__pureZos_408();
raiseOSError__pureZos_405(T7_, file);
}
LA1_: ;
popFrame();
return result;
}
static N_INLINE(NI, countSetBitsImpl__systemZcountbits95impl_26)(NU32 x) {
NI result;
int T1_;
nimfr_("countSetBitsImpl", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/countbits_impl.nim");
result = (NI)0;
nimln_(74, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/countbits_impl.nim");
T1_ = (int)0;
T1_ = __builtin_popcount(x);
result = ((NI) (T1_));
popFrame();
return result;
}
static N_INLINE(NI, countBits32)(NU32 n) {
NI result;
nimfr_("countBits32", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/countbits_impl.nim");
result = (NI)0;
nimln_(92, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/countbits_impl.nim");
result = countSetBitsImpl__systemZcountbits95impl_26(n);
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, createSymlink__pureZos_1011)(NimStringDesc* src, NimStringDesc* dest) {
nimfr_("createSymlink", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
nimln_(1766, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
int T3_;
NI32 T6_;
tyTuple__UV3llMMYFckfui8YMBuUZA T7_;
NimStringDesc* T8_;
T3_ = (int)0;
T3_ = symlink(nimToCStringConv(src), nimToCStringConv(dest));
if (!!((T3_ == ((NI32) 0)))) goto LA4_;
nimln_(1767, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T6_ = (NI32)0;
T6_ = osLastError__pureZos_408();
nimZeroMem((void*)(&T7_), sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
T7_.Field0 = copyString(src);
T7_.Field1 = copyString(dest);
T8_ = NIM_NIL;
T8_ = dollar___pureZos_429(T7_);
raiseOSError__pureZos_405(T6_, T8_);
}
LA4_: ;
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, expandSymlink__pureZos_1017)(NimStringDesc* symlinkPath) {
NimStringDesc* result;
NI len;
nimfr_("expandSymlink", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = NIM_NIL;
nimln_(1779, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = mnewString(((NI) 1024));
nimln_(1780, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
len = readlink(nimToCStringConv(symlinkPath), nimToCStringConv(result), ((NI) 1024));
nimln_(1781, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NI32 T5_;
if (!(len < ((NI) 0))) goto LA3_;
nimln_(1782, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T5_ = (NI32)0;
T5_ = osLastError__pureZos_408();
raiseOSError__pureZos_405(T5_, symlinkPath);
}
LA3_: ;
nimln_(1783, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_51;
if (!(((NI) 1024) < len)) goto LA8_;
nimln_(1784, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (nimAddInt(len, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_51)) { raiseOverflow(); };
if (((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_51)) < ((NI) 0) || ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_51)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_51), ((NI) 0), ((NI) IL64(9223372036854775807))); }
result = mnewString(((NI) ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_51))));
nimln_(1785, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
len = readlink(nimToCStringConv(symlinkPath), nimToCStringConv(result), len);
}
LA8_: ;
nimln_(1786, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if ((len) < ((NI) 0) || (len) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(len, ((NI) 0), ((NI) IL64(9223372036854775807))); }
result = setLengthStr(result, ((NI) (len)));
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, noscopyFile)(NimStringDesc* source, NimStringDesc* dest, tySet_tyEnum_CopyFlag__pdzel23GjJ9cPFw8c5ldeRA options) {
NIM_BOOL isSymlink;
nimfr_("copyFile", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{ nimln_(1851, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!!((countBits32((7 & options)) == ((NI) 1)))) goto LA3_;
failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_50));
}
LA3_: ;
nimln_(1853, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
isSymlink = nossymlinkExists(source);
nimln_(1854, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T7_;
NIM_BOOL T9_;
T7_ = (NIM_BOOL)0;
T7_ = isSymlink;
if (!(T7_)) goto LA8_;
T9_ = (NIM_BOOL)0;
T9_ = ((options &((NU8)1<<((NU)(((tyEnum_CopyFlag__pdzel23GjJ9cPFw8c5ldeRA) 2))&7U)))!=0);
if (T9_) goto LA10_;
T9_ = NIM_FALSE;
LA10_: ;
T7_ = T9_;
LA8_: ;
if (!T7_) goto LA11_;
nimln_(1855, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
goto BeforeRet_;
}
LA11_: ;
nimln_(1866, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T15_;
NimStringDesc* T19_;
T15_ = (NIM_BOOL)0;
T15_ = isSymlink;
if (!(T15_)) goto LA16_;
T15_ = ((options &((NU8)1<<((NU)(((tyEnum_CopyFlag__pdzel23GjJ9cPFw8c5ldeRA) 0))&7U)))!=0);
LA16_: ;
if (!T15_) goto LA17_;
nimln_(1867, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T19_ = NIM_NIL;
T19_ = expandSymlink__pureZos_1017(source);
createSymlink__pureZos_1011(T19_, dest);
}
goto LA13_;
LA17_: ;
{
FILE* d;
FILE* s;
void* buf;
d = (FILE*)0;
s = (FILE*)0;
nimln_(1885, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T23_;
NI32 T26_;
T23_ = (NIM_BOOL)0;
T23_ = open__systemZio_392(&s, source, ((tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg) 0), ((NI) -1));
if (!!(T23_)) goto LA24_;
T26_ = (NI32)0;
T26_ = osLastError__pureZos_408();
raiseOSError__pureZos_405(T26_, source);
}
LA24_: ;
nimln_(1886, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T29_;
NI32 T32_;
T29_ = (NIM_BOOL)0;
T29_ = open__systemZio_392(&d, dest, ((tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg) 1), ((NI) -1));
if (!!(T29_)) goto LA30_;
nimln_(1887, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
close__systemZio_217(s);
nimln_(1888, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T32_ = (NI32)0;
T32_ = osLastError__pureZos_408();
raiseOSError__pureZos_405(T32_, dest);
}
LA30_: ;
nimln_(1889, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
buf = allocImpl__system_1743(((NI) 8000));
{
nimln_(1890, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
while (1) {
NI bytesread;
nimln_(1891, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
bytesread = readBuffer__systemZio_144(s, buf, ((NI) 8000));
nimln_(1892, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NI byteswritten;
if (!(((NI) 0) < bytesread)) goto LA37_;
nimln_(1893, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if ((bytesread) < ((NI) 0) || (bytesread) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(bytesread, ((NI) 0), ((NI) IL64(9223372036854775807))); }
byteswritten = writeBuffer__systemZio_176(d, buf, ((NI) (bytesread)));
nimln_(1894, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NI32 T43_;
if (!!((bytesread == byteswritten))) goto LA41_;
nimln_(1895, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
dealloc(buf);
nimln_(1896, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
close__systemZio_217(s);
nimln_(1897, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
close__systemZio_217(d);
nimln_(1898, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T43_ = (NI32)0;
T43_ = osLastError__pureZos_408();
raiseOSError__pureZos_405(T43_, dest);
}
LA41_: ;
}
LA37_: ;
nimln_(1899, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!!((bytesread == ((NI) 8000)))) goto LA46_;
goto LA33;
}
LA46_: ;
}
} LA33: ;
nimln_(1900, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
dealloc(buf);
nimln_(1901, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
close__systemZio_217(s);
nimln_(1902, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
flushFile__systemZio_226(d);
nimln_(1903, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
close__systemZio_217(d);
}
LA13_: ;
}BeforeRet_: ;
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg, getSymlinkFileKind__pureZos_1220)(NimStringDesc* path) {
tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg result;
struct stat s;
nimfr_("getSymlinkFileKind", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = (tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg)0;
nimZeroMem((void*)(&s), sizeof(struct stat));
nimln_(2260, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!!(!(((path ? path->Sup.len : 0) == 0)))) goto LA3_;
failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_52));
}
LA3_: ;
nimln_(2261, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T7_;
int T8_;
T7_ = (NIM_BOOL)0;
T8_ = (int)0;
T8_ = stat(nimToCStringConv(path), (&s));
T7_ = (T8_ == ((NI32) 0));
if (!(T7_)) goto LA9_;
T7_ = S_ISDIR(s.st_mode);
LA9_: ;
if (!T7_) goto LA10_;
nimln_(2262, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 3);
}
goto LA5_;
LA10_: ;
{
nimln_(2264, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 1);
}
LA5_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, nossplitFile)(NimStringDesc* path, tyTuple__7q7q3E6Oj24ZNVJb9aonhAg* Result) {
NI namePos;
NI dotPos;
nimfr_("splitFile", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
unsureAsgnRef((void**)&(*Result).Field0, NIM_NIL);
unsureAsgnRef((void**)&(*Result).Field1, NIM_NIL);
unsureAsgnRef((void**)&(*Result).Field2, NIM_NIL);
nimln_(681, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
namePos = ((NI) 0);
nimln_(682, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
dotPos = ((NI) 0);
{
NI i;
NI colontmp_;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_53;
NI res;
i = (NI)0;
colontmp_ = (NI)0;
nimln_(683, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (nimSubInt((path ? path->Sup.len : 0), ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_53)) { raiseOverflow(); };
colontmp_ = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_53);
nimln_(33, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
res = colontmp_;
{
nimln_(34, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
while (1) {
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_60;
if (!(((NI) 0) <= res)) goto LA3;
nimln_(683, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
i = res;
{
NIM_BOOL T6_;
nimln_(684, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T6_ = (NIM_BOOL)0;
if (i < 0 || i >= (path ? path->Sup.len : 0)){ raiseIndexError2(i,(path ? path->Sup.len : 0)-1); }
T6_ = (((NU8)(path->data[i])) == ((NU8)(47)) || ((NU8)(path->data[i])) == ((NU8)(47)));
if (T6_) goto LA7_;
T6_ = (i == ((NI) 0));
LA7_: ;
if (!T6_) goto LA8_;
nimln_(685, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NI T14_;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_55;
if (i < 0 || i >= (path ? path->Sup.len : 0)){ raiseIndexError2(i,(path ? path->Sup.len : 0)-1); }
if (!(((NU8)(path->data[i])) == ((NU8)(47)) || ((NU8)(path->data[i])) == ((NU8)(47)))) goto LA12_;
nimln_(686, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T14_ = (NI)0;
{
NIM_BOOL T17_;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_54;
nimln_(2093, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
nimln_(686, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
nimln_(2093, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
T17_ = (NIM_BOOL)0;
T17_ = NIM_LIKELY((((NI) 1) <= i));
if (!T17_) goto LA18_;
nimln_(686, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (nimSubInt(i, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_54)) { raiseOverflow(); };
T14_ = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_54);
}
goto LA15_;
LA18_: ;
{
T14_ = ((NI) 0);
}
LA15_: ;
unsureAsgnRef((void**) (&(*Result).Field0), substr__system_7790(path, ((NI) 0), T14_));
nimln_(687, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (nimAddInt(i, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_55)) { raiseOverflow(); };
namePos = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_55);
}
LA12_: ;
nimln_(688, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_56;
if (!(i < dotPos)) goto LA23_;
nimln_(689, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (nimSubInt(dotPos, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_56)) { raiseOverflow(); };
unsureAsgnRef((void**) (&(*Result).Field1), substr__system_7790(path, namePos, (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_56)));
nimln_(690, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
unsureAsgnRef((void**) (&(*Result).Field2), substr__system_7802(path, dotPos));
}
goto LA21_;
LA23_: ;
{
nimln_(692, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
unsureAsgnRef((void**) (&(*Result).Field1), substr__system_7802(path, namePos));
}
LA21_: ;
nimln_(693, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
goto LA1;
}
goto LA4_;
LA8_: ;
{
NIM_BOOL T27_;
NIM_BOOL T28_;
NIM_BOOL T29_;
NIM_BOOL T30_;
NIM_BOOL T31_;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_57;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_58;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_59;
nimln_(696, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T27_ = (NIM_BOOL)0;
nimln_(695, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T28_ = (NIM_BOOL)0;
nimln_(694, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T29_ = (NIM_BOOL)0;
T30_ = (NIM_BOOL)0;
T31_ = (NIM_BOOL)0;
if (i < 0 || i >= (path ? path->Sup.len : 0)){ raiseIndexError2(i,(path ? path->Sup.len : 0)-1); }
T31_ = ((NU8)(path->data[i]) == (NU8)(46));
if (!(T31_)) goto LA32_;
T31_ = (((NI) 0) < i);
LA32_: ;
T30_ = T31_;
if (!(T30_)) goto LA33_;
if (nimSubInt((path ? path->Sup.len : 0), ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_57)) { raiseOverflow(); };
T30_ = (i < (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_57));
LA33_: ;
T29_ = T30_;
if (!(T29_)) goto LA34_;
nimln_(695, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (nimSubInt(i, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_58)) { raiseOverflow(); };
if ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_58) < 0 || (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_58) >= (path ? path->Sup.len : 0)){ raiseIndexError2((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_58),(path ? path->Sup.len : 0)-1); }
T29_ = !((((NU8)(path->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_58)])) == ((NU8)(47)) || ((NU8)(path->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_58)])) == ((NU8)(47))));
LA34_: ;
T28_ = T29_;
if (!(T28_)) goto LA35_;
nimln_(696, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (nimAddInt(i, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_59)) { raiseOverflow(); };
if ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_59) < 0 || (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_59) >= (path ? path->Sup.len : 0)){ raiseIndexError2((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_59),(path ? path->Sup.len : 0)-1); }
T28_ = !(((NU8)(path->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_59)]) == (NU8)(46)));
LA35_: ;
T27_ = T28_;
if (!(T27_)) goto LA36_;
T27_ = (dotPos == ((NI) 0));
LA36_: ;
if (!T27_) goto LA37_;
nimln_(697, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
dotPos = i;
}
goto LA4_;
LA37_: ;
LA4_: ;
nimln_(36, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
if (nimSubInt(res, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_60)) { raiseOverflow(); };
res = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_60);
} LA3: ;
}
} LA1: ;
popFrame();
}
static N_INLINE(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, toTime__pureZos_17)(struct timespec ts) {
tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q result;
nimfr_("toTime", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
nimZeroMem((void*)(&result), sizeof(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q));
nimln_(61, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if ((ts.tv_nsec) < ((NI) 0) || (ts.tv_nsec) > ((NI) 999999999)){ raiseRangeErrorI(ts.tv_nsec, ((NI) 0), ((NI) 999999999)); }
result = initTime__pureZtimes_897(((NI64) (ts.tv_sec)), ((NI) (ts.tv_nsec)));
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, nosgetLastModificationTime)(NimStringDesc* file) {
tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q result;
struct stat res;
nimfr_("getLastModificationTime", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
nimZeroMem((void*)(&result), sizeof(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q));
nimZeroMem((void*)(&res), sizeof(struct stat));
nimln_(1294, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
int T3_;
NI32 T6_;
T3_ = (int)0;
T3_ = stat(nimToCStringConv(file), (&res));
if (!(T3_ < ((NI32) 0))) goto LA4_;
T6_ = (NI32)0;
T6_ = osLastError__pureZos_408();
raiseOSError__pureZos_405(T6_, file);
}
LA4_: ;
nimln_(1295, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = toTime__pureZos_17(res.st_mtim);
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getApplAux__pureZos_1549)(NimStringDesc* procPath) {
NimStringDesc* result;
NI len;
nimfr_("getApplAux", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = NIM_NIL;
nimln_(3048, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = mnewString(((NI) 1024));
nimln_(3049, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
len = readlink(nimToCStringConv(procPath), nimToCStringConv(result), ((NI) 1024));
nimln_(3050, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_61;
if (!(((NI) 1024) < len)) goto LA3_;
nimln_(3051, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (nimAddInt(len, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_61)) { raiseOverflow(); };
if (((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_61)) < ((NI) 0) || ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_61)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_61), ((NI) 0), ((NI) IL64(9223372036854775807))); }
result = mnewString(((NI) ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_61))));
nimln_(3052, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
len = readlink(nimToCStringConv(procPath), nimToCStringConv(result), len);
}
LA3_: ;
nimln_(3053, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if ((len) < ((NI) 0) || (len) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(len, ((NI) 0), ((NI) IL64(9223372036854775807))); }
result = setLengthStr(result, ((NI) (len)));
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getApplHeuristic__pureZos_1553)(void) {
NimStringDesc* result;
nimfr_("getApplHeuristic", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{ result = NIM_NIL;
nimln_(3092, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = paramStr__pureZos_1526(((NI) 0));
nimln_(3095, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = (((NI) 0) < (result ? result->Sup.len : 0));
if (!(T3_)) goto LA4_;
if (((NI) 0) < 0 || ((NI) 0) >= (result ? result->Sup.len : 0)){ raiseIndexError2(((NI) 0),(result ? result->Sup.len : 0)-1); }
T3_ = !(((NU8)(result->data[((NI) 0)]) == (NU8)(47)));
LA4_: ;
if (!T3_) goto LA5_;
{
NimStringDesc* p;
NimStringDesc* colontmp_;
NI lastX60gensym37_;
NI splitsX60gensym37_;
p = NIM_NIL;
colontmp_ = NIM_NIL;
nimln_(3097, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
colontmp_ = getEnv__pureZos_418(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_32), ((NimStringDesc*) NIM_NIL));
nimln_(365, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
lastX60gensym37_ = ((NI) 0);
nimln_(366, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
splitsX60gensym37_ = ((NI) -1);
{
nimln_(475, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
while (1) {
NI firstX60gensym37_;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_64;
NimStringDesc* x;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_65;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_66;
nimln_(368, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
if (!(lastX60gensym37_ <= (colontmp_ ? colontmp_->Sup.len : 0))) goto LA9;
nimln_(369, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
firstX60gensym37_ = lastX60gensym37_;
{
nimln_(370, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
while (1) {
NIM_BOOL T12_;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_63;
T12_ = (NIM_BOOL)0;
T12_ = (lastX60gensym37_ < (colontmp_ ? colontmp_->Sup.len : 0));
if (!(T12_)) goto LA13_;
if (lastX60gensym37_ < 0 || lastX60gensym37_ >= (colontmp_ ? colontmp_->Sup.len : 0)){ raiseIndexError2(lastX60gensym37_,(colontmp_ ? colontmp_->Sup.len : 0)-1); }
T12_ = !((((NU8)(colontmp_->data[lastX60gensym37_])) == ((NU8)(58))));
LA13_: ;
if (!T12_) goto LA11;
nimln_(371, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
if (nimAddInt(lastX60gensym37_, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_63)) { raiseOverflow(); };
lastX60gensym37_ = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_63);
} LA11: ;
}
nimln_(372, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
{
if (!(splitsX60gensym37_ == ((NI) 0))) goto LA16_;
lastX60gensym37_ = (colontmp_ ? colontmp_->Sup.len : 0);
}
LA16_: ;
nimln_(3097, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
nimln_(373, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
if (nimSubInt(lastX60gensym37_, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_64)) { raiseOverflow(); };
nimln_(3097, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
p = substr__system_7790(colontmp_, firstX60gensym37_, (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_64));
nimln_(3098, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
x = nosjoinPath(p, result);
nimln_(3097, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T20_;
nimln_(3099, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T20_ = (NIM_BOOL)0;
T20_ = nosfileExists(x);
if (!T20_) goto LA21_;
result = copyString(x);
goto BeforeRet_;
}
LA21_: ;
nimln_(374, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
{
if (!(splitsX60gensym37_ == ((NI) 0))) goto LA25_;
goto LA8;
}
LA25_: ;
nimln_(375, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
if (nimSubInt(splitsX60gensym37_, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_65)) { raiseOverflow(); };
splitsX60gensym37_ = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_65);
nimln_(376, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim");
if (nimAddInt(lastX60gensym37_, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_66)) { raiseOverflow(); };
lastX60gensym37_ = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_66);
} LA9: ;
} LA8: ;
}
}
LA5_: ;
}BeforeRet_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosgetAppFilename)(void) {
NimStringDesc* result;
nimfr_("getAppFilename", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = NIM_NIL;
nimln_(3183, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = getApplAux__pureZos_1549(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_62));
nimln_(3196, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!((result ? result->Sup.len : 0) == ((NI) 0))) goto LA3_;
nimln_(3197, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = getApplHeuristic__pureZos_1553();
}
LA3_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosgetTempDir)(void) {
NimStringDesc* result;
nimfr_("getTempDir", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = NIM_NIL;
{
NimStringDesc* dirX60gensym71_;
NI i;
dirX60gensym71_ = NIM_NIL;
nimln_(33, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
i = ((NI) 0);
{
nimln_(34, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
while (1) {
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_72;
nimln_(1013, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
dirX60gensym71_ = copyString(TM__yu6cxgKBBXbNsTkT9cyMd4g_67[(i)- 0]);
{
NIM_BOOL T6_;
nimln_(966, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T6_ = (NIM_BOOL)0;
T6_ = existsEnv__pureZos_423(dirX60gensym71_);
if (!T6_) goto LA7_;
nimln_(967, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = getEnv__pureZos_418(dirX60gensym71_, ((NimStringDesc*) NIM_NIL));
nimln_(968, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
goto LA1;
}
LA7_: ;
nimln_(36, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
{
if (!(((NI) 3) <= ((NI) (i)))) goto LA11_;
goto LA2;
}
LA11_: ;
nimln_(37, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
if (nimAddInt(i, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_72)) { raiseOverflow(); };
if (TM__yu6cxgKBBXbNsTkT9cyMd4g_72 < 0 || TM__yu6cxgKBBXbNsTkT9cyMd4g_72 > 3){ raiseOverflow(); }
i = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_72);
}
} LA2: ;
} LA1: ;
nimln_(1014, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!((result ? result->Sup.len : 0) == ((NI) 0))) goto LA15_;
nimln_(996, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = copyString(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_73));
}
LA15_: ;
nimln_(1016, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
normalizePathEnd__pureZos_51((&result), NIM_TRUE);
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, noschangeFileExt)(NimStringDesc* filename, NimStringDesc* ext) {
NimStringDesc* result;
NI extPos;
nimfr_("changeFileExt", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = NIM_NIL;
nimln_(762, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
extPos = searchExtPos__pureZos_271(filename);
nimln_(763, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NimStringDesc* T5_;
NimStringDesc* T6_;
if (!(extPos < ((NI) 0))) goto LA3_;
T5_ = NIM_NIL;
T6_ = NIM_NIL;
T6_ = normExt__pureZos_268(ext);
T5_ = rawNewString((filename ? filename->Sup.len : 0) + (T6_ ? T6_->Sup.len : 0) + 0);
appendString(T5_, filename);
appendString(T5_, T6_);
result = T5_;
}
goto LA1_;
LA3_: ;
{
NimStringDesc* T8_;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_74;
NimStringDesc* T9_;
NimStringDesc* T10_;
nimln_(764, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T8_ = NIM_NIL;
if (nimSubInt(extPos, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_74)) { raiseOverflow(); };
T9_ = NIM_NIL;
T9_ = substr__system_7790(filename, ((NI) 0), (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_74));
T10_ = NIM_NIL;
T10_ = normExt__pureZos_268(ext);
T8_ = rawNewString((T9_ ? T9_->Sup.len : 0) + (T10_ ? T10_->Sup.len : 0) + 0);
appendString(T8_, T9_);
appendString(T8_, T10_);
result = T8_;
}
LA1_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosextractFilename)(NimStringDesc* path) {
NimStringDesc* result;
nimfr_("extractFilename", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = NIM_NIL;
nimln_(717, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T3_;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_75;
T3_ = (NIM_BOOL)0;
T3_ = ((path ? path->Sup.len : 0) == ((NI) 0));
if (T3_) goto LA4_;
if (nimSubInt((path ? path->Sup.len : 0), ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_75)) { raiseOverflow(); };
if ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_75) < 0 || (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_75) >= (path ? path->Sup.len : 0)){ raiseIndexError2((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_75),(path ? path->Sup.len : 0)-1); }
T3_ = (((NU8)(path->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_75)])) == ((NU8)(47)) || ((NU8)(path->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_75)])) == ((NU8)(47)));
LA4_: ;
if (!T3_) goto LA5_;
nimln_(718, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = ((NimStringDesc*) NIM_NIL);
}
goto LA1_;
LA5_: ;
{
tyTuple__UV3llMMYFckfui8YMBuUZA T8_;
nimln_(720, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
nimZeroMem((void*)(&T8_), sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
nossplitPath(path, (&T8_));
result = copyString(T8_.Field1);
}
LA1_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nostryRemoveFile)(NimStringDesc* file) {
NIM_BOOL result;
nimfr_("tryRemoveFile", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = (NIM_BOOL)0;
nimln_(1952, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = NIM_TRUE;
nimln_(1968, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T3_;
int T4_;
T3_ = (NIM_BOOL)0;
T4_ = (int)0;
T4_ = unlink(nimToCStringConv(file));
T3_ = !((T4_ == ((NI32) 0)));
if (!(T3_)) goto LA5_;
T3_ = !((errno == ((int) 2)));
LA5_: ;
if (!T3_) goto LA6_;
nimln_(1969, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = NIM_FALSE;
}
LA6_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, getCurrentProcessId__pureZos_1745)(void) {
NI result;
pid_t T1_;
nimfr_("getCurrentProcessId", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = (NI)0;
nimln_(3482, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T1_ = (pid_t)0;
T1_ = getpid();
result = ((NI) (T1_));
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nospquoteShellPosix)(NimStringDesc* s) {
NimStringDesc* result;
nimfr_("quoteShellPosix", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = NIM_NIL;
nimln_(1084, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!((s ? s->Sup.len : 0) == ((NI) 0))) goto LA3_;
nimln_(1085, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = copyString(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_76));
}
goto LA1_;
LA3_: ;
{
NIM_BOOL T6_;
nimln_(1086, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T6_ = (NIM_BOOL)0;
T6_ = allCharsInSet__pureZstrutils_1402(s, TM__yu6cxgKBBXbNsTkT9cyMd4g_77);
if (!T6_) goto LA7_;
nimln_(1087, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = copyString(s);
}
goto LA1_;
LA7_: ;
{
NimStringDesc* T10_;
NimStringDesc* T11_;
nimln_(1089, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T10_ = NIM_NIL;
T11_ = NIM_NIL;
T11_ = nsuReplaceStr(s, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_47), ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_78));
T10_ = rawNewString((T11_ ? T11_->Sup.len : 0) + 2);
appendString(T10_, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_47));
appendString(T10_, T11_);
appendString(T10_, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_47));
result = T10_;
}
LA1_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nospquoteShell)(NimStringDesc* s) {
NimStringDesc* result;
nimfr_("quoteShell", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = NIM_NIL;
nimln_(1101, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = nospquoteShellPosix(s);
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(int, exitStatusLikeShell__pureZos_1100)(int status) {
int result;
nimfr_("exitStatusLikeShell", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = (int)0;
nimln_(2048, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
nimln_(2050, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T3_;
int T6_;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_79;
T3_ = (NIM_BOOL)0;
T3_ = WIFSIGNALED__posixZposix_1063(status);
if (!T3_) goto LA4_;
nimln_(2052, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T6_ = (int)0;
T6_ = WTERMSIG__posixZposix_1054(status);
if (nimAddInt(((NI32) 128), T6_, &TM__yu6cxgKBBXbNsTkT9cyMd4g_79)) { raiseOverflow(); };
if (TM__yu6cxgKBBXbNsTkT9cyMd4g_79 < (-2147483647 -1) || TM__yu6cxgKBBXbNsTkT9cyMd4g_79 > 2147483647){ raiseOverflow(); }
result = (NI32)(TM__yu6cxgKBBXbNsTkT9cyMd4g_79);
}
goto LA1_;
LA4_: ;
{
nimln_(2054, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = WEXITSTATUS__posixZposix_1047(status);
}
LA1_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosisRootDir)(NimStringDesc* path) {
NIM_BOOL result;
NI T1_;
nimfr_("isRootDir", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = (NIM_BOOL)0;
nimln_(545, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T1_ = (NI)0;
T1_ = parentDirPos__pureZos_195(path);
result = (T1_ < ((NI) 0));
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, noscmpPaths)(NimStringDesc* pathA, NimStringDesc* pathB) {
NI result;
NimStringDesc* a;
NimStringDesc* b;
nimfr_("cmpPaths", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = (NI)0;
nimln_(806, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
a = normalizePath__pureZpathnorm_127(pathA, 47);
nimln_(807, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
b = normalizePath__pureZpathnorm_127(pathB, 47);
nimln_(808, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!NIM_TRUE) goto LA3_;
nimln_(809, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = cmp__system_1549(a, b);
}
goto LA1_;
LA3_: ;
{
nimln_(815, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = nsuCmpIgnoreCase(a, b);
}
LA1_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosexpandFilename)(NimStringDesc* filename) {
NimStringDesc* result;
NCSTRING r;
nimfr_("expandFilename", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = NIM_NIL;
nimln_(2230, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
r = realpath(nimToCStringConv(filename), ((NCSTRING) NIM_NIL));
nimln_(2231, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NI32 T5_;
if (!(r == 0)) goto LA3_;
nimln_(2232, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T5_ = (NI32)0;
T5_ = osLastError__pureZos_408();
raiseOSError__pureZos_405(T5_, filename);
}
goto LA1_;
LA3_: ;
{
nimln_(2234, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = cstrToNimstr(r);
nimln_(2235, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
free(((void*) (r)));
}
LA1_: ;
popFrame();
return result;
}
static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
(*s).prev = excHandler__system_2565;
excHandler__system_2565 = s;
}
N_LIB_PRIVATE N_NIMCALL(void, nosremoveFile)(NimStringDesc* file) {
nimfr_("removeFile", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
nimln_(1985, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T3_;
NI32 T6_;
T3_ = (NIM_BOOL)0;
T3_ = nostryRemoveFile(file);
if (!!(T3_)) goto LA4_;
nimln_(1986, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T6_ = (NI32)0;
T6_ = osLastError__pureZos_408();
raiseOSError__pureZos_405(T6_, file);
}
LA4_: ;
popFrame();
}
static N_INLINE(void, popSafePoint)(void) {
excHandler__system_2565 = (*excHandler__system_2565).prev;
}
static N_INLINE(TFrame*, getFrame)(void) {
TFrame* result;
result = (TFrame*)0;
result = framePtr__system_2564;
return result;
}
static N_INLINE(void, setFrame)(TFrame* s) {
framePtr__system_2564 = s;
}
N_LIB_PRIVATE N_NIMCALL(void, rawRemoveDir__pureZos_1399)(NimStringDesc* dir) {
nimfr_("rawRemoveDir", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
nimln_(2438, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T3_;
int T4_;
NI32 T8_;
T3_ = (NIM_BOOL)0;
T4_ = (int)0;
T4_ = rmdir(nimToCStringConv(dir));
T3_ = !((T4_ == ((NI32) 0)));
if (!(T3_)) goto LA5_;
T3_ = !((errno == ((int) 2)));
LA5_: ;
if (!T3_) goto LA6_;
T8_ = (NI32)0;
T8_ = osLastError__pureZos_408();
raiseOSError__pureZos_405(T8_, dir);
}
LA6_: ;
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, nosremoveDir)(NimStringDesc* dir, NIM_BOOL checkDir) {
TFrame* _nimCurFrame;
nimfr_("removeDir", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
_nimCurFrame = getFrame();
{
tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg kind;
NimStringDesc* path;
DIR* d;
kind = (tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg)0;
path = NIM_NIL;
nimln_(2331, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
d = opendir(nimToCStringConv(dir));
nimln_(2332, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!(d == ((DIR*) NIM_NIL))) goto LA4_;
nimln_(2333, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NI32 T10_;
if (!checkDir) goto LA8_;
nimln_(2334, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T10_ = (NI32)0;
T10_ = osLastError__pureZos_408();
raiseOSError__pureZos_405(T10_, dir);
}
LA8_: ;
}
goto LA2_;
LA4_: ;
{
TSafePoint TM__yu6cxgKBBXbNsTkT9cyMd4g_80;
nimln_(2336, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
pushSafePoint(&TM__yu6cxgKBBXbNsTkT9cyMd4g_80);
TM__yu6cxgKBBXbNsTkT9cyMd4g_80.status = setjmp(TM__yu6cxgKBBXbNsTkT9cyMd4g_80.context);
if (TM__yu6cxgKBBXbNsTkT9cyMd4g_80.status == 0) {
{
nimln_(2337, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
while (1) {
{
struct dirent* x;
NimStringDesc* y;
nimln_(2338, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
x = readdir(d);
nimln_(2339, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!(x == ((struct dirent*) NIM_NIL))) goto LA17_;
goto LA12;
}
LA17_: ;
nimln_(2340, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
y = cstrToNimstr(((NCSTRING) ((*x).d_name)));
nimln_(2341, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T21_;
struct stat s;
NimStringDesc* path_2;
tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg k;
T21_ = (NIM_BOOL)0;
T21_ = !(eqStrings(y, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_40)));
if (!(T21_)) goto LA22_;
T21_ = !(eqStrings(y, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_39)));
LA22_: ;
if (!T21_) goto LA23_;
nimZeroMem((void*)(&s), sizeof(struct stat));
nimln_(2343, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
path_2 = slash___pureZos_121(dir, y);
nimln_(2344, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!NIM_TRUE) goto LA27_;
nimln_(2345, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
y = copyString(path_2);
}
LA27_: ;
nimln_(2346, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
k = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 0);
nimln_(2357, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
switch ((*x).d_type) {
case ((NI) 4):
{
nimln_(2358, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
k = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 2);
}
break;
case ((NI) 10):
{
nimln_(2360, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T33_;
T33_ = (NIM_BOOL)0;
T33_ = nosdirExists(path_2);
if (!T33_) goto LA34_;
k = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 3);
}
goto LA31_;
LA34_: ;
{
nimln_(2361, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
k = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 1);
}
LA31_: ;
}
break;
case ((NI) 0):
{
nimln_(2363, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
int T40_;
nimln_(2349, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T40_ = (int)0;
T40_ = lstat(nimToCStringConv(path_2), (&s));
if (!(T40_ < ((NI32) 0))) goto LA41_;
goto LA14;
}
goto LA38_;
LA41_: ;
{
NIM_BOOL T44_;
nimln_(2350, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T44_ = (NIM_BOOL)0;
T44_ = S_ISDIR(s.st_mode);
if (!T44_) goto LA45_;
nimln_(2351, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
k = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 2);
}
goto LA38_;
LA45_: ;
{
NIM_BOOL T48_;
nimln_(2352, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T48_ = (NIM_BOOL)0;
T48_ = S_ISLNK(s.st_mode);
if (!T48_) goto LA49_;
nimln_(2353, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
k = getSymlinkFileKind__pureZos_1220(path_2);
}
goto LA38_;
LA49_: ;
LA38_: ;
}
break;
default:
{
}
break;
}
nimln_(2456, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
kind = k;
path = y;
switch (kind) {
case ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 0):
case ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 1):
case ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 3):
{
nimln_(2458, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
nosremoveFile(path);
}
break;
case ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 2):
{
nimln_(2459, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
nosremoveDir(path, NIM_TRUE);
}
break;
}
}
LA23_: ;
} LA14: ;
}
} LA12: ;
popSafePoint();
}
else {
popSafePoint();
setFrame(_nimCurFrame);
}
{
int T56_;
nimln_(2336, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T56_ = (int)0;
T56_ = closedir(d);
(void)(T56_);
if (TM__yu6cxgKBBXbNsTkT9cyMd4g_80.status != 0) nimLeaveFinally();
}
if (TM__yu6cxgKBBXbNsTkT9cyMd4g_80.status != 0) reraiseException();
}
LA2_: ;
}
nimln_(2463, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
rawRemoveDir__pureZos_1399(dir);
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, getFileInfo__pureZos_1677)(NimStringDesc* path, NIM_BOOL followSymlink, tyObject_FileInfo__i26mN9byzlhWT5HGlFoyCYQ* Result) {
struct stat rawInfo;
dev_t colontmp_;
ino_t colontmp__2;
nimfr_("getFileInfo", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
nimZeroMem((void*)Result, sizeof(tyObject_FileInfo__i26mN9byzlhWT5HGlFoyCYQ));
nimZeroMem((void*)(&rawInfo), sizeof(struct stat));
nimln_(3401, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!followSymlink) goto LA3_;
nimln_(3402, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
int T7_;
NI32 T10_;
T7_ = (int)0;
T7_ = stat(nimToCStringConv(path), (&rawInfo));
if (!(T7_ < ((NI32) 0))) goto LA8_;
nimln_(3403, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T10_ = (NI32)0;
T10_ = osLastError__pureZos_408();
raiseOSError__pureZos_405(T10_, path);
}
LA8_: ;
}
goto LA1_;
LA3_: ;
{
nimln_(3405, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
int T14_;
NI32 T17_;
T14_ = (int)0;
T14_ = lstat(nimToCStringConv(path), (&rawInfo));
if (!(T14_ < ((NI32) 0))) goto LA15_;
nimln_(3406, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T17_ = (NI32)0;
T17_ = osLastError__pureZos_408();
raiseOSError__pureZos_405(T17_, path);
}
LA15_: ;
}
LA1_: ;
nimln_(3299, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
colontmp_ = rawInfo.st_dev;
colontmp__2 = rawInfo.st_ino;
(*Result).id.Field0 = colontmp_;
(*Result).id.Field1 = colontmp__2;
nimln_(3300, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
(*Result).size = ((NI64) (rawInfo.st_size));
nimln_(3301, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (rawInfo.st_nlink > (nlink_t)(IL64(9223372036854775807))){ raiseRangeErrorNoArgs(); }
(*Result).linkCount = ((NI64) (rawInfo.st_nlink));
nimln_(3302, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
(*Result).lastAccessTime = toTime__pureZos_17(rawInfo.st_atim);
nimln_(3303, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
(*Result).lastWriteTime = toTime__pureZos_17(rawInfo.st_mtim);
nimln_(3304, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
(*Result).creationTime = toTime__pureZos_17(rawInfo.st_ctim);
nimln_(3305, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
(*Result).blockSize = rawInfo.st_blksize;
nimln_(3307, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
(*Result).permissions = 0;
nimln_(3308, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
nimln_(3297, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (!!(((NU32)(rawInfo.st_mode & ((mode_t) 256)) == ((mode_t) 0)))) goto LA20_;
nimln_(3298, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
(*Result).permissions |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 2)) & 15);
}
LA20_: ;
nimln_(3309, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
nimln_(3297, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (!!(((NU32)(rawInfo.st_mode & ((mode_t) 128)) == ((mode_t) 0)))) goto LA24_;
nimln_(3298, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
(*Result).permissions |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 1)) & 15);
}
LA24_: ;
nimln_(3310, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
nimln_(3297, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (!!(((NU32)(rawInfo.st_mode & ((mode_t) 64)) == ((mode_t) 0)))) goto LA28_;
nimln_(3298, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
(*Result).permissions |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 0)) & 15);
}
LA28_: ;
nimln_(3312, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
nimln_(3297, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (!!(((NU32)(rawInfo.st_mode & ((mode_t) 32)) == ((mode_t) 0)))) goto LA32_;
nimln_(3298, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
(*Result).permissions |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 5)) & 15);
}
LA32_: ;
nimln_(3313, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
nimln_(3297, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (!!(((NU32)(rawInfo.st_mode & ((mode_t) 16)) == ((mode_t) 0)))) goto LA36_;
nimln_(3298, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
(*Result).permissions |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 4)) & 15);
}
LA36_: ;
nimln_(3314, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
nimln_(3297, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (!!(((NU32)(rawInfo.st_mode & ((mode_t) 8)) == ((mode_t) 0)))) goto LA40_;
nimln_(3298, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
(*Result).permissions |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 3)) & 15);
}
LA40_: ;
nimln_(3316, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
nimln_(3297, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (!!(((NU32)(rawInfo.st_mode & ((mode_t) 4)) == ((mode_t) 0)))) goto LA44_;
nimln_(3298, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
(*Result).permissions |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 8)) & 15);
}
LA44_: ;
nimln_(3317, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
nimln_(3297, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (!!(((NU32)(rawInfo.st_mode & ((mode_t) 2)) == ((mode_t) 0)))) goto LA48_;
nimln_(3298, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
(*Result).permissions |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 7)) & 15);
}
LA48_: ;
nimln_(3318, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
nimln_(3297, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (!!(((NU32)(rawInfo.st_mode & ((mode_t) 1)) == ((mode_t) 0)))) goto LA52_;
nimln_(3298, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
(*Result).permissions |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 6)) & 15);
}
LA52_: ;
nimln_(3321, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T56_;
T56_ = (NIM_BOOL)0;
T56_ = S_ISDIR(rawInfo.st_mode);
if (!T56_) goto LA57_;
(*Result).kind = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 2);
}
goto LA54_;
LA57_: ;
{
NIM_BOOL T60_;
nimln_(3323, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T60_ = (NIM_BOOL)0;
T60_ = S_ISLNK(rawInfo.st_mode);
if (!T60_) goto LA61_;
nimln_(3324, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!!(!(((path ? path->Sup.len : 0) == 0)))) goto LA65_;
failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_81));
}
LA65_: ;
nimln_(3325, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
(*Result).kind = getSymlinkFileKind__pureZos_1220(path);
}
goto LA54_;
LA61_: ;
{
(*Result).kind = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 0);
}
LA54_: ;
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, nossetFilePermissions)(NimStringDesc* filename, tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA permissions, NIM_BOOL followSymlinks) {
mode_t p;
nimfr_("setFilePermissions", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
nimln_(1675, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
p = ((mode_t) 0);
nimln_(1676, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!((permissions &((NU16)1<<((NU)(((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 2))&15U)))!=0)) goto LA3_;
p = (NU32)(p | ((mode_t) 256));
}
LA3_: ;
nimln_(1677, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!((permissions &((NU16)1<<((NU)(((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 1))&15U)))!=0)) goto LA7_;
p = (NU32)(p | ((mode_t) 128));
}
LA7_: ;
nimln_(1678, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!((permissions &((NU16)1<<((NU)(((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 0))&15U)))!=0)) goto LA11_;
p = (NU32)(p | ((mode_t) 64));
}
LA11_: ;
nimln_(1680, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!((permissions &((NU16)1<<((NU)(((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 5))&15U)))!=0)) goto LA15_;
p = (NU32)(p | ((mode_t) 32));
}
LA15_: ;
nimln_(1681, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!((permissions &((NU16)1<<((NU)(((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 4))&15U)))!=0)) goto LA19_;
p = (NU32)(p | ((mode_t) 16));
}
LA19_: ;
nimln_(1682, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!((permissions &((NU16)1<<((NU)(((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 3))&15U)))!=0)) goto LA23_;
p = (NU32)(p | ((mode_t) 8));
}
LA23_: ;
nimln_(1684, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!((permissions &((NU16)1<<((NU)(((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 8))&15U)))!=0)) goto LA27_;
p = (NU32)(p | ((mode_t) 4));
}
LA27_: ;
nimln_(1685, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!((permissions &((NU16)1<<((NU)(((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 7))&15U)))!=0)) goto LA31_;
p = (NU32)(p | ((mode_t) 2));
}
LA31_: ;
nimln_(1686, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!((permissions &((NU16)1<<((NU)(((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 6))&15U)))!=0)) goto LA35_;
p = (NU32)(p | ((mode_t) 1));
}
LA35_: ;
nimln_(1688, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T39_;
T39_ = (NIM_BOOL)0;
T39_ = !(followSymlinks);
if (!(T39_)) goto LA40_;
T39_ = nossymlinkExists(filename);
LA40_: ;
if (!T39_) goto LA41_;
}
goto LA37_;
LA41_: ;
{
nimln_(1693, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
int T46_;
NI32 T49_;
tyTuple__HFn8JzZZeLZ9aKrFg4S9a7HA T50_;
NimStringDesc* T51_;
T46_ = (int)0;
T46_ = chmod(nimToCStringConv(filename), ((mode_t) (p)));
if (!!((T46_ == ((NI32) 0)))) goto LA47_;
nimln_(1694, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T49_ = (NI32)0;
T49_ = osLastError__pureZos_408();
nimZeroMem((void*)(&T50_), sizeof(tyTuple__HFn8JzZZeLZ9aKrFg4S9a7HA));
T50_.Field0 = copyString(filename);
T50_.Field1 = permissions;
T51_ = NIM_NIL;
T51_ = dollar___pureZos_873(T50_);
raiseOSError__pureZos_405(T49_, T51_);
}
LA47_: ;
}
LA37_: ;
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA, nosgetFilePermissions)(NimStringDesc* filename) {
tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA result;
struct stat a;
nimfr_("getFilePermissions", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
nimZeroMem((void*)(&result), sizeof(tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA));
nimZeroMem((void*)(&a), sizeof(struct stat));
nimln_(1630, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
int T3_;
NI32 T6_;
T3_ = (int)0;
T3_ = stat(nimToCStringConv(filename), (&a));
if (!(T3_ < ((NI32) 0))) goto LA4_;
T6_ = (NI32)0;
T6_ = osLastError__pureZos_408();
raiseOSError__pureZos_405(T6_, filename);
}
LA4_: ;
nimln_(1631, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = 0;
nimln_(1632, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!!(((NU32)(a.st_mode & ((mode_t) 256)) == ((mode_t) 0)))) goto LA9_;
result |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 2)) & 15);
}
LA9_: ;
nimln_(1633, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!!(((NU32)(a.st_mode & ((mode_t) 128)) == ((mode_t) 0)))) goto LA13_;
result |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 1)) & 15);
}
LA13_: ;
nimln_(1634, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!!(((NU32)(a.st_mode & ((mode_t) 64)) == ((mode_t) 0)))) goto LA17_;
result |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 0)) & 15);
}
LA17_: ;
nimln_(1636, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!!(((NU32)(a.st_mode & ((mode_t) 32)) == ((mode_t) 0)))) goto LA21_;
result |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 5)) & 15);
}
LA21_: ;
nimln_(1637, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!!(((NU32)(a.st_mode & ((mode_t) 16)) == ((mode_t) 0)))) goto LA25_;
result |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 4)) & 15);
}
LA25_: ;
nimln_(1638, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!!(((NU32)(a.st_mode & ((mode_t) 8)) == ((mode_t) 0)))) goto LA29_;
result |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 3)) & 15);
}
LA29_: ;
nimln_(1640, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!!(((NU32)(a.st_mode & ((mode_t) 4)) == ((mode_t) 0)))) goto LA33_;
result |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 8)) & 15);
}
LA33_: ;
nimln_(1641, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!!(((NU32)(a.st_mode & ((mode_t) 2)) == ((mode_t) 0)))) goto LA37_;
result |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 7)) & 15);
}
LA37_: ;
nimln_(1642, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!!(((NU32)(a.st_mode & ((mode_t) 1)) == ((mode_t) 0)))) goto LA41_;
result |= ((NU16)1)<<((((tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA) 6)) & 15);
}
LA41_: ;
popFrame();
return result;
}
static N_INLINE(void, popCurrentException)(void) {
asgnRef((void**) (&currException__system_2566), (*currException__system_2566).up);
}
N_LIB_PRIVATE N_NIMCALL(void, copyFileWithPermissions__pureZos_1450)(NimStringDesc* source, NimStringDesc* dest, NIM_BOOL ignorePermissionErrors, tySet_tyEnum_CopyFlag__pdzel23GjJ9cPFw8c5ldeRA options) {
TSafePoint TM__yu6cxgKBBXbNsTkT9cyMd4g_82;
tySet_tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA T1_;
TFrame* _nimCurFrame;
nimfr_("copyFileWithPermissions", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
_nimCurFrame = getFrame();
nimln_(2665, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
noscopyFile(source, dest, options);
nimln_(2667, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
pushSafePoint(&TM__yu6cxgKBBXbNsTkT9cyMd4g_82);
TM__yu6cxgKBBXbNsTkT9cyMd4g_82.status = setjmp(TM__yu6cxgKBBXbNsTkT9cyMd4g_82.context);
if (TM__yu6cxgKBBXbNsTkT9cyMd4g_82.status == 0) {
nimln_(2668, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T1_ = nosgetFilePermissions(source);
nimln_(2669, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
nimln_(2668, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
nossetFilePermissions(dest, T1_, ((options &((NU8)1<<((NU)(((tyEnum_CopyFlag__pdzel23GjJ9cPFw8c5ldeRA) 1))&7U)))!=0));
popSafePoint();
}
else {
popSafePoint();
setFrame(_nimCurFrame);
{
TM__yu6cxgKBBXbNsTkT9cyMd4g_82.status = 0;
nimln_(2671, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!!(ignorePermissionErrors)) goto LA6_;
nimln_(2672, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
reraiseException();
}
LA6_: ;
popCurrentException();
}
}
if (TM__yu6cxgKBBXbNsTkT9cyMd4g_82.status != 0) reraiseException();
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, nosnormalizePath)(NimStringDesc** path) {
nimfr_("normalizePath", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
nimln_(1494, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
unsureAsgnRef((void**) (&(*path)), normalizePath__pureZpathnorm_127((*path), 47));
popFrame();
}
static N_INLINE(void, normalizePathAux__pureZos_31)(NimStringDesc** path) {
nimfr_("normalizePathAux", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
nimln_(1522, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
nosnormalizePath(path);
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, absolutePathInternal__pureZos_49)(NimStringDesc* path) {
NimStringDesc* result;
NimStringDesc* T1_;
nimfr_("absolutePathInternal", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = NIM_NIL;
nimln_(1459, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T1_ = NIM_NIL;
T1_ = nosgetCurrentDir();
result = absolutePath__pureZos_735(path, T1_);
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosrelativePath)(NimStringDesc* path, NimStringDesc* base, NIM_CHAR sep) {
NimStringDesc* result;
NimStringDesc* base_2;
NimStringDesc* path_2;
NIM_BOOL a1;
NIM_BOOL a2;
tyObject_PathIter__tllF14xUpDWpqG9ci5sg9bMg f;
tyObject_PathIter__tllF14xUpDWpqG9ci5sg9bMg b;
tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ ff;
tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ bb;
nimfr_("relativePath", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{ result = NIM_NIL;
nimln_(390, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!((path ? path->Sup.len : 0) == ((NI) 0))) goto LA3_;
result = ((NimStringDesc*) NIM_NIL);
goto BeforeRet_;
}
LA3_: ;
nimln_(391, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!eqStrings(base, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_40))) goto LA7_;
base_2 = ((NimStringDesc*) NIM_NIL);
}
goto LA5_;
LA7_: ;
{
base_2 = copyString(base);
}
LA5_: ;
nimln_(392, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
path_2 = copyString(path);
nimln_(393, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
normalizePathAux__pureZos_31((&path_2));
nimln_(394, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
normalizePathAux__pureZos_31((&base_2));
nimln_(395, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
a1 = nosisAbsolute(path_2);
nimln_(396, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
a2 = nosisAbsolute(base_2);
nimln_(397, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T12_;
T12_ = (NIM_BOOL)0;
T12_ = a1;
if (!(T12_)) goto LA13_;
T12_ = !(a2);
LA13_: ;
if (!T12_) goto LA14_;
nimln_(398, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
base_2 = absolutePathInternal__pureZos_49(base_2);
}
goto LA10_;
LA14_: ;
{
NIM_BOOL T17_;
nimln_(399, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T17_ = (NIM_BOOL)0;
T17_ = a2;
if (!(T17_)) goto LA18_;
T17_ = !(a1);
LA18_: ;
if (!T17_) goto LA19_;
nimln_(400, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
path_2 = absolutePathInternal__pureZos_49(path_2);
}
goto LA10_;
LA19_: ;
LA10_: ;
nimln_(407, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
nimZeroMem((void*)(&f), sizeof(tyObject_PathIter__tllF14xUpDWpqG9ci5sg9bMg));
nimln_(408, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
nimZeroMem((void*)(&b), sizeof(tyObject_PathIter__tllF14xUpDWpqG9ci5sg9bMg));
nimln_(409, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
ff = TM__yu6cxgKBBXbNsTkT9cyMd4g_86;
nimln_(410, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
bb = TM__yu6cxgKBBXbNsTkT9cyMd4g_86;
nimln_(411, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (((path_2 ? path_2->Sup.len : 0)) < ((NI) 0) || ((path_2 ? path_2->Sup.len : 0)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((path_2 ? path_2->Sup.len : 0), ((NI) 0), ((NI) IL64(9223372036854775807))); }
result = rawNewString(((NI) ((path_2 ? path_2->Sup.len : 0))));
{
nimln_(413, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
while (1) {
NIM_BOOL T23_;
NI diff;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_87;
NIM_BOOL same;
NI colontmp_;
NI colontmp__2;
NI colontmp__3;
NI colontmp__4;
T23_ = (NIM_BOOL)0;
T23_ = hasNext__pureZpathnorm_6(f, path_2);
if (!(T23_)) goto LA24_;
T23_ = hasNext__pureZpathnorm_6(b, base_2);
LA24_: ;
if (!T23_) goto LA22;
nimln_(414, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
ff = next__pureZpathnorm_10((&f), path_2);
nimln_(415, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
bb = next__pureZpathnorm_10((&b), base_2);
nimln_(416, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (nimSubInt(ff.Field1, ff.Field0, &TM__yu6cxgKBBXbNsTkT9cyMd4g_87)) { raiseOverflow(); };
diff = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_87);
nimln_(417, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_88;
if (nimSubInt(bb.Field1, bb.Field0, &TM__yu6cxgKBBXbNsTkT9cyMd4g_88)) { raiseOverflow(); };
if (!!((diff == (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_88)))) goto LA27_;
goto LA21;
}
LA27_: ;
nimln_(418, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
same = NIM_TRUE;
{
NI i;
NI res;
i = (NI)0;
nimln_(90, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
res = ((NI) 0);
{
nimln_(91, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
while (1) {
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_91;
if (!(res <= diff)) goto LA31;
nimln_(419, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
i = res;
{
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_89;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_90;
nimln_(420, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (nimAddInt(i, ff.Field0, &TM__yu6cxgKBBXbNsTkT9cyMd4g_89)) { raiseOverflow(); };
if ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_89) < 0 || (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_89) >= (path_2 ? path_2->Sup.len : 0)){ raiseIndexError2((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_89),(path_2 ? path_2->Sup.len : 0)-1); }
if (nimAddInt(i, bb.Field0, &TM__yu6cxgKBBXbNsTkT9cyMd4g_90)) { raiseOverflow(); };
if ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_90) < 0 || (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_90) >= (base_2 ? base_2->Sup.len : 0)){ raiseIndexError2((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_90),(base_2 ? base_2->Sup.len : 0)-1); }
if (!!(((NU8)(path_2->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_89)]) == (NU8)(base_2->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_90)])))) goto LA34_;
nimln_(421, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
same = NIM_FALSE;
nimln_(422, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
goto LA29;
}
LA34_: ;
nimln_(93, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
if (nimAddInt(res, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_91)) { raiseOverflow(); };
res = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_91);
} LA31: ;
}
} LA29: ;
nimln_(423, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!!(same)) goto LA38_;
goto LA21;
}
LA38_: ;
nimln_(424, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
colontmp_ = ((NI) 0);
colontmp__2 = ((NI) -1);
ff.Field0 = colontmp_;
ff.Field1 = colontmp__2;
nimln_(425, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
colontmp__3 = ((NI) 0);
colontmp__4 = ((NI) -1);
bb.Field0 = colontmp__3;
bb.Field1 = colontmp__4;
} LA22: ;
} LA21: ;
{
nimln_(433, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
while (1) {
nimln_(434, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!(bb.Field0 <= bb.Field1)) goto LA44_;
nimln_(435, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T48_;
NIM_CHAR* T50_;
T48_ = (NIM_BOOL)0;
T48_ = (((NI) 0) < (result ? result->Sup.len : 0));
if (!(T48_)) goto LA49_;
T50_ = (NIM_CHAR*)0;
T50_ = X5BX5D___system_7408((&result), ((NI) 1));
T48_ = !(((NU8)((*T50_)) == (NU8)(sep)));
LA49_: ;
if (!T48_) goto LA51_;
nimln_(436, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = addChar(result, sep);
}
LA51_: ;
nimln_(437, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_39));
}
LA44_: ;
nimln_(438, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T55_;
T55_ = (NIM_BOOL)0;
T55_ = hasNext__pureZpathnorm_6(b, base_2);
if (!!(T55_)) goto LA56_;
goto LA40;
}
LA56_: ;
nimln_(439, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
bb = next__pureZpathnorm_10((&b), base_2);
}
} LA40: ;
{
nimln_(442, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
while (1) {
nimln_(443, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!(ff.Field0 <= ff.Field1)) goto LA62_;
nimln_(444, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T66_;
NIM_CHAR* T68_;
T66_ = (NIM_BOOL)0;
T66_ = (((NI) 0) < (result ? result->Sup.len : 0));
if (!(T66_)) goto LA67_;
T68_ = (NIM_CHAR*)0;
T68_ = X5BX5D___system_7408((&result), ((NI) 1));
T66_ = !(((NU8)((*T68_)) == (NU8)(sep)));
LA67_: ;
if (!T66_) goto LA69_;
nimln_(445, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = addChar(result, sep);
}
LA69_: ;
{
NI i_2;
NI colontmp__5;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_92;
NI res_2;
i_2 = (NI)0;
colontmp__5 = (NI)0;
nimln_(446, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (nimSubInt(ff.Field1, ff.Field0, &TM__yu6cxgKBBXbNsTkT9cyMd4g_92)) { raiseOverflow(); };
colontmp__5 = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_92);
nimln_(90, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
res_2 = ((NI) 0);
{
nimln_(91, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
while (1) {
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_93;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_94;
if (!(res_2 <= colontmp__5)) goto LA73;
nimln_(446, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
i_2 = res_2;
nimln_(447, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (nimAddInt(i_2, ff.Field0, &TM__yu6cxgKBBXbNsTkT9cyMd4g_93)) { raiseOverflow(); };
if ((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_93) < 0 || (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_93) >= (path_2 ? path_2->Sup.len : 0)){ raiseIndexError2((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_93),(path_2 ? path_2->Sup.len : 0)-1); }
result = addChar(result, path_2->data[(NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_93)]);
nimln_(93, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
if (nimAddInt(res_2, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_94)) { raiseOverflow(); };
res_2 = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_94);
} LA73: ;
}
}
}
LA62_: ;
nimln_(448, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
NIM_BOOL T76_;
T76_ = (NIM_BOOL)0;
T76_ = hasNext__pureZpathnorm_6(f, path_2);
if (!!(T76_)) goto LA77_;
goto LA58;
}
LA77_: ;
nimln_(449, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
ff = next__pureZpathnorm_10((&f), path_2);
}
} LA58: ;
nimln_(452, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
{
if (!((result ? result->Sup.len : 0) == ((NI) 0))) goto LA81_;
result = resizeString(result, 1);
appendString(result, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_40));
}
LA81_: ;
}BeforeRet_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, quoteShellCommand__pureZos_603)(NimStringDesc** args, NI argsLen_0) {
NimStringDesc* result;
nimfr_("quoteShellCommand", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = NIM_NIL;
nimln_(1112, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = ((NimStringDesc*) NIM_NIL);
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
nimln_(1113, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
colontmp_ = argsLen_0;
nimln_(119, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
i_2 = ((NI) 0);
{
nimln_(120, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
while (1) {
NimStringDesc* T8_;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_96;
if (!(i_2 < colontmp_)) goto LA3;
nimln_(1113, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
i = i_2;
{
nimln_(1114, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (!(((NI) 0) < i)) goto LA6_;
result = resizeString(result, 1);
appendString(result, ((NimStringDesc*) &TM__yu6cxgKBBXbNsTkT9cyMd4g_95));
}
LA6_: ;
nimln_(1113, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
nimln_(1115, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (i < 0 || i >= argsLen_0){ raiseIndexError2(i,argsLen_0-1); }
T8_ = NIM_NIL;
T8_ = nospquoteShell(args[i]);
result = resizeString(result, (T8_ ? T8_->Sup.len : 0) + 0);
appendString(result, T8_);
nimln_(122, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
if (nimAddInt(i_2, ((NI) 1), &TM__yu6cxgKBBXbNsTkT9cyMd4g_96)) { raiseOverflow(); };
i_2 = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_96);
} LA3: ;
}
}
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, nossleep)(NI milsecs) {
struct timespec a;
struct timespec b;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_97;
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_98;
int T1_;
nimfr_("sleep", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
nimZeroMem((void*)(&a), sizeof(struct timespec));
nimZeroMem((void*)(&b), sizeof(struct timespec));
nimln_(3212, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
a.tv_sec = (NI)(milsecs / ((NI) 1000));
nimln_(3213, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
if (nimMulInt((NI)(milsecs % ((NI) 1000)), ((NI) 1000), &TM__yu6cxgKBBXbNsTkT9cyMd4g_97)) { raiseOverflow(); };
if (nimMulInt((NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_97), ((NI) 1000), &TM__yu6cxgKBBXbNsTkT9cyMd4g_98)) { raiseOverflow(); };
a.tv_nsec = (NI)(TM__yu6cxgKBBXbNsTkT9cyMd4g_98);
nimln_(3214, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T1_ = (int)0;
T1_ = nanosleep((&a), (&b));
(void)(T1_);
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(NI, nosexecShellCmd)(NimStringDesc* command) {
NI result;
int T1_;
int T2_;
nimfr_("execShellCmd", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
result = (NI)0;
nimln_(2074, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim");
T1_ = (int)0;
T1_ = system(nimToCStringConv(command));
T2_ = (int)0;
T2_ = exitStatusLikeShell__pureZos_1100(T1_);
result = ((NI) (T2_));
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminusathversionminus1minus6atslibatspureatsosdotnim_DatInit000)(void) {
static TNimNode* TM__yu6cxgKBBXbNsTkT9cyMd4g_83_9[9];
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_85;
static char* NIM_CONST TM__yu6cxgKBBXbNsTkT9cyMd4g_84[9] = {
"fpUserExec",
"fpUserWrite",
"fpUserRead",
"fpGroupExec",
"fpGroupWrite",
"fpGroupRead",
"fpOthersExec",
"fpOthersWrite",
"fpOthersRead"};
static TNimNode* TM__yu6cxgKBBXbNsTkT9cyMd4g_99_2[2];
static TNimNode* TM__yu6cxgKBBXbNsTkT9cyMd4g_100_4[4];
NI TM__yu6cxgKBBXbNsTkT9cyMd4g_102;
static char* NIM_CONST TM__yu6cxgKBBXbNsTkT9cyMd4g_101[4] = {
"pcFile",
"pcLinkToFile",
"pcDir",
"pcLinkToDir"};
static TNimNode TM__yu6cxgKBBXbNsTkT9cyMd4g_0[18];
NTIfilepermission__uTVeDpjCH6aWw9c74YkAskA_.size = sizeof(tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA);
NTIfilepermission__uTVeDpjCH6aWw9c74YkAskA_.align = NIM_ALIGNOF(tyEnum_FilePermission__uTVeDpjCH6aWw9c74YkAskA);
NTIfilepermission__uTVeDpjCH6aWw9c74YkAskA_.kind = 14;
NTIfilepermission__uTVeDpjCH6aWw9c74YkAskA_.base = 0;
NTIfilepermission__uTVeDpjCH6aWw9c74YkAskA_.flags = 3;
for (TM__yu6cxgKBBXbNsTkT9cyMd4g_85 = 0; TM__yu6cxgKBBXbNsTkT9cyMd4g_85 < 9; TM__yu6cxgKBBXbNsTkT9cyMd4g_85++) {
TM__yu6cxgKBBXbNsTkT9cyMd4g_0[TM__yu6cxgKBBXbNsTkT9cyMd4g_85+0].kind = 1;
TM__yu6cxgKBBXbNsTkT9cyMd4g_0[TM__yu6cxgKBBXbNsTkT9cyMd4g_85+0].offset = TM__yu6cxgKBBXbNsTkT9cyMd4g_85;
TM__yu6cxgKBBXbNsTkT9cyMd4g_0[TM__yu6cxgKBBXbNsTkT9cyMd4g_85+0].name = TM__yu6cxgKBBXbNsTkT9cyMd4g_84[TM__yu6cxgKBBXbNsTkT9cyMd4g_85];
TM__yu6cxgKBBXbNsTkT9cyMd4g_83_9[TM__yu6cxgKBBXbNsTkT9cyMd4g_85] = &TM__yu6cxgKBBXbNsTkT9cyMd4g_0[TM__yu6cxgKBBXbNsTkT9cyMd4g_85+0];
}
TM__yu6cxgKBBXbNsTkT9cyMd4g_0[9].len = 9; TM__yu6cxgKBBXbNsTkT9cyMd4g_0[9].kind = 2; TM__yu6cxgKBBXbNsTkT9cyMd4g_0[9].sons = &TM__yu6cxgKBBXbNsTkT9cyMd4g_83_9[0];
NTIfilepermission__uTVeDpjCH6aWw9c74YkAskA_.node = &TM__yu6cxgKBBXbNsTkT9cyMd4g_0[9];
NTItupleLkind58pathcomponent_path58stringT__LCURwohbLBusrL8hdCnvng_.size = sizeof(tyTuple__LCURwohbLBusrL8hdCnvng);
NTItupleLkind58pathcomponent_path58stringT__LCURwohbLBusrL8hdCnvng_.align = NIM_ALIGNOF(tyTuple__LCURwohbLBusrL8hdCnvng);
NTItupleLkind58pathcomponent_path58stringT__LCURwohbLBusrL8hdCnvng_.kind = 18;
NTItupleLkind58pathcomponent_path58stringT__LCURwohbLBusrL8hdCnvng_.base = 0;
TM__yu6cxgKBBXbNsTkT9cyMd4g_99_2[0] = &TM__yu6cxgKBBXbNsTkT9cyMd4g_0[11];
NTIpathcomponent__9c1SIU9cO1wHcl09b703A9cDrg_.size = sizeof(tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg);
NTIpathcomponent__9c1SIU9cO1wHcl09b703A9cDrg_.align = NIM_ALIGNOF(tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg);
NTIpathcomponent__9c1SIU9cO1wHcl09b703A9cDrg_.kind = 14;
NTIpathcomponent__9c1SIU9cO1wHcl09b703A9cDrg_.base = 0;
NTIpathcomponent__9c1SIU9cO1wHcl09b703A9cDrg_.flags = 3;
for (TM__yu6cxgKBBXbNsTkT9cyMd4g_102 = 0; TM__yu6cxgKBBXbNsTkT9cyMd4g_102 < 4; TM__yu6cxgKBBXbNsTkT9cyMd4g_102++) {
TM__yu6cxgKBBXbNsTkT9cyMd4g_0[TM__yu6cxgKBBXbNsTkT9cyMd4g_102+12].kind = 1;
TM__yu6cxgKBBXbNsTkT9cyMd4g_0[TM__yu6cxgKBBXbNsTkT9cyMd4g_102+12].offset = TM__yu6cxgKBBXbNsTkT9cyMd4g_102;
TM__yu6cxgKBBXbNsTkT9cyMd4g_0[TM__yu6cxgKBBXbNsTkT9cyMd4g_102+12].name = TM__yu6cxgKBBXbNsTkT9cyMd4g_101[TM__yu6cxgKBBXbNsTkT9cyMd4g_102];
TM__yu6cxgKBBXbNsTkT9cyMd4g_100_4[TM__yu6cxgKBBXbNsTkT9cyMd4g_102] = &TM__yu6cxgKBBXbNsTkT9cyMd4g_0[TM__yu6cxgKBBXbNsTkT9cyMd4g_102+12];
}
TM__yu6cxgKBBXbNsTkT9cyMd4g_0[16].len = 4; TM__yu6cxgKBBXbNsTkT9cyMd4g_0[16].kind = 2; TM__yu6cxgKBBXbNsTkT9cyMd4g_0[16].sons = &TM__yu6cxgKBBXbNsTkT9cyMd4g_100_4[0];
NTIpathcomponent__9c1SIU9cO1wHcl09b703A9cDrg_.node = &TM__yu6cxgKBBXbNsTkT9cyMd4g_0[16];
TM__yu6cxgKBBXbNsTkT9cyMd4g_0[11].kind = 1;
TM__yu6cxgKBBXbNsTkT9cyMd4g_0[11].offset = offsetof(tyTuple__LCURwohbLBusrL8hdCnvng, Field0);
TM__yu6cxgKBBXbNsTkT9cyMd4g_0[11].typ = (&NTIpathcomponent__9c1SIU9cO1wHcl09b703A9cDrg_);
TM__yu6cxgKBBXbNsTkT9cyMd4g_0[11].name = "Field0";
TM__yu6cxgKBBXbNsTkT9cyMd4g_99_2[1] = &TM__yu6cxgKBBXbNsTkT9cyMd4g_0[17];
TM__yu6cxgKBBXbNsTkT9cyMd4g_0[17].kind = 1;
TM__yu6cxgKBBXbNsTkT9cyMd4g_0[17].offset = offsetof(tyTuple__LCURwohbLBusrL8hdCnvng, Field1);
TM__yu6cxgKBBXbNsTkT9cyMd4g_0[17].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
TM__yu6cxgKBBXbNsTkT9cyMd4g_0[17].name = "Field1";
TM__yu6cxgKBBXbNsTkT9cyMd4g_0[10].len = 2; TM__yu6cxgKBBXbNsTkT9cyMd4g_0[10].kind = 2; TM__yu6cxgKBBXbNsTkT9cyMd4g_0[10].sons = &TM__yu6cxgKBBXbNsTkT9cyMd4g_99_2[0];
NTItupleLkind58pathcomponent_path58stringT__LCURwohbLBusrL8hdCnvng_.node = &TM__yu6cxgKBBXbNsTkT9cyMd4g_0[10];
}