hyb
2026-01-30 44480e71b27aa9d4cb8441f50c873f1b110e9691
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
Ë
Ñ^iuàãó®—dZddlZddlmZmZddlmZddlmZmZm    Z    ddl
m Z ddl m Z ddl mZdd    lmZd
d lmZd
d lmZmZmZmZmZmZmZmZmZmZmZmZd Z gd¢Z!Gd„de"«Z#Gd„de$«Z%Gd„de&«Z'Gd„de'e(«Z)Gd„de'e*«Z+Gd„de'e,«Z-d„Z.Gd„de/«Z0Gd„de/«Z1Gd „d!e/«Z2Gd"„d#e«Z3d$„Z4y)%z¼
Customisable progressbar decorator for iterators.
Includes a default `range` iterator printing to `stderr`.
 
Usage:
>>> from tqdm import trange, tqdm
>>> for i in trange(10):
...     ...
éN)Ú OrderedDictÚ defaultdict)Úcontextmanager)ÚdatetimeÚ    timedeltaÚtimezone)ÚNumber)Útime)Úwarn)ÚWeakSeté)ÚTMonitor) ÚCallbackIOWrapperÚ
ComparableÚDisableOnWriteErrorÚ FormatReplaceÚSimpleTextIOWrapperÚ    _is_asciiÚ_screen_shape_wrapperÚ_supports_unicodeÚ _term_move_upÚdisp_lenÚ    disp_trimÚenvwrapz*https://github.com/tqdm/tqdm#contributions)ÚtqdmÚtrangeÚ TqdmTypeErrorÚ TqdmKeyErrorÚ TqdmWarningÚTqdmExperimentalWarningÚTqdmDeprecationWarningÚTqdmMonitorWarningcó —eZdZy)rN©Ú__name__Ú
__module__Ú __qualname__©óõ[H:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\tqdm/std.pyrr ó„Ør)rcó —eZdZy)rNr$r(r)r*rr$r+r)rcó$‡—eZdZdZdˆfd„    ZˆxZS)rzqbase class for all tqdm warnings.
 
    Used for non-external-code-breaking errors, such as garbled printing.
    có°•—|@|d|jjzdzt|«j«zdz«yt    ‰||g|¢­i|¤Žy)Nú
ú: )Ú    __class__r%ÚstrÚrstripÚsuperÚ__init__)ÚselfÚmsgÚfp_writeÚaÚkr1s     €r*r5zTqdmWarning.__init__-sRø€Ø Ð Ù T˜DŸN™N×3Ñ3Ñ3°dÑ:¼SÀ»X¿_¹_Ó=NÑNÐQUÑUÕ Vä ‰GÑ ˜SÐ * 1Ò *¨Ó *r)©N)r%r&r'Ú__doc__r5Ú __classcell__)r1s@r*rr(sø„ñ÷+ñ+r)rcó—eZdZdZy)r z(beta feature, unstable API and behaviourN©r%r&r'r<r(r)r*r r 4s„Ù2Ør)r có —eZdZy)r!Nr$r(r)r*r!r!9s„àr)r!có—eZdZdZy)r"z>tqdm monitor errors which do not affect external functionalityNr?r(r)r*r"r">s„ÙHØr)r"cóJ—    ddlm}||i|¤ŽS#ttf$rYywxYw)zthreading RLockr©ÚRLockN)Ú    threadingrDÚ ImportErrorÚOSError)ÚargsÚkwargsrDs   r*ÚTRLockrJCs1€ð Ý#ِdÐ%˜fÑ%Ð%øÜ œÐ !ò Ù ð ús ‚ "¡"có\—eZdZdZe«Zd„Zd„Zd„Zd„Z    d„Z
e d„«Z e d„«Z y    )
ÚTqdmDefaultWriteLockaš
    Provide a default write lock for thread and multiprocessing safety.
    Works only on platforms supporting `fork` (so Windows is excluded).
    You must initialise a `tqdm` or `TqdmDefaultWriteLock` instance
    before forking in order for the write lock to work.
    On Windows, you need to supply the lock from the parent to the children as
    an argument to joblib or the parallelism lib you use.
    có—t|«}|j}||j«|j«|j|jfDcgc]}|€Œ|‘Œ    c}|_||j «yycc}wr;)ÚtypeÚth_lockÚacquireÚcreate_mp_lockÚmp_lockÚlocksÚrelease)r6ÚclsÚ    root_lockÚlks    r*r5zTqdmDefaultWriteLock.__init__Zst€ô4‹jˆØ—K‘Kˆ    Ø Ð  Ø × Ñ Ô Ø ×ÑÔØ$'§K¡K°·±Ð#=ÖP˜RÀÁ’bÒPˆŒ
Ø Ð  Ø × Ñ Õ ð !ùòQs ÁA<ÁA<cóJ—|jD]}|j|i|¤ŽŒyr;)rSrP)r6r9r:Úlocks    r*rPzTqdmDefaultWriteLock.acquirefs(€Ø—J‘Jò    "ˆDØ ˆDL‰L˜!Ð !˜qÓ !ñ    "r)cóR—|jddd…D]}|j«Œy)Néÿÿÿÿ)rSrT)r6rYs  r*rTzTqdmDefaultWriteLock.releasejs'€Ø—J‘J™t ˜tÑ$ò    ˆDØ L‰LNñ    r)có$—|j«yr;)rP©r6s r*Ú    __enter__zTqdmDefaultWriteLock.__enter__nó €Ø  ‰ r)có$—|j«yr;)rT)r6Úexcs  r*Ú__exit__zTqdmDefaultWriteLock.__exit__qr_r)có|—t|d«s    ddlm}|«|_yy#tt
f$r
d|_YywxYw)NrRrrC)ÚhasattrÚmultiprocessingrDrRrFrG)rUrDs  r*rQz#TqdmDefaultWriteLock.create_mp_lockts?€äs˜IÔ&ð #Ý1Ù#›g• ð'øô ¤Ð)ò #Ø"– ð #ús Ž"¢;º;cóD—t|d«sJ‚tdtd¬«y)NrOz!create_th_lock not needed anymoreé©Ú
stacklevel)rdr r!©rUs r*Úcreate_th_lockz#TqdmDefaultWriteLock.create_th_lock}s!€äs˜IÔ&Ð&Ð&Ü Ð 0Ô2HÐUVÖWr)N)r%r&r'r<rJrOr5rPrTr^rbÚ classmethodrQrkr(r)r*rLrLLsS„ññ‹h€Gò
 ò"òòòðñ#óð#ðñXóñXr)rLc óėeZdZdZdZddj eeeddd«««zZ    dZ
d    Z d
Z d d d ddddddœZ de    dfd„Zed„«Zej"d„«Zd„Zy)ÚBara‘
    `str.format`-able bar with format specifiers: `[width][type]`
 
    - `width`
      + unspecified (default): use `self.default_len`
      + `int >= 0`: overrides `self.default_len`
      + `int < 0`: subtract from `self.default_len`
    - `type`
      + `a`: ascii (`charset=self.ASCII` override)
      + `u`: unicode (`charset=self.UTF` override)
      + `b`: blank (`charset="  "` override)
    z  123456789#ú Úi%i‡%r[z  zz[38;2;%d;%d;%dmzzzzzzzz)ÚBLACKÚREDÚGREENÚYELLOWÚBLUEÚMAGENTAÚCYANÚWHITEé
