
    sg!?                        U d dl Zd dlZd dlmZ d dlmZmZ d dlm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z- d dl.m/Z/ d dl0m1Z1 d dl2m3Z3m4Z4m5Z5 d dl6Z6d dl7m8Z8m9Z9 g d	Z:g a;e5e3   e<d
<   de5e3   fdZ=de5e3   fdZ>d Z?de5e3   fdZ@ G d d      ZAd ZBd ZC ej                  d      d        ZE G d d      ZFdddeGfdZHy)    N)encode)CounterOrderedDict)%APPENDAPPENDSBINFLOATBINGETBININTBININT1BININT2	BINPERSIDBINPUT
BINUNICODEBUILDbytes_typesdecode_long
EMPTY_DICT
EMPTY_LIST	EMPTY_SETEMPTY_TUPLEGLOBALLONG1LONG_BINGETLONG_BINPUTMARKNEWFALSENEWOBJNEWTRUENONEPROTOREDUCESETITEMSETITEMSSHORT_BINSTRINGSTOPTUPLETUPLE1TUPLE2TUPLE3UnpicklingError)unpack)maxsize)AnyDictList)IMPORT_MAPPINGNAME_MAPPING)sysosposixnt_marked_safe_globals_listsafe_globalsc                     t         | z  a y Nr6   r7   s    P/var/www/html/venv/lib/python3.12/site-packages/torch/_weights_only_unpickler.py_add_safe_globalsr=   Y   s    -    returnc                      t         S r9   r:    r>   r<   _get_safe_globalsrB   ^   s    $$r>   c                      g a y r9   r:   rA   r>   r<   _clear_safe_globalsrD   c   s     "r>   globals_to_removec                 L    t        t        t              t        |       z
        ay r9   )listsetr6   )rE   s    r<   _remove_safe_globalsrI   h   s!     $%&->)??!r>   c                   *    e Zd Zdee   fdZd Zd Zy)_safe_globalsr7   c                     || _         y r9   r;   )selfr7   s     r<   __init__z_safe_globals.__init__p   s
    (r>   c                 .    t        | j                         y r9   )r=   r7   )rM   s    r<   	__enter__z_safe_globals.__enter__s   s    $++,r>   c                 .    t        | j                         y r9   )rI   r7   )rM   typevaluetbs       r<   __exit__z_safe_globals.__exit__v   s    T../r>   N)__name__
