+
    :i                     n   R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	 R t
/ tR tR tR t]P                  t ! R R	4      tR
 tR t]P
                  ! ]]4       R tR tR tR tR t ! R R]P0                  4      tR t]]P6                  ]&    ! R R]P8                  4      t ! R R4      tR# )z/
Serialization support for compiled functions.
N)cloudpickle)irc                "    V P                   ! V!  # )zE
Global hook to rebuild a given class from its __reduce__ arguments.
)_rebuild)clsargss   &*R/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/core/serialize.py_rebuild_reductionr	      s     <<    c                    W3p \         V,          pV#   \         d$    \        P                  ! T4      ;\         T&   p T# i ; i)zUsed by `numba_unpickle` from _helperlib.c

Parameters
----------
address : int
bytedata : bytes
hashed : bytes

Returns
-------
obj : object
    unpickled object
)_unpickled_memoKeyErrorr   loads)addressbytedatahashedkeyobjs   &&&  r   _numba_unpickler      sU     
CAc" J  A%0%6%6x%@@sJAs    *AAc                    \         p\        P                  ! 4       ;_uu_ 4       pV! V^R7      pVP                  V 4       VP	                  4       pRRR4       V#   + '       g   i     X# ; i)zISimilar to `pickle.dumps()`. Returns the serialized object in bytes.
    )protocolN)NumbaPicklerioBytesIOdumpgetvalue)r   picklerbufppickleds   &    r   dumpsr    4   sS     G	C!$	s,,. 

 N 

 Ns   ,AA+	c                    \         P                  ! V 4      w  r#p. p\        V4      pV FP  p\        V\        P
                  4      '       d   VP                  \        V4      4       K?  VP                  V4       KR  	  V\        V4      V3# N)	r   r   iter
isinstancer   Valueappendnexttuple)
static_excexc_argsexcstatic_argslocinfo	real_argsexc_args_iterargs   &&      r   runtime_build_excinfo_structr1   @   su     + 1 1* =CgINMc288$$T-01S!	 
 y!7++r
   c                   D   a  ] tR t^Pt o RtRtR tR t]R 4       t	Rt
V tR# )_CustomPickledah  A wrapper for objects that must be pickled with `NumbaPickler`.

Standard `pickle` will pick up the implementation registered via `copyreg`.
This will spawn a `NumbaPickler` instance to serialize the data.

`NumbaPickler` overrides the handling of this type so as not to spawn a
new pickler for the object when it is already being pickled by a
`NumbaPickler`.
c                    Wn         W n        R # r"   ctorstates)selfr6   r7   s   &&&r   __init___CustomPickled.__init__]   s    	r
   c                R    \         P                  V P                  V P                  33# r"   )r3   r   r6   r7   r8   s   &r   _reduce_CustomPickled._reducea   s     &&DKK(@@@r
   c                    V ! W4      # r"    )r   r6   r7   s   &&&r   r   _CustomPickled._rebuildd   s    4  r
   r5   N)__name__
__module____qualname____firstlineno____doc__	__slots__r9   r=   classmethodr   __static_attributes____classdictcell____classdict__s   @r   r3   r3   P   s0      !IA ! !r
   r3   c                2    \        V 4      w  r\        W4      # )zHstandard unpickling for `_CustomPickled`.

Uses `NumbaPickler` to load.
)r   r3   )
serializedr6   r7   s   &  r   _unpickle__CustomPickledrO   i   s    
 $LD$''r
   c                V    \        V P                  V P                  34      p\        V33# )zFstandard pickling for `_CustomPickled`.

Uses `NumbaPickler` to dump.
)r    r6   r7   rO   )cprN   s   & r   _pickle__CustomPickledrR   r   s(    
 +,J#j]22r
   c                &    \         \        W4      33# )aT  For customizing object serialization in `__reduce__`.

Object states provided here are used as keyword arguments to the
`._rebuild()` class method.

Parameters
----------
states : dict
    Dictionary of object states to be serialized.

Returns
-------
result : tuple
    This tuple conforms to the return type requirement for `__reduce__`.
)custom_rebuildr3   )r   r7   s   &&r   custom_reducerU      s      N37999r
   c                T    V P                   V P                  r!VP                  ! R/ VB # )zaCustomized object deserialization.

