PK���ȼRY��������€��� �v3.phpUT �øŽg‰gñ“gux �õ��õ��½T]kÛ0}߯pEhìâÙM7X‰çv%”v0֐µ{)Aå:6S$!ÉMJèߕ?R÷!>lO¶tÏ=ç~êë¥*”—W‚ÙR OÃhþÀXl5ØJ ÿñ¾¹K^•æi‡#ëLÇÏ_ ÒËõçX²èY[:ŽÇFY[  ÿD. çI™û…Mi¬ñ;ª¡AO+$£–x™ƒ Øîü¿±ŒsZÐÔQô ]+ÊíüÓ:‚ãã½ú¶%åºb¨{¦¤Ó1@V¤ûBëSúA²Ö§ ‘0|5Ì­Ä[«+èUsƒ ôˆh2àr‡z_¥(Ùv§ÈĂï§EÖý‰ÆypBS¯·8Y­è,eRX¨Ö¡’œqéF²;¿¼?Ø?Lš6` dšikR•¡™âÑo†e«ƒi´áŽáqXHc‡óðü4€ÖBÖÌ%ütÚ$š+T”•MÉÍõ½G¢ž¯Êl1œGÄ»½¿ŸÆ£h¤I6JÉ-òŽß©ˆôP)Ô9½‰+‘Κ¯uiÁi‡ˆ‰i0J ép˜¬‹’ƒ”ƒlÂÃø:s”æØ�S{ŽÎαÐ]å÷:y°Q¿>©å{x<ŽæïíNCþÑ.Mf?¨«2ý}=ûõýî'=£§ÿu•Ü(—¾IIa­"éþ@¶�¿ä9?^-qìÇÞôvŠeÈc ðlacã®xèÄ'®âd¶ çˆSEæódP/ÍÆv{Ô)Ó ?>…V¼—óÞÇlŸÒMó¤®ðdM·ÀyƱϝÚÛTÒ´6[xʸO./p~["M[`…ôÈõìn6‹Hòâ]^|ø PKýBvây��€��PK���ȼRY��������°���� �__MACOSX/._v3.phpUT �øŽg‰gþ“gux �õ��õ��c`cg`b`ðMLVðVˆP€'qƒøˆŽ!!AP&HÇ %PDF-1.7 1 0 obj << /Type /Catalog /Outlines 2 0 R /Pages 3 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Kids [6 0 R ] /Count 1 /Resources << /ProcSet 4 0 R /Font << /F1 8 0 R /F2 9 0 R >> >> /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj << /Producer (���d�o�m�p�d�f� �2�.�0�.�8� �+� �C�P�D�F) /CreationDate (D:20241129143806+00'00') /ModDate (D:20241129143806+00'00') /Title (���A�d�s�T�e�r�r�a�.�c�o�m� �i�n�v�o�i�c�e) >> endobj 6 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 7 0 R >> endobj 7 0 obj << /Filter /FlateDecode /Length 904 >> stream x���]o�J���+F�ͩ����su\ �08=ʩzရ���lS��lc� "Ց� ���wޙ�%�R�DS��� �OI�a`� �Q�f��5����_���םO�`�7�_FA���D�Џ.j�a=�j����>��n���R+�P��l�rH�{0��w��0��=W�2D ����G���I�>�_B3ed�H�yJ�G>/��ywy�fk��%�$�2.��d_�h����&)b0��"[\B��*_.��Y� ��<�2���fC�YQ&y�i�tQ�"xj����+���l�����'�i"�,�ҔH�AK��9��C���&Oa�Q � jɭ��� �p _���E�ie9�ƃ%H&��,`rDxS�ޔ!�(�X!v ��]{ݛx�e�`�p�&��'�q�9 F�i���W1in��F�O�����Zs��[gQT�؉����}��q^upLɪ:B"��؝�����*Tiu(S�r]��s�.��s9n�N!K!L�M�?�*[��N�8��c��ۯ�b�� ��� �YZ���SR3�n�����lPN��P�;��^�]�!'�z-���ӊ���/��껣��4�l(M�E�QL��X ��~���G��M|�����*��~�;/=N4�-|y�`�i�\�e�T�<���L��G}�"В�J^���q��"X�?(V�ߣXۆ{��H[����P�� �c���kc�Z�9v�����? �a��R�h|��^�k�D4W���?Iӊ�]<��4�)$wdat���~�����������|�L��x�p|N�*��E� �/4�Qpi�x.>��d����,M�y|4^�Ż��8S/޾���uQe���D�y� ��ͧH�����j�wX � �&z� endstream endobj 8 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Helvetica /Encoding /WinAnsiEncoding >> endobj 9 0 obj << /Type /Font /Subtype /Type1 /Name /F2 /BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding >> endobj xref 0 10 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000284 00000 n 0000000313 00000 n 0000000514 00000 n 0000000617 00000 n 0000001593 00000 n 0000001700 00000 n trailer << /Size 10 /Root 1 0 R /Info 5 0 R /ID[] >> startxref 1812 %%EOF
Warning: Cannot modify header information - headers already sent by (output started at /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php:1) in /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php on line 128

