1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3
4 #include "nimbase.h"
5 #include <time.h>
6 #include <string.h>
7 #include <sys/types.h>
8 #undef LANGUAGE_C
9 #undef MIPSEB
10 #undef MIPSEL
11 #undef PPC
12 #undef R3000
13 #undef R4000
14 #undef i386
15 #undef linux
16 #undef mips
17 #undef near
18 #undef far
19 #undef powerpc
20 #undef unix
21 #define nimfr_(x, y)
22 #define nimln_(x, y)
23 typedef struct tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw;
24 typedef struct tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ;
25 typedef struct tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q;
26 typedef struct NimStringDesc NimStringDesc;
27 typedef struct TGenericSeq TGenericSeq;
28 typedef struct TNimType TNimType;
29 typedef struct TNimNode TNimNode;
30 typedef struct tyTuple__JfHvHzMrhKkWAUvQKe0i1A tyTuple__JfHvHzMrhKkWAUvQKe0i1A;
31 typedef struct tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg;
32 typedef struct RootObj RootObj;
33 typedef struct tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw;
34 typedef struct tyObject_TimeFormat__Nsh4TB3AD6ERMz3D74BTxA tyObject_TimeFormat__Nsh4TB3AD6ERMz3D74BTxA;
35 typedef struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ tySequence__6H5Oh5UUvVCLiakt9aTwtUQ;
36 typedef struct tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ;
37 typedef struct tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw;
38 typedef struct tyTuple__XjuGlLf9cyYx66ViXrBCvPQ tyTuple__XjuGlLf9cyYx66ViXrBCvPQ;
39 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
40 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
41 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
42 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
43 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
44 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
45 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
46 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
47 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
48 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
49 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
50 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
51 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
52 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
53 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
54 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
55 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
56 typedef struct tyTuple__pfrdooyxJsC6cg34ebuBag tyTuple__pfrdooyxJsC6cg34ebuBag;
57 struct tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q {
58 NI64 seconds;
59 NI nanosecond;
60 };
61 struct tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ {
62 tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time;
63 NI utcOffset;
64 NIM_BOOL isDst;
65 };
66 typedef struct {
67 N_NIMCALL_PTR(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, ClP_0) (tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q x, void* ClE_0);
68 void* ClE_0;
69 } tyProc__7xnKxEC24cr3qZyj3gX32w;
70 struct TGenericSeq {
71 NI len;
72 NI reserved;
73 };
74 struct NimStringDesc {
75 TGenericSeq Sup;
76 NIM_CHAR data[SEQ_DECL_SIZE];
77 };
78 struct tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw {
79 tyProc__7xnKxEC24cr3qZyj3gX32w zonedTimeFromTimeImpl;
80 tyProc__7xnKxEC24cr3qZyj3gX32w zonedTimeFromAdjTimeImpl;
81 NimStringDesc* name;
82 };
83 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
84 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
85 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
86 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
87 struct TNimType {
88 NI size;
89 NI align;
90 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
91 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
92 TNimType* base;
93 TNimNode* node;
94 void* finalizer;
95 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
96 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
97 };
98 struct tyTuple__JfHvHzMrhKkWAUvQKe0i1A {
99 void* Field0;
100 tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg* Field1;
101 };
102 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
103 struct TNimNode {
104 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
105 NI offset;
106 TNimType* typ;
107 NCSTRING name;
108 NI len;
109 TNimNode** sons;
110 };
111 struct RootObj {
112 TNimType* m_type;
113 };
114 struct tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg {
115 RootObj Sup;
116 };
117 typedef N_NIMCALL_PTR(void, tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ) (void);
118 struct tyObject_TimeFormat__Nsh4TB3AD6ERMz3D74BTxA {
119 tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* patterns;
120 NimStringDesc* formatStr;
121 };
122 typedef NU8 tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ;
123 typedef NU8 tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg;
124 struct tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw {
125 RootObj Sup;
126 NI nanosecond;
127 NI second;
128 NI minute;
129 NI hour;
130 NI monthdayZero;
131 NI monthZero;
132 NI year;
133 tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg weekday;
134 NI yearday;
135 NIM_BOOL isDst;
136 tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* timezone;
137 NI utcOffset;
138 };
139 typedef NimStringDesc* tyArray__3hurAvNmIXWWeqMzKryr2A[12];
140 typedef NimStringDesc* tyArray__O9c55L7dGQruaGz5nJ2r4rA[7];
141 struct tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ {
142 tyArray__3hurAvNmIXWWeqMzKryr2A MMM;
143 tyArray__3hurAvNmIXWWeqMzKryr2A MMMM;
144 tyArray__O9c55L7dGQruaGz5nJ2r4rA ddd;
145 tyArray__O9c55L7dGQruaGz5nJ2r4rA dddd;
146 };
147 typedef NU8 tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw;
148 typedef NU8 tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ;
149 typedef NI64 tyArray__pDfjTbtkTNjmi9bTcaNV32Q[8];
150 struct tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw {
151 NI64 seconds;
152 NI nanosecond;
153 };
154 struct tyTuple__XjuGlLf9cyYx66ViXrBCvPQ {
155 NI Field0;
156 tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw Field1;
157 NI Field2;
158 };
159 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
160 NI Field0;
161 NI Field1;
162 NI Field2;
163 };
164 typedef NI tyArray__Splpnswz3rudLg9bDsQoDXg[12];
165 typedef N_CLOSURE_PTR(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, TM__6NbDwwj5FY059b1gz2AsAZQ_56) (tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q x);
166 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
167 NI refcount;
168 TNimType* typ;
169 };
170 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
171 void* bottom;
172 };
173 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
174 NI len;
175 NI cap;
176 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
177 };
178 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
179 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
180 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
181 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
182 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
183 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
184 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
185 };
186 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
187 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
188 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
189 NI key;
190 NI upperBound;
191 NI level;
192 };
193 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
194 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
195 NI Field1;
196 };
197 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
198 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
199 NI len;
200 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
201 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
202 };
203 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
204 NI minLargeObj;
205 NI maxLargeObj;
206 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
207 NU32 flBitmap;
208 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
209 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
210 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
211 NI currMem;
212 NI maxMem;
213 NI freeMem;
214 NI occ;
215 NI lastSize;
216 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
217 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
218 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
219 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
220 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
221 NIM_BOOL locked;
222 NIM_BOOL blockChunkSizeIncrease;
223 NI nextChunkSize;
224 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
225 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
226 };
227 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
228 NI stackScans;
229 NI cycleCollections;
230 NI maxThreshold;
231 NI maxStackSize;
232 NI maxStackCells;
233 NI cycleTableSize;
234 NI64 maxPause;
235 };
236 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
237 NI counter;
238 NI max;
239 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
240 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
241 };
242 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
243 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
244 NI cycleThreshold;
245 NI zctThreshold;
246 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
247 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
248 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
249 NI recGcLock;
250 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
251 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
252 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
253 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
254 NI gcThreadId;
255 };
256 typedef N_CLOSURE_PTR(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, TM__6NbDwwj5FY059b1gz2AsAZQ_57) (tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time, void* ClE_0);
257 typedef N_CLOSURE_PTR(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, TM__6NbDwwj5FY059b1gz2AsAZQ_58) (tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q adjTime, void* ClE_0);
258 struct tyTuple__pfrdooyxJsC6cg34ebuBag {
259 NI Field0;
260 NIM_BOOL Field1;
261 };
262 typedef N_CLOSURE_PTR(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, TM__6NbDwwj5FY059b1gz2AsAZQ_60) (tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time, void* ClE_0);
263 typedef N_CLOSURE_PTR(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, TM__6NbDwwj5FY059b1gz2AsAZQ_61) (tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q adjTime, void* ClE_0);
264 struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ {
265 TGenericSeq Sup;
266 NU8 data[SEQ_DECL_SIZE];
267 };
268 static N_NIMCALL(void, Marker_tyRef__HsJiUUcO9cHBdUCi0HwkSTA)(void* p, NI op);
269 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
270 static N_NIMCALL(void, Marker_tyRef__9a5v4OQPlGqsA25ioN8hFYA)(void* p, NI op);
271 static N_NIMCALL(void, TM__6NbDwwj5FY059b1gz2AsAZQ_4)(void);
272 N_LIB_PRIVATE N_NIMCALL(void, nimRegisterThreadLocalMarker)(tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ markerProc);
273 static N_NIMCALL(void, TM__6NbDwwj5FY059b1gz2AsAZQ_5)(void);
274 static N_INLINE(void, nimZeroMem)(void* p, NI size);
275 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
276 static N_INLINE(NF, toFloat__system_1702)(NI i);
277 N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, initTime__pureZtimes_895)(NI64 unix_0, NI nanosecond);
278 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
279 N_LIB_PRIVATE N_NIMCALL(void, formatPattern__pureZtimes_1863)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt, tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ pattern, NimStringDesc** result, tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ* loc);
280 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
281 static N_INLINE(NI, monthday__pureZtimes_1107)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt);
282 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
283 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
284 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
285 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
286 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
287 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuIntToStr)(NI x, NI minchars);
288 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
289 N_LIB_PRIVATE N_NIMCALL(tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw, month__pureZtimes_1113)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt);
290 static N_INLINE(NI, convert__pureZtimes_635)(tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitFrom, tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitTo, NI quantity);
291 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
292 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
293 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___pureZtimes_1293)(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone1, tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone2);
294 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
295 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
296 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
297 N_LIB_PRIVATE N_NIMCALL(void, inZone__pureZtimes_1307)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time, tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone, tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result);
298 N_LIB_PRIVATE N_NIMCALL(void, initDateTime__pureZtimes_1210)(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ zt, tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone, tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result);
299 N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, ntSubTime)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q a, tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw b);
300 N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, normalize__pureZtimes_991)(NI64 seconds, NI64 nanoseconds);
301 static N_INLINE(NI64, convert__pureZtimes_376)(tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitFrom, tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitTo, NI64 quantity);
302 static N_INLINE(NI, convert__pureZtimes_443)(tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitFrom, tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitTo, NI quantity);
303 N_LIB_PRIVATE N_NIMCALL(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw, initDuration__pureZtimes_366)(NI64 nanoseconds, NI64 microseconds, NI64 milliseconds, NI64 seconds, NI64 minutes, NI64 hours, NI64 days, NI64 weeks);
304 N_LIB_PRIVATE N_NIMCALL(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw, normalize__pureZtimes_433)(NI64 seconds, NI64 nanoseconds);
305 N_LIB_PRIVATE N_NIMCALL(NI64, floorDiv__pureZtimes_258)(NI64 x, NI64 y);
306 N_LIB_PRIVATE N_NIMCALL(tyTuple__XjuGlLf9cyYx66ViXrBCvPQ, fromEpochDay__pureZtimes_187)(NI64 epochday);
307 N_LIB_PRIVATE N_NIMCALL(tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg, getDayOfWeek__pureZtimes_252)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year);
308 static N_INLINE(void, assertValidDate__pureZtimes_139)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year);
309 N_LIB_PRIVATE N_NIMCALL(NI64, toEpochDay__pureZtimes_150)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year);
310 N_LIB_PRIVATE N_NIMCALL(NI, getDayOfYear__pureZtimes_227)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year);
311 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLeapYear__pureZtimes_132)(NI year);
312 N_LIB_PRIVATE N_NIMCALL(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, zonedTimeFromTime__pureZtimes_1267)(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone, tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time);
313 N_LIB_PRIVATE N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*, utc__pureZtimes_1436)(void);
314 N_LIB_PRIVATE N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*, newTimezone__pureZtimes_1237)(NimStringDesc* name, tyProc__7xnKxEC24cr3qZyj3gX32w zonedTimeFromTimeImpl, tyProc__7xnKxEC24cr3qZyj3gX32w zonedTimeFromAdjTimeImpl);
315 N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
316 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
317 static N_INLINE(void, nimGCunrefNoCycle)(void* p);
318 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
319 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
320 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
321 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
322 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5264)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
323 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr);
324 static N_INLINE(void, asgnRef)(void** dest, void* src);
325 static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
326 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
327 N_LIB_PRIVATE N_NIMCALL(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, utcTzInfo__pureZtimes_1430)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time);
328 static N_INLINE(NF, toBiggestFloat__system_1705)(NI64 i);
329 N_LIB_PRIVATE N_NIMCALL(void, local__pureZtimes_1464)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q t, tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result);
330 N_LIB_PRIVATE N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*, local__pureZtimes_1450)(void);
331 N_LIB_PRIVATE N_NIMCALL(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, localZonedTimeFromTime__pureZtimes_1403)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time);
332 N_LIB_PRIVATE N_NIMCALL(tyTuple__pfrdooyxJsC6cg34ebuBag, getLocalOffsetAndDst__pureZtimes_1351)(NI64 unix_0);
333 N_LIB_PRIVATE N_NIMCALL(NI64, clamp__pureZtimes_1364)(NI64 x, NI64 a, NI64 b);
334 N_LIB_PRIVATE N_NIMCALL(NI64, toAdjUnix__pureZtimes_1335)(struct tm tm);
335 N_LIB_PRIVATE N_NIMCALL(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, localZonedTimeFromAdjTime__pureZtimes_1408)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q adjTime);
336 N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, getTime__pureZtimes_961)(void);
337 N_LIB_PRIVATE TNimType NTItimezone58objecttype__F8OvqlxXyGXRSiK9c1fCDVw_;
338 N_LIB_PRIVATE TNimType NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__7xnKxEC24cr3qZyj3gX32w_;
339 N_LIB_PRIVATE TNimType NTIpointer__vr5DoT1jILTGdRlYv1OYpw_;
340 extern TNimType NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_;
341 N_LIB_PRIVATE TNimType NTIobject__diB2NTuAIWY0FO9c5IUJRGg_;
342 N_LIB_PRIVATE TNimType NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_;
343 extern TNimType NTIstring__77mFvmsOLKik79ci2hXkHEg_;
344 N_LIB_PRIVATE TNimType NTItimezone__9a5v4OQPlGqsA25ioN8hFYA_;
345 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_6, "12", 2);
346 N_LIB_PRIVATE NIM_CONST tyArray__pDfjTbtkTNjmi9bTcaNV32Q unitWeights__pureZtimes_109 = {IL64(1),
347 IL64(1000),
348 IL64(1000000),
349 IL64(1000000000),
350 IL64(60000000000),
351 IL64(3600000000000),
352 IL64(86400000000000),
353 IL64(604800000000000)}
354 ;
355 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_7, "P", 1);
356 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_8, "A", 1);
357 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_9, "PM", 2);
358 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_10, "AM", 2);
359 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_11, "Etc/UTC", 7);
360 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_12, ":", 1);
361 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_13, "BC", 2);
362 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_14, "AD", 2);
363 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_15, "Jan", 3);
364 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_16, "Feb", 3);
365 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_17, "Mar", 3);
366 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_18, "Apr", 3);
367 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_19, "May", 3);
368 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_20, "Jun", 3);
369 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_21, "Jul", 3);
370 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_22, "Aug", 3);
371 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_23, "Sep", 3);
372 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_24, "Oct", 3);
373 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_25, "Nov", 3);
374 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_26, "Dec", 3);
375 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_27, "January", 7);
376 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_28, "February", 8);
377 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_29, "March", 5);
378 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_30, "April", 5);
379 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_31, "June", 4);
380 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_32, "July", 4);
381 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_33, "August", 6);
382 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_34, "September", 9);
383 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_35, "October", 7);
384 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_36, "November", 8);
385 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_37, "December", 8);
386 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_38, "Mon", 3);
387 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_39, "Tue", 3);
388 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_40, "Wed", 3);
389 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_41, "Thu", 3);
390 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_42, "Fri", 3);
391 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_43, "Sat", 3);
392 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_44, "Sun", 3);
393 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_45, "Monday", 6);
394 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_46, "Tuesday", 7);
395 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_47, "Wednesday", 9);
396 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_48, "Thursday", 8);
397 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_49, "Friday", 6);
398 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_50, "Saturday", 8);
399 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_51, "Sunday", 6);
400 N_LIB_PRIVATE NIM_CONST tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ DefaultLocale__pureZtimes_1628 = {{((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_15),
401 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_16),
402 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_17),
403 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_18),
404 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_19),
405 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_20),
406 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_21),
407 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_22),
408 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_23),
409 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_24),
410 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_25),
411 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_26)}
412 , {((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_27),
413 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_28),
414 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_29),
415 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_30),
416 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_19),
417 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_31),
418 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_32),
419 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_33),
420 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_34),
421 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_35),
422 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_36),
423 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_37)}
424 , {((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_38),
425 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_39),
426 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_40),
427 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_41),
428 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_42),
429 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_43),
430 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_44)}
431 , {((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_45),
432 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_46),
433 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_47),
434 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_48),
435 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_49),
436 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_50),
437 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_51)}
438 }
439 ;
440 N_LIB_PRIVATE TNimType NTIdatetime__d9cK9cyKZPJJxFXUmx8dSpPw_;
441 N_LIB_PRIVATE TNimType NTIint__PpavWgyrx5odXyR89aNlcWA_;
442 N_LIB_PRIVATE TNimType NTIint__rUuqTvFmkC6KKRqDAazGEA_;
443 N_LIB_PRIVATE TNimType NTIint__LBgXxpmYOpS8xroRZgNvbg_;
444 N_LIB_PRIVATE TNimType NTIint__Gz6vwaK0PZQIDIwfuvKsOg_;
445 extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
446 N_LIB_PRIVATE TNimType NTIweekday__SVfemTA9aCOyua2TJYa6yBg_;
447 N_LIB_PRIVATE TNimType NTIint__g9buja9c9aeh0rkDpqsXOJF9bA_;
448 extern TNimType NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_;
449 N_LIB_PRIVATE NIM_CONST tyArray__Splpnswz3rudLg9bDsQoDXg daysUntilMonthLeap__pureZtimes_233 = {((NI) 0),
450 ((NI) 31),
451 ((NI) 60),
452 ((NI) 91),
453 ((NI) 121),
454 ((NI) 152),
455 ((NI) 182),
456 ((NI) 213),
457 ((NI) 244),
458 ((NI) 274),
459 ((NI) 305),
460 ((NI) 335)}
461 ;
462 N_LIB_PRIVATE NIM_CONST tyArray__Splpnswz3rudLg9bDsQoDXg daysUntilMonth__pureZtimes_232 = {((NI) 0),
463 ((NI) 31),
464 ((NI) 59),
465 ((NI) 90),
466 ((NI) 120),
467 ((NI) 151),
468 ((NI) 181),
469 ((NI) 212),
470 ((NI) 243),
471 ((NI) 273),
472 ((NI) 304),
473 ((NI) 334)}
474 ;
475 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_59, "LOCAL", 5);
476 N_LIB_PRIVATE tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* utcInstance__pureZtimes_1433;
477 N_LIB_PRIVATE tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* localInstance__pureZtimes_1434;
478 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5217;
N_NIMCALL(void,Marker_tyRef__HsJiUUcO9cHBdUCi0HwkSTA)479 static N_NIMCALL(void, Marker_tyRef__HsJiUUcO9cHBdUCi0HwkSTA)(void* p, NI op) {
480 tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg* a;
481 a = (tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg*)p;
482 }
N_NIMCALL(void,Marker_tyRef__9a5v4OQPlGqsA25ioN8hFYA)483 static N_NIMCALL(void, Marker_tyRef__9a5v4OQPlGqsA25ioN8hFYA)(void* p, NI op) {
484 tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* a;
485 a = (tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*)p;
486 nimGCvisit((void*)(*a).zonedTimeFromTimeImpl.ClE_0, op);
487 nimGCvisit((void*)(*a).zonedTimeFromAdjTimeImpl.ClE_0, op);
488 nimGCvisit((void*)(*a).name, op);
489 }
N_NIMCALL(void,TM__6NbDwwj5FY059b1gz2AsAZQ_4)490 static N_NIMCALL(void, TM__6NbDwwj5FY059b1gz2AsAZQ_4)(void) {
491 nimGCvisit((void*)utcInstance__pureZtimes_1433, 0);
492 }
N_NIMCALL(void,TM__6NbDwwj5FY059b1gz2AsAZQ_5)493 static N_NIMCALL(void, TM__6NbDwwj5FY059b1gz2AsAZQ_5)(void) {
494 nimGCvisit((void*)localInstance__pureZtimes_1434, 0);
495 }
N_INLINE(void,nimSetMem__systemZmemory_7)496 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
497 void* T1_;
498 T1_ = (void*)0;
499 T1_ = memset(a, v, ((size_t) (size)));
500 }
N_INLINE(void,nimZeroMem)501 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
502 nimSetMem__systemZmemory_7(p, ((int) 0), size);
503 }
N_INLINE(NF,toFloat__system_1702)504 static N_INLINE(NF, toFloat__system_1702)(NI i) {
505 NF result;
506 result = (NF)0;
507 result = ((NF) (i));
508 return result;
509 }
N_NIMCALL(NF,cpuTime__pureZtimes_3605)510 N_LIB_PRIVATE N_NIMCALL(NF, cpuTime__pureZtimes_3605)(void) {
511 NF result;
512 struct timespec ts;
513 int T1_;
514 NF T2_;
515 NF T3_;
516 result = (NF)0;
517 nimZeroMem((void*)(&ts), sizeof(struct timespec));
518 T1_ = (int)0;
519 T1_ = clock_gettime(((clockid_t) (CLOCK_THREAD_CPUTIME_ID)), (&ts));
520 (void)(T1_);
521 T2_ = (NF)0;
522 T2_ = toFloat__system_1702(ts.tv_sec);
523 T3_ = (NF)0;
524 T3_ = toFloat__system_1702(ts.tv_nsec);
525 result = ((NF)(T2_) + (NF)(((NF)(T3_) / (NF)(1000000000.0))));
526 return result;
527 }
N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q,initTime__pureZtimes_895)528 N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, initTime__pureZtimes_895)(NI64 unix_0, NI nanosecond) {
529 tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q result;
530 nimZeroMem((void*)(&result), sizeof(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q));
531 result.seconds = unix_0;
532 result.nanosecond = nanosecond;
533 return result;
534 }
N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q,getTime__pureZtimes_961)535 N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, getTime__pureZtimes_961)(void) {
536 tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q result;
537 struct timespec ts;
538 int T1_;
539 nimZeroMem((void*)(&result), sizeof(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q));
540 T1_ = (int)0;
541 T1_ = clock_gettime(((clockid_t) (CLOCK_REALTIME)), (&ts));
542 (void)(T1_);
543 result = initTime__pureZtimes_895(((NI64) (ts.tv_sec)), ((NI) (ts.tv_nsec)));
544 return result;
545 }
N_INLINE(NI,monthday__pureZtimes_1107)546 static N_INLINE(NI, monthday__pureZtimes_1107)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt) {
547 NI result;
548 result = (NI)0;
549 result = ((NI) ((*dt).monthdayZero));
550 return result;
551 }
N_INLINE(void,nimCopyMem)552 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
553 void* T1_;
554 T1_ = (void*)0;
555 T1_ = memcpy(dest, source, ((size_t) (size)));
556 }
N_INLINE(void,copyMem__system_1727)557 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
558 nimCopyMem(dest, source, size);
559 }
N_INLINE(void,appendString)560 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
561 {
562 if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
563 copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
564 (*dest).Sup.len += (*src).Sup.len;
565 }
566 LA3_: ;
567 }
N_NIMCALL(tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw,month__pureZtimes_1113)568 N_LIB_PRIVATE N_NIMCALL(tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw, month__pureZtimes_1113)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt) {
569 tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw result;
570 result = (tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw)0;
571 result = ((tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw) ((*dt).monthZero));
572 return result;
573 }
N_INLINE(NI,convert__pureZtimes_635)574 static N_INLINE(NI, convert__pureZtimes_635)(tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitFrom, tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitTo, NI quantity) {
575 NI result;
576 result = (NI)0;
577 {
578 if (!(unitFrom < unitTo)) goto LA3_;
579 result = ((NI) ((NI64)(((NI64) (quantity)) / (NI64)(unitWeights__pureZtimes_109[(unitTo)- 0] / unitWeights__pureZtimes_109[(unitFrom)- 0]))));
580 }
581 goto LA1_;
582 LA3_: ;
583 {
584 result = ((NI) ((NI64)((NI64)(unitWeights__pureZtimes_109[(unitFrom)- 0] / unitWeights__pureZtimes_109[(unitTo)- 0]) * ((NI64) (quantity)))));
585 }
586 LA1_: ;
587 return result;
588 }
N_INLINE(void,appendChar)589 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
590 (*dest).data[(*dest).Sup.len] = c;
591 (*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
592 (*dest).Sup.len += ((NI) 1);
593 }
N_INLINE(int,nimCmpMem)594 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
595 int result;
596 result = (int)0;
597 result = memcmp(a, b, ((size_t) (size)));
598 return result;
599 }
N_INLINE(NIM_BOOL,equalMem__system_1735)600 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
601 NIM_BOOL result;
602 int T1_;
603 result = (NIM_BOOL)0;
604 T1_ = (int)0;
605 T1_ = nimCmpMem(a, b, size);
606 result = (T1_ == ((NI32) 0));
607 return result;
608 }
N_INLINE(NIM_BOOL,eqStrings)609 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
610 NIM_BOOL result;
611 NI alen;
612 NI blen;
613 { result = (NIM_BOOL)0;
614 alen = (a ? a->Sup.len : 0);
615 blen = (b ? b->Sup.len : 0);
616 {
617 if (!(alen == blen)) goto LA3_;
618 {
619 if (!(alen == ((NI) 0))) goto LA7_;
620 result = NIM_TRUE;
621 goto BeforeRet_;
622 }
623 LA7_: ;
624 result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
625 goto BeforeRet_;
626 }
627 LA3_: ;
628 }BeforeRet_: ;
629 return result;
630 }
N_NIMCALL(NIM_BOOL,eqeq___pureZtimes_1293)631 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___pureZtimes_1293)(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone1, tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone2) {
632 NIM_BOOL result;
633 { result = (NIM_BOOL)0;
634 {
635 if (!(zone1 == zone2)) goto LA3_;
636 result = NIM_TRUE;
637 goto BeforeRet_;
638 }
639 LA3_: ;
640 {
641 NIM_BOOL T7_;
642 T7_ = (NIM_BOOL)0;
643 T7_ = (zone1 == 0);
644 if (T7_) goto LA8_;
645 T7_ = (zone2 == 0);
646 LA8_: ;
647 if (!T7_) goto LA9_;
648 result = NIM_FALSE;
649 goto BeforeRet_;
650 }
651 LA9_: ;
652 result = eqStrings((*zone1).name, (*zone2).name);
653 }BeforeRet_: ;
654 return result;
655 }
N_NIMCALL(void,formatPattern__pureZtimes_1863)656 N_LIB_PRIVATE N_NIMCALL(void, formatPattern__pureZtimes_1863)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt, tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ pattern, NimStringDesc** result, tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ* loc) {
657 switch (pattern) {
658 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 0):
659 {
660 NI T2_;
661 NimStringDesc* T3_;
662 T2_ = (NI)0;
663 T2_ = monthday__pureZtimes_1107(dt);
664 T3_ = NIM_NIL;
665 T3_ = dollar___systemZdollars_3(((NI) (T2_)));
666 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T3_ ? T3_->Sup.len : 0) + 0));
667 appendString((*result), T3_);
668 }
669 break;
670 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 1):
671 {
672 NI T5_;
673 NimStringDesc* T6_;
674 T5_ = (NI)0;
675 T5_ = monthday__pureZtimes_1107(dt);
676 T6_ = NIM_NIL;
677 T6_ = nsuIntToStr(((NI) (T5_)), ((NI) 2));
678 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T6_ ? T6_->Sup.len : 0) + 0));
679 appendString((*result), T6_);
680 }
681 break;
682 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 2):
683 {
684 unsureAsgnRef((void**) (&(*result)), resizeString((*result), ((*loc).ddd[((*dt).weekday)- 0] ? (*loc).ddd[((*dt).weekday)- 0]->Sup.len : 0) + 0));
685 appendString((*result), (*loc).ddd[((*dt).weekday)- 0]);
686 }
687 break;
688 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 3):
689 {
690 unsureAsgnRef((void**) (&(*result)), resizeString((*result), ((*loc).dddd[((*dt).weekday)- 0] ? (*loc).dddd[((*dt).weekday)- 0]->Sup.len : 0) + 0));
691 appendString((*result), (*loc).dddd[((*dt).weekday)- 0]);
692 }
693 break;
694 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 4):
695 {
696 NimStringDesc* T10_;
697 T10_ = NIM_NIL;
698 {
699 if (!(((NI) ((*dt).hour)) == ((NI) 0))) goto LA13_;
700 T10_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_6));
701 }
702 goto LA11_;
703 LA13_: ;
704 {
705 if (!(((NI) 12) < ((NI) ((*dt).hour)))) goto LA16_;
706 T10_ = dollar___systemZdollars_3((NI)(((NI) ((*dt).hour)) - ((NI) 12)));
707 }
708 goto LA11_;
709 LA16_: ;
710 {
711 T10_ = dollar___systemZdollars_3(((NI) ((*dt).hour)));
712 }
713 LA11_: ;
714 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T10_ ? T10_->Sup.len : 0) + 0));
715 appendString((*result), T10_);
716 }
717 break;
718 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 5):
719 {
720 NimStringDesc* T20_;
721 T20_ = NIM_NIL;
722 {
723 if (!(((NI) ((*dt).hour)) == ((NI) 0))) goto LA23_;
724 T20_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_6));
725 }
726 goto LA21_;
727 LA23_: ;
728 {
729 if (!(((NI) 12) < ((NI) ((*dt).hour)))) goto LA26_;
730 T20_ = nsuIntToStr((NI)(((NI) ((*dt).hour)) - ((NI) 12)), ((NI) 2));
731 }
732 goto LA21_;
733 LA26_: ;
734 {
735 T20_ = nsuIntToStr(((NI) ((*dt).hour)), ((NI) 2));
736 }
737 LA21_: ;
738 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T20_ ? T20_->Sup.len : 0) + 0));
739 appendString((*result), T20_);
740 }
741 break;
742 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 6):
743 {
744 NimStringDesc* T30_;
745 T30_ = NIM_NIL;
746 T30_ = dollar___systemZdollars_3(((NI) ((*dt).hour)));
747 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T30_ ? T30_->Sup.len : 0) + 0));
748 appendString((*result), T30_);
749 }
750 break;
751 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 7):
752 {
753 NimStringDesc* T32_;
754 T32_ = NIM_NIL;
755 T32_ = nsuIntToStr(((NI) ((*dt).hour)), ((NI) 2));
756 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T32_ ? T32_->Sup.len : 0) + 0));
757 appendString((*result), T32_);
758 }
759 break;
760 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 8):
761 {
762 NimStringDesc* T34_;
763 T34_ = NIM_NIL;
764 T34_ = dollar___systemZdollars_3(((NI) ((*dt).minute)));
765 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T34_ ? T34_->Sup.len : 0) + 0));
766 appendString((*result), T34_);
767 }
768 break;
769 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 9):
770 {
771 NimStringDesc* T36_;
772 T36_ = NIM_NIL;
773 T36_ = nsuIntToStr(((NI) ((*dt).minute)), ((NI) 2));
774 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T36_ ? T36_->Sup.len : 0) + 0));
775 appendString((*result), T36_);
776 }
777 break;
778 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 10):
779 {
780 tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw T38_;
781 NimStringDesc* T39_;
782 T38_ = (tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw)0;
783 T38_ = month__pureZtimes_1113(dt);
784 T39_ = NIM_NIL;
785 T39_ = dollar___systemZdollars_3(T38_);
786 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T39_ ? T39_->Sup.len : 0) + 0));
787 appendString((*result), T39_);
788 }
789 break;
790 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 11):
791 {
792 tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw T41_;
793 NimStringDesc* T42_;
794 T41_ = (tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw)0;
795 T41_ = month__pureZtimes_1113(dt);
796 T42_ = NIM_NIL;
797 T42_ = nsuIntToStr(T41_, ((NI) 2));
798 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T42_ ? T42_->Sup.len : 0) + 0));
799 appendString((*result), T42_);
800 }
801 break;
802 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 12):
803 {
804 tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw T44_;
805 T44_ = (tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw)0;
806 T44_ = month__pureZtimes_1113(dt);
807 unsureAsgnRef((void**) (&(*result)), resizeString((*result), ((*loc).MMM[(T44_)- 1] ? (*loc).MMM[(T44_)- 1]->Sup.len : 0) + 0));
808 appendString((*result), (*loc).MMM[(T44_)- 1]);
809 }
810 break;
811 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 13):
812 {
813 tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw T46_;
814 T46_ = (tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw)0;
815 T46_ = month__pureZtimes_1113(dt);
816 unsureAsgnRef((void**) (&(*result)), resizeString((*result), ((*loc).MMMM[(T46_)- 1] ? (*loc).MMMM[(T46_)- 1]->Sup.len : 0) + 0));
817 appendString((*result), (*loc).MMMM[(T46_)- 1]);
818 }
819 break;
820 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 14):
821 {
822 NimStringDesc* T48_;
823 T48_ = NIM_NIL;
824 T48_ = dollar___systemZdollars_3(((NI) ((*dt).second)));
825 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T48_ ? T48_->Sup.len : 0) + 0));
826 appendString((*result), T48_);
827 }
828 break;
829 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 15):
830 {
831 NimStringDesc* T50_;
832 T50_ = NIM_NIL;
833 T50_ = nsuIntToStr(((NI) ((*dt).second)), ((NI) 2));
834 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T50_ ? T50_->Sup.len : 0) + 0));
835 appendString((*result), T50_);
836 }
837 break;
838 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 16):
839 {
840 NI T52_;
841 NimStringDesc* T53_;
842 T52_ = (NI)0;
843 T52_ = convert__pureZtimes_635(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 2), (*dt).nanosecond);
844 T53_ = NIM_NIL;
845 T53_ = nsuIntToStr(((NI) (T52_)), ((NI) 3));
846 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T53_ ? T53_->Sup.len : 0) + 0));
847 appendString((*result), T53_);
848 }
849 break;
850 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 17):
851 {
852 NI T55_;
853 NimStringDesc* T56_;
854 T55_ = (NI)0;
855 T55_ = convert__pureZtimes_635(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 1), (*dt).nanosecond);
856 T56_ = NIM_NIL;
857 T56_ = nsuIntToStr(((NI) (T55_)), ((NI) 6));
858 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T56_ ? T56_->Sup.len : 0) + 0));
859 appendString((*result), T56_);
860 }
861 break;
862 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 18):
863 {
864 NimStringDesc* T58_;
865 T58_ = NIM_NIL;
866 T58_ = nsuIntToStr(((NI) ((*dt).nanosecond)), ((NI) 9));
867 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T58_ ? T58_->Sup.len : 0) + 0));
868 appendString((*result), T58_);
869 }
870 break;
871 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 19):
872 {
873 NimStringDesc* T60_;
874 T60_ = NIM_NIL;
875 {
876 if (!(((NI) 12) <= ((NI) ((*dt).hour)))) goto LA63_;
877 T60_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_7));
878 }
879 goto LA61_;
880 LA63_: ;
881 {
882 T60_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_8));
883 }
884 LA61_: ;
885 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T60_ ? T60_->Sup.len : 0) + 0));
886 appendString((*result), T60_);
887 }
888 break;
889 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 20):
890 {
891 NimStringDesc* T67_;
892 T67_ = NIM_NIL;
893 {
894 if (!(((NI) 12) <= ((NI) ((*dt).hour)))) goto LA70_;
895 T67_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_9));
896 }
897 goto LA68_;
898 LA70_: ;
899 {
900 T67_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_10));
901 }
902 LA68_: ;
903 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T67_ ? T67_->Sup.len : 0) + 0));
904 appendString((*result), T67_);
905 }
906 break;
907 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 21):
908 {
909 NI T74_;
910 NimStringDesc* T80_;
911 T74_ = (NI)0;
912 {
913 if (!((*dt).year <= ((NI) 0))) goto LA77_;
914 T74_ = (NI)(((*dt).year > 0? ((*dt).year) : -((*dt).year)) + ((NI) 1));
915 }
916 goto LA75_;
917 LA77_: ;
918 {
919 T74_ = (*dt).year;
920 }
921 LA75_: ;
922 T80_ = NIM_NIL;
923 T80_ = nsuIntToStr((NI)(T74_ % ((NI) 100)), ((NI) 2));
924 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T80_ ? T80_->Sup.len : 0) + 0));
925 appendString((*result), T80_);
926 }
927 break;
928 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 22):
929 {
930 NI year;
931 {
932 if (!((*dt).year <= ((NI) 0))) goto LA84_;
933 year = (NI)(((*dt).year > 0? ((*dt).year) : -((*dt).year)) + ((NI) 1));
934 }
935 goto LA82_;
936 LA84_: ;
937 {
938 year = (*dt).year;
939 }
940 LA82_: ;
941 {
942 NimStringDesc* T91_;
943 if (!(year < ((NI) 10000))) goto LA89_;
944 T91_ = NIM_NIL;
945 T91_ = nsuIntToStr(year, ((NI) 4));
946 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T91_ ? T91_->Sup.len : 0) + 0));
947 appendString((*result), T91_);
948 }
949 goto LA87_;
950 LA89_: ;
951 {
952 NimStringDesc* T93_;
953 NimStringDesc* T94_;
954 T93_ = NIM_NIL;
955 T94_ = NIM_NIL;
956 T94_ = dollar___systemZdollars_3(year);
957 T93_ = rawNewString((T94_ ? T94_->Sup.len : 0) + 1);
958 appendChar(T93_, 43);
959 appendString(T93_, T94_);
960 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T93_ ? T93_->Sup.len : 0) + 0));
961 appendString((*result), T93_);
962 }
963 LA87_: ;
964 }
965 break;
966 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 23):
967 {
968 {
969 NimStringDesc* T100_;
970 if (!((*dt).year < ((NI) 1))) goto LA98_;
971 T100_ = NIM_NIL;
972 T100_ = dollar___systemZdollars_3((NI)(((*dt).year > 0? ((*dt).year) : -((*dt).year)) + ((NI) 1)));
973 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T100_ ? T100_->Sup.len : 0) + 0));
974 appendString((*result), T100_);
975 }
976 goto LA96_;
977 LA98_: ;
978 {
979 NimStringDesc* T102_;
980 T102_ = NIM_NIL;
981 T102_ = dollar___systemZdollars_3((*dt).year);
982 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T102_ ? T102_->Sup.len : 0) + 0));
983 appendString((*result), T102_);
984 }
985 LA96_: ;
986 }
987 break;
988 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 24):
989 {
990 NI year_2;
991 year_2 = (*dt).year;
992 {
993 NIM_BOOL T106_;
994 NimStringDesc* T110_;
995 T106_ = (NIM_BOOL)0;
996 T106_ = (year_2 < ((NI) 10000));
997 if (T106_) goto LA107_;
998 T106_ = (year_2 < ((NI) 0));
999 LA107_: ;
1000 if (!T106_) goto LA108_;
1001 T110_ = NIM_NIL;
1002 T110_ = nsuIntToStr(year_2, ((NI) 4));
1003 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T110_ ? T110_->Sup.len : 0) + 0));
1004 appendString((*result), T110_);
1005 }
1006 goto LA104_;
1007 LA108_: ;
1008 {
1009 NimStringDesc* T112_;
1010 NimStringDesc* T113_;
1011 T112_ = NIM_NIL;
1012 T113_ = NIM_NIL;
1013 T113_ = dollar___systemZdollars_3(year_2);
1014 T112_ = rawNewString((T113_ ? T113_->Sup.len : 0) + 1);
1015 appendChar(T112_, 43);
1016 appendString(T112_, T113_);
1017 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T112_ ? T112_->Sup.len : 0) + 0));
1018 appendString((*result), T112_);
1019 }
1020 LA104_: ;
1021 }
1022 break;
1023 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 25):
1024 {
1025 NimStringDesc* T115_;
1026 T115_ = NIM_NIL;
1027 T115_ = dollar___systemZdollars_3((*dt).year);
1028 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T115_ ? T115_->Sup.len : 0) + 0));
1029 appendString((*result), T115_);
1030 }
1031 break;
1032 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 26):
1033 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 27):
1034 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 28):
1035 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 29):
1036 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 30):
1037 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 31):
1038 {
1039 {
1040 NIM_BOOL T119_;
1041 NIM_BOOL T120_;
1042 T119_ = (NIM_BOOL)0;
1043 T120_ = (NIM_BOOL)0;
1044 T120_ = eqeq___pureZtimes_1293((*dt).timezone, ((tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*) NIM_NIL));
1045 T119_ = !(T120_);
1046 if (!(T119_)) goto LA121_;
1047 T119_ = eqStrings((*(*dt).timezone).name, ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_11));
1048 LA121_: ;
1049 if (!T119_) goto LA122_;
1050 unsureAsgnRef((void**) (&(*result)), addChar((*result), 90));
1051 }
1052 goto LA117_;
1053 LA122_: ;
1054 {
1055 NIM_CHAR T125_;
1056 NI absOffset;
1057 T125_ = (NIM_CHAR)0;
1058 {
1059 if (!(((NI) 0) <= ((NI32)-((*dt).utcOffset)))) goto LA128_;
1060 T125_ = 43;
1061 }
1062 goto LA126_;
1063 LA128_: ;
1064 {
1065 T125_ = 45;
1066 }
1067 LA126_: ;
1068 unsureAsgnRef((void**) (&(*result)), addChar((*result), T125_));
1069 absOffset = ((*dt).utcOffset > 0? ((*dt).utcOffset) : -((*dt).utcOffset));
1070 switch (pattern) {
1071 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 26):
1072 {
1073 NimStringDesc* T132_;
1074 T132_ = NIM_NIL;
1075 T132_ = dollar___systemZdollars_3((NI)(absOffset / ((NI) 3600)));
1076 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T132_ ? T132_->Sup.len : 0) + 0));
1077 appendString((*result), T132_);
1078 }
1079 break;
1080 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 27):
1081 {
1082 NimStringDesc* T134_;
1083 T134_ = NIM_NIL;
1084 T134_ = nsuIntToStr((NI)(absOffset / ((NI) 3600)), ((NI) 2));
1085 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T134_ ? T134_->Sup.len : 0) + 0));
1086 appendString((*result), T134_);
1087 }
1088 break;
1089 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 28):
1090 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 30):
1091 {
1092 NimStringDesc* h;
1093 NimStringDesc* m;
1094 NimStringDesc* sep;
1095 NimStringDesc* T141_;
1096 h = nsuIntToStr((NI)(absOffset / ((NI) 3600)), ((NI) 2));
1097 m = nsuIntToStr((NI)((NI)(absOffset / ((NI) 60)) % ((NI) 60)), ((NI) 2));
1098 {
1099 if (!(pattern == ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 28))) goto LA138_;
1100 sep = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_12));
1101 }
1102 goto LA136_;
1103 LA138_: ;
1104 {
1105 sep = ((NimStringDesc*) NIM_NIL);
1106 }
1107 LA136_: ;
1108 T141_ = NIM_NIL;
1109 T141_ = rawNewString((h ? h->Sup.len : 0) + (sep ? sep->Sup.len : 0) + (m ? m->Sup.len : 0) + 0);
1110 appendString(T141_, h);
1111 appendString(T141_, sep);
1112 appendString(T141_, m);
1113 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T141_ ? T141_->Sup.len : 0) + 0));
1114 appendString((*result), T141_);
1115 }
1116 break;
1117 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 29):
1118 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 31):
1119 {
1120 NI absOffset_2;
1121 NimStringDesc* h_2;
1122 NimStringDesc* m_2;
1123 NimStringDesc* s;
1124 NimStringDesc* sep_2;
1125 NimStringDesc* T148_;
1126 absOffset_2 = ((*dt).utcOffset > 0? ((*dt).utcOffset) : -((*dt).utcOffset));
1127 h_2 = nsuIntToStr((NI)(absOffset_2 / ((NI) 3600)), ((NI) 2));
1128 m_2 = nsuIntToStr((NI)((NI)(absOffset_2 / ((NI) 60)) % ((NI) 60)), ((NI) 2));
1129 s = nsuIntToStr((NI)(absOffset_2 % ((NI) 60)), ((NI) 2));
1130 {
1131 if (!(pattern == ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 29))) goto LA145_;
1132 sep_2 = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_12));
1133 }
1134 goto LA143_;
1135 LA145_: ;
1136 {
1137 sep_2 = ((NimStringDesc*) NIM_NIL);
1138 }
1139 LA143_: ;
1140 T148_ = NIM_NIL;
1141 T148_ = rawNewString((h_2 ? h_2->Sup.len : 0) + (sep_2 ? sep_2->Sup.len : 0) + (m_2 ? m_2->Sup.len : 0) + (sep_2 ? sep_2->Sup.len : 0) + (s ? s->Sup.len : 0) + 0);
1142 appendString(T148_, h_2);
1143 appendString(T148_, sep_2);
1144 appendString(T148_, m_2);
1145 appendString(T148_, sep_2);
1146 appendString(T148_, s);
1147 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T148_ ? T148_->Sup.len : 0) + 0));
1148 appendString((*result), T148_);
1149 }
1150 break;
1151 default:
1152 {
1153 }
1154 break;
1155 }
1156 }
1157 LA117_: ;
1158 }
1159 break;
1160 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 32):
1161 {
1162 NimStringDesc* T151_;
1163 T151_ = NIM_NIL;
1164 {
1165 if (!((*dt).year < ((NI) 1))) goto LA154_;
1166 T151_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_13));
1167 }
1168 goto LA152_;
1169 LA154_: ;
1170 {
1171 T151_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_14));
1172 }
1173 LA152_: ;
1174 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T151_ ? T151_->Sup.len : 0) + 0));
1175 appendString((*result), T151_);
1176 }
1177 break;
1178 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 33):
1179 {
1180 }
1181 break;
1182 }
1183 }
N_NIMCALL(NimStringDesc *,format__pureZtimes_2989)1184 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, format__pureZtimes_2989)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt, tyObject_TimeFormat__Nsh4TB3AD6ERMz3D74BTxA f, tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ* loc) {
1185 NimStringDesc* result;
1186 NI idx;
1187 result = NIM_NIL;
1188 result = ((NimStringDesc*) NIM_NIL);
1189 idx = ((NI) 0);
1190 {
1191 while (1) {
1192 NI T3_;
1193 T3_ = ((f.patterns ? f.patterns->Sup.len : 0)-1);
1194 if (!(idx <= T3_)) goto LA2;
1195 switch (((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) (f.patterns->data[idx]))) {
1196 case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 33):
1197 {
1198 NU8 len;
1199 idx += ((NI) 1);
1200 len = f.patterns->data[idx];
1201 {
1202 NU8 i;
1203 NI res;
1204 i = (NU8)0;
1205 res = ((NI) 1);
1206 {
1207 while (1) {
1208 if (!(res <= ((NI) (len)))) goto LA7;
1209 i = ((NU8) (res));
1210 idx += ((NI) 1);
1211 result = addChar(result, ((NIM_CHAR) (f.patterns->data[idx])));
1212 res += ((NI) 1);
1213 } LA7: ;
1214 }
1215 }
1216 idx += ((NI) 1);
1217 }
1218 break;
1219 default:
1220 {
1221 formatPattern__pureZtimes_1863(dt, ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) (f.patterns->data[idx])), (&result), loc);
1222 idx += ((NI) 1);
1223 }
1224 break;
1225 }
1226 } LA2: ;
1227 }
1228 return result;
1229 }
N_INLINE(NI64,convert__pureZtimes_376)1230 static N_INLINE(NI64, convert__pureZtimes_376)(tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitFrom, tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitTo, NI64 quantity) {
1231 NI64 result;
1232 result = (NI64)0;
1233 {
1234 if (!(unitFrom < unitTo)) goto LA3_;
1235 result = (NI64)(quantity / (NI64)(unitWeights__pureZtimes_109[(unitTo)- 0] / unitWeights__pureZtimes_109[(unitFrom)- 0]));
1236 }
1237 goto LA1_;
1238 LA3_: ;
1239 {
1240 result = (NI64)((NI64)(unitWeights__pureZtimes_109[(unitFrom)- 0] / unitWeights__pureZtimes_109[(unitTo)- 0]) * quantity);
1241 }
1242 LA1_: ;
1243 return result;
1244 }
N_INLINE(NI,convert__pureZtimes_443)1245 static N_INLINE(NI, convert__pureZtimes_443)(tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitFrom, tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitTo, NI quantity) {
1246 NI result;
1247 result = (NI)0;
1248 {
1249 if (!(unitFrom < unitTo)) goto LA3_;
1250 result = ((NI) ((NI64)(((NI64) (quantity)) / (NI64)(unitWeights__pureZtimes_109[(unitTo)- 0] / unitWeights__pureZtimes_109[(unitFrom)- 0]))));
1251 }
1252 goto LA1_;
1253 LA3_: ;
1254 {
1255 result = ((NI) ((NI64)((NI64)(unitWeights__pureZtimes_109[(unitFrom)- 0] / unitWeights__pureZtimes_109[(unitTo)- 0]) * ((NI64) (quantity)))));
1256 }
1257 LA1_: ;
1258 return result;
1259 }
N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q,normalize__pureZtimes_991)1260 N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, normalize__pureZtimes_991)(NI64 seconds, NI64 nanoseconds) {
1261 tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q result;
1262 NI64 T1_;
1263 NI64 nanosecond;
1264 NI T2_;
1265 nimZeroMem((void*)(&result), sizeof(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q));
1266 T1_ = (NI64)0;
1267 T1_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), nanoseconds);
1268 result.seconds = (NI64)(seconds + T1_);
1269 T2_ = (NI)0;
1270 T2_ = convert__pureZtimes_443(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((NI) 1));
1271 nanosecond = (NI64)(nanoseconds % ((NI64) (T2_)));
1272 {
1273 NI T7_;
1274 if (!(nanosecond < IL64(0))) goto LA5_;
1275 T7_ = (NI)0;
1276 T7_ = convert__pureZtimes_443(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((NI) 1));
1277 nanosecond += ((NI64) (T7_));
1278 result.seconds -= ((NI) 1);
1279 }
1280 LA5_: ;
1281 result.nanosecond = ((NI) (((NI) (nanosecond))));
1282 return result;
1283 }
N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q,ntSubTime)1284 N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, ntSubTime)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q a, tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw b) {
1285 tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q result;
1286 nimZeroMem((void*)(&result), sizeof(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q));
1287 result = normalize__pureZtimes_991((NI64)(a.seconds - b.seconds), ((NI64) ((NI)(((NI) (a.nanosecond)) - ((NI) (b.nanosecond))))));
1288 return result;
1289 }
N_NIMCALL(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw,normalize__pureZtimes_433)1290 N_LIB_PRIVATE N_NIMCALL(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw, normalize__pureZtimes_433)(NI64 seconds, NI64 nanoseconds) {
1291 tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw result;
1292 NI64 T1_;
1293 NI64 nanosecond;
1294 NI T2_;
1295 nimZeroMem((void*)(&result), sizeof(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw));
1296 T1_ = (NI64)0;
1297 T1_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), nanoseconds);
1298 result.seconds = (NI64)(seconds + T1_);
1299 T2_ = (NI)0;
1300 T2_ = convert__pureZtimes_443(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((NI) 1));
1301 nanosecond = (NI64)(nanoseconds % ((NI64) (T2_)));
1302 {
1303 NI T7_;
1304 if (!(nanosecond < IL64(0))) goto LA5_;
1305 T7_ = (NI)0;
1306 T7_ = convert__pureZtimes_443(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((NI) 1));
1307 nanosecond += ((NI64) (T7_));
1308 result.seconds -= ((NI) 1);
1309 }
1310 LA5_: ;
1311 result.nanosecond = ((NI) (((NI) (nanosecond))));
1312 return result;
1313 }
N_NIMCALL(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw,initDuration__pureZtimes_366)1314 N_LIB_PRIVATE N_NIMCALL(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw, initDuration__pureZtimes_366)(NI64 nanoseconds, NI64 microseconds, NI64 milliseconds, NI64 seconds, NI64 minutes, NI64 hours, NI64 days, NI64 weeks) {
1315 tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw result;
1316 NI64 seconds_2;
1317 NI64 T1_;
1318 NI64 T2_;
1319 NI64 T3_;
1320 NI64 T4_;
1321 NI64 T5_;
1322 NI64 T6_;
1323 NI64 T7_;
1324 NI64 T8_;
1325 NI nanoseconds_2;
1326 NI64 T9_;
1327 NI64 T10_;
1328 nimZeroMem((void*)(&result), sizeof(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw));
1329 T1_ = (NI64)0;
1330 T1_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 7), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), weeks);
1331 T2_ = (NI64)0;
1332 T2_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 6), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), days);
1333 T3_ = (NI64)0;
1334 T3_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 4), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), minutes);
1335 T4_ = (NI64)0;
1336 T4_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 5), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), hours);
1337 T5_ = (NI64)0;
1338 T5_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), seconds);
1339 T6_ = (NI64)0;
1340 T6_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 2), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), milliseconds);
1341 T7_ = (NI64)0;
1342 T7_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 1), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), microseconds);
1343 T8_ = (NI64)0;
1344 T8_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), nanoseconds);
1345 seconds_2 = (NI64)((NI64)((NI64)((NI64)((NI64)((NI64)((NI64)(T1_ + T2_) + T3_) + T4_) + T5_) + T6_) + T7_) + T8_);
1346 T9_ = (NI64)0;
1347 T9_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 2), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), (NI64)(milliseconds % IL64(1000)));
1348 T10_ = (NI64)0;
1349 T10_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 1), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), (NI64)(microseconds % IL64(1000000)));
1350 nanoseconds_2 = ((NI) ((NI64)((NI64)(T9_ + T10_) + (NI64)(nanoseconds % IL64(1000000000)))));
1351 result = normalize__pureZtimes_433(seconds_2, ((NI64) (nanoseconds_2)));
1352 return result;
1353 }
N_NIMCALL(NI64,floorDiv__pureZtimes_258)1354 N_LIB_PRIVATE N_NIMCALL(NI64, floorDiv__pureZtimes_258)(NI64 x, NI64 y) {
1355 NI64 result;
1356 NI64 r;
1357 result = (NI64)0;
1358 result = (NI64)(x / y);
1359 r = (NI64)(x % y);
1360 {
1361 NIM_BOOL T3_;
1362 NIM_BOOL T4_;
1363 NIM_BOOL T7_;
1364 T3_ = (NIM_BOOL)0;
1365 T4_ = (NIM_BOOL)0;
1366 T4_ = (IL64(0) < r);
1367 if (!(T4_)) goto LA5_;
1368 T4_ = (y < IL64(0));
1369 LA5_: ;
1370 T3_ = T4_;
1371 if (T3_) goto LA6_;
1372 T7_ = (NIM_BOOL)0;
1373 T7_ = (r < IL64(0));
1374 if (!(T7_)) goto LA8_;
1375 T7_ = (IL64(0) < y);
1376 LA8_: ;
1377 T3_ = T7_;
1378 LA6_: ;
1379 if (!T3_) goto LA9_;
1380 result -= ((NI) 1);
1381 }
1382 LA9_: ;
1383 return result;
1384 }
N_NIMCALL(tyTuple__XjuGlLf9cyYx66ViXrBCvPQ,fromEpochDay__pureZtimes_187)1385 N_LIB_PRIVATE N_NIMCALL(tyTuple__XjuGlLf9cyYx66ViXrBCvPQ, fromEpochDay__pureZtimes_187)(NI64 epochday) {
1386 tyTuple__XjuGlLf9cyYx66ViXrBCvPQ result;
1387 NI64 z;
1388 NI64 era;
1389 NI64 T1_;
1390 NI64 doe;
1391 NI64 yoe;
1392 NI64 y;
1393 NI64 doy;
1394 NI64 mp;
1395 NI64 d;
1396 NI64 m;
1397 NI T7_;
1398 NI colontmp_;
1399 tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw colontmp__2;
1400 NI colontmp__3;
1401 { nimZeroMem((void*)(&result), sizeof(tyTuple__XjuGlLf9cyYx66ViXrBCvPQ));
1402 z = epochday;
1403 z += ((NI) 719468);
1404 T1_ = (NI64)0;
1405 {
1406 if (!(IL64(0) <= z)) goto LA4_;
1407 T1_ = z;
1408 }
1409 goto LA2_;
1410 LA4_: ;
1411 {
1412 T1_ = (NI64)(z - IL64(146096));
1413 }
1414 LA2_: ;
1415 era = (NI64)(T1_ / IL64(146097));
1416 doe = (NI64)(z - (NI64)(era * IL64(146097)));
1417 yoe = (NI64)((NI64)((NI64)((NI64)(doe - (NI64)(doe / IL64(1460))) + (NI64)(doe / IL64(36524))) - (NI64)(doe / IL64(146096))) / IL64(365));
1418 y = (NI64)(yoe + (NI64)(era * IL64(400)));
1419 doy = (NI64)(doe - (NI64)((NI64)((NI64)(IL64(365) * yoe) + (NI64)(yoe / IL64(4))) - (NI64)(yoe / IL64(100))));
1420 mp = (NI64)((NI64)((NI64)(IL64(5) * doy) + IL64(2)) / IL64(153));
1421 d = (NI64)((NI64)(doy - (NI64)((NI64)((NI64)(IL64(153) * mp) + IL64(2)) / IL64(5))) + IL64(1));
1422 T7_ = (NI)0;
1423 {
1424 if (!(mp < IL64(10))) goto LA10_;
1425 T7_ = ((NI) 3);
1426 }
1427 goto LA8_;
1428 LA10_: ;
1429 {
1430 T7_ = ((NI) -9);
1431 }
1432 LA8_: ;
1433 m = (NI64)(mp + ((NI64) (T7_)));
1434 colontmp_ = ((NI) (d));
1435 colontmp__2 = ((tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw) (m));
1436 colontmp__3 = ((NI) ((NI64)(y + ((NI64) ((m <= IL64(2)))))));
1437 result.Field0 = colontmp_;
1438 result.Field1 = colontmp__2;
1439 result.Field2 = colontmp__3;
1440 goto BeforeRet_;
1441 }BeforeRet_: ;
1442 return result;
1443 }
N_INLINE(void,assertValidDate__pureZtimes_139)1444 static N_INLINE(void, assertValidDate__pureZtimes_139)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year) {
1445 }
N_NIMCALL(NI64,toEpochDay__pureZtimes_150)1446 N_LIB_PRIVATE N_NIMCALL(NI64, toEpochDay__pureZtimes_150)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year) {
1447 NI64 result;
1448 tyTuple__47w2DboNEPf69aPgubZdd7Q T1_;
1449 NI y;
1450 NI m;
1451 NI d;
1452 NI era;
1453 NI T6_;
1454 NI yoe;
1455 NI doy;
1456 NI T12_;
1457 NI doe;
1458 { result = (NI64)0;
1459 assertValidDate__pureZtimes_139(monthday, month, year);
1460 T1_.Field0 = year;
1461 T1_.Field1 = month;
1462 T1_.Field2 = ((NI) (monthday));
1463 y = T1_.Field0;
1464 m = T1_.Field1;
1465 d = T1_.Field2;
1466 {
1467 if (!(m <= ((NI) 2))) goto LA4_;
1468 y -= ((NI) 1);
1469 }
1470 LA4_: ;
1471 T6_ = (NI)0;
1472 {
1473 if (!(((NI) 0) <= y)) goto LA9_;
1474 T6_ = y;
1475 }
1476 goto LA7_;
1477 LA9_: ;
1478 {
1479 T6_ = (NI)(y - ((NI) 399));
1480 }
1481 LA7_: ;
1482 era = (NI)(T6_ / ((NI) 400));
1483 yoe = (NI)(y - (NI)(era * ((NI) 400)));
1484 T12_ = (NI)0;
1485 {
1486 if (!(((NI) 2) < m)) goto LA15_;
1487 T12_ = ((NI) -3);
1488 }
1489 goto LA13_;
1490 LA15_: ;
1491 {
1492 T12_ = ((NI) 9);
1493 }
1494 LA13_: ;
1495 doy = (NI)((NI)((NI)((NI)((NI)(((NI) 153) * (NI)(m + T12_)) + ((NI) 2)) / ((NI) 5)) + d) - ((NI) 1));
1496 doe = (NI)((NI)((NI)((NI)(yoe * ((NI) 365)) + (NI)(yoe / ((NI) 4))) - (NI)(yoe / ((NI) 100))) + doy);
1497 result = ((NI64) ((NI)((NI)((NI)(era * ((NI) 146097)) + doe) - ((NI) 719468))));
1498 goto BeforeRet_;
1499 }BeforeRet_: ;
1500 return result;
1501 }
N_NIMCALL(tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg,getDayOfWeek__pureZtimes_252)1502 N_LIB_PRIVATE N_NIMCALL(tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg, getDayOfWeek__pureZtimes_252)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year) {
1503 tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg result;
1504 NI64 days;
1505 NI64 T1_;
1506 NI64 weeks;
1507 NI64 wd;
1508 result = (tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg)0;
1509 assertValidDate__pureZtimes_139(monthday, month, year);
1510 T1_ = (NI64)0;
1511 T1_ = toEpochDay__pureZtimes_150(monthday, month, year);
1512 days = (NI64)(T1_ - IL64(3));
1513 weeks = floorDiv__pureZtimes_258(days, ((NI) 7));
1514 wd = (NI64)(days - (NI64)(weeks * IL64(7)));
1515 {
1516 if (!(wd == IL64(0))) goto LA4_;
1517 result = ((tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg) 6);
1518 }
1519 goto LA2_;
1520 LA4_: ;
1521 {
1522 result = ((tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg) ((NI64)(wd - IL64(1))));
1523 }
1524 LA2_: ;
1525 return result;
1526 }
N_NIMCALL(NIM_BOOL,isLeapYear__pureZtimes_132)1527 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLeapYear__pureZtimes_132)(NI year) {
1528 NIM_BOOL result;
1529 NIM_BOOL T1_;
1530 NIM_BOOL T3_;
1531 result = (NIM_BOOL)0;
1532 T1_ = (NIM_BOOL)0;
1533 T1_ = ((NI)(year % ((NI) 4)) == ((NI) 0));
1534 if (!(T1_)) goto LA2_;
1535 T3_ = (NIM_BOOL)0;
1536 T3_ = !(((NI)(year % ((NI) 100)) == ((NI) 0)));
1537 if (T3_) goto LA4_;
1538 T3_ = ((NI)(year % ((NI) 400)) == ((NI) 0));
1539 LA4_: ;
1540 T1_ = T3_;
1541 LA2_: ;
1542 result = T1_;
1543 return result;
1544 }
N_NIMCALL(NI,getDayOfYear__pureZtimes_227)1545 N_LIB_PRIVATE N_NIMCALL(NI, getDayOfYear__pureZtimes_227)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year) {
1546 NI result;
1547 result = (NI)0;
1548 assertValidDate__pureZtimes_139(monthday, month, year);
1549 {
1550 NIM_BOOL T3_;
1551 T3_ = (NIM_BOOL)0;
1552 T3_ = isLeapYear__pureZtimes_132(year);
1553 if (!T3_) goto LA4_;
1554 result = ((NI) ((NI)((NI)(daysUntilMonthLeap__pureZtimes_233[(month)- 1] + ((NI) (monthday))) - ((NI) 1))));
1555 }
1556 goto LA1_;
1557 LA4_: ;
1558 {
1559 result = ((NI) ((NI)((NI)(daysUntilMonth__pureZtimes_232[(month)- 1] + ((NI) (monthday))) - ((NI) 1))));
1560 }
1561 LA1_: ;
1562 return result;
1563 }
N_NIMCALL(void,initDateTime__pureZtimes_1210)1564 N_LIB_PRIVATE N_NIMCALL(void, initDateTime__pureZtimes_1210)(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ zt, tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone, tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result) {
1565 tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q adjTime;
1566 tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw T1_;
1567 NI64 s;
1568 NI64 epochday;
1569 NI64 rem;
1570 NI64 hour;
1571 NI64 minute;
1572 NI64 second;
1573 tyTuple__XjuGlLf9cyYx66ViXrBCvPQ T2_;
1574 NI d;
1575 tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw m;
1576 NI y;
1577 T1_ = initDuration__pureZtimes_366(IL64(0), IL64(0), IL64(0), ((NI64) (zt.utcOffset)), IL64(0), IL64(0), IL64(0), IL64(0));
1578 adjTime = ntSubTime(zt.time, T1_);
1579 s = adjTime.seconds;
1580 epochday = floorDiv__pureZtimes_258(s, ((NI) 86400));
1581 rem = (NI64)(s - (NI64)(epochday * IL64(86400)));
1582 hour = (NI64)(rem / IL64(3600));
1583 rem = (NI64)(rem - (NI64)(hour * IL64(3600)));
1584 minute = (NI64)(rem / IL64(60));
1585 rem = (NI64)(rem - (NI64)(minute * IL64(60)));
1586 second = rem;
1587 T2_ = fromEpochDay__pureZtimes_187(epochday);
1588 d = T2_.Field0;
1589 m = T2_.Field1;
1590 y = T2_.Field2;
1591 (*Result).monthdayZero = 0;
1592 (*Result).monthZero = 0;
1593 (*Result).year = 0;
1594 (*Result).weekday = 0;
1595 (*Result).isDst = 0;
1596 unsureAsgnRef((void**)&(*Result).timezone, NIM_NIL);
1597 (*Result).utcOffset = 0;
1598 (*Result).Sup.m_type = (&NTIdatetime__d9cK9cyKZPJJxFXUmx8dSpPw_);
1599 (*Result).year = y;
1600 (*Result).monthZero = ((NI) (m));
1601 (*Result).monthdayZero = ((NI) (d));
1602 (*Result).hour = ((NI) (hour));
1603 (*Result).minute = ((NI) (minute));
1604 (*Result).second = ((NI) (second));
1605 (*Result).nanosecond = zt.time.nanosecond;
1606 (*Result).weekday = getDayOfWeek__pureZtimes_252(d, m, y);
1607 (*Result).yearday = getDayOfYear__pureZtimes_227(d, m, y);
1608 (*Result).isDst = zt.isDst;
1609 unsureAsgnRef((void**) (&(*Result).timezone), zone);
1610 (*Result).utcOffset = zt.utcOffset;
1611 }
N_NIMCALL(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ,zonedTimeFromTime__pureZtimes_1267)1612 N_LIB_PRIVATE N_NIMCALL(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, zonedTimeFromTime__pureZtimes_1267)(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone, tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time) {
1613 tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ result;
1614 nimZeroMem((void*)(&result), sizeof(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ));
1615 result = (*zone).zonedTimeFromTimeImpl.ClE_0? (*zone).zonedTimeFromTimeImpl.ClP_0(time, (*zone).zonedTimeFromTimeImpl.ClE_0):((TM__6NbDwwj5FY059b1gz2AsAZQ_56)((*zone).zonedTimeFromTimeImpl.ClP_0))(time);
1616 return result;
1617 }
N_NIMCALL(void,inZone__pureZtimes_1307)1618 N_LIB_PRIVATE N_NIMCALL(void, inZone__pureZtimes_1307)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time, tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone, tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result) {
1619 tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ T1_;
1620 T1_ = zonedTimeFromTime__pureZtimes_1267(zone, time);
1621 initDateTime__pureZtimes_1210(T1_, zone, Result);
1622 }
N_INLINE(NI,minuspercent___system_716)1623 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
1624 NI result;
1625 result = (NI)0;
1626 result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
1627 return result;
1628 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)1629 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
1630 NIM_BOOL result;
1631 result = (NIM_BOOL)0;
1632 result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
1633 return result;
1634 }
N_INLINE(void,rtlAddZCT__system_5313)1635 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1636 addZCT__system_5264((&gch__system_5217.zct), c);
1637 }
N_INLINE(void,decRef__system_5315)1638 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1639 (*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
1640 {
1641 NIM_BOOL T3_;
1642 T3_ = (NIM_BOOL)0;
1643 T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
1644 if (!T3_) goto LA4_;
1645 rtlAddZCT__system_5313(c);
1646 }
1647 LA4_: ;
1648 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5270)1649 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr) {
1650 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
1651 NI T1_;
1652 result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1653 T1_ = (NI)0;
1654 T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
1655 result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
1656 return result;
1657 }
N_INLINE(void,nimGCunrefNoCycle)1658 static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
1659 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
1660 T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1661 T1_ = usrToCell__system_5270(p);
1662 decRef__system_5315(T1_);
1663 }
N_INLINE(NI,pluspercent___system_696)1664 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
1665 NI result;
1666 result = (NI)0;
1667 result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
1668 return result;
1669 }
N_INLINE(void,incRef__system_5308)1670 static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1671 (*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
1672 }
N_INLINE(void,asgnRef)1673 static N_INLINE(void, asgnRef)(void** dest, void* src) {
1674 {
1675 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
1676 if (!!((src == NIM_NIL))) goto LA3_;
1677 T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1678 T5_ = usrToCell__system_5270(src);
1679 incRef__system_5308(T5_);
1680 }
1681 LA3_: ;
1682 {
1683 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
1684 if (!!(((*dest) == NIM_NIL))) goto LA8_;
1685 T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1686 T10_ = usrToCell__system_5270((*dest));
1687 decRef__system_5315(T10_);
1688 }
1689 LA8_: ;
1690 (*dest) = src;
1691 }
N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw *,newTimezone__pureZtimes_1237)1692 N_LIB_PRIVATE N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*, newTimezone__pureZtimes_1237)(NimStringDesc* name, tyProc__7xnKxEC24cr3qZyj3gX32w zonedTimeFromTimeImpl, tyProc__7xnKxEC24cr3qZyj3gX32w zonedTimeFromAdjTimeImpl) {
1693 tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* result;
1694 tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* T1_;
1695 NimStringDesc* T2_;
1696 result = NIM_NIL;
1697 T1_ = NIM_NIL;
1698 T1_ = (tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*) newObj((&NTItimezone__9a5v4OQPlGqsA25ioN8hFYA_), sizeof(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw));
1699 T2_ = NIM_NIL;
1700 T2_ = (*T1_).name; (*T1_).name = copyStringRC1(name);
1701 if (T2_) nimGCunrefNoCycle(T2_);
1702 asgnRef((void**) (&(*T1_).zonedTimeFromTimeImpl.ClE_0), zonedTimeFromTimeImpl.ClE_0);
1703 (*T1_).zonedTimeFromTimeImpl.ClP_0 = zonedTimeFromTimeImpl.ClP_0;
1704 asgnRef((void**) (&(*T1_).zonedTimeFromAdjTimeImpl.ClE_0), zonedTimeFromAdjTimeImpl.ClE_0);
1705 (*T1_).zonedTimeFromAdjTimeImpl.ClP_0 = zonedTimeFromAdjTimeImpl.ClP_0;
1706 result = T1_;
1707 return result;
1708 }
N_NIMCALL(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ,utcTzInfo__pureZtimes_1430)1709 N_LIB_PRIVATE N_NIMCALL(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, utcTzInfo__pureZtimes_1430)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time) {
1710 tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ result;
1711 nimZeroMem((void*)(&result), sizeof(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ));
1712 nimZeroMem((void*)(&result), sizeof(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ));
1713 result.utcOffset = ((NI) 0);
1714 result.isDst = NIM_FALSE;
1715 result.time = time;
1716 return result;
1717 }
N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw *,utc__pureZtimes_1436)1718 N_LIB_PRIVATE N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*, utc__pureZtimes_1436)(void) {
1719 tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* result;
1720 result = NIM_NIL;
1721 {
1722 tyProc__7xnKxEC24cr3qZyj3gX32w T5_;
1723 tyProc__7xnKxEC24cr3qZyj3gX32w T6_;
1724 if (!(utcInstance__pureZtimes_1433 == 0)) goto LA3_;
1725 nimZeroMem((void*)(&T5_), sizeof(tyProc__7xnKxEC24cr3qZyj3gX32w));
1726 T5_.ClP_0 = ((TM__6NbDwwj5FY059b1gz2AsAZQ_57) (utcTzInfo__pureZtimes_1430)); T5_.ClE_0 = NIM_NIL;
1727 nimZeroMem((void*)(&T6_), sizeof(tyProc__7xnKxEC24cr3qZyj3gX32w));
1728 T6_.ClP_0 = ((TM__6NbDwwj5FY059b1gz2AsAZQ_58) (utcTzInfo__pureZtimes_1430)); T6_.ClE_0 = NIM_NIL;
1729 asgnRef((void**) (&utcInstance__pureZtimes_1433), newTimezone__pureZtimes_1237(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_11), T5_, T6_));
1730 }
1731 LA3_: ;
1732 result = utcInstance__pureZtimes_1433;
1733 return result;
1734 }
N_NIMCALL(void,utc__pureZtimes_1461)1735 N_LIB_PRIVATE N_NIMCALL(void, utc__pureZtimes_1461)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q t, tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result) {
1736 tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* T1_;
1737 T1_ = NIM_NIL;
1738 T1_ = utc__pureZtimes_1436();
1739 inZone__pureZtimes_1307(t, T1_, Result);
1740 }
N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q,fromUnix__pureZtimes_902)1741 N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, fromUnix__pureZtimes_902)(NI64 unix_0) {
1742 tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q result;
1743 nimZeroMem((void*)(&result), sizeof(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q));
1744 result = initTime__pureZtimes_895(unix_0, ((NI) 0));
1745 return result;
1746 }
N_NIMCALL(NI64,toUnix__pureZtimes_914)1747 N_LIB_PRIVATE N_NIMCALL(NI64, toUnix__pureZtimes_914)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q t) {
1748 NI64 result;
1749 result = (NI64)0;
1750 result = t.seconds;
1751 return result;
1752 }
N_INLINE(NF,toBiggestFloat__system_1705)1753 static N_INLINE(NF, toBiggestFloat__system_1705)(NI64 i) {
1754 NF result;
1755 result = (NF)0;
1756 result = ((NF) (i));
1757 return result;
1758 }
N_NIMCALL(NF,epochTime__pureZtimes_3599)1759 N_LIB_PRIVATE N_NIMCALL(NF, epochTime__pureZtimes_3599)(void) {
1760 NF result;
1761 struct timespec ts;
1762 int T1_;
1763 NF T2_;
1764 NF T3_;
1765 result = (NF)0;
1766 T1_ = (int)0;
1767 T1_ = clock_gettime(((clockid_t) (CLOCK_REALTIME)), (&ts));
1768 (void)(T1_);
1769 T2_ = (NF)0;
1770 T2_ = toBiggestFloat__system_1705(((NI64) (ts.tv_sec)));
1771 T3_ = (NF)0;
1772 T3_ = toBiggestFloat__system_1705(((NI64) (ts.tv_nsec)));
1773 result = ((NF)(T2_) + (NF)(((NF)(T3_) / (NF)(1000000000.0))));
1774 return result;
1775 }
N_NIMCALL(NIM_BOOL,ntLtTime)1776 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, ntLtTime)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q a, tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q b) {
1777 NIM_BOOL result;
1778 NIM_BOOL T1_;
1779 NIM_BOOL T3_;
1780 result = (NIM_BOOL)0;
1781 T1_ = (NIM_BOOL)0;
1782 T1_ = (a.seconds < b.seconds);
1783 if (T1_) goto LA2_;
1784 T3_ = (NIM_BOOL)0;
1785 T3_ = (a.seconds == b.seconds);
1786 if (!(T3_)) goto LA4_;
1787 T3_ = (((NI) (a.nanosecond)) < ((NI) (b.nanosecond)));
1788 LA4_: ;
1789 T1_ = T3_;
1790 LA2_: ;
1791 result = T1_;
1792 return result;
1793 }
N_NIMCALL(NI64,clamp__pureZtimes_1364)1794 N_LIB_PRIVATE N_NIMCALL(NI64, clamp__pureZtimes_1364)(NI64 x, NI64 a, NI64 b) {
1795 NI64 result;
1796 { result = (NI64)0;
1797 {
1798 if (!(x < a)) goto LA3_;
1799 result = a;
1800 goto BeforeRet_;
1801 }
1802 LA3_: ;
1803 {
1804 if (!(b < x)) goto LA7_;
1805 result = b;
1806 goto BeforeRet_;
1807 }
1808 LA7_: ;
1809 result = x;
1810 goto BeforeRet_;
1811 }BeforeRet_: ;
1812 return result;
1813 }
N_NIMCALL(NI64,toAdjUnix__pureZtimes_1335)1814 N_LIB_PRIVATE N_NIMCALL(NI64, toAdjUnix__pureZtimes_1335)(struct tm tm) {
1815 NI64 result;
1816 NI64 epochDay;
1817 result = (NI64)0;
1818 epochDay = toEpochDay__pureZtimes_150(((NI) (tm.tm_mday)), ((tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw) ((NI32)(tm.tm_mon + ((NI32) 1)))), (NI)(((NI) (tm.tm_year)) + ((NI) 1900)));
1819 result = (NI64)(epochDay * IL64(86400));
1820 result += ((NI) ((NI32)(tm.tm_hour * ((NI32) 3600))));
1821 result += ((NI) ((NI32)(tm.tm_min * ((NI32) 60))));
1822 result += ((NI) (tm.tm_sec));
1823 return result;
1824 }
N_NIMCALL(tyTuple__pfrdooyxJsC6cg34ebuBag,getLocalOffsetAndDst__pureZtimes_1351)1825 N_LIB_PRIVATE N_NIMCALL(tyTuple__pfrdooyxJsC6cg34ebuBag, getLocalOffsetAndDst__pureZtimes_1351)(NI64 unix_0) {
1826 tyTuple__pfrdooyxJsC6cg34ebuBag result;
1827 long a;
1828 NI64 T1_;
1829 struct tm* tmPtr;
1830 NI colontmp__3;
1831 NIM_BOOL colontmp__4;
1832 { nimZeroMem((void*)(&result), sizeof(tyTuple__pfrdooyxJsC6cg34ebuBag));
1833 T1_ = (NI64)0;
1834 T1_ = clamp__pureZtimes_1364(unix_0, IL64(-2147483648), IL64(2147483647));
1835 a = ((long) (T1_));
1836 tmPtr = localtime((&a));
1837 {
1838 struct tm tm;
1839 NI colontmp_;
1840 NI64 T6_;
1841 NIM_BOOL colontmp__2;
1842 if (!!((tmPtr == 0))) goto LA4_;
1843 tm = (*tmPtr);
1844 T6_ = (NI64)0;
1845 T6_ = toAdjUnix__pureZtimes_1335(tm);
1846 colontmp_ = ((NI) ((NI64)(((NI64) (a)) - T6_)));
1847 colontmp__2 = (((NI32) 0) < tm.tm_isdst);
1848 result.Field0 = colontmp_;
1849 result.Field1 = colontmp__2;
1850 goto BeforeRet_;
1851 }
1852 LA4_: ;
1853 colontmp__3 = ((NI) 0);
1854 colontmp__4 = NIM_FALSE;
1855 result.Field0 = colontmp__3;
1856 result.Field1 = colontmp__4;
1857 goto BeforeRet_;
1858 }BeforeRet_: ;
1859 return result;
1860 }
N_NIMCALL(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ,localZonedTimeFromTime__pureZtimes_1403)1861 N_LIB_PRIVATE N_NIMCALL(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, localZonedTimeFromTime__pureZtimes_1403)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time) {
1862 tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ result;
1863 tyTuple__pfrdooyxJsC6cg34ebuBag T1_;
1864 NI offset;
1865 NIM_BOOL dst;
1866 nimZeroMem((void*)(&result), sizeof(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ));
1867 T1_ = getLocalOffsetAndDst__pureZtimes_1351(time.seconds);
1868 offset = T1_.Field0;
1869 dst = T1_.Field1;
1870 result.time = time;
1871 result.utcOffset = offset;
1872 result.isDst = dst;
1873 return result;
1874 }
N_NIMCALL(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ,localZonedTimeFromAdjTime__pureZtimes_1408)1875 N_LIB_PRIVATE N_NIMCALL(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, localZonedTimeFromAdjTime__pureZtimes_1408)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q adjTime) {
1876 tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ result;
1877 NI64 adjUnix;
1878 NI64 past;
1879 tyTuple__pfrdooyxJsC6cg34ebuBag T1_;
1880 NI pastOffset;
1881 NIM_BOOL _;
1882 NI64 future;
1883 tyTuple__pfrdooyxJsC6cg34ebuBag T2_;
1884 NI futureOffset;
1885 NIM_BOOL __2;
1886 NI utcOffset;
1887 NI64 utcUnix;
1888 tyTuple__pfrdooyxJsC6cg34ebuBag T13_;
1889 NI finalOffset;
1890 NIM_BOOL dst;
1891 nimZeroMem((void*)(&result), sizeof(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ));
1892 adjUnix = adjTime.seconds;
1893 past = (NI64)(adjUnix - IL64(86400));
1894 T1_ = getLocalOffsetAndDst__pureZtimes_1351(past);
1895 pastOffset = T1_.Field0;
1896 _ = T1_.Field1;
1897 future = (NI64)(adjUnix + IL64(86400));
1898 T2_ = getLocalOffsetAndDst__pureZtimes_1351(future);
1899 futureOffset = T2_.Field0;
1900 __2 = T2_.Field1;
1901 utcOffset = (NI)0;
1902 {
1903 if (!(pastOffset == futureOffset)) goto LA5_;
1904 utcOffset = pastOffset;
1905 }
1906 goto LA3_;
1907 LA5_: ;
1908 {
1909 tyTuple__pfrdooyxJsC6cg34ebuBag T12_;
1910 {
1911 if (!(futureOffset < pastOffset)) goto LA10_;
1912 adjUnix -= ((NI) 3600);
1913 }
1914 LA10_: ;
1915 adjUnix += ((NI64) (pastOffset));
1916 T12_ = getLocalOffsetAndDst__pureZtimes_1351(adjUnix);
1917 utcOffset = T12_.Field0;
1918 }
1919 LA3_: ;
1920 utcUnix = (NI64)(adjTime.seconds + ((NI64) (utcOffset)));
1921 T13_ = getLocalOffsetAndDst__pureZtimes_1351(utcUnix);
1922 finalOffset = T13_.Field0;
1923 dst = T13_.Field1;
1924 result.time = initTime__pureZtimes_895(utcUnix, adjTime.nanosecond);
1925 result.utcOffset = finalOffset;
1926 result.isDst = dst;
1927 return result;
1928 }
N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw *,local__pureZtimes_1450)1929 N_LIB_PRIVATE N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*, local__pureZtimes_1450)(void) {
1930 tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* result;
1931 result = NIM_NIL;
1932 {
1933 tyProc__7xnKxEC24cr3qZyj3gX32w T5_;
1934 tyProc__7xnKxEC24cr3qZyj3gX32w T6_;
1935 if (!(localInstance__pureZtimes_1434 == 0)) goto LA3_;
1936 nimZeroMem((void*)(&T5_), sizeof(tyProc__7xnKxEC24cr3qZyj3gX32w));
1937 T5_.ClP_0 = ((TM__6NbDwwj5FY059b1gz2AsAZQ_60) (localZonedTimeFromTime__pureZtimes_1403)); T5_.ClE_0 = NIM_NIL;
1938 nimZeroMem((void*)(&T6_), sizeof(tyProc__7xnKxEC24cr3qZyj3gX32w));
1939 T6_.ClP_0 = ((TM__6NbDwwj5FY059b1gz2AsAZQ_61) (localZonedTimeFromAdjTime__pureZtimes_1408)); T6_.ClE_0 = NIM_NIL;
1940 asgnRef((void**) (&localInstance__pureZtimes_1434), newTimezone__pureZtimes_1237(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_59), T5_, T6_));
1941 }
1942 LA3_: ;
1943 result = localInstance__pureZtimes_1434;
1944 return result;
1945 }
N_NIMCALL(void,local__pureZtimes_1464)1946 N_LIB_PRIVATE N_NIMCALL(void, local__pureZtimes_1464)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q t, tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result) {
1947 tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* T1_;
1948 T1_ = NIM_NIL;
1949 T1_ = local__pureZtimes_1450();
1950 inZone__pureZtimes_1307(t, T1_, Result);
1951 }
N_NIMCALL(void,now__pureZtimes_1467)1952 N_LIB_PRIVATE N_NIMCALL(void, now__pureZtimes_1467)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result) {
1953 tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q T1_;
1954 T1_ = getTime__pureZtimes_961();
1955 local__pureZtimes_1464(T1_, Result);
1956 }
N_NIMCALL(void,stdlib_timesInit000)1957 N_LIB_PRIVATE N_NIMCALL(void, stdlib_timesInit000)(void) {
1958 {
1959 TFrame FR_; FR_.len = 0;
1960
1961 nimRegisterThreadLocalMarker(TM__6NbDwwj5FY059b1gz2AsAZQ_4);
1962
1963
1964 nimRegisterThreadLocalMarker(TM__6NbDwwj5FY059b1gz2AsAZQ_5);
1965
1966 }/* preInitProc end */
1967 {
1968 }
1969 }
1970
N_NIMCALL(void,stdlib_timesDatInit000)1971 N_LIB_PRIVATE N_NIMCALL(void, stdlib_timesDatInit000)(void) {
1972 static TNimNode* TM__6NbDwwj5FY059b1gz2AsAZQ_2_3[3];
1973 static TNimNode* TM__6NbDwwj5FY059b1gz2AsAZQ_3_2[2];
1974 static TNimNode* TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[12];
1975 static TNimNode* TM__6NbDwwj5FY059b1gz2AsAZQ_53_7[7];
1976 NI TM__6NbDwwj5FY059b1gz2AsAZQ_55;
1977 static char* NIM_CONST TM__6NbDwwj5FY059b1gz2AsAZQ_54[7] = {
1978 "Monday",
1979 "Tuesday",
1980 "Wednesday",
1981 "Thursday",
1982 "Friday",
1983 "Saturday",
1984 "Sunday"};
1985 static TNimNode TM__6NbDwwj5FY059b1gz2AsAZQ_0[29];
1986 NTItimezone58objecttype__F8OvqlxXyGXRSiK9c1fCDVw_.size = sizeof(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw);
1987 NTItimezone58objecttype__F8OvqlxXyGXRSiK9c1fCDVw_.align = NIM_ALIGNOF(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw);
1988 NTItimezone58objecttype__F8OvqlxXyGXRSiK9c1fCDVw_.kind = 18;
1989 NTItimezone58objecttype__F8OvqlxXyGXRSiK9c1fCDVw_.base = 0;
1990 TM__6NbDwwj5FY059b1gz2AsAZQ_2_3[0] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[1];
1991 NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__7xnKxEC24cr3qZyj3gX32w_.size = sizeof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
1992 NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__7xnKxEC24cr3qZyj3gX32w_.align = NIM_ALIGNOF(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
1993 NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__7xnKxEC24cr3qZyj3gX32w_.kind = 18;
1994 NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__7xnKxEC24cr3qZyj3gX32w_.base = 0;
1995 TM__6NbDwwj5FY059b1gz2AsAZQ_3_2[0] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[3];
1996 NTIpointer__vr5DoT1jILTGdRlYv1OYpw_.size = sizeof(void*);
1997 NTIpointer__vr5DoT1jILTGdRlYv1OYpw_.align = NIM_ALIGNOF(void*);
1998 NTIpointer__vr5DoT1jILTGdRlYv1OYpw_.kind = 26;
1999 NTIpointer__vr5DoT1jILTGdRlYv1OYpw_.base = 0;
2000 NTIpointer__vr5DoT1jILTGdRlYv1OYpw_.flags = 3;
2001 TM__6NbDwwj5FY059b1gz2AsAZQ_0[3].kind = 1;
2002 TM__6NbDwwj5FY059b1gz2AsAZQ_0[3].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field0);
2003 TM__6NbDwwj5FY059b1gz2AsAZQ_0[3].typ = (&NTIpointer__vr5DoT1jILTGdRlYv1OYpw_);
2004 TM__6NbDwwj5FY059b1gz2AsAZQ_0[3].name = "Field0";
2005 TM__6NbDwwj5FY059b1gz2AsAZQ_3_2[1] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[4];
2006 NTIobject__diB2NTuAIWY0FO9c5IUJRGg_.size = sizeof(tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg);
2007 NTIobject__diB2NTuAIWY0FO9c5IUJRGg_.align = NIM_ALIGNOF(tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg);
2008 NTIobject__diB2NTuAIWY0FO9c5IUJRGg_.kind = 17;
2009 NTIobject__diB2NTuAIWY0FO9c5IUJRGg_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
2010 NTIobject__diB2NTuAIWY0FO9c5IUJRGg_.flags = 1;
2011 TM__6NbDwwj5FY059b1gz2AsAZQ_0[5].len = 0; TM__6NbDwwj5FY059b1gz2AsAZQ_0[5].kind = 2;
2012 NTIobject__diB2NTuAIWY0FO9c5IUJRGg_.node = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[5];
2013 NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_.size = sizeof(tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg*);
2014 NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_.align = NIM_ALIGNOF(tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg*);
2015 NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_.kind = 22;
2016 NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_.base = (&NTIobject__diB2NTuAIWY0FO9c5IUJRGg_);
2017 NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_.marker = Marker_tyRef__HsJiUUcO9cHBdUCi0HwkSTA;
2018 TM__6NbDwwj5FY059b1gz2AsAZQ_0[4].kind = 1;
2019 TM__6NbDwwj5FY059b1gz2AsAZQ_0[4].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field1);
2020 TM__6NbDwwj5FY059b1gz2AsAZQ_0[4].typ = (&NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_);
2021 TM__6NbDwwj5FY059b1gz2AsAZQ_0[4].name = "Field1";
2022 TM__6NbDwwj5FY059b1gz2AsAZQ_0[2].len = 2; TM__6NbDwwj5FY059b1gz2AsAZQ_0[2].kind = 2; TM__6NbDwwj5FY059b1gz2AsAZQ_0[2].sons = &TM__6NbDwwj5FY059b1gz2AsAZQ_3_2[0];
2023 NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__7xnKxEC24cr3qZyj3gX32w_.node = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[2];
2024 TM__6NbDwwj5FY059b1gz2AsAZQ_0[1].kind = 1;
2025 TM__6NbDwwj5FY059b1gz2AsAZQ_0[1].offset = offsetof(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw, zonedTimeFromTimeImpl);
2026 TM__6NbDwwj5FY059b1gz2AsAZQ_0[1].typ = (&NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__7xnKxEC24cr3qZyj3gX32w_);
2027 TM__6NbDwwj5FY059b1gz2AsAZQ_0[1].name = "zonedTimeFromTimeImpl";
2028 TM__6NbDwwj5FY059b1gz2AsAZQ_2_3[1] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[6];
2029 TM__6NbDwwj5FY059b1gz2AsAZQ_0[6].kind = 1;
2030 TM__6NbDwwj5FY059b1gz2AsAZQ_0[6].offset = offsetof(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw, zonedTimeFromAdjTimeImpl);
2031 TM__6NbDwwj5FY059b1gz2AsAZQ_0[6].typ = (&NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__7xnKxEC24cr3qZyj3gX32w_);
2032 TM__6NbDwwj5FY059b1gz2AsAZQ_0[6].name = "zonedTimeFromAdjTimeImpl";
2033 TM__6NbDwwj5FY059b1gz2AsAZQ_2_3[2] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[7];
2034 TM__6NbDwwj5FY059b1gz2AsAZQ_0[7].kind = 1;
2035 TM__6NbDwwj5FY059b1gz2AsAZQ_0[7].offset = offsetof(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw, name);
2036 TM__6NbDwwj5FY059b1gz2AsAZQ_0[7].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
2037 TM__6NbDwwj5FY059b1gz2AsAZQ_0[7].name = "name";
2038 TM__6NbDwwj5FY059b1gz2AsAZQ_0[0].len = 3; TM__6NbDwwj5FY059b1gz2AsAZQ_0[0].kind = 2; TM__6NbDwwj5FY059b1gz2AsAZQ_0[0].sons = &TM__6NbDwwj5FY059b1gz2AsAZQ_2_3[0];
2039 NTItimezone58objecttype__F8OvqlxXyGXRSiK9c1fCDVw_.node = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[0];
2040 NTItimezone__9a5v4OQPlGqsA25ioN8hFYA_.size = sizeof(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*);
2041 NTItimezone__9a5v4OQPlGqsA25ioN8hFYA_.align = NIM_ALIGNOF(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*);
2042 NTItimezone__9a5v4OQPlGqsA25ioN8hFYA_.kind = 22;
2043 NTItimezone__9a5v4OQPlGqsA25ioN8hFYA_.base = (&NTItimezone58objecttype__F8OvqlxXyGXRSiK9c1fCDVw_);
2044 NTItimezone__9a5v4OQPlGqsA25ioN8hFYA_.marker = Marker_tyRef__9a5v4OQPlGqsA25ioN8hFYA;
2045 NTIdatetime__d9cK9cyKZPJJxFXUmx8dSpPw_.size = sizeof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw);
2046 NTIdatetime__d9cK9cyKZPJJxFXUmx8dSpPw_.align = NIM_ALIGNOF(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw);
2047 NTIdatetime__d9cK9cyKZPJJxFXUmx8dSpPw_.kind = 17;
2048 NTIdatetime__d9cK9cyKZPJJxFXUmx8dSpPw_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
2049 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[0] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[9];
2050 NTIint__PpavWgyrx5odXyR89aNlcWA_.size = sizeof(NI);
2051 NTIint__PpavWgyrx5odXyR89aNlcWA_.align = NIM_ALIGNOF(NI);
2052 NTIint__PpavWgyrx5odXyR89aNlcWA_.kind = 31;
2053 NTIint__PpavWgyrx5odXyR89aNlcWA_.base = 0;
2054 NTIint__PpavWgyrx5odXyR89aNlcWA_.flags = 3;
2055 TM__6NbDwwj5FY059b1gz2AsAZQ_0[9].kind = 1;
2056 TM__6NbDwwj5FY059b1gz2AsAZQ_0[9].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, nanosecond);
2057 TM__6NbDwwj5FY059b1gz2AsAZQ_0[9].typ = (&NTIint__PpavWgyrx5odXyR89aNlcWA_);
2058 TM__6NbDwwj5FY059b1gz2AsAZQ_0[9].name = "nanosecond";
2059 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[1] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[10];
2060 NTIint__rUuqTvFmkC6KKRqDAazGEA_.size = sizeof(NI);
2061 NTIint__rUuqTvFmkC6KKRqDAazGEA_.align = NIM_ALIGNOF(NI);
2062 NTIint__rUuqTvFmkC6KKRqDAazGEA_.kind = 31;
2063 NTIint__rUuqTvFmkC6KKRqDAazGEA_.base = 0;
2064 NTIint__rUuqTvFmkC6KKRqDAazGEA_.flags = 3;
2065 TM__6NbDwwj5FY059b1gz2AsAZQ_0[10].kind = 1;
2066 TM__6NbDwwj5FY059b1gz2AsAZQ_0[10].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, second);
2067 TM__6NbDwwj5FY059b1gz2AsAZQ_0[10].typ = (&NTIint__rUuqTvFmkC6KKRqDAazGEA_);
2068 TM__6NbDwwj5FY059b1gz2AsAZQ_0[10].name = "second";
2069 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[2] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[11];
2070 NTIint__LBgXxpmYOpS8xroRZgNvbg_.size = sizeof(NI);
2071 NTIint__LBgXxpmYOpS8xroRZgNvbg_.align = NIM_ALIGNOF(NI);
2072 NTIint__LBgXxpmYOpS8xroRZgNvbg_.kind = 31;
2073 NTIint__LBgXxpmYOpS8xroRZgNvbg_.base = 0;
2074 NTIint__LBgXxpmYOpS8xroRZgNvbg_.flags = 3;
2075 TM__6NbDwwj5FY059b1gz2AsAZQ_0[11].kind = 1;
2076 TM__6NbDwwj5FY059b1gz2AsAZQ_0[11].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, minute);
2077 TM__6NbDwwj5FY059b1gz2AsAZQ_0[11].typ = (&NTIint__LBgXxpmYOpS8xroRZgNvbg_);
2078 TM__6NbDwwj5FY059b1gz2AsAZQ_0[11].name = "minute";
2079 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[3] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[12];
2080 NTIint__Gz6vwaK0PZQIDIwfuvKsOg_.size = sizeof(NI);
2081 NTIint__Gz6vwaK0PZQIDIwfuvKsOg_.align = NIM_ALIGNOF(NI);
2082 NTIint__Gz6vwaK0PZQIDIwfuvKsOg_.kind = 31;
2083 NTIint__Gz6vwaK0PZQIDIwfuvKsOg_.base = 0;
2084 NTIint__Gz6vwaK0PZQIDIwfuvKsOg_.flags = 3;
2085 TM__6NbDwwj5FY059b1gz2AsAZQ_0[12].kind = 1;
2086 TM__6NbDwwj5FY059b1gz2AsAZQ_0[12].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, hour);
2087 TM__6NbDwwj5FY059b1gz2AsAZQ_0[12].typ = (&NTIint__Gz6vwaK0PZQIDIwfuvKsOg_);
2088 TM__6NbDwwj5FY059b1gz2AsAZQ_0[12].name = "hour";
2089 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[4] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[13];
2090 TM__6NbDwwj5FY059b1gz2AsAZQ_0[13].kind = 1;
2091 TM__6NbDwwj5FY059b1gz2AsAZQ_0[13].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, monthdayZero);
2092 TM__6NbDwwj5FY059b1gz2AsAZQ_0[13].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
2093 TM__6NbDwwj5FY059b1gz2AsAZQ_0[13].name = "monthdayZero";
2094 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[5] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[14];
2095 TM__6NbDwwj5FY059b1gz2AsAZQ_0[14].kind = 1;
2096 TM__6NbDwwj5FY059b1gz2AsAZQ_0[14].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, monthZero);
2097 TM__6NbDwwj5FY059b1gz2AsAZQ_0[14].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
2098 TM__6NbDwwj5FY059b1gz2AsAZQ_0[14].name = "monthZero";
2099 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[6] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[15];
2100 TM__6NbDwwj5FY059b1gz2AsAZQ_0[15].kind = 1;
2101 TM__6NbDwwj5FY059b1gz2AsAZQ_0[15].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, year);
2102 TM__6NbDwwj5FY059b1gz2AsAZQ_0[15].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
2103 TM__6NbDwwj5FY059b1gz2AsAZQ_0[15].name = "year";
2104 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[7] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[16];
2105 NTIweekday__SVfemTA9aCOyua2TJYa6yBg_.size = sizeof(tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg);
2106 NTIweekday__SVfemTA9aCOyua2TJYa6yBg_.align = NIM_ALIGNOF(tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg);
2107 NTIweekday__SVfemTA9aCOyua2TJYa6yBg_.kind = 14;
2108 NTIweekday__SVfemTA9aCOyua2TJYa6yBg_.base = 0;
2109 NTIweekday__SVfemTA9aCOyua2TJYa6yBg_.flags = 3;
2110 for (TM__6NbDwwj5FY059b1gz2AsAZQ_55 = 0; TM__6NbDwwj5FY059b1gz2AsAZQ_55 < 7; TM__6NbDwwj5FY059b1gz2AsAZQ_55++) {
2111 TM__6NbDwwj5FY059b1gz2AsAZQ_0[TM__6NbDwwj5FY059b1gz2AsAZQ_55+17].kind = 1;
2112 TM__6NbDwwj5FY059b1gz2AsAZQ_0[TM__6NbDwwj5FY059b1gz2AsAZQ_55+17].offset = TM__6NbDwwj5FY059b1gz2AsAZQ_55;
2113 TM__6NbDwwj5FY059b1gz2AsAZQ_0[TM__6NbDwwj5FY059b1gz2AsAZQ_55+17].name = TM__6NbDwwj5FY059b1gz2AsAZQ_54[TM__6NbDwwj5FY059b1gz2AsAZQ_55];
2114 TM__6NbDwwj5FY059b1gz2AsAZQ_53_7[TM__6NbDwwj5FY059b1gz2AsAZQ_55] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[TM__6NbDwwj5FY059b1gz2AsAZQ_55+17];
2115 }
2116 TM__6NbDwwj5FY059b1gz2AsAZQ_0[24].len = 7; TM__6NbDwwj5FY059b1gz2AsAZQ_0[24].kind = 2; TM__6NbDwwj5FY059b1gz2AsAZQ_0[24].sons = &TM__6NbDwwj5FY059b1gz2AsAZQ_53_7[0];
2117 NTIweekday__SVfemTA9aCOyua2TJYa6yBg_.node = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[24];
2118 TM__6NbDwwj5FY059b1gz2AsAZQ_0[16].kind = 1;
2119 TM__6NbDwwj5FY059b1gz2AsAZQ_0[16].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, weekday);
2120 TM__6NbDwwj5FY059b1gz2AsAZQ_0[16].typ = (&NTIweekday__SVfemTA9aCOyua2TJYa6yBg_);
2121 TM__6NbDwwj5FY059b1gz2AsAZQ_0[16].name = "weekday";
2122 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[8] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[25];
2123 NTIint__g9buja9c9aeh0rkDpqsXOJF9bA_.size = sizeof(NI);
2124 NTIint__g9buja9c9aeh0rkDpqsXOJF9bA_.align = NIM_ALIGNOF(NI);
2125 NTIint__g9buja9c9aeh0rkDpqsXOJF9bA_.kind = 31;
2126 NTIint__g9buja9c9aeh0rkDpqsXOJF9bA_.base = 0;
2127 NTIint__g9buja9c9aeh0rkDpqsXOJF9bA_.flags = 3;
2128 TM__6NbDwwj5FY059b1gz2AsAZQ_0[25].kind = 1;
2129 TM__6NbDwwj5FY059b1gz2AsAZQ_0[25].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, yearday);
2130 TM__6NbDwwj5FY059b1gz2AsAZQ_0[25].typ = (&NTIint__g9buja9c9aeh0rkDpqsXOJF9bA_);
2131 TM__6NbDwwj5FY059b1gz2AsAZQ_0[25].name = "yearday";
2132 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[9] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[26];
2133 TM__6NbDwwj5FY059b1gz2AsAZQ_0[26].kind = 1;
2134 TM__6NbDwwj5FY059b1gz2AsAZQ_0[26].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, isDst);
2135 TM__6NbDwwj5FY059b1gz2AsAZQ_0[26].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
2136 TM__6NbDwwj5FY059b1gz2AsAZQ_0[26].name = "isDst";
2137 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[10] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[27];
2138 TM__6NbDwwj5FY059b1gz2AsAZQ_0[27].kind = 1;
2139 TM__6NbDwwj5FY059b1gz2AsAZQ_0[27].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, timezone);
2140 TM__6NbDwwj5FY059b1gz2AsAZQ_0[27].typ = (&NTItimezone__9a5v4OQPlGqsA25ioN8hFYA_);
2141 TM__6NbDwwj5FY059b1gz2AsAZQ_0[27].name = "timezone";
2142 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[11] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[28];
2143 TM__6NbDwwj5FY059b1gz2AsAZQ_0[28].kind = 1;
2144 TM__6NbDwwj5FY059b1gz2AsAZQ_0[28].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, utcOffset);
2145 TM__6NbDwwj5FY059b1gz2AsAZQ_0[28].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
2146 TM__6NbDwwj5FY059b1gz2AsAZQ_0[28].name = "utcOffset";
2147 TM__6NbDwwj5FY059b1gz2AsAZQ_0[8].len = 12; TM__6NbDwwj5FY059b1gz2AsAZQ_0[8].kind = 2; TM__6NbDwwj5FY059b1gz2AsAZQ_0[8].sons = &TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[0];
2148 NTIdatetime__d9cK9cyKZPJJxFXUmx8dSpPw_.node = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[8];
2149 }
2150
2151