Ncó´—d|cxkrdks*ntdtd¬«tdtd|««}|dkDsJ‚||_||_||_||_y)Nrr zclamping frac to range [0, 1]rgrh)r rÚmaxÚminÚfracÚ default_lenÚcharsetÚcolour)r6r}r~rr€s     r*r5z Bar.__init__™sU€ØDŒ~˜AŒ~Ü Ð0´+È!Õ Lܐqœ#˜a ›,Ó'ˆDؘQŠÐˆØˆŒ    Ø&ˆÔ؈Œ ؈ r)có—|jSr;)Ú_colourr]s r*r€z
Bar.colour£s €à|‰|Ðr)c    óÌ—|sd|_y    |j«|jvr#|j|j«|_y|ddk(r?t|«dk(r1|jt d„|dd|dd|ddfD««z|_yt ‚#t tf$r<td|›d    d
j|j«›d td ¬ «d|_YywxYw)Nrú#éc3ó4K—|]}t|d«–—Œy­w)éN)Úint)Ú.0Úis  r*ú    <genexpr>zBar.colour.<locals>.<genexpr>°sèø€ò7NØ#$”C˜˜2—Jñ7Nùs‚r éézUnknown colour (z"); valid choices: [hex (#00ff00), ú, ú]rgrh) r‚ÚupperÚCOLOURSÚlenÚ
COLOUR_RGBÚtupleÚKeyErrorÚAttributeErrorr Újoinr)r6Úvalues  r*r€z
Bar.colour§sڀáØˆDŒLØ ð      Ø{‰{‹} § ¡ Ñ,Ø#Ÿ|™|¨E¯K©K«MÑ:• ؐq‘˜S’¤S¨£Z°1¢_Ø#Ÿ™´ñ7NØ).¨q°¨°U¸1¸Q°ZÀÀqÈÀÐ(Lô7Nó2Nñ N• ôøÜœ.Ð)ò     Ý Ú˜Ÿ    ™     $§,¡,Õ/ð1ä¨õ ,ð ˆDŽLð         úsŒ>BÁ ABÂBÂAC#Ã"C#cóR—|ro|dj«}    |j|j|jdœ|}|dd}|r t |«}|dkr5||jz }n%|j}n|j
}|j}t|«dz
}tt |j|z|z«|«\}}|d|z}||kr|||z|d||z
dz
zz}|jr|j|z|jzS|S#t$r|j
}YŒâwxYw)Nr[)r9ÚuÚbrr ) ÚlowerÚASCIIÚUTFÚBLANKr•rrˆr~r’Údivmodr}r€Ú COLOUR_RESET)    r6Ú format_specÚ_typerÚN_BARSÚnsymsÚ
bar_lengthÚfrac_bar_lengthÚress             r*Ú
__format__zBar.__format__ºs9€Ù Ø ‘O×)Ñ)Ó+ˆEð /Ø $§
¡
°·±ÀÇ
Á
ÑKÈEÑRð*¨#¨2Ð. Ùܘ[Ó)Ø˜A’:ؘd×.Ñ.Ñ.‘Fà×)Ñ)‘à—l‘lˆGØ×%Ñ%ˆFäG“ ˜qÑ ˆÜ&,¬S°·±¸VÑ1CÀeÑ1KÓ-LÈeÓ&TÑ#ˆ
Oàb‰k˜JÑ&ˆØ ˜Ò ؘ Ñ0Ñ0°7¸1±:ÀÈ*ÑATÐWXÑAXÑ3YÑYˆCØ8<¿ º ˆt{‰{˜SÑ  4×#4Ñ#4Ñ4ÐLÈÐLøô)ò 'ØŸ,™,’ð 'ús—'DÄD&Ä%D&)r%r&r'r<rr—ÚmapÚchrÚrangeržrŸr¡r“r‘r5Úpropertyr€Úsetterr©r(r)r*rnrnƒsš„ñ ð €EØ
—‘™#˜c¡5¨°¸Ó#<Ó=Ó>Ñ
>€CØ €EØ€LØ&€JØ"¨:À
Ø#¨ZÀJØ!¨Jñ8€Gð*,°SÀóðñóðð ‡]]ñ óð ó$Mr)rncó —eZdZdZdd„Zdd„Zy)ÚEMAa[
    Exponential moving average: smoothing to give progressively lower
    weights to older values.
 
    Parameters
    ----------
    smoothing  : float, optional
        Smoothing factor in range [0, 1], [default: 0.3].
        Increase to give more weight to recent values.
        Ranges from 0 (yields old value) to 1 (yields new value).
    có.—||_d|_d|_y)Nr©ÚalphaÚlastÚcalls)r6Ú    smoothings  r*r5z EMA.__init__âs€ØˆŒ
؈Œ    Øˆ
r)Ncó—d|jz
}|9|j|z||jzz|_|xjdz c_|jr|jd||jzz
z S|jS)zk
        Parameters
        ----------
        x  : float
            New value to include in EMA.
        r r²)r6ÚxÚbetas   r*Ú__call__z EMA.__call__çsl€ð4—:‘:‰~ˆØ ˆ=ØŸ
™
 Q™¨°·    ±    Ñ)9Ñ9ˆDŒIØ JŠJ˜!‰OJØ7;·z²zˆty‰y˜A ¨¯
©
Ñ 2Ñ2Ñ3ÐPÀtÇyÁyÐPr))ç333333Ó?r;)r%r&r'r<r5rºr(r)r*r°r°Ös„ñ
óô
Qr)r°c
ó—eZdZdZdZdZe«Zed/d„«Z    ed„«Z
ed„«Z ed„«Z e            d0d„«Z d    „Zed1d
„«Zed „«Zed2d „«Zeed3d „««Zed„«Zed„«Zed„«Zeddeeeeedœ¬«                        d4d„«Zd„Zd„Zd„Zd„Zd„Z d„Z!d„Z"d„Z#e$d„«Z%d„Z&d „Z'd5d!„Z(d"„Z)d6d#„Z*d7d$„Z+d%„Z,d1d&„Z-d8d'„Z.d8d(„Z/d8d)„Z0d9d*„Z1d+„Z2e$d,„«Z3d:d-„Z4eed8d.„««Z5y);rad
    Decorate an iterable object, returning an iterator which acts exactly
    like the original iterable, but prints a dynamically updating
    progressbar every time a value is requested.
 
    Parameters
    ----------
    iterable  : iterable, optional
        Iterable to decorate with a progressbar.
        Leave blank to manually manage the updates.
    desc  : str, optional
        Prefix for the progressbar.
    total  : int or float, optional
        The number of expected iterations. If unspecified,
        len(iterable) is used if possible. If float("inf") or as a last
        resort, only basic progress statistics are displayed
        (no ETA, no progressbar).
        If `gui` is True and this parameter needs subsequent updating,
        specify an initial arbitrary large positive number,
        e.g. 9e9.
    leave  : bool, optional
        If [default: True], keeps all traces of the progressbar
        upon termination of iteration.
        If `None`, will leave only if `position` is `0`.
    file  : `io.TextIOWrapper` or `io.StringIO`, optional
        Specifies where to output the progress messages
        (default: sys.stderr). Uses `file.write(str)` and `file.flush()`
        methods.  For encoding, see `write_bytes`.
    ncols  : int, optional
        The width of the entire output message. If specified,
        dynamically resizes the progressbar to stay within this bound.
        If unspecified, attempts to use environment width. The
        fallback is a meter width of 10 and no limit for the counter and
        statistics. If 0, will not print any meter (only stats).
    mininterval  : float, optional
        Minimum progress display update interval [default: 0.1] seconds.
    maxinterval  : float, optional
        Maximum progress display update interval [default: 10] seconds.
        Automatically adjusts `miniters` to correspond to `mininterval`
        after long display update lag. Only works if `dynamic_miniters`
        or monitor thread is enabled.
    miniters  : int or float, optional
        Minimum progress display update interval, in iterations.
        If 0 and `dynamic_miniters`, will automatically adjust to equal
        `mininterval` (more CPU efficient, good for tight loops).
        If > 0, will skip display of specified number of iterations.
        Tweak this and `mininterval` to get very efficient loops.
        If your progress is erratic with both fast and slow iterations
        (network, skipping items, etc) you should set miniters=1.
    ascii  : bool or str, optional
        If unspecified or False, use unicode (smooth blocks) to fill
        the meter. The fallback is to use ASCII characters " 123456789#".
    disable  : bool, optional
        Whether to disable the entire progressbar wrapper
        [default: False]. If set to None, disable on non-TTY.
    unit  : str, optional
        String that will be used to define the unit of each iteration
        [default: it].
    unit_scale  : bool or int or float, optional
        If 1 or True, the number of iterations will be reduced/scaled
        automatically and a metric prefix following the
        International System of Units standard will be added
        (kilo, mega, etc.) [default: False]. If any other non-zero
        number, will scale `total` and `n`.
    dynamic_ncols  : bool, optional
        If set, constantly alters `ncols` and `nrows` to the
        environment (allowing for window resizes) [default: False].
    smoothing  : float, optional
        Exponential moving average smoothing factor for speed estimates
        (ignored in GUI mode). Ranges from 0 (average speed) to 1
        (current/instantaneous speed) [default: 0.3].
    bar_format  : str, optional
        Specify a custom bar string formatting. May impact performance.
        [default: '{l_bar}{bar}{r_bar}'], where
        l_bar='{desc}: {percentage:3.0f}%|' and
        r_bar='| {n_fmt}/{total_fmt} [{elapsed}<{remaining}, '
            '{rate_fmt}{postfix}]'
        Possible vars: l_bar, bar, r_bar, n, n_fmt, total, total_fmt,
            percentage, elapsed, elapsed_s, ncols, nrows, desc, unit,
            rate, rate_fmt, rate_noinv, rate_noinv_fmt,
            rate_inv, rate_inv_fmt, postfix, unit_divisor,
            remaining, remaining_s, eta.
        Note that a trailing ": " is automatically removed after {desc}
        if the latter is empty.
    initial  : int or float, optional
        The initial counter value. Useful when restarting a progress
        bar [default: 0]. If using float, consider specifying `{n:.3f}`
        or similar in `bar_format`, or specifying `unit_scale`.
    position  : int, optional
        Specify the line offset to print this bar (starting from 0)
        Automatic if unspecified.
        Useful to manage multiple bars at once (eg, from threads).
    postfix  : dict or *, optional
        Specify additional stats to display at the end of the bar.
        Calls `set_postfix(**postfix)` if possible (dict).
    unit_divisor  : float, optional
        [default: 1000], ignored unless `unit_scale` is True.
    write_bytes  : bool, optional
        Whether to write bytes. If (default: False) will write unicode.
    lock_args  : tuple, optional
        Passed to `refresh` for intermediate output
        (initialisation, iterating, and updating).
    nrows  : int, optional
        The screen height. If specified, hides nested bars outside this
        bound. If unspecified, attempts to use environment height.
        The fallback is 20.
    colour  : str, optional
        Bar colour (e.g. 'green', '#00ff00').
    delay  : float, optional
        Don't display until [default: 0] seconds have elapsed.
    gui  : bool, optional
        WARNING: internal parameter - do not use.
        Use tqdm.gui.tqdm(...) instead. If set, will attempt to use
        matplotlib animations for a graphical output [default: False].
 
    Returns
    -------
    out  : decorated iterator.
    ryNcóÀ—dD]R}t|«dkr=t|«dkr$t|«dkr |d›|›|›cS|d›|›|›cS|d›|›|›cS||z}ŒT|d›d    |›S)