This function is referenced internally by `custom_reduce()`.
r@   )r6   r7   r   )custom_pickledr   r7   s   &  r   rT   rT      s)    
 !%%~'<'<<<!&!!r
   c                    \         P                  ! 4       ;_uu_ 4       p\        V4      p VP                  V 4        RRR4       R#   \        P
                   d     RRR4       R# i ; i  + '       g   i     R# ; i)zmCheck if *obj* can be serialized.

Parameters
----------
obj : object

Returns
--------
can_serialize : bool
NTF)r   r   r   r   picklePicklingError)r   foutr   s   &  r   is_serialiabler\      sc     
t$	LL  
 ## 	 
		 
s-   A+AA+A(A+'A((A++A<	c                 H    \         P                  ! R \        V 4       R24      h)zPickling of z is unsupported)rY   rZ   type)r   s   &r   
_no_pickler_      s     


d3i[H
IIr
   c                D    \         P                  P                  V 4       V # )z1This is called on a type to disable pickling
    )r   disabled_typesadd)typs   &r   disable_picklingrd      s     ##C(Jr
   c                   B   a a ] tR t^t o]! 4       t V 3R ltRtVtV ;t	# )r   c                l   < \        V4      V P                  9   d   \        V4       \        SV `  V4      # r"   )r^   ra   r_   superreducer_override)r8   r   	__class__s   &&r   rh   NumbaPickler.reducer_override   s,    9+++sOw',,r
   r@   )
rB   rC   rD   rE   setra   rh   rI   rJ   __classcell__)ri   rL   s   @@r   r   r      s     UN- -r
   r   c                 "    V P                  4       # r"   )r=   )rQ   s   &r   _custom_reduce__custompickledrn      s    ::<r
   c                      a  ] tR t^t o Rt]P                  R 4       t]]P                  R 4       4       t	R t
R tRtV tR# )ReduceMixinzfA mixin class for objects that should be reduced by the NumbaPickler
instead of the standard pickler.
c                    \         hr"   NotImplementedErrorr<   s   &r   _reduce_statesReduceMixin._reduce_states   s    !!r
   c                    \         hr"   rr   )r   kwargss   &,r   r   ReduceMixin._rebuild   s
     "!r
   c                    V P                   # r"   )ri   r<   s   &r   _reduce_classReduceMixin._reduce_class   s    ~~r
   c                R    \        V P                  4       V P                  4       4      # r"   )rU   rz   rt   r<   s   &r   
__reduce__ReduceMixin.__reduce__   s!    T//143F3F3HIIr
   r@   N)rB   rC   rD   rE   rF   abcabstractmethodrt   rH   r   rz   r}   rI   rJ   rK   s   @r   rp   rp      sW     
 	" " "  "

J Jr
   rp   c                   F   a  ] tR t^t o RtR tR tR t]R 4       t	Rt
V tR# )PickleCallableByPatha  Wrap a callable object to be pickled by path to workaround limitation
in pickling due to non-pickleable objects in function non-locals.

Note:
- Do not use this as a decorator.
- Wrapped object must be a global that exist in its parent module and it
  can be imported by `from the_module import the_object`.

Usage:

>>> def my_fn(x):
>>>     ...
>>> wrapped_fn = PickleCallableByPath(my_fn)
>>> # refer to `wrapped_fn` instead of `my_fn`
c                    Wn         R # r"   _fn)r8   fns   &&r   r9   PickleCallableByPath.__init__   s    r
   c                &    V P                   ! V/ VB # r"   r   )r8   r   rw   s   &*,r   __call__PickleCallableByPath.__call__   s    xx(((r
   c                    \        V 4      P                  V P                  P                  V P                  P                  33# r"   )r^   r   r   rC   rB   r<   s   &r   r}   PickleCallableByPath.__reduce__   s0    Dz""TXX%8%8$((:K:K$MMMr
   c                P    V ! \        \        P                  V,          V4      4      # r"   )getattrsysmodules)r   modnamefn_paths   &&&r   r   PickleCallableByPath._rebuild  s    73;;w/9::r
   r   N)rB   rC   rD   rE   rF   r9   r   r}   rH   r   rI   rJ   rK   s   @r   r   r      s.     )N ; ;r
   r   )rF   r   r   r   copyregrY   numbar   llvmliter   r	   r   r   r    r1   r   r3   rO   rR   rU   rT   r\   r_   rd   CloudPicklerr   rn   dispatch_tableABCrp   r   r@   r
   r   <module>r      s     
 	     ,		, 	! !2(3 ~5 6:&"*J	-;++ 	- /L  N +J#'' J4; ;r
   