/* Generated by Nim Compiler v2.2.10 */
/* Compiled for: MacOSX, arm64, clang */
/* Command for C compiler:
   clang -c  -w -ferror-limit=3 -fno-strict-aliasing -pthread -isysroot /Applications/Xcode_16.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -target arm64-apple-darwin24.2.0 -O3   -I/Users/runner/work/nightlies/nightlies/nim-2.2.10/lib -I/Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/src -o /Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/.nimcache/@mbasic@spkgurls.nim.c.o /Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/.nimcache/@mbasic@spkgurls.nim.c */
#define NIM_INTBITS 64
#define NIM_EmulateOverflowChecks

#include "nimbase.h"
#include <string.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
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw;
typedef struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg tyTuple__7q7q3E6Oj24ZNVJb9aonhAg;
typedef struct tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA;
typedef struct tyObject_Peg__bQhIALn3Tk2Pvs09cSQ39arA tyObject_Peg__bQhIALn3Tk2Pvs09cSQ39arA;
typedef struct tyObject_NonTerminalObj__WJQV9aKJy9bowBE2at3Fb7IA tyObject_NonTerminalObj__WJQV9aKJy9bowBE2at3Fb7IA;
typedef struct tySequence__xtzJ4aOMjniblsc3JNpWMg tySequence__xtzJ4aOMjniblsc3JNpWMg;
typedef struct tySequence__xtzJ4aOMjniblsc3JNpWMg_Content tySequence__xtzJ4aOMjniblsc3JNpWMg_Content;
typedef struct tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw;
typedef struct tyObject_CatchableError__liO6E8JNJNTVmf9cnXKZiug tyObject_CatchableError__liO6E8JNJNTVmf9cnXKZiug;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct tySequence__3EvzHGO0xyXGnJBUggwfKQ tySequence__3EvzHGO0xyXGnJBUggwfKQ;
typedef struct tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content;
typedef struct tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw;
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg {
	NimStringV2 Field0;
	NimStringV2 Field1;
	NimStringV2 Field2;
};
struct tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA {
	NimStringV2 scheme;
	NimStringV2 username;
	NimStringV2 password;
	NimStringV2 hostname;
	NimStringV2 port;
	NimStringV2 path;
	NimStringV2 query;
	NimStringV2 anchor;
	NIM_BOOL opaque;
	NIM_BOOL isIpv6;
};
struct tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw {
	tyTuple__7q7q3E6Oj24ZNVJb9aonhAg qualifiedName;
	NIM_BOOL hasShortName;
	tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA u;
};
typedef NU8 tyEnum_PegKind__ke7OyotE9cPez5dKgsRtGDg;
struct tySequence__xtzJ4aOMjniblsc3JNpWMg {
  NI len; tySequence__xtzJ4aOMjniblsc3JNpWMg_Content* p;
};
struct tyObject_Peg__bQhIALn3Tk2Pvs09cSQ39arA {
	tyEnum_PegKind__ke7OyotE9cPez5dKgsRtGDg kind;
union{
	NimStringV2 term;
	NIM_CHAR ch;
	NU8* charChoice;
	tyObject_NonTerminalObj__WJQV9aKJy9bowBE2at3Fb7IA* nt;
	NI index;
	tySequence__xtzJ4aOMjniblsc3JNpWMg sons;
};
};
typedef NimStringV2 tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ[2];
struct TNimTypeV2 {
	void* destructor;
	NI size;
	NI16 align;
	NI16 depth;
	NU32* display;
	void* traceImpl;
	void* typeInfoV1;
	NI flags;
	void* vTable[SEQ_DECL_SIZE];
};
struct RootObj {
	TNimTypeV2* m_type;
};
struct tySequence__3EvzHGO0xyXGnJBUggwfKQ {
  NI len; tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content* p;
};
struct Exception {
	RootObj Sup;
	Exception* parent;
	NCSTRING name;
	NimStringV2 message;
	tySequence__3EvzHGO0xyXGnJBUggwfKQ trace;
	Exception* up;
};
struct tyObject_CatchableError__liO6E8JNJNTVmf9cnXKZiug {
	Exception Sup;
};
struct tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw {
	tyObject_CatchableError__liO6E8JNJNTVmf9cnXKZiug Sup;
};
typedef NimStringV2 tyArray__dyW7vpmfeTYw8kX3EXuaJA[3];
typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p;
};
typedef NimStringV2 tyArray__Seu7uK9aaOSN0BK3EAjjSHw[4];
struct tySequence__xtzJ4aOMjniblsc3JNpWMg_Content { NI cap; tyObject_Peg__bQhIALn3Tk2Pvs09cSQ39arA data[SEQ_DECL_SIZE]; };
struct tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw {
	NCSTRING procname;
	NI line;
	NCSTRING filename;
};
struct tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content { NI cap; tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw data[SEQ_DECL_SIZE]; };
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE]; };
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__system_u2188)(void* a_p0, int v_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isUrl__basicZpkgurls_u26)(NimStringV2 s_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuStartsWith)(NimStringV2 s_p0, NimStringV2 prefix_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__pureZstrutils_u1900)(NimStringV2 s_p0, NimStringV2 sub_p1);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosdirExists)(NimStringV2 dir_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___system_u2754)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGitDir__basicZcontext_u374)(NimStringV2 path_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___system_u2760)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getCanonicalUrl__basicZgitops_u349)(NimStringV2 path_p0, NimStringV2 origin_p1);
static N_INLINE(void, eqdestroy___system_u281)(NimStringV2 x_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, absolutePath__stdZprivateZospaths2_u359)(NimStringV2 path_p0, NimStringV2 root_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nosgetCurrentDir)(void);
N_LIB_PRIVATE N_NOCONV(void, deallocShared)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toWindowsFileUrl__basicZpkgurls_u184)(NimStringV2 raw_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuReplaceChar)(NimStringV2 s_p0, NIM_CHAR sub_p1, NIM_CHAR by_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isWindowsAbsoluteFile__basicZpkgurls_u181)(NimStringV2 raw_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, npegsmatch)(NimStringV2 s_p0, tyObject_Peg__bQhIALn3Tk2Pvs09cSQ39arA pattern_p1, NI start_p2);
N_LIB_PRIVATE N_NIMCALL(void, peg__pureZpegs_u5202)(NimStringV2 pattern_p0, tyObject_Peg__bQhIALn3Tk2Pvs09cSQ39arA* Result);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZpegs_u253)(tyObject_Peg__bQhIALn3Tk2Pvs09cSQ39arA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___system_u2751)(NimStringV2* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuReplaceStr)(NimStringV2 s_p0, NimStringV2 sub_p1, NimStringV2 by_p2);
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1);
static N_INLINE(void, copyMem__system_u1755)(void* dest_p0, void* source_p1, NI size_p2);
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space_p0);
N_LIB_PRIVATE N_NIMCALL(void, parseUri__pureZuri_u295)(NimStringV2 uri_p0, tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* Result);
N_LIB_PRIVATE N_NIMCALL(void, extractProjectName__basicZpkgurls_u84)(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* url_p0, tyTuple__7q7q3E6Oj24ZNVJb9aonhAg* Result);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZuri_u216)(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* dest_p0, tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, nossplitFile)(NimStringV2 path_p0, tyTuple__7q7q3E6Oj24ZNVJb9aonhAg* Result);
N_LIB_PRIVATE N_NIMCALL(void, nsuRemovePrefixChar)(NimStringV2* s_p0, NIM_CHAR c_p1);
static N_INLINE(NIM_BOOL, contains__stdZenumutils_u50)(NimStringV2* a_p0, NI a_p0Len_0, NimStringV2 item_p1);
static N_INLINE(NI, find__stdZenumutils_u55)(NimStringV2* a_p0, NI a_p0Len_0, NimStringV2 item_p1);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i_p0, NI n_p1);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1);
static N_INLINE(NIM_BOOL, equalMem__system_u1763)(void* a_p0, void* b_p1, NI size_p2);
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2);
static N_INLINE(NIM_BOOL, nimAddInt)(NI a_p0, NI b_p1, NI* res_p2);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZos_u217)(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZuri_u213)(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___pureZuri_u210)(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void*, nimNewObj)(NI size_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e_p0, NCSTRING ename_p1, NCSTRING procname_p2, NCSTRING filename_p3, NI line_p4);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuEndsWith)(NimStringV2 s_p0, NimStringV2 suffix_p1);
N_LIB_PRIVATE N_NIMCALL(void, nsuRemoveSuffixString)(NimStringV2* s_p0, NimStringV2 suffix_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuStrip)(NimStringV2 s_p0, NIM_BOOL leading_p1, NIM_BOOL trailing_p2, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars_p3);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuIsDigitChar)(NIM_CHAR c_p0);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_u95)(NimStringV2 msg_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___pureZuri_u222)(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* dest_p0, tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, fixFileRelativeUrl__basicZpkgurls_u188)(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* u_p0, NIM_BOOL isWindowsTest_p1, tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* Result);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___pureZuri_u409)(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* u_p0);
static N_INLINE(NimStringV2, slash___stdZprivateZospaths2_u88)(NimStringV2 head_p0, NimStringV2 tail_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nosjoinPath)(NimStringV2 head_p0, NimStringV2 tail_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, project__basicZcontext_u340)(void);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, eqdup___system_u2757)(NimStringV2 src_p0);
N_LIB_PRIVATE N_NIMCALL(void, createUrlSkipPatterns__basicZpkgurls_u205)(NimStringV2 raw_p0, NIM_BOOL skipDirTest_p1, NIM_BOOL forceWindows_p2, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* Result);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toDirectoryPath__basicZpkgurls_u116)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* pkgUrl_p0, NIM_BOOL isLinkFile_p1);
N_LIB_PRIVATE N_NIMCALL(void, trace__basicZpkgurls_u120)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* p_p0, NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, projectName__basicZpkgurls_u35)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* u_p0);
N_LIB_PRIVATE N_NIMCALL(void, url__basicZpkgurls_u44)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* p_p0, tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* Result);
static N_INLINE(NimStringV2, parentDir__stdZpaths_u155)(NimStringV2 path_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nosparentDir)(NimStringV2 path_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toOriginalPath__basicZpkgurls_u101)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* pkgUrl_p0, NIM_BOOL isWindowsTest_p1);
static N_INLINE(NimStringV2, slash___stdZpaths_u84)(NimStringV2 head_p0, NimStringV2 tail_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, depsDir__basicZcontext_u348)(NIM_BOOL relative_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, shortName__basicZpkgurls_u32)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* u_p0);
static N_INLINE(NIM_BOOL, dirExists__stdZdirs_u3)(NimStringV2 dir_p0);
static N_INLINE(NIM_BOOL, fileExists__stdZfiles_u10)(NimStringV2 filename_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosfileExists)(NimStringV2 filename_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, linkPath__basicZpkgurls_u113)(NimStringV2 path_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, readFile__stdZsyncio_u534)(NimStringV2 filename_p0);
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ, nsuSplitString)(NimStringV2 s_p0, NimStringV2 sep_p1, NI maxsplit_p2);
N_LIB_PRIVATE N_NIMCALL(void, warn__basicZpkgurls_u133)(NimStringV2 p_p0, NimStringV2* args_p1, NI args_p1Len_0);
static N_INLINE(void, splitFile__stdZpaths_u114)(NimStringV2 path_p0, tyTuple__7q7q3E6Oj24ZNVJb9aonhAg* Result);
static N_INLINE(NIM_BOOL, isAbsolute__stdZpaths_u143)(NimStringV2 path_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosisAbsolute)(NimStringV2 path_p0);
N_LIB_PRIVATE N_NIMCALL(void, debug__basicZgitops_u1174)(NimStringV2 p_p0, NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZpaths_u124)(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u5582)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, absolutePath__stdZpaths_u204)(NimStringV2 path_p0, NimStringV2 root_p1);
static N_INLINE(NimStringV2, getCurrentDir__stdZpaths_u191)(void);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLinkPath__basicZpkgurls_u160)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* pkgUrl_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toLinkPath__basicZpkgurls_u157)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* pkgUrl_p0);
N_LIB_PRIVATE N_NIMCALL(void, trace__basicZgitops_u1126)(NimStringV2 p_p0, NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(void, writeFile__stdZsyncio_u539)(NimStringV2 filename_p0, NimStringV2 content_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatOpenArray)(NimStringV2 formatstr_p0, NimStringV2* a_p1, NI a_p1Len_0);
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_2 = { 4 | NIM_STRLIT_FLAG, "git@" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_3 = {4, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_2};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_4 = { 3 | NIM_STRLIT_FLAG, "://" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_5 = {3, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_4};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_6 = { 6 | NIM_STRLIT_FLAG, "origin" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_7 = {6, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_6};
static const struct {
  NI cap; NIM_CHAR data[37+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_8 = { 37 | NIM_STRLIT_FLAG, "^ {\'file://\'\?} {[A-Z] \':\' [\'/\'\\\\]} .*" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_9 = {37, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_8};
static const struct {
  NI cap; NIM_CHAR data[37+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_10 = { 37 | NIM_STRLIT_FLAG, "^ {\'link://\'\?} {[A-Z] \':\' [\'/\'\\\\]} .*" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_11 = {37, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_10};
static const struct {
  NI cap; NIM_CHAR data[38+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_12 = { 38 | NIM_STRLIT_FLAG, "^ {\'atlas://\'\?} {[A-Z] \':\' [\'/\'\\\\]} .*" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_13 = {38, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_12};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_14 = { 7 | NIM_STRLIT_FLAG, "file://" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_15 = {7, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_14};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_16 = { 8 | NIM_STRLIT_FLAG, "file:///" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_17 = {8, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_16};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_18 = { 7 | NIM_STRLIT_FLAG, "link://" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_19 = {7, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_18};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_20 = { 8 | NIM_STRLIT_FLAG, "link:///" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_21 = {8, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_20};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_22 = { 8 | NIM_STRLIT_FLAG, "atlas://" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_23 = {8, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_22};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_24 = { 9 | NIM_STRLIT_FLAG, "atlas:///" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_25 = {9, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_24};
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_26 = {8, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_16};
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_27 = {7, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_14};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_30 = { 4 | NIM_STRLIT_FLAG, "http" };
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_31 = { 5 | NIM_STRLIT_FLAG, "https" };
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_32 = { 4 | NIM_STRLIT_FLAG, ".git" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_33 = {4, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_32};
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_34 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_35 = {0, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_34};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_36 = { 5 | NIM_STRLIT_FLAG, "atlas" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_37 = {5, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_36};
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_38 = {0, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_34};
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_39 = {0, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_34};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_40 = { 4 | NIM_STRLIT_FLAG, "file" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_41 = {4, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_40};
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_42 = {0, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_34};
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_43 = {0, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_34};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_44 = { 4 | NIM_STRLIT_FLAG, "link" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_45 = {4, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_44};
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_46 = {0, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_34};
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_47 = {0, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_34};
extern TNimTypeV2 NTIv2__YUzEEs8pGqG7cYmcRoc5rw_;
static const struct {
  NI cap; NIM_CHAR data[21+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_48 = { 21 | NIM_STRLIT_FLAG, "Invalid name or URL: " };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_49 = {21, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_48};
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_50 = {4, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_2};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_51 = { 6 | NIM_STRLIT_FLAG, "ssh://" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_52 = {6, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_51};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_53 = { 1 | NIM_STRLIT_FLAG, ":" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_54 = {1, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_53};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_55 = { 1 | NIM_STRLIT_FLAG, "/" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_56 = {1, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_55};
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_57 = {4, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_32};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_59 = { 10 | NIM_STRLIT_FLAG, "github.com" };
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_60 = { 10 | NIM_STRLIT_FLAG, "gitlab.com" };
static const struct {
  NI cap; NIM_CHAR data[13+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_61 = { 13 | NIM_STRLIT_FLAG, "bitbucket.org" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_62 = {4, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_32};
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__TEGDsuljTYbVZE9bkM7QsRg_63 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_64 = { 3 | NIM_STRLIT_FLAG, "git" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_65 = {3, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_64};
static const struct {
  NI cap; NIM_CHAR data[93+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_66 = { 93 | NIM_STRLIT_FLAG, "iterators.nim(272, 11) `len(a) == L` the length of the string changed while iterating over it" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_67 = {93, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_66};
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_68 = {1, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_55};
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_69 = {0, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_34};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_70 = { 3 | NIM_STRLIT_FLAG, "ssh" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_71 = {3, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_70};
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_73 = {3, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_4};
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_74 = {4, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_32};
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_75 = {4, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_32};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_76 = { 1 | NIM_STRLIT_FLAG, "." };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_77 = {1, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_76};
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_78 = {1, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_76};
static const struct {
  NI cap; NIM_CHAR data[20+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_79 = { 20 | NIM_STRLIT_FLAG, "directory path from:" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_80 = {20, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_79};
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_81 = {5, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_36};
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_82 = {4, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_44};
static const struct {
  NI cap; NIM_CHAR data[19+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_83 = { 19 | NIM_STRLIT_FLAG, "Invalid file path: " };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_84 = {19, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_83};
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_85 = {4, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_40};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_86 = { 12 | NIM_STRLIT_FLAG, ".nimble-link" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_87 = {12, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_86};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_88 = { 1 | NIM_STRLIT_FLAG, "\012" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_89 = {1, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_88};
static const struct {
  NI cap; NIM_CHAR data[18+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_90 = { 18 | NIM_STRLIT_FLAG, "invalid link file:" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_91 = {18, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_90};
static const struct {
  NI cap; NIM_CHAR data[13+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_92 = { 13 | NIM_STRLIT_FLAG, "link file to:" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_93 = {13, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_92};
static const struct {
  NI cap; NIM_CHAR data[21+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_94 = { 21 | NIM_STRLIT_FLAG, "found directory path:" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_95 = {21, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_94};
static const struct {
  NI cap; NIM_CHAR data[39+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_96 = { 39 | NIM_STRLIT_FLAG, "pkgurls.nim(117, 3) `result.len() > 0` " };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_97 = {39, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_96};
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_98 = {4, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_44};
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_99 = {4, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_44};
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_100 = {5, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_36};
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_101 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_102 = {0, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_101};
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_103 = {4, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_44};
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_104 = {12, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_86};
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_105 = {12, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_86};
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_106 = {4, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_40};
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_107 = {1, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_76};
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_108 = {1, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_76};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_109 = { 11 | NIM_STRLIT_FLAG, "nimble:link" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_110 = {11, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_109};
static const struct {
  NI cap; NIM_CHAR data[17+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_111 = { 17 | NIM_STRLIT_FLAG, "creating link at:" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_112 = {17, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_111};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_113 = { 5 | NIM_STRLIT_FLAG, "from:" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_114 = {5, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_113};
static const struct {
  NI cap; NIM_CHAR data[19+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_115 = { 19 | NIM_STRLIT_FLAG, "Invalid link path: " };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_116 = {19, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_115};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__TEGDsuljTYbVZE9bkM7QsRg_117 = { 5 | NIM_STRLIT_FLAG, "$1\012$2" };
static const NimStringV2 TM__TEGDsuljTYbVZE9bkM7QsRg_118 = {5, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_117};
static NIM_CONST tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ TM__TEGDsuljTYbVZE9bkM7QsRg_29 = {{4, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_30},
{5, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_31}}
;
static NIM_CONST tyArray__dyW7vpmfeTYw8kX3EXuaJA TM__TEGDsuljTYbVZE9bkM7QsRg_58 = {{10, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_59},
{10, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_60},
{13, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_61}}
;
static NIM_CONST tyArray__dyW7vpmfeTYw8kX3EXuaJA TM__TEGDsuljTYbVZE9bkM7QsRg_72 = {{4, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_40},
{4, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_44},
{5, (NimStrPayload*)&TM__TEGDsuljTYbVZE9bkM7QsRg_36}}
;
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__system_u4198;
static N_INLINE(void, nimSetMem__system_u2188)(void* a_p0, int v_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a_p0, v_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
	nimSetMem__system_u2188(p_p0, ((int)0), size_p1);
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4198);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isUrl__basicZpkgurls_u26)(NimStringV2 s_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = nsuStartsWith(s_p0, TM__TEGDsuljTYbVZE9bkM7QsRg_3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	if (T1_) goto LA2_;
	T1_ = contains__pureZstrutils_u1900(s_p0, TM__TEGDsuljTYbVZE9bkM7QsRg_5);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA2_: ;
	result = T1_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, eqdestroy___system_u281)(NimStringV2 x_p0) {
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isWindowsAbsoluteFile__basicZpkgurls_u181)(NimStringV2 raw_p0) {
	NIM_BOOL result;
	tyObject_Peg__bQhIALn3Tk2Pvs09cSQ39arA colontmpD_;
	tyObject_Peg__bQhIALn3Tk2Pvs09cSQ39arA colontmpD__2;
	tyObject_Peg__bQhIALn3Tk2Pvs09cSQ39arA colontmpD__3;
	NIM_BOOL T2_;
	NIM_BOOL T3_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	nimZeroMem((void*)(&colontmpD_), sizeof(tyObject_Peg__bQhIALn3Tk2Pvs09cSQ39arA));
	nimZeroMem((void*)(&colontmpD__2), sizeof(tyObject_Peg__bQhIALn3Tk2Pvs09cSQ39arA));
	nimZeroMem((void*)(&colontmpD__3), sizeof(tyObject_Peg__bQhIALn3Tk2Pvs09cSQ39arA));
	T2_ = (NIM_BOOL)0;
	T3_ = (NIM_BOOL)0;
	peg__pureZpegs_u5202(TM__TEGDsuljTYbVZE9bkM7QsRg_9, (&colontmpD_));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T3_ = npegsmatch(raw_p0, colontmpD_, ((NI)0));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	if (T3_) goto LA4_;
	peg__pureZpegs_u5202(TM__TEGDsuljTYbVZE9bkM7QsRg_11, (&colontmpD__2));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T3_ = npegsmatch(raw_p0, colontmpD__2, ((NI)0));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA4_: ;
	T2_ = T3_;
	if (T2_) goto LA5_;
	peg__pureZpegs_u5202(TM__TEGDsuljTYbVZE9bkM7QsRg_13, (&colontmpD__3));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = npegsmatch(raw_p0, colontmpD__3, ((NI)0));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA5_: ;
	result = T2_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___pureZpegs_u253((&colontmpD__3));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___pureZpegs_u253((&colontmpD__2));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___pureZpegs_u253((&colontmpD_));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toWindowsFileUrl__basicZpkgurls_u184)(NimStringV2 raw_p0) {
	NimStringV2 result;
	NimStringV2 rawPath_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	rawPath_1.len = 0; rawPath_1.p = NIM_NIL;
	rawPath_1 = nsuReplaceChar(raw_p0, 92, 47);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		NimStringV2 T7_;
		NimStringV2 T8_;
		NimStringV2 T9_;
		T4_ = (NIM_BOOL)0;
		T4_ = isWindowsAbsoluteFile__basicZpkgurls_u181(rawPath_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T4_) goto LA5_;
		result = rawPath_1;
		eqwasMoved___system_u2751((&rawPath_1));
		T7_.len = 0; T7_.p = NIM_NIL;
		T7_ = nsuReplaceStr(result, TM__TEGDsuljTYbVZE9bkM7QsRg_15, TM__TEGDsuljTYbVZE9bkM7QsRg_17);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T7_); goto LA1_;}
		eqsink___system_u2760((&result), T7_);
		T8_.len = 0; T8_.p = NIM_NIL;
		T8_ = nsuReplaceStr(result, TM__TEGDsuljTYbVZE9bkM7QsRg_19, TM__TEGDsuljTYbVZE9bkM7QsRg_21);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T8_); goto LA1_;}
		eqsink___system_u2760((&result), T8_);
		T9_.len = 0; T9_.p = NIM_NIL;
		T9_ = nsuReplaceStr(result, TM__TEGDsuljTYbVZE9bkM7QsRg_23, TM__TEGDsuljTYbVZE9bkM7QsRg_25);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T9_); goto LA1_;}
		eqsink___system_u2760((&result), T9_);
	}
	goto LA2_;
LA5_: ;
	{
		result = rawPath_1;
		eqwasMoved___system_u2751((&rawPath_1));
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		if (rawPath_1.p && !(rawPath_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(rawPath_1.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest_p0, source_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, copyMem__system_u1755)(void* dest_p0, void* source_p1, NI size_p2) {
	nimCopyMem(dest_p0, source_p1, size_p2);
}
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1) {
	{
		if (!(((NI)0) < src_p1.len)) goto LA3_;
		copyMem__system_u1755(((void*) ((&(*(*dest_p0).p).data[(*dest_p0).len]))), ((void*) ((&(*src_p1.p).data[((NI)0)]))), (src_p1.len));
		(*dest_p0).len += src_p1.len;
		(*(*dest_p0).p).data[(*dest_p0).len] = 0;
	}
LA3_: ;
}
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2) {
	int result;
	result = memcmp(a_p0, b_p1, ((size_t) (size_p2)));
	return result;
}
static N_INLINE(NIM_BOOL, equalMem__system_u1763)(void* a_p0, void* b_p1, NI size_p2) {
	NIM_BOOL result;
	int T1_;
	T1_ = (int)0;
	T1_ = nimCmpMem(a_p0, b_p1, size_p2);
	result = (T1_ == ((NI32)0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1) {
	NIM_BOOL result;
	NI alen_1;
	NI blen_1;
{	result = NIM_FALSE;
	alen_1 = a_p0.len;
	blen_1 = b_p1.len;
	{
		if (!(alen_1 == blen_1)) goto LA3_;
		{
			if (!(alen_1 == ((NI)0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
LA7_: ;
		result = equalMem__system_u1763(((void*) ((&a_p0.p->data[((NI)0)]))), ((void*) ((&b_p1.p->data[((NI)0)]))), (alen_1));
		goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, nimAddInt)(NI a_p0, NI b_p1, NI* res_p2) {
	NIM_BOOL result;
	NI r_1;
	result = (NIM_BOOL)0;
	r_1 = ((NI) ((NU)((NU64)(((NU) (a_p0))) + (NU64)(((NU) (b_p1))))));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI)0) <= (NI)(r_1 ^ a_p0));
		if (T3_) goto LA4_;
		T3_ = (((NI)0) <= (NI)(r_1 ^ b_p1));
LA4_: ;
		if (!T3_) goto LA5_;
		(*res_p2) = r_1;
	}
	goto LA1_;
LA5_: ;
	{
		result = NIM_TRUE;
	}
LA1_: ;
	return result;
}
static N_INLINE(NI, find__stdZenumutils_u55)(NimStringV2* a_p0, NI a_p0Len_0, NimStringV2 item_p1) {
	NI result;
{	result = ((NI)0);
	{
		NimStringV2* i_1;
		NI i_2;
		i_1 = (NimStringV2*)0;
		i_2 = ((NI)0);
		{
			while (1) {
				NI TM__TEGDsuljTYbVZE9bkM7QsRg_28;
				if (!(i_2 < a_p0Len_0)) goto LA3;
				if (i_2 < 0 || i_2 >= a_p0Len_0){ raiseIndexError2(i_2,a_p0Len_0-1); goto BeforeRet_;
				}
				i_1 = (&a_p0[i_2]);
				{
					if (!eqStrings((*i_1), item_p1)) goto LA6_;
					goto BeforeRet_;
				}
LA6_: ;
				if (nimAddInt(result, ((NI)1), &TM__TEGDsuljTYbVZE9bkM7QsRg_28)) { raiseOverflow(); goto BeforeRet_;
				};
				result = (NI)(TM__TEGDsuljTYbVZE9bkM7QsRg_28);
				i_2 += ((NI)1);
			} LA3: ;
		}
	}
	result = ((NI)-1);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, contains__stdZenumutils_u50)(NimStringV2* a_p0, NI a_p0Len_0, NimStringV2 item_p1) {
	NIM_BOOL result;
	NI T1_;
{	T1_ = (NI)0;
	T1_ = find__stdZenumutils_u55(a_p0, a_p0Len_0, item_p1);
	result = (((NI)0) <= T1_);
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, extractProjectName__basicZpkgurls_u84)(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* url_p0, tyTuple__7q7q3E6Oj24ZNVJb9aonhAg* Result) {
	tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA u_1;
	tyTuple__7q7q3E6Oj24ZNVJb9aonhAg tmpTuple_1;
	NimStringV2 p_1;
	NimStringV2 n_1;
	NimStringV2 e_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
	nimZeroMem((void*)(&u_1), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
	nimZeroMem((void*)(&tmpTuple_1), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
	p_1.len = 0; p_1.p = NIM_NIL;
	n_1.len = 0; n_1.p = NIM_NIL;
	e_1.len = 0; e_1.p = NIM_NIL;
	eqcopy___pureZuri_u216((&u_1), url_p0);
	nossplitFile(u_1.path, (&tmpTuple_1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	p_1 = tmpTuple_1.Field0;
	eqwasMoved___system_u2751((&tmpTuple_1.Field0));
	n_1 = tmpTuple_1.Field1;
	eqwasMoved___system_u2751((&tmpTuple_1.Field1));
	e_1 = tmpTuple_1.Field2;
	eqwasMoved___system_u2751((&tmpTuple_1.Field2));
	nsuRemovePrefixChar((&p_1), 47);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	nsuRemovePrefixChar((&p_1), 47);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = contains__stdZenumutils_u50(TM__TEGDsuljTYbVZE9bkM7QsRg_29, 2, u_1.scheme);
		if (!(T3_)) goto LA4_;
		T3_ = eqStrings(e_1, TM__TEGDsuljTYbVZE9bkM7QsRg_33);
LA4_: ;
		if (!T3_) goto LA5_;
		eqsink___system_u2760((&e_1), TM__TEGDsuljTYbVZE9bkM7QsRg_35);
	}
LA5_: ;
	{
		NimStringV2 colontmp_;
		NimStringV2 colontmp__2;
		NimStringV2 colontmp__3;
		NimStringV2 blitTmp_1;
		NimStringV2 blitTmp_2;
		NimStringV2 blitTmp_3;
		if (!eqStrings(u_1.scheme, TM__TEGDsuljTYbVZE9bkM7QsRg_37)) goto LA9_;
		colontmp_.len = 0; colontmp_.p = NIM_NIL;
		colontmp__2.len = 0; colontmp__2.p = NIM_NIL;
		colontmp__3.len = 0; colontmp__3.p = NIM_NIL;
		colontmp_ = n_1;
		eqwasMoved___system_u2751((&n_1));
		colontmp__2 = TM__TEGDsuljTYbVZE9bkM7QsRg_38;
		colontmp__3 = TM__TEGDsuljTYbVZE9bkM7QsRg_39;
		blitTmp_1 = colontmp_;
		(*Result).Field0 = blitTmp_1;
		blitTmp_2 = colontmp__2;
		(*Result).Field1 = blitTmp_2;
		blitTmp_3 = colontmp__3;
		(*Result).Field2 = blitTmp_3;
	}
	goto LA7_;
LA9_: ;
	{
		NimStringV2 colontmp__4;
		NimStringV2 colontmp__5;
		NimStringV2 colontmp__6;
		NimStringV2 T14_;
		NimStringV2 blitTmp_4;
		NimStringV2 blitTmp_5;
		NimStringV2 blitTmp_6;
		if (!eqStrings(u_1.scheme, TM__TEGDsuljTYbVZE9bkM7QsRg_41)) goto LA12_;
		colontmp__4.len = 0; colontmp__4.p = NIM_NIL;
		colontmp__5.len = 0; colontmp__5.p = NIM_NIL;
		colontmp__6.len = 0; colontmp__6.p = NIM_NIL;
		T14_.len = 0; T14_.p = NIM_NIL;
		T14_ = rawNewString(n_1.len + e_1.len + 0);
appendString((&T14_), n_1);
appendString((&T14_), e_1);
		colontmp__4 = T14_;
		colontmp__5 = TM__TEGDsuljTYbVZE9bkM7QsRg_42;
		colontmp__6 = TM__TEGDsuljTYbVZE9bkM7QsRg_43;
		blitTmp_4 = colontmp__4;
		(*Result).Field0 = blitTmp_4;
		blitTmp_5 = colontmp__5;
		(*Result).Field1 = blitTmp_5;
		blitTmp_6 = colontmp__6;
		(*Result).Field2 = blitTmp_6;
	}
	goto LA7_;
LA12_: ;
	{
		NimStringV2 colontmp__7;
		NimStringV2 colontmp__8;
		NimStringV2 colontmp__9;
		NimStringV2 blitTmp_7;
		NimStringV2 blitTmp_8;
		NimStringV2 blitTmp_9;
		if (!eqStrings(u_1.scheme, TM__TEGDsuljTYbVZE9bkM7QsRg_45)) goto LA16_;
		colontmp__7.len = 0; colontmp__7.p = NIM_NIL;
		colontmp__8.len = 0; colontmp__8.p = NIM_NIL;
		colontmp__9.len = 0; colontmp__9.p = NIM_NIL;
		colontmp__7 = n_1;
		eqwasMoved___system_u2751((&n_1));
		colontmp__8 = TM__TEGDsuljTYbVZE9bkM7QsRg_46;
		colontmp__9 = TM__TEGDsuljTYbVZE9bkM7QsRg_47;
		blitTmp_7 = colontmp__7;
		(*Result).Field0 = blitTmp_7;
		blitTmp_8 = colontmp__8;
		(*Result).Field1 = blitTmp_8;
		blitTmp_9 = colontmp__9;
		(*Result).Field2 = blitTmp_9;
	}
	goto LA7_;
LA16_: ;
	{
		NimStringV2 colontmp__10;
		NimStringV2 colontmp__11;
		NimStringV2 colontmp__12;
		NimStringV2 T19_;
		NimStringV2 blitTmp_10;
		NimStringV2 blitTmp_11;
		NimStringV2 blitTmp_12;
		colontmp__10.len = 0; colontmp__10.p = NIM_NIL;
		colontmp__11.len = 0; colontmp__11.p = NIM_NIL;
		colontmp__12.len = 0; colontmp__12.p = NIM_NIL;
		T19_.len = 0; T19_.p = NIM_NIL;
		T19_ = rawNewString(n_1.len + e_1.len + 0);
appendString((&T19_), n_1);
appendString((&T19_), e_1);
		colontmp__10 = T19_;
		colontmp__11 = p_1;
		eqwasMoved___system_u2751((&p_1));
		colontmp__12 = u_1.hostname;
		eqwasMoved___system_u2751((&u_1.hostname));
		blitTmp_10 = colontmp__10;
		(*Result).Field0 = blitTmp_10;
		blitTmp_11 = colontmp__11;
		(*Result).Field1 = blitTmp_11;
		blitTmp_12 = colontmp__12;
		(*Result).Field2 = blitTmp_12;
	}
LA7_: ;
	if (e_1.p && !(e_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(e_1.p);
}
	if (n_1.p && !(n_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(n_1.p);
}
	if (p_1.p && !(p_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(p_1.p);
}
	eqdestroy___pureZos_u217((&tmpTuple_1));
	eqdestroy___pureZuri_u213((&u_1));
	}BeforeRet_: ;
}
static N_INLINE(NimStringV2, slash___stdZprivateZospaths2_u88)(NimStringV2 head_p0, NimStringV2 tail_p1) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = nosjoinPath(head_p0, tail_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, fixFileRelativeUrl__basicZpkgurls_u188)(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* u_p0, NIM_BOOL isWindowsTest_p1, tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
	{
		NIM_BOOL T3_;
		NIM_BOOL T5_;
		NIM_BOOL T6_;
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		T3_ = (NIM_BOOL)0;
		T3_ = isWindowsTest_p1;
		if (T3_) goto LA4_;
		T5_ = (NIM_BOOL)0;
		T6_ = (NIM_BOOL)0;
		T6_ = NIM_FALSE;
		if (!(T6_)) goto LA7_;
		T6_ = contains__stdZenumutils_u50(TM__TEGDsuljTYbVZE9bkM7QsRg_72, 3, (*u_p0).scheme);
LA7_: ;
		T5_ = T6_;
		if (!(T5_)) goto LA8_;
		T5_ = (((NI)0) < (*u_p0).hostname.len);
LA8_: ;
		T3_ = T5_;
LA4_: ;
		if (!T3_) goto LA9_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD_ = dollar___pureZuri_u409(u_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		colontmpD__2 = toWindowsFileUrl__basicZpkgurls_u184(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		parseUri__pureZuri_u295(colontmpD__2, Result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		{
			LA11_:;
		}
		{
			if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
			if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA9_: ;
	{
		eqcopy___pureZuri_u216(Result, u_p0);
	}
LA1_: ;
	{
		NIM_BOOL T17_;
		NimStringV2 url_1;
		NimStringV2 colontmpD__3;
		NimStringV2 colontmpD__4;
		NimStringV2 colontmpD__5;
		NimStringV2 colontmpD__6;
		NimStringV2 T22_;
		NimStringV2 T23_;
		tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA T31_;
		T17_ = (NIM_BOOL)0;
		T17_ = contains__stdZenumutils_u50(TM__TEGDsuljTYbVZE9bkM7QsRg_72, 3, (*Result).scheme);
		if (!(T17_)) goto LA18_;
		T17_ = (((NI)0) < (*Result).hostname.len);
LA18_: ;
		if (!T17_) goto LA19_;
		url_1.len = 0; url_1.p = NIM_NIL;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
		colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
		colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
		colontmpD__3 = project__basicZcontext_u340();
		if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
		T22_.len = 0; T22_.p = NIM_NIL;
		T22_ = rawNewString((*Result).hostname.len + (*Result).path.len + 0);
appendString((&T22_), (*Result).hostname);
appendString((&T22_), (*Result).path);
		colontmpD__4 = T22_;
		colontmpD__5 = slash___stdZprivateZospaths2_u88(colontmpD__3, colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
		colontmpD__6 = nosgetCurrentDir();
		if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
		url_1 = absolutePath__stdZprivateZospaths2_u359(colontmpD__5, colontmpD__6);
		if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
		T23_.len = 0; T23_.p = NIM_NIL;
		T23_ = rawNewString((*Result).scheme.len + url_1.len + 3);
appendString((&T23_), (*Result).scheme);
appendString((&T23_), TM__TEGDsuljTYbVZE9bkM7QsRg_73);
appendString((&T23_), url_1);
		eqsink___system_u2760((&url_1), T23_);
		{
			NIM_BOOL T26_;
			NimStringV2 T30_;
			T26_ = (NIM_BOOL)0;
			T26_ = isWindowsTest_p1;
			if (T26_) goto LA27_;
			T26_ = NIM_FALSE;
LA27_: ;
			if (!T26_) goto LA28_;
			T30_.len = 0; T30_.p = NIM_NIL;
			T30_ = toWindowsFileUrl__basicZpkgurls_u184(url_1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T30_); goto LA21_;}
			eqsink___system_u2760((&url_1), T30_);
		}
LA28_: ;
		nimZeroMem((void*)(&T31_), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
		parseUri__pureZuri_u295(url_1, (&T31_));
		if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
		eqsink___pureZuri_u222(Result, (&T31_));
		{
			LA21_:;
		}
		{
			if (colontmpD__6.p && !(colontmpD__6.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__6.p);
}
			if (colontmpD__5.p && !(colontmpD__5.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__5.p);
}
			if (colontmpD__4.p && !(colontmpD__4.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__4.p);
}
			if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
			if (url_1.p && !(url_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(url_1.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA19_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, createUrlSkipPatterns__basicZpkgurls_u205)(NimStringV2 raw_p0, NIM_BOOL skipDirTest_p1, NIM_BOOL forceWindows_p2, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = isUrl__basicZpkgurls_u26(raw_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!!(T3_)) goto LA4_;
		{
			NIM_BOOL T8_;
			NimStringV2 raw_2;
			tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA u_1;
			tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA blitTmp_1;
			T8_ = (NIM_BOOL)0;
			T8_ = nosdirExists(raw_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (T8_) goto LA9_;
			T8_ = skipDirTest_p1;
LA9_: ;
			if (!T8_) goto LA10_;
			raw_2.len = 0; raw_2.p = NIM_NIL;
			nimZeroMem((void*)(&u_1), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
			eqcopy___system_u2754((&raw_2), raw_p0);
			{
				NIM_BOOL T15_;
				NimStringV2 T18_;
				T15_ = (NIM_BOOL)0;
				T15_ = isGitDir__basicZcontext_u374(raw_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				if (!T15_) goto LA16_;
				T18_.len = 0; T18_.p = NIM_NIL;
				T18_ = getCanonicalUrl__basicZgitops_u349(raw_2, TM__TEGDsuljTYbVZE9bkM7QsRg_7);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T18_); goto LA12_;}
				eqsink___system_u2760((&raw_2), T18_);
			}
			goto LA13_;
LA16_: ;
			{
				{
					NimStringV2 colontmpD_;
					NimStringV2 T25_;
					if (!!(forceWindows_p2)) goto LA22_;
					colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
					colontmpD_ = nosgetCurrentDir();
					if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
					T25_.len = 0; T25_.p = NIM_NIL;
					T25_ = absolutePath__stdZprivateZospaths2_u359(raw_2, colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T25_); goto LA24_;}
					eqsink___system_u2760((&raw_2), T25_);
					{
						LA24_:;
					}
					{
						if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				}
LA22_: ;
				{
					NIM_BOOL T30_;
					NIM_BOOL T31_;
					NimStringV2 colontmpD__2;
					NimStringV2 T37_;
					NimStringV2 T38_;
					T30_ = (NIM_BOOL)0;
					T31_ = (NIM_BOOL)0;
					T31_ = forceWindows_p2;
					if (T31_) goto LA32_;
					T31_ = NIM_FALSE;
LA32_: ;
					T30_ = T31_;
					if (T30_) goto LA33_;
					T30_ = NIM_FALSE;
LA33_: ;
					if (!T30_) goto LA34_;
					colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
					T37_.len = 0; T37_.p = NIM_NIL;
					T37_ = rawNewString(raw_2.len + 8);
appendString((&T37_), TM__TEGDsuljTYbVZE9bkM7QsRg_26);
appendString((&T37_), raw_2);
					colontmpD__2 = T37_;
					T38_.len = 0; T38_.p = NIM_NIL;
					T38_ = toWindowsFileUrl__basicZpkgurls_u184(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T38_); goto LA36_;}
					eqsink___system_u2760((&raw_2), T38_);
					{
						LA36_:;
					}
					{
						if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				}
				goto LA28_;
LA34_: ;
				{
					NimStringV2 T42_;
					T42_.len = 0; T42_.p = NIM_NIL;
					T42_ = rawNewString(raw_2.len + 7);
appendString((&T42_), TM__TEGDsuljTYbVZE9bkM7QsRg_27);
appendString((&T42_), raw_2);
					eqsink___system_u2760((&raw_2), T42_);
				}
LA28_: ;
			}
LA13_: ;
			parseUri__pureZuri_u295(raw_2, (&u_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			extractProjectName__basicZpkgurls_u84((&u_1), (&(*Result).qualifiedName));
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			nimZeroMem((void*)(&blitTmp_1), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
			blitTmp_1 = u_1;
			eqwasMoved___pureZuri_u210((&u_1));
			(*Result).u = blitTmp_1;
			(*Result).hasShortName = NIM_TRUE;
			{
				LA12_:;
			}
			{
				eqdestroy___pureZuri_u213((&u_1));
				if (raw_2.p && !(raw_2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(raw_2.p);
}
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA6_;
LA10_: ;
		{
			tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw* T46_;
			NimStringV2 T47_;
			T46_ = NIM_NIL;
			T46_ = (tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw*) nimNewObj(sizeof(tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw), NIM_ALIGNOF(tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw));
			(*T46_).Sup.Sup.Sup.m_type = (&NTIv2__YUzEEs8pGqG7cYmcRoc5rw_);
			(*T46_).Sup.Sup.name = "ValueError";
			T47_.len = 0; T47_.p = NIM_NIL;
			T47_ = rawNewString(raw_p0.len + 21);
appendString((&T47_), TM__TEGDsuljTYbVZE9bkM7QsRg_49);
appendString((&T47_), raw_p0);
			(*T46_).Sup.Sup.message = T47_;
			(*T46_).Sup.Sup.parent = ((Exception*) NIM_NIL);
			raiseExceptionEx((Exception*)T46_, "ValueError", "createUrlSkipPatterns", "pkgurls.nim", 204);
goto BeforeRet_;
		}
LA6_: ;
	}
	goto LA1_;
LA4_: ;
	{
		NIM_BOOL T49_;
		tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA u_2;
		NimStringV2 colontmpD__3;
		NimStringV2 colontmpD__4;
		NimStringV2 T52_;
		NimStringV2 T61_;
		tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA blitTmp_2;
		T49_ = (NIM_BOOL)0;
		T49_ = nsuStartsWith(raw_p0, TM__TEGDsuljTYbVZE9bkM7QsRg_50);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T49_) goto LA50_;
		nimZeroMem((void*)(&u_2), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
		T52_.len = 0; T52_.p = NIM_NIL;
		colontmpD__3 = nsuReplaceStr(raw_p0, TM__TEGDsuljTYbVZE9bkM7QsRg_54, TM__TEGDsuljTYbVZE9bkM7QsRg_56);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T52_ = rawNewString(colontmpD__3.len + 6);
appendString((&T52_), TM__TEGDsuljTYbVZE9bkM7QsRg_52);
appendString((&T52_), colontmpD__3);
		colontmpD__4 = T52_;
		parseUri__pureZuri_u295(colontmpD__4, (&u_2));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NIM_BOOL T55_;
			NIM_BOOL T57_;
			T55_ = (NIM_BOOL)0;
			T55_ = nsuEndsWith(u_2.path, TM__TEGDsuljTYbVZE9bkM7QsRg_57);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(T55_)) goto LA56_;
			T57_ = (NIM_BOOL)0;
			T57_ = contains__stdZenumutils_u50(TM__TEGDsuljTYbVZE9bkM7QsRg_29, 2, u_2.scheme);
			if (T57_) goto LA58_;
			T57_ = contains__stdZenumutils_u50(TM__TEGDsuljTYbVZE9bkM7QsRg_58, 3, u_2.hostname);
LA58_: ;
			T55_ = T57_;
LA56_: ;
			if (!T55_) goto LA59_;
			nsuRemoveSuffixString((&u_2.path), TM__TEGDsuljTYbVZE9bkM7QsRg_62);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA59_: ;
		T61_.len = 0; T61_.p = NIM_NIL;
		T61_ = nsuStrip(u_2.path, NIM_FALSE, NIM_TRUE, TM__TEGDsuljTYbVZE9bkM7QsRg_63);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T61_); goto BeforeRet_;}
		eqsink___system_u2760((&u_2.path), T61_);
		extractProjectName__basicZpkgurls_u84((&u_2), (&(*Result).qualifiedName));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimZeroMem((void*)(&blitTmp_2), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
		blitTmp_2 = u_2;
		(*Result).u = blitTmp_2;
		(*Result).hasShortName = NIM_FALSE;
		if (colontmpD__4.p && !(colontmpD__4.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__4.p);
}
		if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
	}
	goto LA1_;
LA50_: ;
	{
		tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA u_3;
		NIM_BOOL hasShortName_1;
		NimStringV2 T99_;
		tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA blitTmp_3;
		nimZeroMem((void*)(&u_3), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
		parseUri__pureZuri_u295(raw_p0, (&u_3));
		if (NIM_UNLIKELY(*nimErr_)) goto LA63_;
		hasShortName_1 = NIM_FALSE;
		{
			if (!eqStrings(u_3.scheme, TM__TEGDsuljTYbVZE9bkM7QsRg_65)) goto LA66_;
			{
				NI resX60gensym33__1;
				NI iX60gensym33__1;
				NimStringV2 T84_;
				resX60gensym33__1 = ((NI)-1);
				iX60gensym33__1 = ((NI)0);
				{
					NIM_CHAR it_1;
					NI i_1;
					NI L_1;
					it_1 = (NIM_CHAR)0;
					i_1 = ((NI)0);
					L_1 = u_3.port.len;
					{
						while (1) {
							if (!(i_1 < L_1)) goto LA72;
							if (i_1 < 0 || i_1 >= u_3.port.len){ raiseIndexError2(i_1,u_3.port.len-1); goto LA63_;
							}
							it_1 = u_3.port.p->data[i_1];
							{
								NIM_BOOL T75_;
								T75_ = (NIM_BOOL)0;
								T75_ = nsuIsDigitChar(it_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA63_;
								if (!!(T75_)) goto LA76_;
								resX60gensym33__1 = iX60gensym33__1;
								goto LA70;
							}
LA76_: ;
							iX60gensym33__1 += ((NI)1);
							i_1 += ((NI)1);
							{
								if (!!((u_3.port.len == L_1))) goto LA80_;
								failedAssertImpl__stdZassertions_u95(TM__TEGDsuljTYbVZE9bkM7QsRg_67);
								if (NIM_UNLIKELY(*nimErr_)) goto LA63_;
							}
LA80_: ;
						} LA72: ;
					}
				} LA70: ;
				if (!!((resX60gensym33__1 == ((NI)-1)))) goto LA82_;
				T84_.len = 0; T84_.p = NIM_NIL;
				T84_ = rawNewString(u_3.port.len + u_3.path.len + 1);
appendString((&T84_), TM__TEGDsuljTYbVZE9bkM7QsRg_68);
appendString((&T84_), u_3.port);
appendString((&T84_), u_3.path);
				eqsink___system_u2760((&u_3.path), T84_);
				eqsink___system_u2760((&u_3.port), TM__TEGDsuljTYbVZE9bkM7QsRg_69);
			}
LA82_: ;
			eqsink___system_u2760((&u_3.scheme), TM__TEGDsuljTYbVZE9bkM7QsRg_71);
		}
LA66_: ;
		{
			NIM_BOOL T87_;
			tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA T90_;
			T87_ = (NIM_BOOL)0;
			T87_ = contains__stdZenumutils_u50(TM__TEGDsuljTYbVZE9bkM7QsRg_72, 3, u_3.scheme);
			if (!T87_) goto LA88_;
			nimZeroMem((void*)(&T90_), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
			fixFileRelativeUrl__basicZpkgurls_u188((&u_3), forceWindows_p2, (&T90_));
			if (NIM_UNLIKELY(*nimErr_)) goto LA63_;
			eqsink___pureZuri_u222((&u_3), (&T90_));
			hasShortName_1 = NIM_TRUE;
		}
LA88_: ;
		{
			NIM_BOOL T93_;
			NIM_BOOL T95_;
			T93_ = (NIM_BOOL)0;
			T93_ = nsuEndsWith(u_3.path, TM__TEGDsuljTYbVZE9bkM7QsRg_74);
			if (NIM_UNLIKELY(*nimErr_)) goto LA63_;
			if (!(T93_)) goto LA94_;
			T95_ = (NIM_BOOL)0;
			T95_ = contains__stdZenumutils_u50(TM__TEGDsuljTYbVZE9bkM7QsRg_29, 2, u_3.scheme);
			if (T95_) goto LA96_;
			T95_ = contains__stdZenumutils_u50(TM__TEGDsuljTYbVZE9bkM7QsRg_58, 3, u_3.hostname);
LA96_: ;
			T93_ = T95_;
LA94_: ;
			if (!T93_) goto LA97_;
			nsuRemoveSuffixString((&u_3.path), TM__TEGDsuljTYbVZE9bkM7QsRg_75);
			if (NIM_UNLIKELY(*nimErr_)) goto LA63_;
		}
LA97_: ;
		T99_.len = 0; T99_.p = NIM_NIL;
		T99_ = nsuStrip(u_3.path, NIM_FALSE, NIM_TRUE, TM__TEGDsuljTYbVZE9bkM7QsRg_63);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T99_); goto LA63_;}
		eqsink___system_u2760((&u_3.path), T99_);
		extractProjectName__basicZpkgurls_u84((&u_3), (&(*Result).qualifiedName));
		if (NIM_UNLIKELY(*nimErr_)) goto LA63_;
		nimZeroMem((void*)(&blitTmp_3), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
		blitTmp_3 = u_3;
		eqwasMoved___pureZuri_u210((&u_3));
		(*Result).u = blitTmp_3;
		(*Result).hasShortName = hasShortName_1;
		{
			LA63_:;
		}
		{
			eqdestroy___pureZuri_u213((&u_3));
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___basicZpkgurls_u270)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* dest_p0, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* src_p1) {
	if ((*dest_p0).qualifiedName.Field0.p != (*src_p1).qualifiedName.Field0.p) {	if ((*dest_p0).qualifiedName.Field0.p && !((*dest_p0).qualifiedName.Field0.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).qualifiedName.Field0.p);
}
	}
(*dest_p0).qualifiedName.Field0.len = (*src_p1).qualifiedName.Field0.len; (*dest_p0).qualifiedName.Field0.p = (*src_p1).qualifiedName.Field0.p;
	if ((*dest_p0).qualifiedName.Field1.p != (*src_p1).qualifiedName.Field1.p) {	if ((*dest_p0).qualifiedName.Field1.p && !((*dest_p0).qualifiedName.Field1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).qualifiedName.Field1.p);
}
	}
(*dest_p0).qualifiedName.Field1.len = (*src_p1).qualifiedName.Field1.len; (*dest_p0).qualifiedName.Field1.p = (*src_p1).qualifiedName.Field1.p;
	if ((*dest_p0).qualifiedName.Field2.p != (*src_p1).qualifiedName.Field2.p) {	if ((*dest_p0).qualifiedName.Field2.p && !((*dest_p0).qualifiedName.Field2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).qualifiedName.Field2.p);
}
	}
(*dest_p0).qualifiedName.Field2.len = (*src_p1).qualifiedName.Field2.len; (*dest_p0).qualifiedName.Field2.p = (*src_p1).qualifiedName.Field2.p;
	(*dest_p0).hasShortName = (*src_p1).hasShortName;
	if ((*dest_p0).u.scheme.p != (*src_p1).u.scheme.p) {	if ((*dest_p0).u.scheme.p && !((*dest_p0).u.scheme.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).u.scheme.p);
}
	}
(*dest_p0).u.scheme.len = (*src_p1).u.scheme.len; (*dest_p0).u.scheme.p = (*src_p1).u.scheme.p;
	if ((*dest_p0).u.username.p != (*src_p1).u.username.p) {	if ((*dest_p0).u.username.p && !((*dest_p0).u.username.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).u.username.p);
}
	}
(*dest_p0).u.username.len = (*src_p1).u.username.len; (*dest_p0).u.username.p = (*src_p1).u.username.p;
	if ((*dest_p0).u.password.p != (*src_p1).u.password.p) {	if ((*dest_p0).u.password.p && !((*dest_p0).u.password.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).u.password.p);
}
	}
(*dest_p0).u.password.len = (*src_p1).u.password.len; (*dest_p0).u.password.p = (*src_p1).u.password.p;
	if ((*dest_p0).u.hostname.p != (*src_p1).u.hostname.p) {	if ((*dest_p0).u.hostname.p && !((*dest_p0).u.hostname.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).u.hostname.p);
}
	}
(*dest_p0).u.hostname.len = (*src_p1).u.hostname.len; (*dest_p0).u.hostname.p = (*src_p1).u.hostname.p;
	if ((*dest_p0).u.port.p != (*src_p1).u.port.p) {	if ((*dest_p0).u.port.p && !((*dest_p0).u.port.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).u.port.p);
}
	}
(*dest_p0).u.port.len = (*src_p1).u.port.len; (*dest_p0).u.port.p = (*src_p1).u.port.p;
	if ((*dest_p0).u.path.p != (*src_p1).u.path.p) {	if ((*dest_p0).u.path.p && !((*dest_p0).u.path.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).u.path.p);
}
	}
(*dest_p0).u.path.len = (*src_p1).u.path.len; (*dest_p0).u.path.p = (*src_p1).u.path.p;
	if ((*dest_p0).u.query.p != (*src_p1).u.query.p) {	if ((*dest_p0).u.query.p && !((*dest_p0).u.query.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).u.query.p);
}
	}
(*dest_p0).u.query.len = (*src_p1).u.query.len; (*dest_p0).u.query.p = (*src_p1).u.query.p;
	if ((*dest_p0).u.anchor.p != (*src_p1).u.anchor.p) {	if ((*dest_p0).u.anchor.p && !((*dest_p0).u.anchor.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).u.anchor.p);
}
	}
(*dest_p0).u.anchor.len = (*src_p1).u.anchor.len; (*dest_p0).u.anchor.p = (*src_p1).u.anchor.p;
	(*dest_p0).u.opaque = (*src_p1).u.opaque;
	(*dest_p0).u.isIpv6 = (*src_p1).u.isIpv6;
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___basicZpkgurls_u258)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* dest_p0) {
	(*dest_p0).qualifiedName.Field0.len = 0; (*dest_p0).qualifiedName.Field0.p = NIM_NIL;
	(*dest_p0).qualifiedName.Field1.len = 0; (*dest_p0).qualifiedName.Field1.p = NIM_NIL;
	(*dest_p0).qualifiedName.Field2.len = 0; (*dest_p0).qualifiedName.Field2.p = NIM_NIL;
	(*dest_p0).hasShortName = 0;
	(*dest_p0).u.scheme.len = 0; (*dest_p0).u.scheme.p = NIM_NIL;
	(*dest_p0).u.username.len = 0; (*dest_p0).u.username.p = NIM_NIL;
	(*dest_p0).u.password.len = 0; (*dest_p0).u.password.p = NIM_NIL;
	(*dest_p0).u.hostname.len = 0; (*dest_p0).u.hostname.p = NIM_NIL;
	(*dest_p0).u.port.len = 0; (*dest_p0).u.port.p = NIM_NIL;
	(*dest_p0).u.path.len = 0; (*dest_p0).u.path.p = NIM_NIL;
	(*dest_p0).u.query.len = 0; (*dest_p0).u.query.p = NIM_NIL;
	(*dest_p0).u.anchor.len = 0; (*dest_p0).u.anchor.p = NIM_NIL;
	(*dest_p0).u.opaque = 0;
	(*dest_p0).u.isIpv6 = 0;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZpkgurls_u261)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* dest_p0) {
	if ((*dest_p0).u.anchor.p && !((*dest_p0).u.anchor.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).u.anchor.p);
}
	if ((*dest_p0).u.query.p && !((*dest_p0).u.query.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).u.query.p);
}
	if ((*dest_p0).u.path.p && !((*dest_p0).u.path.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).u.path.p);
}
	if ((*dest_p0).u.port.p && !((*dest_p0).u.port.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).u.port.p);
}
	if ((*dest_p0).u.hostname.p && !((*dest_p0).u.hostname.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).u.hostname.p);
}
	if ((*dest_p0).u.password.p && !((*dest_p0).u.password.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).u.password.p);
}
	if ((*dest_p0).u.username.p && !((*dest_p0).u.username.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).u.username.p);
}
	if ((*dest_p0).u.scheme.p && !((*dest_p0).u.scheme.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).u.scheme.p);
}
	if ((*dest_p0).qualifiedName.Field0.p && !((*dest_p0).qualifiedName.Field0.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).qualifiedName.Field0.p);
}
	if ((*dest_p0).qualifiedName.Field1.p && !((*dest_p0).qualifiedName.Field1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).qualifiedName.Field1.p);
}
	if ((*dest_p0).qualifiedName.Field2.p && !((*dest_p0).qualifiedName.Field2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).qualifiedName.Field2.p);
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___basicZpkgurls_u264)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* dest_p0, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* src_p1) {
	eqcopy___system_u2754((&(*dest_p0).qualifiedName.Field0), (*src_p1).qualifiedName.Field0);
	eqcopy___system_u2754((&(*dest_p0).qualifiedName.Field1), (*src_p1).qualifiedName.Field1);
	eqcopy___system_u2754((&(*dest_p0).qualifiedName.Field2), (*src_p1).qualifiedName.Field2);
	(*dest_p0).hasShortName = (*src_p1).hasShortName;
	eqcopy___system_u2754((&(*dest_p0).u.scheme), (*src_p1).u.scheme);
	eqcopy___system_u2754((&(*dest_p0).u.username), (*src_p1).u.username);
	eqcopy___system_u2754((&(*dest_p0).u.password), (*src_p1).u.password);
	eqcopy___system_u2754((&(*dest_p0).u.hostname), (*src_p1).u.hostname);
	eqcopy___system_u2754((&(*dest_p0).u.port), (*src_p1).u.port);
	eqcopy___system_u2754((&(*dest_p0).u.path), (*src_p1).u.path);
	eqcopy___system_u2754((&(*dest_p0).u.query), (*src_p1).u.query);
	eqcopy___system_u2754((&(*dest_p0).u.anchor), (*src_p1).u.anchor);
	(*dest_p0).u.opaque = (*src_p1).u.opaque;
	(*dest_p0).u.isIpv6 = (*src_p1).u.isIpv6;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEmpty__basicZpkgurls_u23)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* s_p0) {
	NIM_BOOL result;
	NimStringV2 colontmpD_;
	NIM_BOOL T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*s_p0).qualifiedName.Field0.len == ((NI)0));
	if (T1_) goto LA2_;
	colontmpD_ = dollar___pureZuri_u409((&(*s_p0).u));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = (colontmpD_.len == 0);
LA2_: ;
	result = T1_;
	if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, shortName__basicZpkgurls_u32)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* u_p0) {
	NimStringV2 result;
	result.len = 0; result.p = NIM_NIL;
	eqcopy___system_u2754((&result), (*u_p0).qualifiedName.Field0);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, url__basicZpkgurls_u44)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* p_p0, tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* Result) {
	nimZeroMem((void*)Result, sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
	eqcopy___pureZuri_u216(Result, (&(*p_p0).u));
}
N_LIB_PRIVATE N_NIMCALL(void, eqdup___basicZpkgurls_u267)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* src_p0, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* Result) {
	nimZeroMem((void*)Result, sizeof(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw));
	(*Result).qualifiedName.Field0 = eqdup___system_u2757((*src_p0).qualifiedName.Field0);
	(*Result).qualifiedName.Field1 = eqdup___system_u2757((*src_p0).qualifiedName.Field1);
	(*Result).qualifiedName.Field2 = eqdup___system_u2757((*src_p0).qualifiedName.Field2);
	(*Result).hasShortName = (*src_p0).hasShortName;
	(*Result).u.scheme = eqdup___system_u2757((*src_p0).u.scheme);
	(*Result).u.username = eqdup___system_u2757((*src_p0).u.username);
	(*Result).u.password = eqdup___system_u2757((*src_p0).u.password);
	(*Result).u.hostname = eqdup___system_u2757((*src_p0).u.hostname);
	(*Result).u.port = eqdup___system_u2757((*src_p0).u.port);
	(*Result).u.path = eqdup___system_u2757((*src_p0).u.path);
	(*Result).u.query = eqdup___system_u2757((*src_p0).u.query);
	(*Result).u.anchor = eqdup___system_u2757((*src_p0).u.anchor);
	(*Result).u.opaque = (*src_p0).u.opaque;
	(*Result).u.isIpv6 = (*src_p0).u.isIpv6;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___basicZpkgurls_u47)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* u_p0) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = dollar___pureZuri_u409((&(*u_p0).u));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, projectName__basicZpkgurls_u35)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* u_p0) {
	NimStringV2 result;
	NimStringV2 T1_;
	result.len = 0; result.p = NIM_NIL;
	T1_.len = 0; T1_.p = NIM_NIL;
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = (*u_p0).hasShortName;
		if (T4_) goto LA5_;
		T4_ = ((*u_p0).qualifiedName.Field2.len == 0);
LA5_: ;
		if (!T4_) goto LA6_;
		eqcopy___system_u2754((&result), (*u_p0).qualifiedName.Field0);
	}
	goto LA2_;
LA6_: ;
	{
		NimStringV2 T9_;
		T9_.len = 0; T9_.p = NIM_NIL;
		T9_ = rawNewString((*u_p0).qualifiedName.Field0.len + (*u_p0).qualifiedName.Field1.len + (*u_p0).qualifiedName.Field2.len + 2);
appendString((&T9_), (*u_p0).qualifiedName.Field0);
appendString((&T9_), TM__TEGDsuljTYbVZE9bkM7QsRg_77);
appendString((&T9_), (*u_p0).qualifiedName.Field1);
appendString((&T9_), TM__TEGDsuljTYbVZE9bkM7QsRg_78);
appendString((&T9_), (*u_p0).qualifiedName.Field2);
		result = T9_;
	}
LA2_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, toUri__basicZpkgurls_u41)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* u_p0, tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* Result) {
	nimZeroMem((void*)Result, sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
	eqcopy___pureZuri_u216(Result, (&(*u_p0).u));
}
N_LIB_PRIVATE N_NIMCALL(void, toPkgUriRaw__basicZpkgurls_u301)(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* u_p0, NIM_BOOL hasShortName_p1, tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* Result) {
	NimStringV2 colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw));
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	colontmpD_ = dollar___pureZuri_u409(u_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	createUrlSkipPatterns__basicZpkgurls_u205(colontmpD_, NIM_TRUE, NIM_FALSE, Result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	(*Result).hasShortName = hasShortName_p1;
	{
		LA1_:;
	}
	{
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toReporterName__basicZpkgurls_u81)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* u_p0) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = projectName__basicZpkgurls_u35(u_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NimStringV2, parentDir__stdZpaths_u155)(NimStringV2 path_p0) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = nosparentDir(path_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toOriginalPath__basicZpkgurls_u101)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* pkgUrl_p0, NIM_BOOL isWindowsTest_p1) {
	NimStringV2 result;
	tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	nimZeroMem((void*)(&colontmpD_), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
	{
		NIM_BOOL T4_;
		tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA colontmpD__2;
		tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA colontmpD__3;
		NimStringV2 T7_;
		url__basicZpkgurls_u44(pkgUrl_p0, (&colontmpD_));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T4_ = (NIM_BOOL)0;
		T4_ = contains__stdZenumutils_u50(TM__TEGDsuljTYbVZE9bkM7QsRg_72, 3, colontmpD_.scheme);
		if (!T4_) goto LA5_;
		nimZeroMem((void*)(&colontmpD__2), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
		nimZeroMem((void*)(&colontmpD__3), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
		T7_.len = 0; T7_.p = NIM_NIL;
		url__basicZpkgurls_u44(pkgUrl_p0, (&colontmpD__2));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		url__basicZpkgurls_u44(pkgUrl_p0, (&colontmpD__3));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T7_ = rawNewString(colontmpD__2.hostname.len + colontmpD__3.path.len + 0);
appendString((&T7_), colontmpD__2.hostname);
appendString((&T7_), colontmpD__3.path);
		result = T7_;
		{
			NIM_BOOL T10_;
			NimStringV2 p_1;
			NimStringV2 blitTmp_1;
			T10_ = (NIM_BOOL)0;
			T10_ = NIM_FALSE;
			if (T10_) goto LA11_;
			T10_ = isWindowsTest_p1;
LA11_: ;
			if (!T10_) goto LA12_;
			p_1.len = 0; p_1.p = NIM_NIL;
			p_1 = nsuReplaceChar(result, 47, 92);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			nsuRemovePrefixChar((&p_1), 92);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			blitTmp_1 = p_1;
			eqsink___system_u2760((&result), blitTmp_1);
		}
LA12_: ;
		eqdestroy___pureZuri_u213((&colontmpD__3));
		eqdestroy___pureZuri_u213((&colontmpD__2));
	}
	goto LA2_;
LA5_: ;
	{
		tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA colontmpD__4;
		NimStringV2 colontmpD__5;
		tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw* T16_;
		NimStringV2 T17_;
		nimZeroMem((void*)(&colontmpD__4), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
		colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
		T16_ = NIM_NIL;
		T16_ = (tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw*) nimNewObj(sizeof(tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw), NIM_ALIGNOF(tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw));
		(*T16_).Sup.Sup.Sup.m_type = (&NTIv2__YUzEEs8pGqG7cYmcRoc5rw_);
		(*T16_).Sup.Sup.name = "ValueError";
		T17_.len = 0; T17_.p = NIM_NIL;
		url__basicZpkgurls_u44(pkgUrl_p0, (&colontmpD__4));
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		colontmpD__5 = dollar___pureZuri_u409((&colontmpD__4));
		if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
		T17_ = rawNewString(colontmpD__5.len + 19);
appendString((&T17_), TM__TEGDsuljTYbVZE9bkM7QsRg_84);
appendString((&T17_), colontmpD__5);
		(*T16_).Sup.Sup.message = T17_;
		(*T16_).Sup.Sup.parent = ((Exception*) NIM_NIL);
		raiseExceptionEx((Exception*)T16_, "ValueError", "toOriginalPath", "pkgurls.nim", 81);
goto LA15_;
		{
			LA15_:;
		}
		{
			if (colontmpD__5.p && !(colontmpD__5.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__5.p);
}
			eqdestroy___pureZuri_u213((&colontmpD__4));
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		eqdestroy___pureZuri_u213((&colontmpD_));
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NimStringV2, slash___stdZpaths_u84)(NimStringV2 head_p0, NimStringV2 tail_p1) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = nosjoinPath(head_p0, tail_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, dirExists__stdZdirs_u3)(NimStringV2 dir_p0) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	result = nosdirExists(dir_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, fileExists__stdZfiles_u10)(NimStringV2 filename_p0) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	result = nosfileExists(filename_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, linkPath__basicZpkgurls_u113)(NimStringV2 path_p0) {
	NimStringV2 result;
	NimStringV2 T1_;
	T1_.len = 0; T1_.p = NIM_NIL;
	T1_ = rawNewString(path_p0.len + 12);
appendString((&T1_), path_p0);
appendString((&T1_), TM__TEGDsuljTYbVZE9bkM7QsRg_87);
	result = T1_;
	return result;
}
static N_INLINE(void, splitFile__stdZpaths_u114)(NimStringV2 path_p0, tyTuple__7q7q3E6Oj24ZNVJb9aonhAg* Result) {
	tyTuple__7q7q3E6Oj24ZNVJb9aonhAg res_1;
	NimStringV2 colontmp_;
	NimStringV2 colontmp__2;
	NimStringV2 colontmp__3;
	NimStringV2 blitTmp_1;
	NimStringV2 blitTmp_2;
	NimStringV2 blitTmp_3;
	NimStringV2 blitTmp_4;
	NimStringV2 blitTmp_5;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
	nimZeroMem((void*)(&res_1), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
	colontmp_.len = 0; colontmp_.p = NIM_NIL;
	colontmp__2.len = 0; colontmp__2.p = NIM_NIL;
	colontmp__3.len = 0; colontmp__3.p = NIM_NIL;
	nossplitFile(path_p0, (&res_1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	blitTmp_1 = res_1.Field0;
	eqwasMoved___system_u2751((&res_1.Field0));
	colontmp_ = blitTmp_1;
	blitTmp_2 = res_1.Field1;
	eqwasMoved___system_u2751((&res_1.Field1));
	colontmp__2 = blitTmp_2;
	colontmp__3 = res_1.Field2;
	eqwasMoved___system_u2751((&res_1.Field2));
	blitTmp_3 = colontmp_;
	(*Result).Field0 = blitTmp_3;
	blitTmp_4 = colontmp__2;
	(*Result).Field1 = blitTmp_4;
	blitTmp_5 = colontmp__3;
	(*Result).Field2 = blitTmp_5;
	eqdestroy___pureZos_u217((&res_1));
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, isAbsolute__stdZpaths_u143)(NimStringV2 path_p0) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	result = nosisAbsolute(path_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NimStringV2, getCurrentDir__stdZpaths_u191)(void) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = nosgetCurrentDir();
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toDirectoryPath__basicZpkgurls_u116)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* pkgUrl_p0, NIM_BOOL isLinkFile_p1) {
	NimStringV2 result;
	tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA colontmpD_;
	NimStringV2 colontmpD__2;
	tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA colontmpD__3;
	tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA colontmpD__4;
	tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA colontmpD__5;
	NimStringV2 colontmpD__6;
	NimStringV2 colontmpD__7;
	tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T2_;
	NimStringV2 T49_;
	tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T50_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	nimZeroMem((void*)(&colontmpD_), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
	colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
	nimZeroMem((void*)(&colontmpD__3), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
	nimZeroMem((void*)(&colontmpD__4), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
	nimZeroMem((void*)(&colontmpD__5), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
	colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
	colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
	T2_[0] = TM__TEGDsuljTYbVZE9bkM7QsRg_80;
	url__basicZpkgurls_u44(pkgUrl_p0, (&colontmpD_));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = dollar___pureZuri_u409((&colontmpD_));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_[1] = colontmpD__2;
	trace__basicZpkgurls_u120(pkgUrl_p0, T2_, 2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		url__basicZpkgurls_u44(pkgUrl_p0, (&colontmpD__3));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!eqStrings(colontmpD__3.scheme, TM__TEGDsuljTYbVZE9bkM7QsRg_81)) goto LA5_;
		result = project__basicZcontext_u340();
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA3_;
LA5_: ;
	{
		NimStringV2 colontmpD__8;
		url__basicZpkgurls_u44(pkgUrl_p0, (&colontmpD__4));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!eqStrings(colontmpD__4.scheme, TM__TEGDsuljTYbVZE9bkM7QsRg_82)) goto LA8_;
		colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
		colontmpD__8 = toOriginalPath__basicZpkgurls_u101(pkgUrl_p0, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		result = parentDir__stdZpaths_u155(colontmpD__8);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		{
			LA10_:;
		}
		{
			if (colontmpD__8.p && !(colontmpD__8.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__8.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA3_;
LA8_: ;
	{
		NimStringV2 colontmpD__9;
		NimStringV2 colontmpD__10;
		url__basicZpkgurls_u44(pkgUrl_p0, (&colontmpD__5));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!eqStrings(colontmpD__5.scheme, TM__TEGDsuljTYbVZE9bkM7QsRg_85)) goto LA14_;
		colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
		colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
		colontmpD__9 = depsDir__basicZcontext_u348(NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		colontmpD__10 = projectName__basicZpkgurls_u35(pkgUrl_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		result = slash___stdZpaths_u84(colontmpD__9, colontmpD__10);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (colontmpD__10.p && !(colontmpD__10.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__10.p);
}
		if (colontmpD__9.p && !(colontmpD__9.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__9.p);
}
	}
	goto LA3_;
LA14_: ;
	{
		NimStringV2 colontmpD__11;
		NimStringV2 colontmpD__12;
		colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
		colontmpD__12.len = 0; colontmpD__12.p = NIM_NIL;
		colontmpD__11 = depsDir__basicZcontext_u348(NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		colontmpD__12 = shortName__basicZpkgurls_u32(pkgUrl_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		result = slash___stdZpaths_u84(colontmpD__11, colontmpD__12);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (colontmpD__12.p && !(colontmpD__12.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__12.p);
}
		if (colontmpD__11.p && !(colontmpD__11.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__11.p);
}
	}
LA3_: ;
	{
		NIM_BOOL T19_;
		NIM_BOOL T20_;
		NIM_BOOL T22_;
		NimStringV2 linkPath_1;
		NimStringV2 link_1;
		tySequence__sM4lkSb7zS6F7OVMvW9cffQ lines_1;
		T19_ = (NIM_BOOL)0;
		T20_ = (NIM_BOOL)0;
		T20_ = !(isLinkFile_p1);
		if (!(T20_)) goto LA21_;
		T22_ = (NIM_BOOL)0;
		T22_ = dirExists__stdZdirs_u3(result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T20_ = !(T22_);
LA21_: ;
		T19_ = T20_;
		if (!(T19_)) goto LA23_;
		colontmpD__6 = linkPath__basicZpkgurls_u113(result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T19_ = fileExists__stdZfiles_u10(colontmpD__6);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA23_: ;
		if (!T19_) goto LA24_;
		linkPath_1.len = 0; linkPath_1.p = NIM_NIL;
		link_1.len = 0; link_1.p = NIM_NIL;
		lines_1.len = 0; lines_1.p = NIM_NIL;
		linkPath_1 = linkPath__basicZpkgurls_u113(result);
		if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
		link_1 = readFile__stdZsyncio_u534(linkPath_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
		lines_1 = nsuSplitString(link_1, TM__TEGDsuljTYbVZE9bkM7QsRg_89, ((NI)-1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
		{
			NI T29_;
			NimStringV2 colontmpD__13;
			tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T33_;
			T29_ = lines_1.len;
			if (!!((T29_ == ((NI)2)))) goto LA30_;
			colontmpD__13.len = 0; colontmpD__13.p = NIM_NIL;
			colontmpD__13 = projectName__basicZpkgurls_u35(pkgUrl_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
			T33_[0] = TM__TEGDsuljTYbVZE9bkM7QsRg_91;
			T33_[1] = linkPath_1;
			warn__basicZpkgurls_u133(colontmpD__13, T33_, 2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
			{
				LA32_:;
			}
			{
				if (colontmpD__13.p && !(colontmpD__13.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__13.p);
}
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
		}
		goto LA27_;
LA30_: ;
		{
			NimStringV2 nimble_1;
			tyTuple__7q7q3E6Oj24ZNVJb9aonhAg colontmpD__14;
			NimStringV2 colontmpD__15;
			NimStringV2 blitTmp_1;
			tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T44_;
			nimble_1.len = 0; nimble_1.p = NIM_NIL;
			nimZeroMem((void*)(&colontmpD__14), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
			colontmpD__15.len = 0; colontmpD__15.p = NIM_NIL;
			if (((NI)0) < 0 || ((NI)0) >= lines_1.len){ raiseIndexError2(((NI)0),lines_1.len-1); goto LA37_;
			}
			blitTmp_1 = lines_1.p->data[((NI)0)];
			if (((NI)0) < 0 || ((NI)0) >= lines_1.len){ raiseIndexError2(((NI)0),lines_1.len-1); goto LA37_;
			}
			eqwasMoved___system_u2751((&lines_1.p->data[((NI)0)]));
			nimble_1 = blitTmp_1;
			splitFile__stdZpaths_u114(nimble_1, (&colontmpD__14));
			if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
			eqsink___system_u2760((&result), colontmpD__14.Field0);
			eqwasMoved___system_u2751((&colontmpD__14.Field0));
			{
				NIM_BOOL T40_;
				NimStringV2 colontmpD__16;
				NimStringV2 T43_;
				T40_ = (NIM_BOOL)0;
				T40_ = isAbsolute__stdZpaths_u143(result);
				if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
				if (!!(T40_)) goto LA41_;
				colontmpD__16.len = 0; colontmpD__16.p = NIM_NIL;
				colontmpD__16 = parentDir__stdZpaths_u155(linkPath_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
				T43_.len = 0; T43_.p = NIM_NIL;
				T43_ = slash___stdZpaths_u84(colontmpD__16, result);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T43_); goto LA37_;}
				eqsink___system_u2760((&result), T43_);
				if (colontmpD__16.p && !(colontmpD__16.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__16.p);
}
			}
LA41_: ;
			colontmpD__15 = projectName__basicZpkgurls_u35(pkgUrl_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
			T44_[0] = TM__TEGDsuljTYbVZE9bkM7QsRg_93;
			T44_[1] = result;
			debug__basicZgitops_u1174(colontmpD__15, T44_, 2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
			{
				LA37_:;
			}
			{
				if (colontmpD__15.p && !(colontmpD__15.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__15.p);
}
				eqdestroy___stdZpaths_u124((&colontmpD__14));
				if (nimble_1.p && !(nimble_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimble_1.p);
}
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
		}
LA27_: ;
		{
			LA26_:;
		}
		{
			eqdestroy___system_u5582(lines_1);
			if (link_1.p && !(link_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(link_1.p);
}
			if (linkPath_1.p && !(linkPath_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(linkPath_1.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA24_: ;
	colontmpD__7 = getCurrentDir__stdZpaths_u191();
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T49_.len = 0; T49_.p = NIM_NIL;
	T49_ = absolutePath__stdZpaths_u204(result, colontmpD__7);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T49_); goto LA1_;}
	eqsink___system_u2760((&result), T49_);
	T50_[0] = TM__TEGDsuljTYbVZE9bkM7QsRg_95;
	T50_[1] = result;
	trace__basicZpkgurls_u120(pkgUrl_p0, T50_, 2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!((((NI)0) < result.len))) goto LA53_;
		failedAssertImpl__stdZassertions_u95(TM__TEGDsuljTYbVZE9bkM7QsRg_97);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA53_: ;
	{
		LA1_:;
	}
	{
		if (colontmpD__7.p && !(colontmpD__7.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__7.p);
}
		if (colontmpD__6.p && !(colontmpD__6.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__6.p);
}
		eqdestroy___pureZuri_u213((&colontmpD__5));
		eqdestroy___pureZuri_u213((&colontmpD__4));
		eqdestroy___pureZuri_u213((&colontmpD__3));
		if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
		eqdestroy___pureZuri_u213((&colontmpD_));
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toDirectoryPath__basicZpkgurls_u154)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* pkgUrl_p0) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = toDirectoryPath__basicZpkgurls_u116(pkgUrl_p0, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isAtlasProject__basicZpkgurls_u163)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* pkgUrl_p0) {
	NIM_BOOL result;
	tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	nimZeroMem((void*)(&colontmpD_), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
	url__basicZpkgurls_u44(pkgUrl_p0, (&colontmpD_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = eqStrings(colontmpD_.scheme, TM__TEGDsuljTYbVZE9bkM7QsRg_98);
	eqdestroy___pureZuri_u213((&colontmpD_));
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toLinkPath__basicZpkgurls_u157)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* pkgUrl_p0) {
	NimStringV2 result;
	tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA colontmpD_;
	tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA colontmpD__2;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	nimZeroMem((void*)(&colontmpD_), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
	nimZeroMem((void*)(&colontmpD__2), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
	{
		url__basicZpkgurls_u44(pkgUrl_p0, (&colontmpD_));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!eqStrings(colontmpD_.scheme, TM__TEGDsuljTYbVZE9bkM7QsRg_100)) goto LA4_;
		result = TM__TEGDsuljTYbVZE9bkM7QsRg_102;
	}
	goto LA2_;
LA4_: ;
	{
		NimStringV2 colontmpD__3;
		NimStringV2 colontmpD__4;
		NimStringV2 colontmpD__5;
		NimStringV2 T9_;
		url__basicZpkgurls_u44(pkgUrl_p0, (&colontmpD__2));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!eqStrings(colontmpD__2.scheme, TM__TEGDsuljTYbVZE9bkM7QsRg_103)) goto LA7_;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
		colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
		colontmpD__3 = depsDir__basicZcontext_u348(NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T9_.len = 0; T9_.p = NIM_NIL;
		colontmpD__4 = projectName__basicZpkgurls_u35(pkgUrl_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T9_ = rawNewString(colontmpD__4.len + 12);
appendString((&T9_), colontmpD__4);
appendString((&T9_), TM__TEGDsuljTYbVZE9bkM7QsRg_104);
		colontmpD__5 = T9_;
		result = slash___stdZpaths_u84(colontmpD__3, colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (colontmpD__5.p && !(colontmpD__5.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__5.p);
}
		if (colontmpD__4.p && !(colontmpD__4.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__4.p);
}
		if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
	}
	goto LA2_;
LA7_: ;
	{
		NimStringV2 colontmpD__6;
		NimStringV2 T12_;
		colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
		T12_.len = 0; T12_.p = NIM_NIL;
		colontmpD__6 = toDirectoryPath__basicZpkgurls_u116(pkgUrl_p0, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		T12_ = rawNewString(colontmpD__6.len + 12);
appendString((&T12_), colontmpD__6);
appendString((&T12_), TM__TEGDsuljTYbVZE9bkM7QsRg_105);
		result = T12_;
		{
			LA11_:;
		}
		{
			if (colontmpD__6.p && !(colontmpD__6.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__6.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		eqdestroy___pureZuri_u213((&colontmpD__2));
		eqdestroy___pureZuri_u213((&colontmpD_));
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLinkPath__basicZpkgurls_u160)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* pkgUrl_p0) {
	NIM_BOOL result;
	NimStringV2 colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	colontmpD_ = toLinkPath__basicZpkgurls_u157(pkgUrl_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = fileExists__stdZfiles_u10(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isNimbleLink__basicZpkgurls_u166)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* pkgUrl_p0) {
	NIM_BOOL result;
	tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA colontmpD_;
	NIM_BOOL T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	nimZeroMem((void*)(&colontmpD_), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
	T2_ = (NIM_BOOL)0;
	url__basicZpkgurls_u44(pkgUrl_p0, (&colontmpD_));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = eqStrings(colontmpD_.scheme, TM__TEGDsuljTYbVZE9bkM7QsRg_99);
	if (T2_) goto LA3_;
	T2_ = isLinkPath__basicZpkgurls_u160(pkgUrl_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA3_: ;
	result = T2_;
	{
		LA1_:;
	}
	{
		eqdestroy___pureZuri_u213((&colontmpD_));
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isFileProtocol__basicZpkgurls_u20)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* s_p0) {
	NIM_BOOL result;
	result = eqStrings((*s_p0).u.scheme, TM__TEGDsuljTYbVZE9bkM7QsRg_106);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, fullName__basicZpkgurls_u29)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* u_p0) {
	NimStringV2 result;
	result.len = 0; result.p = NIM_NIL;
	{
		NIM_BOOL T3_;
		NimStringV2 T7_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI)0) < (*u_p0).qualifiedName.Field2.len);
		if (T3_) goto LA4_;
		T3_ = (((NI)0) < (*u_p0).qualifiedName.Field1.len);
LA4_: ;
		if (!T3_) goto LA5_;
		T7_.len = 0; T7_.p = NIM_NIL;
		T7_ = rawNewString((*u_p0).qualifiedName.Field0.len + (*u_p0).qualifiedName.Field1.len + (*u_p0).qualifiedName.Field2.len + 2);
appendString((&T7_), (*u_p0).qualifiedName.Field0);
appendString((&T7_), TM__TEGDsuljTYbVZE9bkM7QsRg_107);
appendString((&T7_), (*u_p0).qualifiedName.Field1);
appendString((&T7_), TM__TEGDsuljTYbVZE9bkM7QsRg_108);
appendString((&T7_), (*u_p0).qualifiedName.Field2);
		result = T7_;
	}
	goto LA1_;
LA5_: ;
	{
		eqcopy___system_u2754((&result), (*u_p0).qualifiedName.Field0);
	}
LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, createNimbleLink__basicZpkgurls_u169)(tyObject_PkgUrl__xtGEmbK9cVcp0WbjakP0xVw* pkgUrl_p0, NimStringV2 nimblePath_p1, NimStringV2 cfgPath_p2) {
	NimStringV2 nimbleLink_1;
	NimStringV2 nimblePath_2;
	NimStringV2 colontmpD_;
	NimStringV2 cfgPath_2;
	NimStringV2 colontmpD__2;
	NimStringV2 colontmpD__3;
	tyArray__Seu7uK9aaOSN0BK3EAjjSHw T2_;
	tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T14_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimbleLink_1.len = 0; nimbleLink_1.p = NIM_NIL;
	nimblePath_2.len = 0; nimblePath_2.p = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	cfgPath_2.len = 0; cfgPath_2.p = NIM_NIL;
	colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
	colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
	nimbleLink_1 = toLinkPath__basicZpkgurls_u157(pkgUrl_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_[0] = TM__TEGDsuljTYbVZE9bkM7QsRg_112;
	T2_[1] = nimbleLink_1;
	T2_[2] = TM__TEGDsuljTYbVZE9bkM7QsRg_114;
	T2_[3] = nimblePath_p1;
	trace__basicZgitops_u1126(TM__TEGDsuljTYbVZE9bkM7QsRg_110, T2_, 4);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw* T7_;
		NimStringV2 T8_;
		if (!(nimbleLink_1.len == ((NI)0))) goto LA5_;
		T7_ = NIM_NIL;
		T7_ = (tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw*) nimNewObj(sizeof(tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw), NIM_ALIGNOF(tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw));
		(*T7_).Sup.Sup.Sup.m_type = (&NTIv2__YUzEEs8pGqG7cYmcRoc5rw_);
		(*T7_).Sup.Sup.name = "ValueError";
		T8_.len = 0; T8_.p = NIM_NIL;
		T8_ = rawNewString(nimbleLink_1.len + 19);
appendString((&T8_), TM__TEGDsuljTYbVZE9bkM7QsRg_116);
appendString((&T8_), nimbleLink_1);
		(*T7_).Sup.Sup.message = T8_;
		(*T7_).Sup.Sup.parent = ((Exception*) NIM_NIL);
		raiseExceptionEx((Exception*)T7_, "ValueError", "createNimbleLink", "pkgurls.nim", 143);
goto LA1_;
	}
LA5_: ;
	{
		NIM_BOOL T11_;
		T11_ = (NIM_BOOL)0;
		T11_ = fileExists__stdZfiles_u10(nimbleLink_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T11_) goto LA12_;
		if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
		if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
		if (cfgPath_2.p && !(cfgPath_2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(cfgPath_2.p);
}
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
		if (nimblePath_2.p && !(nimblePath_2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimblePath_2.p);
}
		if (nimbleLink_1.p && !(nimbleLink_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimbleLink_1.p);
}
		goto BeforeRet_;
	}
LA12_: ;
	colontmpD_ = getCurrentDir__stdZpaths_u191();
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimblePath_2 = absolutePath__stdZpaths_u204(nimblePath_p1, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = getCurrentDir__stdZpaths_u191();
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	cfgPath_2 = absolutePath__stdZpaths_u204(cfgPath_p2, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T14_[0] = nimblePath_2;
	T14_[1] = cfgPath_2;
	colontmpD__3 = nsuFormatOpenArray(TM__TEGDsuljTYbVZE9bkM7QsRg_118, T14_, 2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	writeFile__stdZsyncio_u539(nimbleLink_1, colontmpD__3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
		if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
		if (cfgPath_2.p && !(cfgPath_2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(cfgPath_2.p);
}
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
		if (nimblePath_2.p && !(nimblePath_2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimblePath_2.p);
}
		if (nimbleLink_1.p && !(nimbleLink_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimbleLink_1.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