a×
        Formats a number (greater than unity) with SI Order of Magnitude
        prefixes.
 
        Parameters
        ----------
        num  : float
            Number ( >= 1) to format.
        suffix  : str, optional
            Post-postfix [default: ''].
        divisor  : float, optional
            Divisor between prefixes [default: 1000].
 
        Returns
        -------
        out  : str
            Number with Order of Magnitude SI unit postfix.
        )rpr:ÚMÚGÚTÚPÚEÚZg<@gÍÌÌÌÌüX@g=
×£pý#@z1.2fz2.1fú3.0fz3.1fÚY)Úabs)ÚnumÚsuffixÚdivisorÚunits    r*Ú format_sizeofztqdm.format_sizeofrs”€ð(<ò    ˆDܐ3‹x˜%Òܐs“8˜eÒ#ܘ3“x %Ò'Ø"% d ¨D¨6°&°Ð:Ò:Ø! $˜Z¨ v¨f¨XÐ6Ò6ؘd˜ D 6¨&¨Ð2Ò2Ø 7‰N‰Cð    ðd˜1˜V˜HÐ%Ð%r)có€—tt|«d«\}}t|d«\}}|r |d›d|d›d|d›S|d›d|d›S)zé
        Formats a number of seconds as a clock time, [H:]MM:SS
 
        Parameters
        ----------
        t  : int
            Number of seconds.
 
        Returns
        -------
        out  : str
            [H:]MM:SS
        é<Údú:Ú02d)r rˆ)ÚtÚminsÚsÚhÚms     r*Úformat_intervalztqdm.format_intervals[€ôœ˜Q› Ó$‰ˆˆaܐd˜BÓ‰ˆˆ1Ù+,!Aa˜˜#w˜a  #˜wÐ'ÐD°Q°s°G¸1¸Q¸s¸GÐ2DÐDr)có–—|d›jdd«jdd«}t|«}t|«t|«kr|S|S)zì
        Intelligent scientific notation (.3g).
 
        Parameters
        ----------
        n  : int or float or Numeric
            A Number.
 
        Returns
        -------
        out  : str
            Formatted number.
        z.3gze+0ze+ze-0ze-)Úreplacer2r’)ÚnÚfs  r*Ú
format_numztqdm.format_num£sI€ðˆg× Ñ ˜u dÓ +× 3Ñ 3°E¸4Ó @ˆÜ ‹FˆÜ˜“FœS ›V’OˆqÐ*¨Ð*r)c󇇇‡—|Št‰dd„«Š‰tjtjfvrBttjdd„««ttjdd„««ˆˆfd„ŠdgŠˆˆfd„}|S)zã
        Manage the printing and in-place updating of a line of characters.
        Note that if the string is longer than a line, then in-place
        updating may not work (it will print a new line at each refresh).
        Úflushcó—yr;r(r(r)r*ú<lambda>z%tqdm.status_printer.<locals>.<lambda>¾ór)có—yr;r(r(r)r*rßz%tqdm.status_printer.<locals>.<lambda>Àràr)có—yr;r(r(r)r*rßz%tqdm.status_printer.<locals>.<lambda>Áràr)cóH•—‰jt|««‰«yr;)Úwriter2)rÓÚfpÚfp_flushs €€r*r8z%tqdm.status_printer.<locals>.fp_writeÃsø€Ø H‰H”S˜“VÔ Ù Jr)rcóh•—t|«}‰d|zdt‰d|z