__module____qualname__r/   r-   rN   rP   rU   rA   r>   r<   rK   rK   o   s    )T#Y )-0r>   rK   c                  d    i } t         D ]$  }|j                  |j                  }}|| | d| <   & | S )N.)r6   rW   rV   )rcfmodulenames       r<   _get_user_allowed_globalsr_      sC    B& #||QZZ!"fXQtf# Ir>   c                  ,   t         j                  j                  t         j                  j                  t         j                  j                  t         j                  j
                  t         j                  j                  t         j                  j                  t         j                  j                  t         j                  j                  t         j                  j                  t         j                  j                  t         j                  j                  hS r9   )torch_utils_rebuild_parameter_rebuild_parameter_with_state_rebuild_qtensor_rebuild_tensor_rebuild_tensor_v2_rebuild_tensor_v3_rebuild_sparse_tensor_rebuild_meta_tensor_no_storage_rebuild_nested_tensor_rebuild_wrapper_subclass!_rebuild_device_tensor_from_numpyrA   r>   r<   _tensor_rebuild_functionsrn      s    ''22%%$$''''++44++.. 	66 r>      c            
         t         t        t        j                  j                  t        j
                  j                  t        j                  t        j                  t        j                  t        t        d	} t        j                  j                         j                         D ]  }|| t        |      <    t        j                  j!                         D ]  }|| t        |      <    t        j"                  D ]   }|| |j$                   d|j&                   <   " t        j(                  D ]  }|t        j                  j*                  t        j                  j,                  fvrFt        j
                  j/                  |j&                        | |j$                   d|j&                   <   || |j$                   d|j&                   <    t        j0                  t        j2                  t        j4                  t        j6                  t        j8                  fD ]  }|| t        |      <    t;               D ]  }|| d|j&                   <    t        j<                  j>                  | d<   | S )N)	zcollections.OrderedDictzcollections.Counterztorch.nn.parameter.Parameterztorch.serialization._get_layoutz
torch.Sizeztorch.Tensorztorch.devicez_codecs.encodezbuiltins.bytearrayrZ   ztorch._utils.z#torch._tensor._rebuild_from_type_v2) r   r   ra   nn	Parameterserialization_get_layoutSizeTensordevicer   	bytearraystorage_dtype_to_storage_type_mapkeysstr_new_dtypes_tensor_classesrW   rV   _storage_classesTypedStorageUntypedStorageStorageTypeper_tensor_affineper_tensor_symmetricper_channel_affineper_channel_symmetric per_channel_affine_float_qparamsrn   _tensor_rebuild_from_type_v2)r[   ttttsqtr\   s         r<   _get_allowed_globalsr      s    $/&(-(:(:+0+>+>+J+Jjj '
B ]]557<<> 3q6
]]&&( 3q6
 ## 2/1bmm_Abkk]+,2 $$ 6emm00%--2N2NOO383F3F3R3R4B"--"++/0 46B"--"++/06 	""  ##..  3r7 '( -+,]1::,'(-
 160S0SB,-Ir>   c                   0    e Zd ZdddefdZd Zd Zd Zy)		Unpicklerbytesencodingr   c                r    || _         |j                  | _        |j                  | _        i | _        d| _        y )N)r   readlinereadmemoproto)rM   filer   s      r<   rN   zUnpickler.__init__   s-     II	$&	
r>   c                    g | _         g | _        | j                  j                  | _        | j                  }| j                  }	  |d      }|st
        t        |t              sJ |d   t        d   k(  r |       dd j                  d      } |       dd j                  d      }| j                  dk(  r*||ft        v rt        ||f   \  }}n|t        v r	t        |   }| d| }|t        v rt        d	| d
| d      |t               v r| j                  t               |          
n|t!               v r| j                  t!               |          
nt        d| d| d      |d   t"        d   k(  r| j                  j%                         }| j                  j%                         }|t&        j(                  j*                  u r-| j                  t'        j(                  j*                  |        	n|t!               j-                         v r$| j                   |j.                  |g|        	nt        d|       |d   t0        d   k(  r| j                  j%                         }| j                  d   }	|	t               j-                         vr(|	t!               j-                         vrt        d|	        |	| | j                  d<   	n|d   t2        d   k(  r1| j                  j%                         }
| j                  d   }t5        |      t&        j6                  u r |j8                  |
  nt5        |      t&        j(                  j*                  u r|j;                  |
       n~t5        |      t<        u r|j>                  jA                  |
       nPt5        |      t!               j-                         v r<tC        |d      r|j;                  |
       n|j>                  jA                  |
       nt        dt5        |             |d   tD        d   k(  rd| j                  j%                         }| j                  d   }t5        |      tF        urt        dt5        |             |j                  |       ng|d   tH        d   k(  rZ| jK                         }| j                  d   }t5        |      tF        urt        dt5        |             |jM                  |       n|d   tN        d   k(  rH| j                  j%                         | j                  j%                         }}|| j                  d   |<   n|d   tP        d   k(  rH| jK                         }tS        dtU        |      d      D ]  }||dz      | j                  d   ||   <    nP|d   tV        d   k(  rI| j                   j                  | j                         g | _        | j                  j                  | _        n|d   tX        d   k(  r,| jK                         }| j                  t[        |             n|d   t\        d   k(  r| j                  d   f| j                  d<   n|d   t^        d   k(  r.| j                  d   | j                  d   fg| j                  dd nR|d   t`        d   k(  r<| j                  d   | j                  d   | j                  d   fg| j                  dd n|d   tb        d   k(  r| j                  d       n|d   td        d   k(  r| j                  d       n|d   tf        d   k(  r| j                  d       n|d   th        d   k(  r| j                  d       n|d   tj        d   k(  r| j                  g        n]|d   tl        d   k(  r| j                  i        n;|d   tn        d   k(  r| j                  tq                      n|d   tr        d   k(  r&| j                  tu        d |d            d          n|d   tv        d   k(  r%| j                  | j                  d      d          n|d   tx        d   k(  r&| j                  tu        d |d            d          ns|d   tz        d   k(  r/| j                  tu        d| j                  d            d          n5|d   t|        d   k(  rOtu        d |d            d   }|t~        kD  rt        d      t         ||      dd       }| j                  |       n|d   t        d   k(  rQ |d      d   } ||      }| j                  d!k7  r|j                  | j                  d"      }| j                  |       nw|d   t        d   k(  r| j                  j%                         }t5        |      tZ        ur(t5        |      t        u rt        d#t5        |             t5        |      tZ        u rDtU        |      dkD  r6t&        j                  j                  |d         d$k7  rt        d%|d          | j                  | j                  |             n|d   t        d   t        d   fv rL|d   t        d   k(  r |d      ntu        d |d            d   }| j                  | j                  |          n;|d   t        d   t        d   fv rY|d   t        d   k(  r |d      ntu        d |d            d   }|dk  rt        d&      | j                  d   | j                  |<   n|d   t        d   k(  r. |d      d   } ||      }| j                  t        |             n|d   t        d   k(  rC |d      d   | _
        | j                  dk7  r`t        j                  d'| j                   d(       n<|d   t        d   k(  r| j                  j%                         }|S t        d)|d          )*zRead a pickled object representation from the open file.

        Return the reconstituted object hierarchy specified in the file.
        Tro   r   Nr   zutf-8   rZ   z"Trying to load unsupported GLOBAL z whose module z is blocked.zUnsupported global: GLOBAL zY was not an allowed global by default. Please use `torch.serialization.add_safe_globals([z>])` to allowlist this global if you trust this class/function.zbCan only create new object for nn.Parameter or classes allowlisted via `add_safe_globals` but got z0Trying to call reduce for unrecognized function __setstate__zcCan only build Tensor, Parameter, OrderedDict or types allowlisted via `add_safe_globals`, but got z"Can only append to lists, but got zCan only extend lists, but got FrA   z<i   z<Hz>d   z<IzString is too longsurrogatepassr   strictz1persistent_load id must be tuple or int, but got ry   z4Only persistent_load of storage is allowed, but got znegative argumentzDetected pickle protocol z in the checkpoint, which was not the default pickle protocol used by `torch.load` (2). The weights_only Unpickler might not support all instructions implemented by this protocol, please file an issue for adding support if you encounter this.zUnsupported operand )T	metastackstackappendr   r   EOFError
isinstancer   r   decoder   r1   r0   _blocklisted_modulesr*   r   r_   r   popra   rq   rr   values__new__r!   r   rR   rv   set_r   r   __dict__updatehasattrr   rG   r   pop_markextendr"   r#   rangelenr   r&   tupler'   r(   r)   r   r   r   r   r   r   r   rH   r
   r+   r   r   r   r   r,   r|   r$   r   r   intrs   _maybe_decode_asciipersistent_loadr	   r   r   r   r   
ValueErrorr   r   r    warningswarnr%   )rM   r   r   keyr]   r^   	full_pathargsclsfuncstateinstitemlist_objitemsvkistrlenstrvalstrdatapididxndatar[   s                             r<   loadzUnpickler.load   sm
   
  "
jj''yy==q'Cc;///1v"!CR//8z#2--g6 ::?~5'3VTN'C>1!/!7%hav.	11)<YK~V\U]]ij   4 66KK 4 6y AB";"==KK 9 ;I FG)5i[ AMMQF SHH 
 Q6!9$zz~~'jjnn&%((,,,KK 2 2D 9:57>>@@KKC 7$ 78)::=@  Q6!9$zz~~'zz"~ 4 6 = = ??$=$?$F$F$HH)J4&Q  "&t

2Q58#

(zz"~:-DIIu%$Z588#5#55%%e,$Z;.MM((/$Z#<#>#E#E#GGt^4))%0,,U3);;?:,H 
 Q6!9$zz~~'::b>>-)<T(^<LM  %Q71:%::b>>-)9$x.9IJ  &Q71:%**..*DJJNN,<A$%

2q!Q8A;&q#e*a0 <A/4QU|DJJrN58,<Q47"%%djj1
"jj//Q58#E%L)Q6!9$"&**R.!2

2Q6!9$$(JJrNDJJrN#C"D

23Q6!9$$(JJrNDJJrNDJJrN#S"T

23Q47"D!Q8A;&E"Q71:%D!Q;q>)BQ:a=(BQ:a=(BQ9Q<'CE"Q6!9$F4a1!45Q71:%DIIaLO,Q71:%F4a1!45Q8A;&F416q9:Q:a=(d1g.q1G#)*>??T&\7ODF#Q?1--av,==G+%nnT]]HEGG$Q9Q<'jjnn&9E)$s)32F)KDQTI;W  I&C1++??AG9T)NsSTvhW  D0056QF1I{1~66"%a&F1I"5tAw6$Q;PRSTDIIcN+QF1I{1~66 #A&) 3T!Wd1g9NPQRq5$%899#zz"~		!Q58#GAJAwK-.Q58#!!WQZ
::?MM3DJJ< @Y Y Q47"ZZ^^%	%(<SVH&EFFy r>   c                     | j                   }| j                  j                         | _         | j                   j                  | _        |S r9   )r   r   r   r   )rM   r   s     r<   r   zUnpickler.pop_mark  s5    

^^'')
jj''r>   c                     t        d      )Nz%unsupported persistent id encountered)r*   )rM   r   s     r<   r   zUnpickler.persistent_load  s    EFFr>   N)rV   rW   rX   r|   rN   r   r   r   rA   r>   r<   r   r      s$    07 # FGRGr>   r   ASCIIr   r   c                8    t        | |      j                         S )Nr   )r   r   )r   r   s     r<   r   r     s    TH-2244r>   )I	functools
_functoolsr   _codecsr   collectionsr   r   pickler   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   structr+   r2   r,   typingr-   r.   r/   ra   torch._utilsr0   r1   r   r6   __annotations__r=   rB   rD   rI   rK   r_   rn   	lru_cacher   r   r|   r   rA   r>   r<   <module>r      s   2    ,& & & & & & & & & &N   " "  5
  (* 49 ).DI .
%49 %
#
DI 0 0$( a - !-`XG XGv #* 5C 5r>   