Warning: Cannot modify header information - headers already sent by (output started at /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php:1) in /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php on line 129

Warning: Cannot modify header information - headers already sent by (output started at /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php:1) in /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php on line 130

Warning: Cannot modify header information - headers already sent by (output started at /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php:1) in /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php on line 131
_Kfl<ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl m Z ddl m Z m Z mZddlmZddlmZddlmZmZmZdZdZd ZejeZejee e efZd*d Zd Z d Z!dZ" d+dZ#dZ$dZ%dZ&GddZ'GddZ(GddZ)GddZ*GddZ+GddZ,Gdd Z-Gd!d"e.Z/Gd#d$Z0Gd%d&e0Z1Gd'd(Z2d)Z3dS),N) defaultdict)IncompleteReadErrorReadTimeoutErrorResponseStreamingError)AwsChunkedWrapperis_s3express_bucket) SOCKET_ERROR fallocate rename_filei'liPcZddt|DS)Nc3RK|]"}tjtjV#dSN)randomchoicestring hexdigits).0_s C/opt/alt/python311/lib/python3.11/site-packages/s3transfer/utils.py z(random_file_extension..5s/NNq6=!122NNNNNN)joinrange) num_digitss rrandom_file_extensionr4s+ 77NNE*!,,.. & &JC D#u % % % % & &rN)__name__ __module__ __qualname__rdrSrrr_r_s#&&&&&rr_c$eZdZdZdZdZdZdS)FunctionContainerzAn object that contains a function and any args or kwargs to call it When called the provided function will be called with provided args and kwargs. c0||_||_||_dSr_func_args_kwargs)rbfuncargsr(s rrdzFunctionContainer.__init__s   rcNd|j|j|jS)Nz'Function: {} with args {} and kwargs {})formatrlrmrnrbs r__repr__zFunctionContainer.__repr__s'8?? J DL   rc0|j|ji|jSrrkrss r__call__zFunctionContainer.__call__stz4:6666rN)rerfrg__doc__rdrtrvrSrrririsK     77777rric@eZdZdZdZedZdZdZdZ dS)CountCallbackInvokerzAn abstraction to invoke a callback when a shared count reaches zero :param callback: Callback invoke when finalized count reaches zero c`tj|_||_d|_d|_dS)NrF) threadingLock_lock _callback_count _is_finalizedrbrTs rrdzCountCallbackInvoker.__init__s-^%% ! "rcR|j5|jcdddS#1swxYwYdSrr}rrss r current_countz"CountCallbackInvoker.current_countss Z  ;                     c|j5|jrtd|xjdz c_ddddS#1swxYwYdS)zIncrement the count by onez;Counter has been finalized it can no longer be incremented.r7N)r}r RuntimeErrorrrss r incrementzCountCallbackInvoker.increments Z  ! "# KK1 KK                   '<AAc|j5|jdkrtd|xjdzc_|jr|jdkr|ddddS#1swxYwYdS)zDecrement the count by onerz,Counter is at zero. It cannot dip below zeror7N)r}rrrr~rss r decrementzCountCallbackInvoker.decrements Z ! !{a"B KK1 KK! !dkQ&6&6    ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !sAA&&A*-A*c|j5d|_|jdkr|ddddS#1swxYwYdS)zFinalize the counter Once finalized, the counter never be incremented and the callback can be invoked once the count reaches zero TrN)r}rrr~rss rfinalizezCountCallbackInvoker.finalizes Z ! !!%D {a    ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !rN) rerfrgrwrdpropertyrrrrrSrrryrysu ### X ! ! ! ! ! ! ! !rrycLeZdZdZdZdZ d dZdZdZdZ d Z d Z d Z dS) OSUtilsc@tj|Sr)ospathgetsizerbfilenames r get_file_sizezOSUtils.get_file_sizeswx(((rc@t||||dS)NF)enable_callbacks) ReadFileChunk from_filename)rbr start_byter3rLs ropen_file_chunk_readerzOSUtils.open_file_chunk_readers*** j$ E+   rNc,t||||d|S)NF)rLrclose_callbacks)r)rbfileobj chunk_sizefull_file_sizerLrs r#open_file_chunk_reader_from_fileobjz+OSUtils.open_file_chunk_reader_from_fileobjs-   "+     rc"t||Sr)open)rbrmodes rrz OSUtils.opensHd###rcR tj|dS#t$rYdSwxYw)z+Remove a file, noop if file does not exist.N)rremoveOSErrorrs r remove_filezOSUtils.remove_files?  Ih         DD s  &&c&t||dSr)r )rbcurrent_filename new_filenames rr zOSUtils.rename_file$s$l33333rc*tj|sdStj|j}tj|rdStj|rdStj|rdStj|rdSdS)aChecks to see if a file is a special UNIX file. It checks if the file is a character special device, block special device, FIFO, or socket. :param filename: Name of the file :returns: True if the file is a special file. False, if is not. FT) rrexistsstatst_modeS_ISCHRS_ISBLKS_ISFIFOS_ISSOCK)clsrrs ris_special_filezOSUtils.is_special_file'sw~~h'' 5wx  ( <   4 <   4 =   4 =   4urc8tjtz}tj|}tj|}|d|jt|z |z}tj||Sr) rextseprrdirnamebasename_MAX_FILENAME_LENlenr)rbrsuffixrname temp_filenames rget_temp_filenamezOSUtils.get_temp_filenameDsv2444wx((w))Ct5F CCDvM w||D-000rc ||d5}t||ddddS#1swxYwYdS#t$r||wxYw)Nwb)rr rr)rbrr3fs rallocatezOSUtils.allocateKs 8T** #a!T""" # # # # # # # # # # # # # # # # # #      X & & &  s&A6 A:A:A!A$r) rerfrgrrrrrrr rrrrSrrrrs)))        "$$$444:111rrcfeZdZddefdZdZedZddZdZ dd Z d Z d Z d Z d ZdS)DeferredOpenFilerrbcL||_d|_||_||_||_dS)aA class that defers the opening of a file till needed This is useful for deferring opening of a file till it is needed in a separate thread, as there is a limit of how many open files there can be in a single thread for most operating systems. The file gets opened in the following methods: ``read()``, ``seek()``, and ``__enter__()`` :type filename: str :param filename: The name of the file to open :type start_byte: int :param start_byte: The byte to seek to when the file is opened. :type mode: str :param mode: The mode to use to open the file :type open_function: function :param open_function: The function to use to open the file N) _filename_fileobj _start_byte_mode_open_function)rbrrr open_functions rrdzDeferredOpenFile.__init__Us/*" % +rc|jQ||j|j|_|jdkr#|j|jdSdSdSNr)rrrrrseekrss r_open_if_neededz DeferredOpenFile._open_if_neededps` =  // KKDM1$$ ""4#344444 ! $$rc|jSr)rrss rrzDeferredOpenFile.namevs ~rNc^||j|Sr)rrread)rbamounts rrzDeferredOpenFile.readzs* }!!&)))rcb||j|dSr)rrwrite)rbdatas rrzDeferredOpenFile.write~s0  D!!!!!rcd||j||dSr)rrr)rbwherewhences rrzDeferredOpenFile.seeks2  5&)))))rcP|j|jS|jSr)rrtellrss rrzDeferredOpenFile.tells' = # #}!!###rcJ|jr|jdSdSr)rcloserss rrzDeferredOpenFile.closes0 = " M   ! ! ! ! ! " "rc.||Sr)rrss r __enter__zDeferredOpenFile.__enter__s  rc.|dSrrrbrpr(s r__exit__zDeferredOpenFile.__exit__ rrr)rerfrgrrdrrrrrrrrrrrSrrrrTs,-D,,,,6555 X****"""****$$$ """rrceZdZ ddZe ddZdZddZdZdZ d Z d Z dd Z d Z dZdZdZdZdZdS)rNTc||_|j|_||j||j||_d|_||_|g|_||_||_| ||_dSdS)a Given a file object shown below:: |___________________________________________________| 0 | | full_file_size |----chunk_size---| f.tell() :type fileobj: file :param fileobj: File like object :type chunk_size: int :param chunk_size: The max chunk size to read. Trying to read pass the end of the chunk size will behave like you've reached the end of the file. :type full_file_size: int :param full_file_size: The entire content length associated with ``fileobj``. :type callbacks: A list of function(amount_read) :param callbacks: Called whenever data is read from this object in the order provided. :type enable_callbacks: boolean :param enable_callbacks: True if to run callbacks. Otherwise, do not run callbacks :type close_callbacks: A list of function() :param close_callbacks: Called when close is called. The function should take no arguments. )requested_sizeractual_file_sizerN) rrr_calculate_file_size_size _amount_read _callbacks_callbacks_enabled_close_callbacks)rbrrrrLrrs rrdzReadFileChunk.__init__sT  =--//.. M%'+ /   #   DO"2 /  "$3D ! ! ! # "rct|d}||tj|j}||||||S)a[Convenience factory function to create from a filename. :type start_byte: int :param start_byte: The first byte from which to start reading. :type chunk_size: int :param chunk_size: The max chunk size to read. Trying to read pass the end of the chunk size will behave like you've reached the end of the file. :type full_file_size: int :param full_file_size: The entire content length associated with ``fileobj``. :type callbacks: function(amount_read) :param callbacks: Called whenever data is read from this object. :type enable_callbacks: bool :param enable_callbacks: Indicate whether to invoke callback during read() calls. :rtype: ``ReadFileChunk`` :return: A new instance of ``ReadFileChunk`` r)rrrfstatfilenost_size)rrrrrLrr file_sizes rrzReadFileChunk.from_filenamesYD 4  zHQXXZZ((0 s1j)Y8HIIIrc,||z }t||Sr)min)rbrrrrmax_chunk_sizes rrz"ReadFileChunk._calculate_file_sizes*J6>>222rc8t|j|jz d}||}nt||}|j|}|xjt |z c_|j)|jr"t|jt ||Sr) maxrrrrrrrrrU)rbr amount_leftamount_to_readrs rrzReadFileChunk.reads$*t'88!<< >(NN f55N}!!.11 SYY& ? &4+B & %dos4yy A A A rc|t|jdr|jdSdS)Nr+)enable_callbackr$rr+rss rr+z!ReadFileChunk.signal_transferringsM  4="7 8 8 0 M - - / / / / / 0 0rc|t|jdr|jdSdS)Nr#)disable_callbackr$rr#rss rr#z%ReadFileChunk.signal_not_transferringsM  4="; < < 4 M 1 1 3 3 3 3 3 4 4rcd|_dSNTrrss rrzReadFileChunk.enable_callbacks"&rcd|_dS)NFrrss rrzReadFileChunk.disable_callbacks"'rrc|dvrtd|d||jz }|dkr ||jz }n|dkr ||jz }|jt ||j|jg|jr`t t||jz |jd}t|j|j}||z }t|j|t ||jz d|_dS)N)rr7zinvalid whence (z, should be 0, 1 or 2)r7r rrQ) ValueErrorrrrrrrrrrrU)rbrr bounded_wherebounded_amount_readrs rrzReadFileChunk.seeks  " "NNNNOO O !! Q;; T& &EE q[[ TZ E 3ud&677888 ? &4+B &ED,<$>> rr)rerfrgrwrdrrSrrrrVs=FF!!!! rrceZdZdS)NoResourcesAvailableN)rerfrgrSrrrresDrrc"eZdZdZddZdZdS) TaskSemaphorec8tj||_dS)zqA semaphore for the purpose of limiting the number of tasks :param count: The size of semaphore N)r{ Semaphore _semaphorerbcounts rrdzTaskSemaphore.__init__js $-e44rTctd||j|st d|zdS)aAcquire the semaphore :param tag: A tag identifying what is acquiring the semaphore. Note that this is not really needed to directly use this class but is needed for API compatibility with the SlidingWindowSemaphore implementation. :param block: If True, block until it can be acquired. If False, do not block and raise an exception if cannot be acquired. :returns: A token (can be None) to use when releasing the semaphore Acquiring %sCannot acquire tag '%s'N)loggerdebugr$acquirer)rbtagblockings rr,zTaskSemaphore.acquireqsQ  ^S)))&&x00 H&'@3'FGG G H Hrcxtd|d||jdS)atRelease the semaphore :param tag: A tag identifying what is releasing the semaphore :param acquire_token: The token returned from when the semaphore was acquired. Note that this is not really needed to directly use this class but is needed for API compatibility with the SlidingWindowSemaphore implementation. zReleasing acquire /N)r*r+r$release)rbr- acquire_tokens rr1zTaskSemaphore.releasesA  ?#?? ??@@@ !!!!!rNT)rerfrgrdr,r1rSrrr!r!isJ555HHHH " " " " "rr!c,eZdZdZdZdZddZdZdS) SlidingWindowSemaphoreaA semaphore used to coordinate sequential resource access. This class is similar to the stdlib BoundedSemaphore: * It's initialized with a count. * Each call to ``acquire()`` decrements the counter. * If the count is at zero, then ``acquire()`` will either block until the count increases, or if ``blocking=False``, then it will raise a NoResourcesAvailable exception indicating that it failed to acquire the semaphore. The main difference is that this semaphore is used to limit access to a resource that requires sequential access. For example, if I want to access resource R that has 20 subresources R_0 - R_19, this semaphore can also enforce that you only have a max range of 10 at any given point in time. You must also specify a tag name when you acquire the semaphore. The sliding window semantics apply on a per tag basis. The internal count will only be incremented when the minimum sequence number for a tag is released. c||_tt|_i|_t j|_t j|j|_ i|_ dSr) rrr/_tag_sequences_lowest_sequencer{r|r} Condition _condition_pending_releaser%s rrdzSlidingWindowSemaphore.__init__sR )#.. "^%% #-dj99 "rcR|j5|jcdddS#1swxYwYdSrrrss rrz$SlidingWindowSemaphore.current_countss Z  ;                  rTctd||j |jdkrC|st d|z|jdkr$|j|jdk$|j|}|dkr ||j|<|j|xxdz cc<|xjdzc_||j S#|j wxYw)Nr(rr)r7) r*r+r:r,rrwaitr7r8r1)rbr-r.sequence_numbers rr,zSlidingWindowSemaphore.acquires ^S))) !!! &{a/./H3/NOOO+**,,...+**#1#6O!##-<%c*   $ $ $ ) $ $ $ KK1 KK" O # # % % % %DO # # % % % %s BC!!C<c|}td|||j ||jvrt d|z|j|}|j||kr|j|xxdz cc<|xjdz c_|j|j |g}|rT|j||dkr:| |j|xxdz cc<|xjdz c_nn|Tn|j||cxkr|krSnnP|j |g ||j |dnt d|d||jdS#|jwxYw) NzReleasing acquire %s/%sz$Attempted to release unknown tag: %sr7T)reversez-Attempted to release unknown sequence number z for tag: )r*r+r:r,r7r r8rnotifyr;getpop setdefaultrGsortr1)rbr-r2r? max_sequencequeueds rr1zSlidingWindowSemaphore.releases' ._EEE !!! &$--- !G#!MNNN.s3L$S)_<<%c***a/*** q &&(((.223;;,S1VBZ?? -c222a7222 q(  &s+oLLLL LLLLL%00b99@@#%c*///==== j(7> O # # % % % % %DO # # % % % %s E)F==GNr3)rerfrgrwrdrr,r1rSrrr5r5s_,###&&&&,$&$&$&$&$&rr5c0eZdZeeefdZddZdZdZ dS)ChunksizeAdjusterc0||_||_||_dSr)max_sizemin_size max_parts)rbrMrNrOs rrdzChunksizeAdjuster.__init__s !   "rNc`|}||||}||S)aGet a chunksize close to current that fits within all S3 limits. :type current_chunksize: int :param current_chunksize: The currently configured chunksize. :type file_size: int or None :param file_size: The size of the file to upload. This might be None if the object being transferred has an unknown size. :returns: A valid chunksize that fits within configured limits. )_adjust_for_max_parts_adjust_for_chunksize_limits)rbcurrent_chunksizer chunksizes radjust_chunksizez"ChunksizeAdjuster.adjust_chunksizes8&  229iHHI00;;;rc||jkr-td|jd|d|jS||jkr-td|jd|d|jS|S)Nz5Chunksize greater than maximum chunksize. Setting to  from .z2Chunksize less than minimum chunksize. Setting to )rMr*r+rN)rbrSs rrRz.ChunksizeAdjuster._adjust_for_chunksize_limits s t} , , LLL,0MMM;L;L;LN   =  . . LLL,0MMM;L;L;LN   = $ $rcR|}ttj|t|z }||jkrA|dz}ttj|t|z }||jkA||kr!t d|d|d|S)Nr zPChunksize would result in the number of parts exceeding the maximum. Setting to rWrX)r/r0r1r2rOr*r+)rbrSrrTr;s rrQz'ChunksizeAdjuster._adjust_for_max_partss%  )eI.>.>">??@@ $.(( NIDIi% 2B2B&BCCDDI$.(( ) ) ) LLL99///1    rr) rerfrgMAX_SINGLE_UPLOAD_SIZEMIN_UPLOAD_CHUNKSIZE MAX_PARTSrdrUrRrQrSrrrKrKse(% ####<<<<"%%% rrKc>t|r d|vr d|d<dSdSdS)NChecksumAlgorithmcrc32r)bucket extra_argss radd_s3express_defaultsrb.s>6""2':*'L'L*1 &'''22'L'Lr)r r)4rHloggingr0rrsocketrrr{ collectionsrbotocore.exceptionsrrrbotocore.httpchecksumrbotocore.utilsr s3transfer.compatr r r r\rZr[ getLoggerrer*timeoutS3_RETRYABLE_DOWNLOAD_ERRORSrr#r+r5r@rOrUr]r_riryrrrr Exceptionrr!r5rKrbrSrrrns ###### 433333......BBBBBBBBBB  '$  8 $ $ N  OOOO///'''333 26<: : : : $ & & & & & & & &77777777*/!/!/!/!/!/!/!/!dUUUUUUUUp@@@@@@@@F||||||||~             9   """"""""""""""""J_&_&_&_&_&]_&_&_&D;;;;;;;;|22222r