d«zz«|‰d<y)Nú ror)rr{)rÓÚlen_sr8Úlast_lens  €€r*Ú print_statusz)tqdm.status_printer.<locals>.print_statusÉs;ø€Ü˜Q“KˆEÙ T˜A‘X ¤s¨8°A©;¸Ñ+>ÀÓ'BÑ!BÑCÔ D؈HQŠKr))ÚgetattrÚsysÚstderrÚstdout)Úfilerërårær8rês  @@@@r*Ústatus_printerztqdm.status_printer¶srû€ðˆÜ˜2˜w© Ó5ˆØ ”#—*‘*œcŸj™jÐ)Ñ )Ø 6ŒG”C—J‘J ©Ó 6Ô 8Ø 6ŒG”C—J‘J ©Ó 6Ô 8õ    ð3ˆõ     ð
Ðr)c ó´—|r
||dzk\rd}|r|dvr|r||z}||z}|r||z}d}tj|«}|€
|r|| z
|z }|rd|z nd}tj}|r|r||«n|d›nd|zdz}|r|r||«n|d›ndd    z|z}|r|dkDr|n|}|r||| ¬
«}|
||| ¬
«nd}nt|«}| t|«nd}    |
rd |
znd }
|r
|r||z
|z nd }|rtj|«nd}    |r#|r!t j «t|¬«zn#t jd tj«}|r|dddk(}|r|n|dz}nd }d|›d|›d|›d|›d |›|
›d }id|“d|“d|“d|“d|“d|“d|“d|xsd “d|“d|r|dkDr|n|“d |“d!|“d"|“d#|“d$|“d%|
“d&| “| |||||d'œ¥|¥}|r*||z }|d(z}||d)›d*z }|d k(r |dd+|ddzS|j|¬,«|    r'|j|¬-«|s|    jd.d «}    nd/}    t«} |    j d6d0| i|¤Ž}!| j"s|!St%||rtd|t'|!«z
«nd1|d2urt$j(n|xst$j*| ¬3«} t-| j.«st-|    «r t|    «}    |    j d6d0| i|¤Ž}"|r t1|"|«S|"S|    rŸ|d4z }|j|d ¬5«t«} |    j d6d0| i|¤Ž}!| j"s|!St%d |rtd|t'|!«z
«nd1t$j2| ¬3«} |    j d6d0| i|¤Ž}"|r t1|"|«S|"S|r|dznd ›|›|›d|›d |›|
›d    S#t$rYŒÚwxYw#t$rt
j}YŒ‰wxYw)7aÆ
        Return a string-based progress bar given some parameters
 
        Parameters
        ----------
        n  : int or float
            Number of finished iterations.
        total  : int or float
            The expected total number of iterations. If meaningless (None),
            only basic progress statistics are displayed (no ETA).
        elapsed  : float
            Number of seconds passed since start.
        ncols  : int, optional
            The width of the entire output message. If specified,
            dynamically resizes `{bar}` to stay within this bound
            [default: None]. If `0`, will not print any bar (only stats).
            The fallback is `{bar:10}`.
        prefix  : str, optional
            Prefix message (included in total width) [default: ''].
            Use as {desc} in bar_format string.
        ascii  : bool, optional or str, optional
            If not set, use unicode (smooth blocks) to fill the meter
            [default: False]. The fallback is to use ASCII characters
            " 123456789#".
        unit  : str, optional
            The iteration unit [default: 'it'].
        unit_scale  : bool or int or float, optional
            If 1 or True, the number of iterations will be printed with an
            appropriate SI metric prefix (k = 10^3, M = 10^6, etc.)
            [default: False]. If any other non-zero number, will scale
            `total` and `n`.
        rate  : float, optional
            Manual override for iteration rate.
            If [default: None], uses n/elapsed.
        bar_format  : str, optional
            Specify a custom bar string formatting. May impact performance.
            [default: '{l_bar}{bar}{r_bar}'], where
            l_bar='{desc}: {percentage:3.0f}%|' and
            r_bar='| {n_fmt}/{total_fmt} [{elapsed}<{remaining}, '
              '{rate_fmt}{postfix}]'
            Possible vars: l_bar, bar, r_bar, n, n_fmt, total, total_fmt,
              percentage, elapsed, elapsed_s, ncols, nrows, desc, unit,
              rate, rate_fmt, rate_noinv, rate_noinv_fmt,
              rate_inv, rate_inv_fmt, postfix, unit_divisor,
              remaining, remaining_s, eta.
            Note that a trailing ": " is automatically removed after {desc}
            if the latter is empty.
        postfix  : *, optional
            Similar to `prefix`, but placed at the end
            (e.g. for additional stats).
            Note: postfix is usually a string (not a dict) for this method,
            and will if possible be set to postfix = ', ' + postfix.
            However other types are supported (#382).
        unit_divisor  : float, optional
            [default: 1000], ignored unless `unit_scale` is True.
        initial  : int or float, optional
            The initial counter value [default: 0].
        colour  : str, optional
            Bar colour (e.g. 'green', '#00ff00').
 
        Returns
        -------
        out  : Formatted meter and stats, ready to display.
        gà?N)Tr Fr z5.2fú?z/szs/)rÉrŽrpr)Úsecondséþÿÿÿr0z| ú/z [ú<rrÙÚn_fmtÚtotalÚ    total_fmtÚelapsedÚ    elapsed_sÚncolsÚdescrÊÚrateÚrate_fmtÚ
rate_noinvÚrate_noinv_fmtÚrate_invÚ rate_inv_fmtÚpostfixÚ unit_divisor)r€Ú    remainingÚ remaining_sÚl_barÚr_barÚetaédrÄz%|r[)r    )Ú
percentagez{desc}: z{l_bar}{bar}{r_bar}ÚbarryT)rr€ú|)r    r r()rrÖrËr2Ú    TypeErrorrÚnowrÚ fromtimestamprÚutcÚ OverflowErrorr{ÚupdaterØrÚformatÚ format_calledrnrrržrrrrŸ)#rÙrùrûrýÚprefixÚasciirÊÚ
unit_scalerÿÚ
bar_formatrrÚinitialr€Ú extra_kwargsÚ elapsed_strÚinv_raterËrrrrørúrÚ remaining_strÚeta_dtÚbool_prefix_colon_alreadyr    r
Ú format_dictr}r Úfull_barÚnobarr¨s#                                   r*Ú format_meterztqdm.format_meterÐsD€ñL Q˜5 3™;Ò'؈Eñ ˜*¨IÑ5ÙØ˜Ñ#Ø ‰OˆAÙØ˜
Ñ"ØˆJä×*Ñ*¨7Ó3ˆ ð ˆ<™Gؘ‘K 7Ñ*ˆDÙ#1t’8¨ˆÜ×*Ñ*ˆ á!ñ3=™=¨Ô.ÀTÈ$ÁKØ'*¨dñ3Ø59ñ:ˆññ)3‰]˜8Ô $¸8ÀD¹/Ø  Dñ)à+/ñ0ˆ ñ$,°¸1² ‘<À.ˆá Ù! !¨\Ô:ˆEØFKÐFW™  e°\ÕBÐ]`‰I䘓FˆEØ&+Ð&7œ˜Eœ
¸SˆIð    Ù(/d˜W’n°RˆGñ+/±5U˜Q‘Y $Ò&¸aˆ    Ù;?œ×,Ñ,¨YÔ7ÀSˆ ð    "á¡%ô—l‘l“n¤y¸Ô'CÒCÜ-5×-CÑ-CÀAÄxÇ|Á|Ó-Tð ñ à)/°°¨¸Ñ)<Ð %Ù7‘F¸VÀd¹]‰EàˆEàUG˜1˜Y˜K r¨+¨°a¸ °ÀbÈÈ
ÐSZÐR[Ð[\Ð]ˆðà ðà˜Uðà$+¨Uðà4?Àðð {ðð%0°ðð Uð    ð# F¢L¨bð    ð39¸$ð    ð
¡¨X¸ª\‘H¸tð ð ˜ð ð #/°ð ð ˜nðð/9¸(ðð ˜Lðð wðð!/° ððà&°yØ U°6òððˆ ò" àu‘9ˆDØ ™ˆJà ˜
 4Ð(¨Ð+Ñ +ˆEà˜ŠzؘS˜bz E¨!¨" IÑ-Ð-à × Ñ  UÐ Ô +ÙØ×"Ñ"¨jÐ"Ô9ñØ!+×!3Ñ!3°JÀÓ!C‘Jà2
ä$“ˆHØ%J×%Ñ%ÑB¨(ÐB°kÑBˆEØ×)Ò)ؐ ô˜4Ù>Cœ3˜q %¬(°5«/Ñ"9Ô:ÈØ05¸± ¤3§9¢9À5ÒCSÌCÏGÉGØ"(ô*ˆHô˜X×-Ñ-Ô.´9¸ZÔ3HÜ  ›_
Ø#*×#Ñ#Ñ@¨Ð@°KÑ@ˆCÙ,1”9˜S %Ó(Ð :°sÐ :á à S‰LˆEØ × Ñ  U°qÐ Ô 9Ü$“ˆHØ%J×%Ñ%ÑB¨(ÐB°kÑBˆEØ×)Ò)ؐ ܘ1Ù>Cœ3˜q %¬(°5«/Ñ"9Ô:ÈÜ#&§9¡9°Vô=ˆHð$*×#Ñ#Ñ@¨Ð@°KÑ@ˆCÙ,1”9˜S %Ó(Ð :°sÐ :ñ+1˜ š °bÐ9ؐg˜d˜V 2 k ]°"°X°J¸w¸iÀqðJð Køôuò    Ú ð    ûôò    "Ü—\‘\‹Fð    "ús%à   N*ÄA    N:Î*    N7Î6N7Î:OÏOcóÄ—tj|«}|j«5|jj    |«|j
rB|j |j j«s    t||j
«|_ddd«|S#t$r/}tdt|«ztd¬«d|_Yd}~Œ=d}~wwxYw#1swY|SxYw)Nz>tqdm:disabling monitor support (monitor_interval = 0) due to:
rgrhr) ÚobjectÚ__new__Úget_lockÚ
_instancesÚaddÚmonitor_intervalÚmonitorÚreportrÚ    Exceptionr r2r")rUÚ_Ú__ÚinstanceÚes     r*r)z tqdm.__new__—s€Ü—>‘> #Ó&ˆØ \‰\‹^ñ     -Ø N‰N× Ñ ˜xÔ (à×#Ò#¨¯©Ð)<Ø03· ± ×0BÑ0BÔ0Dð-Ü"*¨3°×0DÑ0DÓ"EC”K÷     -ðˆøô !ò-Üð=Ü?BÀ1»vñFä+¸õ;ð,-C×(Ñ(ûð    -ú÷     -ðˆús0¦ACÁ5B    CÂ#%C ÃCà CÃCÃCc    óô—|jDchc]'}||ur!t|d«rt|j«’Œ)}}t    t t t|«dz««j|««Scc}w)zSkips specified instance.Úposr )    r+rdrÆr6r|Úsetr¬r’Ú
difference)rUr3ÚinstÚ    positionss    r*Ú _get_free_posztqdm._get_free_pos§so€ð03¯~©~öG tØ HÑ,´¸¸uÔ1Eô˜Ÿ™•]ðGˆ    ðGä”3”uœS ›^¨aÑ/Ó0Ó1×<Ñ<¸YÓGÓHÐHùòGs,A5c󘇗|j5    |jj|«|jsq|j
xsddz
Št tˆfd„|j««}|r:t|d„¬«}|jd¬«t|j«|_ ddd«y#t$rYŒ‘wxYw#1swYyxYw)    a5
        Remove from list and reposition another unfixed bar
        to fill the new gap.
 
        This means that by default (where all nested bars are unfixed),
        order is not maintained but screen flicker/blank space is minimised.
        (tqdm<=4.44.1 moved ALL subsequent unfixed bars up.)
        ér có>•—t|d«xr‰|jkS)Nr6)rdr6)rŠr´s €r*rßz&tqdm._decr_instances.<locals>.<lambda>Äsø€œg a¨Ó/ÒA°D¸A¿E¹E±M€r)có—|jSr;©r6)rŠs r*rßz&tqdm._decr_instances.<locals>.<lambda>Ès
