
    h                     2    S SK Jr  S SKJr   " S S\5      rg)    )OpRunExperimental)im2col_fastc                       \ rS rSrSS jrSrg)Im2Col
   Nc                    Uc  UR                   SS   Vs/ s H  nSPM     nnUc#  UR                   SS   Vs/ s H  nSPM     snS-  nUc  UR                   SS   Vs/ s H  nSPM     nn[        U5      [        U5      s=:X  a  S:X  a   O  O[        U[	        USS  5      XE5      S   4$ US   S:w  d  [        U5      [        U5      :w  a  [        U5      n/ n[        U5      n	[        U5       HX  u  p[        U5      U-
  U
-   nU	R                  X,   X,   S-
  US-
  -  -   5        UR                  X*   X*   S-
  US-
  -  -   5        MZ     Un[        U[	        USS  5      XE5      4$ s  snf s  snf s  snf )N      r   )	shapeminmaxr   tuplelenlist	enumerateappend)selfimgkernel_shape	dilationspadsstridessndnew_kernel_shape	new_shapeiddis                c/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/reference/ops/experimental/op_im2col.py_runIm2Col._run   s   $'IIabM2MqMI2<"yy}-}!A}-1D?"%))AB-0-Qq-G0y>S^0q0U<+;%<dLQOQQQ<1I#i. @YB!\*I!),&+a/  !1\5E5IaRSe4T!TU '' O|':q1u&EE - ,LC|AB'7!8$HJJ- 3-0s   E&E+E0 )NNN)__name__
__module____qualname____firstlineno__r!   __static_attributes__r#       r    r   r   
   s    Kr)   r   N)4onnx.reference.ops.experimental._op_run_experimentalr   .onnx.reference.ops_optimized.op_conv_optimizedr   r   r#   r)   r    <module>r,      s    S FK Kr)   