€¸¿¹€r))ÚkeyT©ÚnolockN) Ú_lockr+Úremover•ÚguiÚnrowsÚlistÚfilterr|ÚclearrÆr6)rUr3Ú    instancesr9r´s    @r*Ú_decr_instancesztqdm._decr_instances®s¹ø€ðY‰Yñ    1ð Ø—‘×%Ñ% hÔ/ð —<’<Ø Ÿ™Ò,¨"°Ñ1ä ¤ÛAØ—N‘Nó"$ó%    ñܘy©oÔ>DØ—J‘J dJÔ+Ü" 8§<¡<Ó0D”H÷%    1ð    1øôò ñð ú÷    1ð    1ús.ŽCB1«A=CÂ1    B=Â:CÂ<B=Â=CÃC    cóÀ—||ntj}|j||¬«5|j|«|j|«ddd«y#1swYyxYw)z5Print a message via tqdm (without overlap with bars).N)rðrC)rírïÚexternal_write_moderä)rUrÓrðÚendrCrås      r*räz
tqdm.writeÌsR€ðÐ%‰T¬3¯:©:ˆØ × $Ñ $¨$°vÐ $Ó >ñ    à H‰HQŒKØ H‰HSŒM÷    ÷    ñ    ús ¨#AÁAc#óK—||ntj}    |s|j«j«g}t    |dg«D]`}t |d«sŒ|j |k(std„||j fD««sŒ>|jd¬«|j|«Œbd–—|D]}|jd¬«Œ    |s|jj«yy#|s|jj«wwxYw­w)z€
        Disable tqdm within context and refresh tqdm when exits.
        Useful when writing to standard output stream
        Nr+Ústart_tc3ó`K—|]&}|tjtjfv–—Œ(y­wr;)rírïrî)r‰rÚs  r*r‹z+tqdm.external_write_mode.<locals>.<genexpr>çs+èø€òFNØ:;˜œcŸj™j¬#¯*©*Ð5Ô5ñFNùs‚,.TrB) rírïr*rPrìrdråÚallrJÚappendÚrefreshrDrT)rUrðrCråÚ inst_clearedr9s      r*rNztqdm.external_write_modeÕs÷èø€ðÐ%‰T¬3¯:©:ˆð    $ÙØ— ‘ “×&Ñ&Ô(àˆLÜ  \°2Ó6ò .ô˜4 Õ+°·±¸B²Ä#ñFNØ@BÀDÇGÁG¸}ôFNõCNà—J‘J dJÔ+Ø ×'Ñ'¨Õ-ð .ó à$ò *Ø— ‘  D Õ)ñ *ñØ—    ‘    ×!Ñ!Õ#ðø‘6Ø—    ‘    ×!Ñ!Õ#ðüs)‚D˜>C&Á-C&ÂAC&ÃDÃ&DÄDcó—||_y)zSet the global lock.N)rD)rUrYs  r*Úset_lockz tqdm.set_lockós €ðˆ    r)cóP—t|d«st«|_|jS)z7Get the global lock. Construct it if it does not exist.rD)rdrLrDrjs r*r*z tqdm.get_lockøs"€ôs˜GÔ$Ü,Ó.ˆCŒI؏y‰yÐr)c 󘇇‡ ‡‡—ddlm}m}ddlm}ddlmŠ     |«5|dt¬«ddlm    }ddd«d    \}}    dd
l m Š    dd lm}ddlm}        ddlm}
    ddlm} ‰j1«Š‰j3dd«gŠdˆ ˆˆˆˆfd„    } | «‰ _| «|_| d«‰ _| d«|_| «|_| «|    _| d«|_| d«|_| d«|    _ | «|_|  | «| _| «|
_| d«|
_| d«|
_||| «|_| «|_y‰ | «‰_yy#1swYŒ>xYw#t$rd}YŒOwxYw#t$r>    dd
l m Šn2#t$r&    dd lm}dd l m}||fŠn#t$rdŠYnwxYwYnwxYwYŒwxYw#t$r%    ddlm}    m}n#t$r ddlm}    m}YnwxYwYŒ±wxYw#t$r
ddlm}
YŒÀwxYw#t$r    ddlm} n#t$rd} YnwxYwYŒâwxYw)ae
        Registers the current `tqdm` class with
            pandas.core.
            ( frame.DataFrame
            | series.Series
            | groupby.(generic.)DataFrameGroupBy
            | groupby.(generic.)SeriesGroupBy
            ).progress_apply
 
        A new instance will be created every time `progress_apply` is called,
        and each instance will automatically `close()` upon completion.
 
        Parameters
        ----------
        tqdm_kwargs  : arguments for the tqdm instance
 
        Examples
        --------
        >>> import pandas as pd
        >>> import numpy as np
        >>> from tqdm import tqdm
        >>> from tqdm.gui import tqdm as tqdm_gui
        >>>
        >>> df = pd.DataFrame(np.random.randint(0, 100, (100000, 6)))
        >>> tqdm.pandas(ncols=50)  # can use tqdm_gui, optional kwargs, etc
        >>> # Now you can use `progress_apply` instead of `apply`
        >>> df.groupby(0).progress_apply(lambda x: x**2)
 
        References
        ----------
        <https://stackoverflow.com/questions/18603270/        progress-indicator-during-pandas-operations-python>
        r)Úcatch_warningsÚ simplefilter)Ú    DataFrame)ÚSeriesÚignore)Úcategory)ÚPanelN©NN)Ú_Rolling_and_Expanding)Ú    Expanding)ÚRolling)Ú SeriesGroupBy)ÚDataFrameGroupBy)rgrf)ÚGroupBy)Ú PanelGroupByÚ deprecated_tc󕇗ˆˆˆˆˆˆfd„}|S)Nc󿕇‡—‰jdt|dd««}|€u‰ dk(r |j}nct|‰    «r t    |«}nK‰
 t|‰
«s=|j dd«}|dk(rd}n|dk(rd    }|j|j |z}‰ d ‰ dŠd‰ d<n
‰ dd|i‰¤ŽŠt    |«dkDr:td
t‰jd tjj«¬ «    dd l m }    |‰«Šˆˆfd„}    t|‰ «|fi|¤Ž‰j#«S#t$r|j}YŒJwxYw#t $rYŒPwxYw#‰j#«wxYw)aT
                Parameters
                ----------
                df  : (DataFrame|Series)[GroupBy]
                    Data (may be grouped).
                func  : function
                    To be applied on the (grouped) data.
                **kwargs  : optional
                    Transmitted to `df.apply()`.
                rùÚngroupsNÚapplymapÚaxisrÚindexÚcolumnsr zŒExcept func, normal arguments are intentionally not supported by `(DataFrame|Series|GroupBy).progress_apply`. Use keyword arguments instead.rä©r8)Úis_builtin_funcc󆕗‰j‰jr‰j‰jkrdnd¬«‰|i|¤ŽS)Nr r)rÙ)rrùrÙ)rHrIÚfuncrÑs  €€r*ÚwrapperzDtqdm.pandas.<locals>.inner_generator.<locals>.inner.<locals>.wrapperŠs9ø€ð
—H‘H¨¯ª°1·3±3¸¿¹²=™qÀaHÔHÙ Ð0¨Ñ0Ð0r)r()ÚpoprìÚsizeÚ
isinstancer’ÚgetÚshaper!rårírîräÚpandas.core.commonrsrFÚ_is_builtin_funcrÚclose)ÚdfrurHrIrùrorsrvrÑr^rcrUrjÚ df_functionÚ tqdm_kwargss `      @€€€€€€r*Úinnerz3tqdm.pandas.<locals>.inner_generator.<locals>.innerRswú€ð$Ÿ™¨´¸¸YÈÓ1MÓNØ=Ø" jÒ0Ø "§¡™Ü# B¨Ô/Ü # B£™Ø0Ð8Ü(¨Ð-CÔDà%Ÿz™z¨&°!Ó4˜Ø 7š?Ø#$™DØ! YÒ.Ø#$˜Dà "§¡¨2¯8©8°D©>Ñ 9˜ð  ‘?Ð.Ø$ Q™AØ&*L ’OáÑ7 %Ð7¨;Ñ7Aät“9˜q’=ä*ð:ô")¨¯©¨w¼¿
¹
×8HÑ8HÓ!Iõ Kð:ÝBðÙ*¨4Ó0Dõ
1ðØ3œ7 2 {Ó3°GÑF¸vÑFà—G‘G•Iøô+#ò:Ø&(×&9Ñ&9’Oð:ûô!òÙðûð"—G‘G•Iús0Ã;D4ÄEÄEÄ4E Å E Å    EÅEÅE0r()r€r‚r^rcrUrjrs` €€€€€r*Úinner_generatorz$tqdm.pandas.<locals>.inner_generatorQsù€÷E ñE ðNˆLr)rªrnÚ    aggregateÚ    transform)Úapply)Úwarningsr[r\Úpandas.core.framer]Úpandas.core.seriesr^Ú FutureWarningÚpandasrarFÚpandas.core.window.rollingrcÚpandas.core.windowÚpandas.core.window.expandingrdreÚpandas.core.groupby.genericrfrgÚpandas.core.groupby.groupbyÚpandas.core.groupbyrhriÚcopyrwÚprogress_applyÚ progress_mapÚprogress_applymapÚprogress_aggregateÚprogress_transform)rUrr[r\r]rarerdrfrgrhrirƒr^rcrjs``           @@@r*r‹z tqdm.pandasÿskü€÷F    :å/Ý-ð    ÙÓ!ñ )Ù˜X´ Õ>Ý(÷ )ð
(шð     2Ý Ið    PÝ AÝ Dð     4Ý ;ð    $Ý @ð"×&Ñ&Ó(ˆ Ø#Ÿ™¨¸Ó=Ð>ˆ ÷H    ñH    ñX!0Ó 1ˆÔÙ'6Ó'8ˆ Ô$Ù-¨eÓ4ˆÔÙ%4°UÓ%;ˆ Ô"á#2Ó#4ˆ    Ô Ù*9Ó*;ÐÔ'Ù&5°jÓ&Aˆ    Ô#Ù!0°Ó!7ˆ    ÔÙ(7¸Ó(>ÐÔ%à Ð Ù#2Ó#4ˆEÔ  Ø Ð #Ù*9Ó*;ˆLÔ 'á!0Ó!2ˆÔÙ%4°[Ó%AˆÔ"Ù%4°[Ó%AˆÔ"à Ð  9Ð#8Ù%4Ó%6ˆGÔ "Ù'6Ó'8ˆIÕ $Ø #Ð /Ù4CÓ4EÐ "Õ 1ð0÷[ )ñ )ûôò    Ø‹Eð    ûô
ò        2ð 2ÞEøÜò 2ð2ÝFÝBØ-4°iÐ-?Ñ*øÜ"ò2Ø-1Ò*ð2üð  2ýð        2ûôò    Pð PßWÐWøÜò PßOÑOð Pýð    Pûôò    4ß 3Ð 3ð    4ûô
ò    $ð $Þ<øÜò $Ø#’ ð $ýð    $úsÿ›F¢E3·FÁFÁ GÁH Á H#Å3E=Å8FÆ FÆFÆ    GÆF#Æ"GÆ#    GÆ-F>Æ=GÆ> G Ç    GÇ G Ç GÇGÇGÇGÇGÇ    H
Ç&G/Ç.H
Ç/HÈH
ÈHÈH
È    H
È H ÈH È#    I    È-H4È3I    È4 IÈ?I    ÉIÉI    ÉI    ÚTQDM_T)rùrýÚminitersÚpositionrG)Ú    is_methodÚtypesc óJ—|€tj}|rt|t|dd«xsd¬«}t    ||¬«}| €t |d«r|j «sd} |€|     t|«}|td«k(rd}| rj||_ | |_ |j5|j|«|_|j j#|«ddd«||_||_||_y|r˜d|_ |j5|j|«|_|j j#|«ddd«d    |vr0t+d
t|d tjj,«¬ «‚t/d t1|«z«‚||€"|tjtj2fvs|r9|rt5«}|r+||«\}}nt5«}|r||«\}}|€|}|€|}|    €d}    d}nd}|€d}|€d}|
€ t7|« }
|r|
durt9|
«s t1|«}|€d}||_ |xsd|_||_||_||_||_||_ ||_!||_"|    |_#||_$|
|_%| |_ | |_&| |_'||_(||_)||_*||_+||_,||_-||_.t_|«|_0t_|«|_1t_|«|_2||_3d|_4||_5tl|_7|r    |jpdddi|¤Ž||_9||_|j5|€|j|«n| |_ddd«|sA|ju|j<«|_;|dkr|jy|jT¬«|jo«|_=|jz|_>y#ttf$rd}YŒwwxYw#1swYŒxYw#1swYŒÇxYw#t$r
||_4YŒìwxYw#1swYŒ»xYw)zsee tqdm.tqdm for argumentsNÚencodingzutf-8)rž)Ú tqdm_instanceÚisattyTÚinfÚnestedzQ`nested` is deprecated and automated.
Use `position` instead for manual control.
rärrzUnknown argument(s): rFrprU©Ú    lock_argsr()?rírîrrìrrdr r’rr–ÚfloatÚiterableÚdisablerDr;r6r+rErÙrùÚleaver!rärr2rïrrrrþrårýrGÚ minintervalÚ maxintervalr™Údynamic_minitersrrÊrrrr¤ÚdelayrFÚ dynamic_ncolsr¶r°Ú_ema_dnÚ_ema_dtÚ _ema_minitersrrr€r
Ú_timeÚ set_postfixÚ last_print_nrñÚsprUÚ last_print_trQ) r6r¦rþrùr¨rðrýr©rªr™rr§rÊrr­r¶rrršrrÚ write_bytesr¤rGr€r¬rFrIÚ_dynamic_ncolsÚ_ncolsÚ_nrowsr«s                                 r*r5z tqdm.__init__¸s4€ð ˆ<Ü—:‘:ˆDá ô'Øœw t¨Z¸Ó>ÒIÀ'ôKˆDô# 4°tÔ<ˆà ˆ?œw t¨XÔ6¸t¿{¹{¼}؈Gà ˆ=˜XÐ1ð ܘH› ð ”E˜%“LÒ  àˆEá Ø$ˆDŒMØ"ˆDŒLØ—‘ñ -Ø×-Ñ-¨dÓ3”Ø—‘×&Ñ& tÔ,÷ -ðˆDŒF؈DŒJ؈DŒJØ á ØˆDŒLØ—‘ñ -Ø×-Ñ-¨dÓ3”Ø—‘×&Ñ& tÔ,÷ -ð˜vÑ%ô    'ðCä$ T¨7´C·J±J×4DÑ4DÓEôGð Eô Ð4´s¸6³{ÑBÓCð  Eðˆ]˜e˜m°$¼3¿:¹:ÄsÇzÁzÐ:RÑ2RÙ ÙÜ 5Ó 7 Ù Ù#0°Ó#6‘LE™5ä!6Ó!8Ù!Ù%3°DÓ%9‘NF˜Fؐ}Ø &˜Ø}Ø &˜à Р؈HØ#Ñ à$Ð à Р؈Kà Р؈Kà ˆ=Ü)¨$Ó/Ð/ˆEá ˜% tÑ+´I¸eÔ4Dä˜Z›ˆJà Р؈Ið!ˆŒ Ø’J˜BˆŒ    ØˆŒ
؈Œ
؈ŒØˆŒ
؈Œ
Ø&ˆÔØ&ˆÔØ ˆŒ Ø 0ˆÔ؈Œ
؈Œ ؈Œ    Ø$ˆŒØ(ˆÔ؈Œ Ø"ˆŒØˆŒ
؈ŒØ*ˆÔØ"ˆŒÜ˜9“~ˆŒ ܘ9“~ˆŒ Ü  ›^ˆÔØ$ˆŒØˆŒ ؈Œ ܈Œ
Ù ð 'Ø × Ñ Ñ:¨Ð:°'Ò:ð
$ˆÔ؈ŒðZ‰Zñ    Sà3;Ð3Ct×)Ñ)¨$Ô/È(ȈDŒH÷    Sñà×)Ñ)¨$¯'©'Ó2ˆDŒGؘŠzØ— ‘  t§~¡~ Ô6ð!ŸJ™J›LˆÔà×(Ñ(ˆ øôyœ~Ð.ò Ø“ð ú÷ -ñ -ú÷ -ñ -ûôfò 'Ø&– ð 'ú÷    Sð    SúsHÁ# OÂ2O)Ã?2O6ÌPÍPÏO&Ï%O&Ï)O3Ï6PÐPÐPÐP"có—|j|jdkDS|j€ td«‚t|j«S)Nrz/bool() undefined when iterable == total == None)rùr¦rÚboolr]s r*Ú__bool__z tqdm.__bool__Qs?€Ø :‰:Ð !Ø—:‘: ‘>Ð !Ø =‰=Ð  ÜÐMÓNÐ NܐD—M‘MÓ"Ð"r)có`—|j€ |jSt|jd«r|jjdSt|jd«rt    |j«St|jd«r|jj «St |dd«S)Nr{rÚ__len__Ú__length_hint__rù)r¦rùrdr{r’r¿rìr]s r*r¾z tqdm.__len__Xs“€àŸ-™-Ð/ˆDJ‰Jð    /ä+2°4·=±=À'Ô+J—‘×$Ñ$ QÑ'ð    /ô(/¨t¯}©}¸iÔ'H”T—]‘]Ó#ð    /ô5<¸D¿M¹MÐK\Ô4]—‘×.Ñ.Ó0ð        /ô
˜˜w¨Ó-ð     /r)cóÆ—    |j}t|j«|_|j«||_S#t$r t    d«‚wxYw#|_wxYw)Nz'tqdm' object is not reversible)r¦ÚreversedÚ__iter__r–r)r6Úorigs  r*Ú __reversed__ztqdm.__reversed__`sY€ð    !Ø—=‘=ˆDô% T§]¡]Ó3ˆDŒMØ—=‘=“?à ˆDMøô ò    ?ÜÐ=Ó>Ð >ð    ?ûð !ˆDMús‚ ?Ž)A¿AÁAÁ    A cóh—t|jdd«}|||«S||j«vS)NÚ __contains__)rìr¦rÂ)r6ÚitemÚcontainss   r*rÆztqdm.__contains__ks3€Ü˜4Ÿ=™=¨.¸$Ó?ˆØ!)Ð!5‰x˜‹~ÐR¸4À4Ç=Á=Ã?Ð;RÐRr)có—|Sr;r(r]s r*r^ztqdm.__enter__os€Øˆ r)cóz—    |j«y#t$r|||fdk(r‚tdtd¬«YywxYw)N)NNNzAttributeError ignoredrgrh)r~r–r r)r6Úexc_typeÚ    exc_valueÚ    tracebacks    r*rbz tqdm.__exit__rsB€ð    FØ J‰JLøÜò    Fà˜) YÐ/Ð3EÒEØÜ Ð)¬;À1× Eð        Fús ‚“$:¹:có$—|j«yr;)r~r]s r*Ú__del__z tqdm.__del__{s €Ø 
‰
 r)có:—|jdi|j¤ŽS)Nr()r&r#r]s r*Ú__str__z tqdm.__str__~s€Ø ˆt× Ñ Ñ4 4×#3Ñ#3Ñ4Ð4r)có.—tt|dd««S)Nr6l)rÆrìr]s r*Ú _comparableztqdm._comparables€ä”7˜4 ¨Ó0Ó1Ð1r)có—t|«Sr;)Úidr]s r*Ú__hash__z tqdm.__hash__…s €Ü$‹xˆr)c#ó6K—|j}|jr |D]}|–—Œy|j}|j}|j}|j
|j z}|j}|j}    |D]b}|–—|dz }||z
|jk\sŒ|«}    |    |z
}
|
|k\sŒ1|    |k\sŒ7|j||z
«|j}|j}Œd    ||_|j«y#||_|j«wxYw­w)z6Backward-compatibility to use: for x in tqdm(iterable)Nr ) r¦r§r©rµr³rQr¬rÙr±r™rr~) r6r¦Úobjr©rµr³Ú min_start_trÙr
Úcur_tÚdts            r*rÂz tqdm.__iter__ˆsèø€ð—=‘=ˆð <Š<Øò Ø“    ð à à×&Ñ&ˆ Ø×(Ñ(ˆ Ø×(Ñ(ˆ Ø—l‘l T§Z¡ZÑ/ˆ Ø F‰FˆØz‰zˆð    Øò 9Ø’    ðQ‘à|Ñ# t§}¡}Ó4Ù ›FEØ Ñ-Bؘ[Ó(¨U°kÓ-AØŸ ™  A¨ Ñ$4Ô5Ø'+×'8Ñ'8˜ Ø'+×'8Ñ'8™ ñ 9ðˆDŒFØ J‰JLøðˆDŒFØ J‰JLüs0‚A:DÁ= C=ÂC=Â0C=Â6.C=Ã%DÃ=DÄDcóÜ—|jry|dkr|xj|z c_|xj|z c_|j|jz
|jk\r‰|j    «}||j
z
}||j k\rY||j|jzk\r;|j    «}|j|jz
}|jr&|r$|r"|j|«|j|«|j|j¬«|jrŸ|jr5||jk\r&||j xs |jz|z |_n^|jr7|j!||j r|r|j |z ndz«|_nt#|j|«|_|j|_||_yyyy)ag
        Manually update the progress bar, useful for streams
        such as reading files.
        E.g.:
        >>> t = tqdm(total=filesize) # Initialise
        >>> for current_buffer in stream:
        ...    ...
        ...    t.update(len(current_buffer))
        >>> t.close()
        The last line is highly recommended, but possibly not necessary if
        `t.update()` will be called in such a way that `filesize` will be
        exactly reached and printed.
 
        Parameters
        ----------
        n  : int or float, optional
            Increment to add to the internal counter of iterations
            [default: 1]. If using float, consider specifying `{n:.3f}`
            or similar in `bar_format`, or specifying `unit_scale`.
 
        Returns
        -------
        out  : bool or None
            True if a `display()` was triggered.
        Nrr£r T)r§r³rÙr™r±rµr©rQr¬r¶r®r¯rUr¤r«rªr°r{)r6rÙrÚrÛÚdns     r*rz tqdm.update®sœ€ð4 <Š<Ø à ˆqŠ5Ø × Ò  Ñ "Õ Ø Š!‰ ð 6‰6D×%Ñ%Ñ %¨¯©Ó 6Ø—J‘J“LˆEؘ×*Ñ*Ñ*ˆBؐT×%Ñ%Ó%¨%°4·<±<À$Ç*Á*Ñ3LÓ*LØŸ
™
› Ø—V‘V˜d×/Ñ/Ñ/Ø—>’>¡b©Rà—L‘L Ô$Ø—L‘L Ô$Ø— ‘  t§~¡~ Ô6Ø×(Ò(ð ×'Ò'¨B°$×2BÑ2BÒ,BØ(*¨d×.>Ñ.>Ò.RÀ$×BRÑBRÑ(SÐVXÑ(X˜ ØŸšà(,×(:Ñ(:ظ4×;KÒ;KÑPR $×"2Ñ"2°RÒ"7Ø'(ñ*ó)+˜ ô
),¨D¯M©M¸2Ó(>˜œ ð%)§F¡FÔ!Ø$)Ô!Øð9+MÐ%ð 7r)cóH‡—‰jryd‰_t‰j«}‰j‰«‰j‰j
‰j zkryt‰dd«€yˆfd„}    |d«‰j€|dk(n ‰j}‰j5|r#d„‰_ ‰jd¬    «|d
«n‰jd|¬ «r
|s|d «ddd«y#t$r}dt|«vrYd}~y‚d}~wwxYw#1swYyxYw) z3Cleanup and (if leave=False) close the progressbar.NTr´cóN•—‰jjt|««yr;)rårär2)rÓr6s €r*r8ztqdm.close.<locals>.fp_writesø€Ø G‰GM‰Mœ#˜a›&Õ !r)rpÚclosedrcó—yr;r(r(r)r*rßztqdm.close.<locals>.<lambda>ràr)r@r/)r7r6rè)r§rÆr6rLrµrQr¬rìÚ
ValueErrorr2r¨rDr¯Údisplay)r6r6r8r4r¨s`    r*r~z
tqdm.closeñsø€à <Š<Ø ðˆŒ ô$—(‘(‹mˆØ ×јTÔ"à × Ñ ˜tŸ|™|¨d¯j©jÑ8Ò 8à ô 4˜˜tÓ $Ð ,Ø ô    "ð    Ù RŒLð !ŸJ™JÐ.q’°D·J±Jˆà Z‰Zñ        #Ùá+” Ø— ‘   Ô#Ù˜•ð—<‘< B¨C<Ô0¹Ù˜T”N÷        #ð        #øôò    Øœ3˜q›6Ñ!ÜØ ûð    ú÷        #ð        #ús+Á7C4Â(ADÃ4    DÃ= DÄDÄDÄD!có~—|jry|s|jj«t|j«}||j
xsdkrO|j |«|jd«|jjd«|j | «|s|jj«yy)zClear current bar display.Nr=rprè) r§rDrPrÆr6rGÚmovetor´rårärT)r6rCr6s   r*rJz
tqdm.clearsŠ€à <Š<Ø áØ J‰J× Ñ Ô  Ü$—(‘(‹mˆØ $—*‘*Ò" Ò #Ø K‰K˜Ô Ø G‰GBŒKØ G‰GM‰M˜$Ô Ø K‰K˜˜Ô ÙØ J‰J× Ñ Õ  ðr)cóæ—|jry|s6|r|jj|Žsy|jj«|j«|s|jj    «y)a”
        Force refresh the display of this bar.
 
        Parameters
        ----------
        nolock  : bool, optional
            If `True`, does not lock.
            If [default: `False`]: calls `acquire()` on internal lock.
        lock_args  : tuple, optional
            Passed to internal lock's `acquire()`.
            If specified, will only `display()` if `acquire()` returns `True`.
        NFT)r§rDrPrãrT)r6rCr¤s   r*rUz tqdm.refresh-sZ€ð <Š<Ø áÙØ)t—z‘z×)Ñ)¨9Ñ5Ø à—
‘
×"Ñ"Ô$Ø  ‰ ŒÙØ J‰J× Ñ Ô  Ør)có—|jry|j«}|xj||jz
z c_||_y)z(Restart tqdm timer from last print time.N)r§r±rQrµ)r6rÚs  r*Úunpausez tqdm.unpauseHs8€à <Š<Ø Ø—
‘
“ ˆØ  Š ˜ × 1Ñ 1Ñ1Ñ1 Ø!ˆÕr)có@—d|_|||_|jryd|_|j    «x|_|_t|j«|_    t|j«|_
t|j«|_ |j«y)z×
        Resets to 0 iterations for repeated use.
 
        Consider combining with `leave=True`.
 
        Parameters
        ----------
        total  : int or float, optional. Total to use for the new bar.
        rN) rÙrùr§r³r±rµrQr°r¶r®r¯r°rU)r6rùs  r*Úresetz
tqdm.resetPsy€ðˆŒØ Р؈DŒJØ <Š<Ø ØˆÔØ+/¯:©:«<Ð7ˆÔ˜DœLܘ4Ÿ>™>Ó*ˆŒ ܘ4Ÿ>™>Ó*ˆŒ Ü  §¡Ó0ˆÔØ  ‰ r)cóF—|r|dznd|_|r|j«yy)zÐ
        Set/modify description of the progress bar.
 
        Parameters
        ----------
        desc  : str, optional
        refresh  : bool, optional
            Forces refresh [default: True].
        r0rpN©rþrU©r6rþrUs   r*Úset_descriptionztqdm.set_descriptionfs$€ñ$(D˜4’K¨RˆŒ    Ù Ø L‰LNð r)có@—|xsd|_|r|j«yy)z-Set/modify description without ': ' appended.rpNrìrís   r*Úset_description_strztqdm.set_description_strts€à’J˜BˆŒ    Ù Ø L‰LNð r)c 󺇗t|€gn|«Št|j««D]
}||‰|<Œ ‰j«D]R}t‰|t«r|j ‰|«‰|<Œ.t‰|t «rŒBt ‰|«‰|<ŒTdjˆfd„‰j«D««|_|r|j«yy)a8
        Set/modify postfix (additional stats)
        with automatic formatting based on datatype.
 
        Parameters
        ----------
        ordered_dict  : dict or OrderedDict, optional
        refresh  : bool, optional
            Forces refresh [default: True].
        kwargs  : dict, optional
        NrŽc3óP•K—|]}|dz‰|j«z–—Œy­w)ú=N)Ústrip)r‰rArs  €r*r‹z#tqdm.set_postfix.<locals>.<genexpr>”s/øèø€ò!<Ø%(ð"% s¡¨W°S©\×-?Ñ-?Ó-AÕ!Añ!<ùsƒ#&)
rÚsortedÚkeysryr    rÛr2r—rrU)r6Ú ordered_dictrUrIrArs     @r*r²ztqdm.set_postfixzsÎø€ô LÐ$8™b¸lÓKˆÜ˜&Ÿ+™+›-Ó(ò    'ˆCØ! #™;ˆGCŠLð    'ð—<‘<“>ò    1ˆCä˜' #™,¬Ô/Ø#Ÿ™¨w°s©|Ó<˜’ ä ¨¡ ¬cÕ2Ü" 7¨3¡<Ó0˜’ ð     1ð—y‘yó!<Ø,3¯L©L«Nô!<ó<ˆŒ á Ø L‰LNð r)cóJ—t|«|_|r|j«yy)zS
        Postfix without dictionary expansion, similar to prefix handling.
        N)r2rrU)r6rÓrUs   r*Úset_postfix_strztqdm.set_postfix_str™s €ô˜1“vˆŒ Ù Ø L‰LNð r)có˜—|jjd|zt«| zz«t|jdd„««y)Nr/rÝcó—yr;r(r(r)r*rßztqdm.moveto.<locals>.<lambda>¤ràr))rårärrì)r6rÙs  r*råz tqdm.moveto¡s9€à ‰ ‰ d˜Q‘h¤£°A°2Ñ!5Ñ5Ô6Ø/Œ—‘˜¡,Ó/Õ1r)có—|jr2t|d«s&td„|j|jdddœ«S|j
r(|j |j «\|_|_|j|jt|d«r|j«|jz
nd|j|j|j|j|j|j|j«r!|j!«|j«z nd|j"|j$|j&|j(|j*dœS)    z'Public API for read-only member access.rÊcó—yr;r(r(r)r*rßz"tqdm.format_dict.<locals>.<lambda>ªràr)rÚit)rÙrùrûrÊrQN)rÙrùrûrýrGrrrÊrrÿrrrrr€)r§rdrrÙrùr­rårýrGr±rQrþrrÊrr¯r®rrrrr€r]s r*r#ztqdm.format_dict¦sþ€ð <Š<¤¨¨fÔ 5Ü™|Ø—V‘V d§j¡j¸QÈñ.NóOð Oà × Ò Ø%)×%7Ñ%7¸¿¹Ó%@Ñ "ˆDŒJ˜œ
à—‘ $§*¡*Ü6=¸dÀIÔ6Nt—z‘z“| d§l¡lÒ2ÐTUØ—Z‘Z¨$¯*©*ÀÇ    Á    Ø—Z‘Z¨¯©À$Ç/Á/Ø7;·|±|´~D—L‘L“N T§\¡\£^Ò3È4ØŸ/™/°d·l±lØ ×-Ñ-¸$¿,¹,Ø—k‘kñ#ð    #r)cóš—|€t|j«}|jxsd}||dz
k\r ||k\ry|s|€d}t|d«s:t    dt |j dtjj«¬«‚|r|j|«|j|€|j«n|«|r|j| «y    )
aŸ
        Use `self.sp` to display `msg` in the specified `pos`.
 
        Consider overloading this function when inheriting to use e.g.:
        `self.some_frontend(**self.format_dict)` instead of `self.sp`.
 
        Parameters
        ----------
        msg  : str, optional. What to display (default: `repr(self)`).
        pos  : int, optional. Position to `moveto`
          (default: `abs(self.pos)`).
        r=r Fz ... (more hidden) ...r´zAPlease use `tqdm.gui.tqdm(...)` instead of `tqdm(..., gui=True)`
rärrT) rÆr6rGrdr!rìrårírîrärår´rÑ)r6r7r6rGs    r*rãz tqdm.display¸s»€ð ˆ;ܐd—h‘h“-ˆCà—
‘
Ò ˜bˆØ %˜!‘)Ò ØeŠ|ØÙckØ.ät˜TÔ"Ü(ð6ä  §¡¨'´3·:±:×3CÑ3CÓDôFð Fñ
Ø K‰K˜Ô Ø ‰ # +— ‘ ”°3Ô7Ù Ø K‰K˜˜Ô Ør)c+óªK—|dd|i|¤Ž5}|rd|_d|_d|_t|j||«–—ddd«y#1swYyxYw­w)a“
        stream  : file-like object.
        method  : str, "read" or "write". The result of `read()` and
            the first argument of `write()` should have a `len()`.
 
        >>> with tqdm.wrapattr(file_obj, "read", total=file_obj.size) as fobj:
        ...     while True:
        ...         chunk = fobj.read(chunk_size)
        ...         if not chunk:
        ...             break
        rùÚBTiNr()rÊrrrr)rUÚstreamÚmethodrùÚbytesrrÑs       r*Úwrapattrz tqdm.wrapattrÜsYèø€ñÑ ,uÐ ,  Ñ ,ð    >°Ùؐ”Ø#” Ø!%”Ü# A§H¡H¨f°fÓ=Ò =÷     >÷    >ñ    >üs‚ A1A¾    AÁAÁ A)rpéè) NrpFrþFNNNrrNr;)Nr/F)NF)NNNTNNgš™™™™™¹?g$@NNFrþFFr»NrNNrFNNNgF)r )F)FN)NT)rpTrb)6r%r&r'r<r-r.r r+Ú staticmethodrËrÖrÛrñr&r)rlr;rLrärrNrXr*r‹rr¥rˆr5r¼r¾rÄrÆr^rbrÏrÑr­rÓrÖrÂrr~rJrUrèrêrîrðr²rùrår#rãrr(r)r*rrõs.„ñvðpÐØ€GÙ“€Jàò&óð&ð:ñEóðEð$ñ+óð+ð$ñóðð2ØQUØKOØ:>òDKóðDKòLð òIóðIð ñ1óð1ð:òóððØò$óóð$ð8ñóððñóðð ñuFóðuFñp ˆW °eÀcÐW\Ø9<Àsñ-LôMàNRØIMØBGØNOØMRØINò U)óMðU)òn#ò/ò    !òSòòFòò5ðñ2óð2òò$óLAòF*#óX!ó ò6"óó, óó ó>ò2ð
ñ#óð#ó""ðHØò>óóñ>r)rcó&—tt|Žfi|¤ŽS)z*Shortcut for tqdm(range(*args), **kwargs).)rr¬)rHrIs  r*rròs€ä ”t Ñ ' Ñ 'Ð'r))5r<ríÚ collectionsrrÚ
contextlibrrrrÚnumbersr    r
r‡r Úweakrefr Ú_monitorrÚutilsrrrrrrrrrrrrÚ
__author__Ú__all__rrr•rÚWarningrrŠr ÚDeprecationWarningr!ÚRuntimeWarningr"rJr(rLrnr°rrr(r)r*ú<module>rsâðñó ß0Ý%ß2Ñ2ÝÝÝÝå÷ ÷ ÷ ó ð
:€
ò !€ô     Iô    ô    8ô    ô    +'ô    +ô    ˜k¨=ô    ô
    ˜[Ð*<ô    ô
    ˜ nô    ò
 ô4X˜6ô4XônPMˆ&ôPMôfQˆ&ôQô>z>ˆ:ôz>óz'(r)