Ë
    cQêjGe ã            	       óþ  — d dl Z d dlZd dlZd dlZ	 d dlZd dlmZmZm	Z	 d dl
mZ  ej                  ej                  «       ej                  d«      k\  sJ ‚ ej                  e«      Zdd„Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zdd„Zd„ Zd„ Zd„ Z G d„ d«      Zd„ Z edk(  �rD e «       Z!ejE                  de!jF                  z   «       e!jH                  rejE                  de!jH                  z   «       ejE                  d«       ejK                   ejL                  e!jF                  «      e!jN                  e!jP                  e!jR                  e!jT                  «      Z+e!jH                  r€e+r}e!jX                  rB ejZ                  e+e!jH                  de!j\                  e!j^                  e!j`                  d¬«       n ejb                  e+e!jH                  «       ejE                  d«       yyyy# e$ r
  ed«      d‚w xY w) é    NzOsympy is required for symbolic shape inference. Install with: pip install sympy)ÚhelperÚnumpy_helperÚshape_inference)Úversionz1.8.0c                 ó–   — | j                   D �cg c]  }|j                  |k(  sŒ|‘Œ }}|rt        j                  |d   «      S |S c c}w ©Nr   )Ú	attributeÚnamer   Úget_attribute_value)ÚnodeÚ	attr_nameÚdefault_valueÚattrÚfounds        úk/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/onnxruntime/tools/symbolic_shape_infer.pyÚget_attributer      sH   € Ø"Ÿn™nÖG�d°·	±	¸YÓ0FŠTÐG€EÐGÙÜ×)Ñ)¨%°©(Ó3Ð3ØÐùò Hs
   �A¤Ac                 ó|   — t        | j                  d«      «      t        u rt        | | j                  d«      «      S d S )NÚvalue)ÚtypeÚ
WhichOneofÚstrÚgetattr©Údims    r   Úget_dim_from_protor      s4   € Ü48¸¿¹ÈÓ9PÓ4QÔUXÑ4XŒ7�3˜Ÿ™ wÓ/Ó0ÐbÐ^bÐbó    c                 ó:   — | j                  d«      }|dv sJ ‚|dk(  S )Nr   )Útensor_typeÚsequence_typer   )r   )Ú
type_protoÚcls_types     r   Úis_sequencer"   #   s,   € Ø×$Ñ$ WÓ-€HØÐ7Ñ7Ð7Ð7Ø�Ñ&Ð&r   c                 óÌ   — t        | «      rJ ‚| j                  j                  d«      r7| j                  j                  j                  D �cg c]  }t        |«      ‘Œ c}S y c c}w )NÚshape)r"   r   ÚHasFieldr$   r   r   )r    Úds     r   Úget_shape_from_type_protor'   )   sV   € Ü˜:Ô&Ð&Ð&Ø×Ñ×&Ñ& wÔ/Ø/9×/EÑ/E×/KÑ/K×/OÑ/OÖP¨!Ô" 1Õ%ÒPÐPàùò Qs   ÁA!c                 ó˜   — t        | «      r*| j                  j                  j                  j                  S | j                  j                  S ©N)r"   r   Ú	elem_typer   )r    s    r   Úget_elem_type_from_type_protor+   1   s:   € Ü�:ÔØ×'Ñ'×1Ñ1×=Ñ=×GÑGÐGà×%Ñ%×/Ñ/Ð/r   c                 óJ  — | j                   j                  d«      }|€y t        | j                   «      r\| j                   j                  j                  j                  d«      dk(  r)t        | j                   j                  j                  «      S y t        | j                   «      S )Nr   r   )r   r   r"   r   r*   r'   )Úvir!   s     r   Úget_shape_from_value_infor.   8   s{   € Ø�w‰w×!Ñ! 'Ó*€HØÐØÜ�2—7‘7ÔØ�7‰7× Ñ ×*Ñ*×5Ñ5°gÓ>À-ÒOÜ,¨R¯W©W×-BÑ-B×-LÑ-LÓMÐMàä(¨¯©Ó1Ð1r   c                 ó<   — t        j                  «       }| |_        |S r)   )ÚonnxÚValueInfoProtor
   )r
   r-   s     r   Úmake_named_value_infor2   E   s   € Ü	×	Ñ	Ó	€BØ€B„GØ€Ir   c                 ór   — | D �cg c]'  }|€d n t        |«      rt        |«      n
t        |«      ‘Œ) c}S c c}w r)   )Ú
is_literalÚintr   )Úsympy_shapeÚis     r   Úget_shape_from_sympy_shaper8   K   s/   € ØR]Ö^ÈQ�A�I‰D¬j¸¬m¤C¨¤FÄÀQÃÑHÒ^Ð^ùÒ^s   …,4c                 ó¸   — t        | «      t        t        j                  t        j                  t
        j                  fv xs t        | d«      xr | j                  S )NÚ	is_number)	r   r5   ÚnpÚint64Úint32ÚsympyÚIntegerÚhasattrr:   r   s    r   r4   r4   O   s?   € Ü�‹9œœbŸh™h¬¯©´%·-±-Ð@Ð@ÒqÄWÈSÐR]ÓE^ÒEpÐcf×cpÑcpÐqr   c                 ó4   — | |k  r| | k\  sJ ‚| dk\  r| S || z   S r   © )ÚaxisÚranks     r   Úhandle_negative_axisrE   S   s,   € Ø�$Š;˜4 D 5š=Ð(Ð(Ø˜1’9ˆ4Ð- $¨¡+Ð-r   c                 ó˜   — |xs g d¢}t        |«      t        k7  r|g}| j                  D ]  }|j                  |v sŒ|j                  c S  y )N)Ú r0   zai.onnx)r   ÚlistÚopset_importÚdomainr   )ÚmprJ   Úopsets      r   Ú	get_opsetrM   X   sN   € ØÒ.Ò.€FÜˆFƒ|”tÒØ�ˆØ—‘ò !ˆØ�<‰<˜6Ò!Ø—=‘=Ò ð!ð r   c                 ó¨   — t        | «      t        u rt        | «      dk(  sJ ‚| d   S t        | «      t        j                  u r| j                  «       S | S ©Né   r   )r   rH   Úlenr;   ÚndarrayÚitem©Úxs    r   Ú	as_scalarrV   c   sF   € ÜˆAƒw”$�Ü�1‹v˜Š{Ðˆ{Ø�‰tˆÜ	ˆa‹”B—J‘JÑ	Ø�v‰v‹xˆàˆr   c                 ó„   — t        | «      t        u r| S t        | «      t        j                  u rt        | «      S |r| €y | gS r)   )r   rH   r;   rR   )rU   Ú	keep_nones     r   Úas_listrY   m   s<   € ÜˆAƒw”$�ØˆÜ	ˆa‹”B—J‘JÑ	Ü�A‹wˆÙ	�q�yØàˆsˆ
r   c                 ór   — t        | «      t        u r#t        j                  d«      }| D ]  }||z  }Œ	 |S | }|S ©NrP   )r   rH   r>   r?   )rU   r   Úvs      r   Úsympy_reduce_productr]   x   sF   € ÜˆAƒw”$�Ü—‘˜aÓ ˆØò 	ˆAØ˜A‘I‰Eð	ð €Lð ˆØ€Lr   c                   óB  — e Zd Zd…d„Zd†d„Zd†d„Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd‡d„Zdˆd„Zd„ Zd„ Zd„ Zd„ Zd‰d„ZdŠd„Zd†d„Zd‹d„ZdŒd„Zd„ Zd„ Zd„ Zd„ Zd„ Z d „ Z!d!„ Z"d"„ Z#d#„ Z$d$„ Z%d%„ Z&d&„ Z'd'„ Z(d(„ Z)d)„ Z*d*„ Z+d+„ Z,d,„ Z-d-„ Z.d.„ Z/d/„ Z0d0„ Z1d1„ Z2d2„ Z3d3„ Z4d4„ Z5d5„ Z6d6„ Z7d7„ Z8d8„ Z9d9„ Z:d:„ Z;d;„ Z<d<„ Z=d=„ Z>d>„ Z?d?„ Z@d@„ ZAdA„ ZBdB„ ZCdC„ ZDdD„ ZEdE„ ZFdF„ ZGdG„ ZHdH„ ZIdI„ ZJdJ„ ZKdK„ ZLdL„ ZMdM„ ZNdN„ ZOdO„ ZPdP„ ZQdQ„ ZRdR„ ZSdS„ ZTdT„ ZUdU„ ZVdV„ ZWdW„ ZXdX„ ZYdY„ ZZdZ„ Z[d[„ Z\d\„ Z]d]„ Z^d^„ Z_d_„ Z`d`„ Zada„ Zbdb„ Zcdc„ Zddd„ Zede„ Zfdf„ Zgdg„ Zhdh„ Zidi„ Zjdj„ Zkdk„ Zldl„ Zmdm„ Zndn„ Zodo„ Zpdp„ Zqdq„ Zrdr„ Zsds„ Ztdt„ Zudu„ Zvdv„ Zwdw„ Zxdx„ Zydy„ Zzdz„ Z{d{„ Z|d|„ Z}d}„ Z~d~„ Zd‰d„Z€d€„ Z�d�„ Z‚dŒd‚„Zƒdƒ„ Z„e…d�d„„«       Z†y)ŽÚSymbolicShapeInferencec                 óú  — i d| j                   “d| j                  “d| j                  “d| j                  “d| j                  “d| j
                  “d| j                  “d| j                  “d	| j                  “d
| j                  “d| j                  “d| j                  “d| j                  “d| j                  “d| j                   “d| j                  “d| j                  “i d| j                   “d| j                   “d| j                  “d| j                   “d| j"                  “d| j                  “d| j$                  “d| j&                  “d| j(                  “d| j*                  “d| j                  “d| j                   “d| j                  “d| j                  “d | j                   “d!| j                  “d"| j                   “¥i d#| j,                  “d$| j.                  “d%| j0                  “d&| j2                  “d'| j4                  “d(| j                  “d)| j6                  “d*| j8                  “d+| j:                  “d,| j<                  “d-| j>                  “d.| j                  “d/| j@                  “d0| jB                  “d1| jD                  “d2| jF                  “d3| jH                  “¥i d4| jJ                  “d5| jL                  “d6| jN                  “d7| jN                  “d8| jN                  “d9| jP                  “d:| jR                  “d;| jT                  “d<| j                   “d=| jV                  “d>| jX                  “d?| jZ                  “d@| j\                  “dA| j                   “dB| j^                  “dC| j                   “dD| j`                  “¥i dE| jb                  “dF| jd                  “dG| jf                  “dH| jh                  “dI| jj                  “dJ| jl                  “dK| jn                  “dL| jp                  “dM| jr                  “dN| jt                  “dO| jv                  “dP| j                  “dQ| jx                  “dR| jz                  “dS| j|                  “dT| j~                  “dU| j~                  “¥i dV| j€                  “dW| j‚                  “dX| j„                  “dY| j†                  “dZ| jˆ                  “d[| jŠ                  “d\| jŒ                  “d]| jŽ                  “d^| j�                  “d_| j’                  “d`| j”                  “da| j”                  “db| j–                  “dc| j˜                  “dd| j˜                  “de| jš                  “df| jt                  “¥| jœ                  | jž                  | j                   | j¢                  | j¤                  | j†                  | j¦                  | j¨                  | j¨                  | jª                  | j¬                  | j®                  | j°                  dgœ¥| _Y        i dh| j                  “di| j´                  “dj| j¶                  “dk| j¸                  “dl| jº                  “dm| jº                  “dn| j¼                  “do| j¾                  “dp| jÀ                  “dq| j¸                  “dr| j¸                  “ds| jZ                  “dt| jÂ                  “du| jÄ                  “dv| jÄ                  “dw| jÄ                  “dx| jÄ                  “| _c        dy| _d        i | _e        i | _f        i | _g        || _h        || _i        || _j        || _k        dz| _l        || _m        y ){NÚAddÚ	AllReduceÚArrayFeatureExtractorÚAveragePoolÚBatchNormalizationÚCastÚCategoryMapperÚCompressÚConcatÚConcatFromSequenceÚConstantÚConstantOfShapeÚConvÚCumSumÚDivÚEinsumÚExpandÚEqualÚFloorÚGatherÚGatherElementsÚGatherNDÚIdentityÚIfÚLoopÚMatMulÚMatMulInteger16ÚMaxPoolÚMaxÚMemcpyFromHostÚMemcpyToHostÚMinÚMoEÚMulÚNonMaxSuppressionÚNonZeroÚOneHotÚPadÚRangeÚ
ReciprocalÚ	ReduceSumÚ
ReduceMeanÚ
ReduceProdÚReshapeÚResizeÚRoundÚScanÚScatterElementsÚ
SequenceAtÚSequenceInsertÚShapeÚSizeÚSliceÚSoftmaxCrossEntropyLossÚSoftmaxCrossEntropyLossInternalÚ!NegativeLogLikelihoodLossInternalÚSplitÚSplitToSequenceÚSqueezeÚSubÚTileÚTopKÚ	TransposeÚ	UnsqueezeÚWhereÚZipMapÚNegÚ	AttentionÚBiasAddÚBiasGeluÚBiasSplitGeluÚBranchwiseRMSNormÚDecoderMaskedMultiHeadAttentionÚDequantizeLinearÚDynamicSparseAttentionÚDynamicTimeWarpingÚEmbedLayerNormalizationÚFastGeluÚGatedRelativePositionBiasÚGatherBlockQuantizedÚGeluÚGemmFastGeluÚ
GemmFloat8Ú	GroupNormÚGroupNormalizationÚGroupQueryAttentionÚHyperConnectionPostMixÚHyperConnectionPreMixÚLayerNormalizationÚLongformerAttentionÚMatMulNBitsÚMultiHeadAttentionÚNhwcConvÚPackedAttentionÚPackedMultiHeadAttentionÚPagedAttentionÚSparsePagedAttentionÚPythonOpÚ
QLinearAddÚ
QLinearMulÚQuantizeLinearÚ	QuickGelu)Ú
ScaledSiLUÚRelativePositionBiasÚRemovePaddingÚRestorePaddingÚRotaryEmbeddingÚSimplifiedLayerNormalizationÚSkipGroupNormÚSkipLayerNormalizationÚ SkipSimplifiedLayerNormalizationÚSparseAttentionÚSparseAttentionIndexerÚPackedSparseAttentionIndexerÚUnfoldTensorÚ	embeddingÚ
bitwise_orÚdiagonalÚmax_pool2d_with_indicesÚmaxÚminÚmultinomialÚunfoldÚargmaxÚ
avg_pool2dÚ_adaptive_avg_pool2dÚnumpy_TÚnative_group_normÚupsample_nearest1dÚupsample_nearest2dÚupsample_nearest3dÚupsample_bicubic2dTr   )nÚ_infer_symbolic_compute_opsÚ_pass_on_shape_and_typeÚ_infer_ArrayFeatureExtractorÚ_infer_PoolÚ_infer_BatchNormalizationÚ_infer_CastÚ_infer_CategoryMapperÚ_infer_CompressÚ_infer_ConcatÚ_infer_ConcatFromSequenceÚ_infer_ConstantÚ_infer_ConstantOfShapeÚ_infer_ConvÚ_infer_EinsumÚ_infer_ExpandÚ_infer_GatherÚ_infer_GatherElementsÚ_infer_GatherNDÚ	_infer_IfÚ_infer_LoopÚ_infer_MatMulÚ_infer_MatMulIntegerÚ_infer_NonMaxSuppressionÚ_infer_NonZeroÚ_infer_OneHotÚ
_infer_PadÚ_infer_RangeÚ_infer_ReduceSumÚ_infer_ReduceMeanÚ_infer_ReduceProdÚ_infer_ReshapeÚ_infer_ResizeÚ_infer_ScanÚ_infer_ScatterElementsÚ_infer_SequenceAtÚ_infer_SequenceInsertÚ_infer_ShapeÚ_infer_SizeÚ_infer_SliceÚ_infer_SoftmaxCrossEntropyLossÚ_infer_SplitÚ_infer_SplitToSequenceÚ_infer_SqueezeÚ_infer_TileÚ_infer_TopKÚ_infer_TransposeÚ_infer_UnsqueezeÚ_infer_ZipMapÚ_infer_AttentionÚ_infer_BiasAddÚ_infer_BiasGeluÚ_infer_BiasSplitGeluÚ_infer_BranchwiseRMSNormÚ&_infer_DecoderMaskedMultiHeadAttentionÚ_infer_DequantizeLinearÚ_infer_DynamicSparseAttentionÚ_infer_DynamicTimeWarpingÚ_infer_EmbedLayerNormalizationÚ_infer_FastGeluÚ _infer_GatedRelativePositionBiasÚ_infer_GeluÚ_infer_GemmFastGeluÚ_infer_GemmFloat8Ú_infer_GroupNormÚ_infer_GroupQueryAttentionÚ_infer_HyperConnectionPostMixÚ_infer_HyperConnectionPreMixÚ_infer_LayerNormalizationÚ_infer_LongformerAttentionÚ_infer_MatMulNBitsÚ_infer_MultiHeadAttentionÚ_infer_NhwcConvÚ_infer_PackedAttentionÚ_infer_PackedMultiHeadAttentionÚ_infer_PagedAttentionÚ_infer_PythonOpÚ_infer_QLinearBinaryÚ_infer_QuantizeLinearÚ_infer_ScaledSiLUÚ_infer_RelativePositionBiasÚ_infer_RemovePaddingÚ_infer_RestorePaddingÚ_infer_RotaryEmbeddingÚ_infer_SkipGroupNormÚ_infer_SkipLayerNormalizationÚ_infer_SparseAttentionÚ_infer_SparseAttentionIndexerÚ#_infer_PackedSparseAttentionIndexerÚ_infer_UnfoldTensorÚdispatcher_Ú_infer_aten_bitwise_orÚ_infer_aten_diagonalÚ_infer_aten_pool2dÚ_infer_aten_minmaxÚ_infer_aten_multinomialÚ_infer_aten_unfoldÚ_infer_aten_argmaxÚ_infer_aten_group_normÚ_infer_aten_upsampleÚaten_op_dispatcher_Úrun_Úsuggested_merge_Úsymbolic_dims_Úinput_symbols_Úauto_merge_Úguess_output_rank_Úverbose_Úint_max_Úsubgraph_id_Úprefix_)ÚselfÚint_maxÚ
auto_mergeÚguess_output_rankÚverboseÚprefixs         r   Ú__init__zSymbolicShapeInference.__init__ƒ   s+
  € ðu
Ø�4×3Ñ3ðu
à˜×5Ñ5ðu
ð $ T×%FÑ%Fðu
ð ˜4×+Ñ+ð	u
ð
 ! $×"@Ñ"@ðu
ð �D×$Ñ$ðu
ð ˜d×8Ñ8ðu
ð ˜×,Ñ,ðu
ð �d×(Ñ(ðu
ð ! $×"@Ñ"@ðu
ð ˜×,Ñ,ðu
ð ˜t×:Ñ:ðu
ð �D×$Ñ$ðu
ð �d×2Ñ2ðu
ð �4×3Ñ3ðu
ð  �d×(Ñ(ð!u
ð" �d×(Ñ(ñ#u
ð$ �T×5Ñ5ð%u
ð& �T×5Ñ5ð'u
ð( �d×(Ñ(ð)u
ð* ˜d×8Ñ8ð+u
ð, ˜×,Ñ,ð-u
ð. ˜×4Ñ4ð/u
ð0 �$—.‘.ð1u
ð2 �D×$Ñ$ð3u
ð4 �d×(Ñ(ð5u
ð6 ˜t×8Ñ8ð7u
ð8 �t×'Ñ'ð9u
ð: �4×3Ñ3ð;u
ð< ˜d×:Ñ:ð=u
ð> ˜D×8Ñ8ð?u
ð@ �4×3Ñ3ðAu
ðB �4×/Ñ/ðCu
ðD �4×3Ñ3òEu
ðF   ×!>Ñ!>ðGu
ðH �t×*Ñ*ðIu
ðJ �d×(Ñ(ðKu
ðL �4—?‘?ðMu
ðN �T×&Ñ&ðOu
ðP ˜$×6Ñ6ðQu
ðR ˜×.Ñ.ðSu
ðT ˜$×0Ñ0ðUu
ðV ˜$×0Ñ0ðWu
ðX �t×*Ñ*ðYu
ðZ �d×(Ñ(ð[u
ð\ �T×1Ñ1ð]u
ð^ �D×$Ñ$ð_u
ð` ˜t×:Ñ:ðau
ðb ˜$×0Ñ0ðcu
ðd ˜d×8Ñ8ðeu
ðf �T×&Ñ&ògu
ðh �D×$Ñ$ðiu
ðj �T×&Ñ&ðku
ðl & t×'JÑ'Jðmu
ðn .¨t×/RÑ/Rðou
ðp 0°×1TÑ1Tðqu
ðr �T×&Ñ&ðsu
ðt ˜t×:Ñ:ðuu
ðv �t×*Ñ*ðwu
ðx �4×3Ñ3ðyu
ðz �D×$Ñ$ð{u
ð| �D×$Ñ$ð}u
ð~ ˜×.Ñ.ðu
ð@ ˜×.Ñ.ðAu
ðB �T×5Ñ5ðCu
ðD �d×(Ñ(ðEu
ðF �4×3Ñ3ðGu
ðJ ˜×.Ñ.òKu
ðL �t×*Ñ*ðMu
ðN ˜×,Ñ,ðOu
ðP ˜T×6Ñ6ðQu
ðR   ×!>Ñ!>ðSu
ðT .¨t×/ZÑ/ZðUu
ðV  × <Ñ <ðWu
ðX % d×&HÑ&HðYu
ðZ ! $×"@Ñ"@ð[u
ð\ & t×'JÑ'Jð]u
ð^ ˜×,Ñ,ð_u
ð` (¨×)NÑ)Nðau
ðb # D×$6Ñ$6ðcu
ðd �D×$Ñ$ðeu
ðf ˜D×4Ñ4ðgu
ðh ˜$×0Ñ0ðiu
ðj ˜×.Ñ.ðku
ðl ! $×"7Ñ"7òmu
ðn " 4×#BÑ#Bðou
ðp % d×&HÑ&Hðqu
ðr $ T×%FÑ%Fðsu
ðt ! $×"@Ñ"@ðuu
ðv " 4×#BÑ#Bðwu
ðx ˜4×2Ñ2ðyu
ðz ! $×"@Ñ"@ð{u
ð| ˜×,Ñ,ð}u
ð~ ˜t×:Ñ:ðu
ð@ '¨×(LÑ(LðAu
ðB ˜d×8Ñ8ðCu
ðD # D×$>Ñ$>ðEu
ðF ˜×,Ñ,ðGu
ðH ˜$×3Ñ3ðIu
ðJ ˜$×3Ñ3ðKu
ðL ˜d×8Ñ8ðMu
ðN ˜×-Ñ-ñOu
ðP ×0Ñ0Ø$(×$DÑ$DØ!×6Ñ6Ø"×8Ñ8Ø#×:Ñ:Ø,0×,JÑ,JØ!×6Ñ6Ø&*×&HÑ&HØ04×0RÑ0RØ#×:Ñ:Ø&*×&HÑ&HØ,0×,TÑ,TØ ×4Ñ4òiu
ˆÔðl$
Ø˜×+Ñ+ð$
à˜$×5Ñ5ð$
ð ˜×1Ñ1ð$
ð & t×'>Ñ'>ð	$
ð
 �4×*Ñ*ð$
ð �4×*Ñ*ð$
ð ˜4×7Ñ7ð$
ð �d×-Ñ-ð$
ð �d×-Ñ-ð$
ð ˜$×1Ñ1ð$
ð # D×$;Ñ$;ð$
ð �t×,Ñ,ð$
ð   ×!<Ñ!<ð$
ð ! $×";Ñ";ð$
ð ! $×";Ñ";ð$
ð  ! $×";Ñ";ð!$
ð" ! $×";Ñ";ð#$
ˆÔ ð& ˆŒ	Ø "ˆÔØ ˆÔØ ˆÔØ%ˆÔØ"3ˆÔØˆŒØˆŒØˆÔØˆ�r   c                 ó2  ‡ — t        ˆ fd„|D «       «      sJ ‚t        |«      }‰ j                  j                  «       D ],  \  }}||v sŒ|j	                  |«       |j                  |«       Œ. d }|D ]  }t        |«      sŒ|} n |€|D ]  }|‰ j                  v sŒ|} n |€3|D ].  }t        ‰ j                  |   «      t        j                  u sŒ,|} n |€…‰ j                  dkD  r%t        j                  ddj                  |«      «       t!        |«      }|D �cg c]  }t#        |«      ‘Œ }}||j%                  t'        |«      «         }|j	                  |«       |D ]“  }||k(  rŒ	t        |«      r$t        |«      rt)        |«      t)        |«      k(  sJ ‚t        |«      rt)        |«      n|‰ j                  |<   ‰ j                  j                  «       D ]  \  }}||k(  sŒ|‰ j                  |<   Œ Œ• |r‰ j*                  r‰ j-                  «        y y y c c}w )Nc              3   óz   •K  — | ]2  }t        |«      t        u xr |‰j                  v xs t        |«      –— Œ4 y ­wr)   )r   r   rK  r4   )Ú.0ÚsrS  s     €r   ú	<genexpr>z>SymbolicShapeInference._add_suggested_merge.<locals>.<genexpr>  s6   øè ø€ ÒcÐVW”D˜“Gœs�NÒ? q¨D×,?Ñ,?Ð'?ÒQÄJÈqÃMÓQÑcùs   ƒ8;r   z9Potential unsafe merge between symbolic expressions: (%s)ú,)ÚallÚsetrJ  ÚitemsÚremoveÚaddr4   rL  r   rK  r>   ÚSymbolrO  ÚloggerÚwarningÚjoinrH   rQ   ÚindexrÙ   r5   rM  Ú_apply_suggested_merge)	rS  ÚsymbolsÚapplyÚkr\   Úmap_tor]  Úsymbols_listÚlenss	   `        r   Ú_add_suggested_mergez+SymbolicShapeInference._add_suggested_merge  s  ø€ ÜÓcÐ[bÔcÔcÐcÐcÜ�g“,ˆØ×)Ñ)×/Ñ/Ó1ò 	‰DˆAˆqØ�GŠ|Ø—‘˜qÔ!Ø—‘˜A•ð	ð ˆàò 	ˆAÜ˜!�}Ø�Ùð	ð
 ˆ>Øò �Ø˜×+Ñ+Ò+Ø�FÙðð ˆ>Øò �Ü˜×+Ñ+¨AÑ.Ó/´5·<±<Ò?Ø�FÙðð
 ˆ>Ø�}‰}˜qÒ Ü—‘ÐZÐ\_×\dÑ\dÐelÓ\mÔnÜ ›=ˆLØ$0Ö1˜q”C˜•FÐ1ˆDÐ1Ø! $§*¡*¬S°«YÓ"7Ñ8ˆFØ�N‰N˜6Ô"àò 	6ˆAØ�FŠ{ØÜ˜&Ô!¤j°¤mÜ˜6“{¤c¨!£fÒ,Ð,Ð,Ü6@ÀÔ6H¤s¨6¤{ÈfˆD×!Ñ! !Ñ$Ø×-Ñ-×3Ñ3Ó5ò 6‘��1Ø˜“6Ø/5�D×)Ñ)¨!Ò,ñ6ð	6ñ �T×%Ò%Ø×'Ñ'Õ)ð &ˆ5ùò 2s   ÄHc                 óÞ  — | j                   sy t        | j                  j                  j                  «      |rg n(t        | j                  j                  j
                  «      z   D ]†  }|j                  j                  j                  j                  D ]W  }|j                  | j                   v sŒ| j                   |j                     }t        |«      rt        |«      |_        ŒQ||_
        ŒY Œˆ y r)   )rJ  rH   Úout_mp_ÚgraphÚinputÚ
value_infor   r   r$   r   Ú	dim_paramr4   r5   Ú	dim_value)rS  Úgraph_input_onlyr7   r&   r\   s        r   rj  z-SymbolicShapeInference._apply_suggested_mergeE  s¸   € Ø×$Ò$ØÜ�d—l‘l×(Ñ(×.Ñ.Ó/Ñ9I±2ÌtÐTX×T`ÑT`×TfÑTf×TqÑTqÓOrÑsò 	(ˆAØ—V‘V×'Ñ'×-Ñ-×1Ñ1ò (�Ø—;‘; $×"7Ñ"7Ò7Ø×-Ñ-¨a¯k©kÑ:�AÜ! !”}Ü&)¨!£f˜�à&'˜�ñ(ñ	(r   c                 óH  — t        j                  «       | _        | j                  j                  |«       t	        | j                  j
                  j                  «      D �ci c]  }|j                  |“Œ c}| _        | j                  j
                  j                  D �ci c]  }|j                  |“Œ c}| _
        t	        | j                  j
                  j                  «      D �ci c]  }|j                  |“Œ c}| _        | j                  j                  | j                  j
                  j                  D �ci c]K  }|j                  t        j                  |j                  |j                  t	        |j                   «      «      “ŒM c}«       y c c}w c c}w c c}w c c}w r)   )r0   Ú
ModelProtors  ÚCopyFromrH   rt  ru  r
   Úgraph_inputs_ÚinitializerÚinitializers_Ú	known_vi_Úupdater   Úmake_tensor_value_infoÚ	data_typeÚdims)rS  Úin_mpr7   s      r   Ú_preprocessz"SymbolicShapeInference._preprocessQ  s"  € Ü—‘Ó(ˆŒØ�‰×Ñ˜eÔ$Ü15°d·l±l×6HÑ6H×6NÑ6NÓ1OÖP¨A˜aŸf™f a™iÒPˆÔØ15·±×1CÑ1C×1OÑ1OÖP¨A˜aŸf™f a™iÒPˆÔÜ-1°$·,±,×2DÑ2D×2JÑ2JÓ-KÖL¨˜!Ÿ&™& !™)ÒLˆŒØ�‰×Ñð Ÿ™×+Ñ+×7Ñ7öàð —‘œ×5Ñ5°a·f±f¸a¿k¹kÌ4ÐPQ×PVÑPVË<ÓXÑXòõ	
ùò QùÚPùÚLùòs   Á FÂFÃ%FÄ8AFc                 óú  ‡‡— t        d„ ‰D «       «      sî| j                  rát        t        ‰«      «      }|D �cg c]  }t	        |«      ‘Œ }}t        |«      dk  sJ ‚t        |«      dk(  rb|j                  d«      }| j                  dkD  r*t        j                  d|d | ||dz   d  z   › d||   › �«       | j                  |d¬«       ||   S | j                  dkD  r!t        j                  d|dd  › d|d   › �«       ‰d   S y t        ˆfd	„‰D «       «      r‰d   S ‰D �cg c]  }| j                  j                  ||«      ‘Œ  c}Št        ˆfd
„‰D «       «      r‰d   | j                  v sJ ‚‰d   S y c c}w c c}w )Nc              3   ó>   K  — | ]  }t        |«      t        u –— Œ y ­wr)   )r   r   ©r\  r&   s     r   r^  z8SymbolicShapeInference._merge_symbols.<locals>.<genexpr>_  s   è ø€ Ò0 a”4˜“7œc”>Ñ0ùs   ‚rP   r   zdim z has been merged with value F©Úallow_broadcastz has been merged with dim c              3   ó.   •K  — | ]  }|‰d    k(  –— Œ y­w©r   NrB   ©r\  r&   r„  s     €r   r^  z8SymbolicShapeInference._merge_symbols.<locals>.<genexpr>r  s   øè ø€ Ò* ˆq�D˜‘G�|Ñ*ùó   ƒc              3   ó.   •K  — | ]  }|‰d    k(  –— Œ y­wr�  rB   )r\  r&   Úmergeds     €r   r^  z8SymbolicShapeInference._merge_symbols.<locals>.<genexpr>u  s   øè ø€ Ò. !ˆq�F˜1‘I�~Ñ.ùr�  )r`  rM  rH   ra  r4   Úsumri  rO  rf  ÚdebugÚ_check_merged_dimsrJ  ÚgetrK  )rS  r„  Úunique_dimsr&   Úis_intÚint_dimr‘  s    `    @r   Ú_merge_symbolsz%SymbolicShapeInference._merge_symbols^  s›  ù€ ÜÑ0¨4Ô0Ô0Ø×ÒÜ"¤3 t£9›o�Ø1<Ö=¨Aœ* Q�-Ð=�Ð=Ü˜6“{ aÒ'Ð'Ð'Ü�v“; !Ò#Ø$Ÿl™l¨1›o�GØ—}‘} qÒ(ÜŸ™Ø" ;¨x°Ð#8¸;ÀwÐQRÁ{À}Ð;UÑ#UÐ"VÐVrÐs~ð  @Gñ  tHð  sIð  Jôð ×+Ñ+¨KÈÐ+ÔOØ& wÑ/Ð/à—}‘} qÒ(ÜŸ™ t¨K¸¸¨OÐ+<Ð<VÐWbÐcdÑWeÐVfÐ%gÔhØ ™7�NàÜÓ* TÔ*Ô*Ø˜‘7ˆNØ;?Ö@°a�$×'Ñ'×+Ñ+¨A¨qÕ1Ò@ˆÜÓ. vÔ.Ô.Ø˜!‘9 × 3Ñ 3Ñ3Ð3Ð3Ø˜!‘9Ðàùò/ >ùò$ As   ¹E3Ä #E8c                 ó¸  — g }t        |«      }t        |«      }t        ||«      }t        |«      D ]§  }||k  r||dz
  |z
     nd}||k  r||dz
  |z
     nd}	|dk(  s||	k(  r|	}
no|	dk(  r|}
ng| j                  ||	g«      }
|
sR| j                  r| j                  ||	gd¬«       n0t        j                  dt        |«      z   dz   t        |	«      z   «       |
g|¢}Œ© |S )NrP   T©rl  zunsupported broadcast between ú )	rQ   rØ   Úranger™  rM  rq  rf  rg  r   )rS  Úshape1Úshape2Ú	new_shapeÚrank1Úrank2Únew_rankr7   Údim1Údim2Únew_dims              r   Ú_broadcast_shapesz(SymbolicShapeInference._broadcast_shapes|  s   € Øˆ	Ü�F“ˆÜ�F“ˆÜ�u˜eÓ$ˆÜ�x“ò 	.ˆAØ,-°ªI�6˜% !™) a™-Ò(¸1ˆDØ,-°ªI�6˜% !™) a™-Ò(¸1ˆDØ�qŠy˜D DšLØ‘Ø˜’Ø‘à×-Ñ-¨t°T¨lÓ;�Ùð ×'Ò'Ø×1Ñ1°4¸°,ÀdÐ1ÕKäŸ™Ð'GÌ#ÈdË)Ñ'SÐVYÑ'YÔ\_Ð`dÓ\eÑ'eÔfØ Ð- 9Ð-‰Ið#	.ð$ Ðr   c                 óÔ   — |j                   |   }|| j                  v r| j                  |   }t        |«      S || j                  v sJ ‚t	        | j                  |   j
                  «      S r)   )ru  r€  r.   r  rH   r„  ©rS  r   Úidxr
   r-   s        r   Ú
_get_shapez!SymbolicShapeInference._get_shape•  sd   € Ø�z‰z˜#‰ˆØ�4—>‘>Ñ!Ø—‘ Ñ%ˆBÜ,¨RÓ0Ð0à˜4×-Ñ-Ñ-Ð-Ð-Ü˜×*Ñ*¨4Ñ0×5Ñ5Ó6Ð6r   c                 ó
  — |t        |j                  «      dz
  kD  ry |j                  |   }|| j                  v r| j                  |   }t        |«      S || j                  v r"t        | j                  |   j                  «      S y r[   )rQ   ru  r€  r.   r  rH   r„  r©  s        r   Ú_try_get_shapez%SymbolicShapeInference._try_get_shapež  sy   € Ø”�T—Z‘Z“ 1Ñ$Ò$ØØ�z‰z˜#‰ˆØ�4—>‘>Ñ!Ø—‘ Ñ%ˆBÜ,¨RÓ0Ð0Ø�4×%Ñ%Ñ%Ü˜×*Ñ*¨4Ñ0×5Ñ5Ó6Ð6Ør   c                 ó8   — t        | j                  ||«      «      S r)   )rQ   r«  )rS  r   rª  s      r   Ú_get_shape_rankz&SymbolicShapeInference._get_shape_rank©  s   € Ü�4—?‘? 4¨Ó-Ó.Ð.r   c                 ó  — g }| j                  ||«      D ]o  }t        |«      t        u rE|j                  || j                  v r| j                  |   nt        j                  |dd¬«      «       ŒYd |usJ ‚|j                  |«       Œq |S )NT©ÚintegerÚnonnegative)r«  r   r   ÚappendrK  r>   re  )rS  r   rª  r6   r&   s        r   Ú_get_sympy_shapez'SymbolicShapeInference._get_sympy_shape¬  sŒ   € ØˆØ—‘  sÓ+ò 		&ˆAÜ�A‹wœ#‰~Ø×"Ñ"à˜D×/Ñ/Ñ/ð ×'Ñ'¨Ò*äŸ™ a°À4ÔHõð  1‘}Ð$�}Ø×"Ñ" 1Õ%ð		&ð Ðr   c                 óÚ   — |j                   |   }|| j                  v s|| j                  v sJ ‚|| j                  v r| j                  |   S t        j                  | j                  |   «      S r)   )ru  Úsympy_data_r  r   Úto_array©rS  r   rª  r
   s       r   Ú
_get_valuez!SymbolicShapeInference._get_valueº  sk   € Ø�z‰z˜#‰ˆØ�t×'Ñ'Ñ'¨4°4×3EÑ3EÑ+EÐEÐEØ)-°×1AÑ1AÑ)Aˆt×Ñ Ñ%ÐvÄ|×G\ÑG\Ð]a×]oÑ]oÐptÑ]uÓGvÐvr   c                 ó°   — |t        |j                  «      k\  ry |j                  |   }|| j                  v s|| j                  v r| j	                  ||«      S y r)   )rQ   ru  r·  r  rº  r¹  s       r   Ú_try_get_valuez%SymbolicShapeInference._try_get_value¿  sQ   € Ø”#�d—j‘j“/Ò!ØØ�z‰z˜#‰ˆØ�4×#Ñ#Ñ# t¨t×/AÑ/AÑ'AØ—?‘? 4¨Ó-Ð-Ør   c                 ól  — t        |«      D ]¦  \  }}t        |«      rŒt        |«      t        k7  sŒ%t        |«      }|| j                  v r9t        | j                  |   «      rŒW| j
                  | j                  |      ||<   Œwt        |«      | j
                  vsŒ�|| j
                  t        |«      <   Œ¨ y r)   )Ú	enumerater4   r   r   rJ  rK  )rS  Únew_sympy_shaper7   r¦  Ústr_dims        r   Ú_update_computed_dimsz,SymbolicShapeInference._update_computed_dimsÇ  s¥   € Ü# OÓ4ò 
	D‰JˆAˆwÜ˜gÕ&¬4°«=¼CÓ+?Ü˜g›,�Ø˜d×3Ñ3Ñ3Ü! $×"7Ñ"7¸Ñ"@ÔAØ Ø)-×)<Ñ)<¸T×=RÑ=RÐSZÑ=[Ñ)\�O AÒ&ô ˜7“|¨4×+>Ñ+>Ò>Ø<C˜×+Ñ+¬C°«LÒ9ñ
	Dr   c                 ó  — |j                   dv }|�s-g }t        | j                  «      dk\  rP|j                   dv rB|j                  D �cg c]-  }|| j                  v r|| j
                  vr| j                  |   ‘Œ/ }}|j                   dv �r|j                  d   | j                  v rí| j                  |j                  d      }t        t        |j                  «      «      }t        t        |j                  «      «      D �cg c]  }| j                  ||«      ‘Œ }}t        ||j                   dv rdndz
  «      D ]W  }	|D �
cg c](  }
t        |
«      |	z   |k\  sŒ|
t        |
«      |z
  |	z      ‘Œ* }}
t        |«      dkD  sŒE| j                  |d	¬
«       ŒY t        j                  |gd|j                  D �cg c]  }|sŒ| j                  |   ‘Œ c}|j                  D �cg c]  }t!        |«      ‘Œ c}|«      }| j"                  j$                  j'                  |«       t)        j*                  | j"                  «      | _        t        t        |j                  «      «      D ]�  }|j                  |   }|sŒ| j                  j$                  j,                  j/                  «       }|s3|j'                  | j"                  j$                  j                  |   «       n||_        || j                  |<   Œ� y c c}w c c}w c c}
w c c}w c c}w )N)+rx   ry   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Ð   rÑ   rÒ   rÍ   rÃ   rÄ   é	   )r    ©	ra   rœ   r‚   ro   rz   ÚMatMulIntegerr{   r¡   ÚSumr   ©rz   rÅ  r{   é   rP   TrŠ  Útmp)Úop_typerM   rs  ru  r  r}  Úoutputr€  rQ   r'   r   r�  r«  r”  r   Ú
make_graphr2   Útmp_mp_rt  r|  r   Úinfer_shapesrv  rd  r
   )rS  r   Ú
skip_inferÚinitializersr
   r-   Úout_rankr7   Ú	in_shapesr&   r]  Úin_dimsÚ	tmp_graphÚi_oÚos                  r   Ú_onnx_infer_single_nodez.SymbolicShapeInference._onnx_infer_single_nodeÔ  s±  € à—\‘\ð ,&
ð ,
ˆ
ò\ ð ˆLÜ˜$Ÿ,™,Ó'¨1Ò,°$·,±,À-Ñ2Oð !%§
¡
ö àØ × 2Ñ 2Ñ2°tÀ4×CUÑCUÑ7Uð ×&Ñ& tÓ,ð �ð  ð �|‰|ð 
 ò 
ð —;‘;˜q‘> T§^¡^Ñ3ØŸ™¨¯©°A©Ñ7�BÜ"Ô#<¸R¿W¹WÓ#EÓF�HÜCHÌÈTÏZÉZËÓCYÖ Z¸a §¡°°qÕ!9Ð Z�IÐ ZÜ"Ø ¨¯©Ð9gÑ)g¡AÐmnÑoóò S˜ð FOÖ"iÀÔRUÐVWÓRXÐ[\ÑR\Ð`hÓRh 1¤S¨£V¨hÑ%6¸Ñ%:Ó#;Ð"i˜Ð"iÜ˜w›<¨!Ó+Ø ×3Ñ3°GÈTÐ3ÕRðSô ×)Ñ)Ø�ØØ,0¯J©JÖ< qº!�—‘ Ó"Ò<Ø37·;±;Ö?¨aÔ& qÕ)Ò?ØóˆIð �L‰L×Ñ×'Ñ'¨	Ô2ä*×7Ñ7¸¿¹ÓEˆDŒLäœ˜TŸ[™[Ó)Ó*ò 	'ˆCØ—‘˜CÑ ˆAÚØ—\‘\×'Ñ'×2Ñ2×6Ñ6Ó8�Ù!Ø—K‘K §¡× 2Ñ 2× 9Ñ 9¸#Ñ >Õ?à�B”GØ$&�—‘˜qÒ!ñ	'ùòS ùò( ![ùò #jùò =ùÚ?s*   Á2K.Ä K3Å K8ÅK8Æ3K=Æ;K=ÇLc                 óä	  — | j                   dkD  r?t        j                  d|j                  › d|j                  d   › d|j
                  › �«       t        |j                  «      t        |j                  «      z   D �ch c]  }|j                  ’Œ }}| j                  D �ch c]	  }||vsŒ|’Œ }}t        j                  t        |j                  «      dt        |j                  «      |D �cg c]  }| j                  |   ‘Œ c}z   |j                  D �cg c]  }t        |j                  «      ‘Œ c}«      }	|	j                  j                  | j                  j                   j                  D �cg c]  }|j                  |v sŒ|‘Œ c}«       |	j                  j                  |j                  «       | j"                  j                   j%                  |	«       t'        | j(                  | j*                  | j,                  | j                   | j.                  dz   t1        | j2                  «      z   ¬«      }
|r| xj2                  d	z  c_        |
j5                  | j"                  «       | j6                  j9                  «       |
_        |
j:                  r6|
j=                  | j>                  j9                  «       «       |
j:                  rŒ6|
jA                  «        |r`|jC                  d
«       |j                  j                  |
j                  j                   j                  d tE        |j                  «       «       |jC                  d«       |j                  j                  |
j                  j                   j                  «       |jC                  d«       |jF                  j                  |
j                  j                   jF                  «       |jC                  d«       |j                  j                  |
j                  j                   j                  «       |
j                  j                   j                  D �cg c]  }tI        |«      ‘Œ }}|D ��ch c]/  }|sŒ|D ]%  }tK        |«      t0        u sŒ|| jL                  vsŒ$|’Œ' Œ1 }}}i }|D ]$  }||
jL                  v sJ ‚|
jL                  |   ||<   Œ& | jL                  jO                  |«       |
S c c}w c c}w c c}w c c}w c c}w c c}w c c}}w )NrÈ  zInferencing subgraph of node z with output(r   z...): rÉ  Ú_)rX  rP   ru  rË  rv  r   )(rO  rf  r“  r
   rË  rÊ  rH   r~  ru  r€  r   rÌ  r   r2   Úextendrs  rt  rÍ  r|  r_   rP  rM  rN  rR  r   rQ  r†  rJ  ÚcopyrI  Ú_infer_implr·  Ú_update_output_from_viÚ
ClearFieldrQ   rv  r.   r   rK  r�  )rS  r   ÚsubgraphÚuse_node_inputÚinc_subgraph_idr7   Úsubgraph_inputsr
   Úsubgraph_implicit_inputrÔ  Úsymbolic_shape_inferencerÖ  Úsubgraph_shapesr]  r&   Úsubgraph_new_symbolic_dimsÚnew_dimss                    r   Ú_onnx_infer_subgraphz+SymbolicShapeInference._onnx_infer_subgraph?  s  € Ø�=‰=˜1ÒÜ�L‰LÐ8¸¿¹¸À=ÐQU×Q\ÑQ\Ð]^ÑQ_ÐP`Ð`fÐgk×gsÑgsÐftÐuÔvô
 ,0°×0DÑ0DÓ+EÌÈXÏ^É^ÓH\Ñ+\Ö] a˜1Ÿ6›6Ð]ˆÐ]Ø48·N±NÖ"b¨DÀdÐRaÒFa¢4Ð"bÐÐ"bÜ×%Ñ%Ü�—‘ÓØÜ�—‘Ó Ð?VÖ#W¸! D§N¡N°1Ó$5Ò#WÑWØ4<·O±OÖD¨qÔ" 1§6¡6Õ*ÒDó	
ˆ	ð 	×Ñ×$Ñ$°·±×1CÑ1C×1OÑ1OÖ%u¨AÐST×SYÑSYÐ]tÒSt¢aÒ%uÔvØ×Ñ×$Ñ$ X×%9Ñ%9Ô:Ø�‰×Ñ×#Ñ# IÔ.ä#9Ø�M‰MØ×ÑØ×#Ñ#Ø�M‰MØ—<‘< #Ñ%¬¨D×,=Ñ,=Ó(>Ñ>ô$
Ð ñ Ø×Ò Ñ"Õà ×,Ñ,¨T¯\©\Ô:Ø48×4IÑ4I×4NÑ4NÓ4PÐ Ô1Ø&×+Ò+Ø$×0Ñ0°×1AÑ1A×1FÑ1FÓ1HÔIð '×+Ó+à ×7Ñ7Ô9Ùà×Ñ Ô(Ø�N‰N×!Ñ!Ð":×"BÑ"B×"HÑ"H×"NÑ"NÐO`ÔQTÐUY×U_ÑU_ÓQ`Ð"aÔbØ×Ñ˜HÔ%Ø�‰×ÑÐ7×?Ñ?×EÑE×LÑLÔMØ×Ñ˜LÔ)Ø×Ñ×"Ñ"Ð#;×#CÑ#C×#IÑ#I×#TÑ#TÔUØ×Ñ˜FÔ#Ø�‰×ÑÐ5×=Ñ=×CÑC×HÑHÔIàAY×AaÑAa×AgÑAg×AnÑAnÖo¸AÔ4°QÕ7ÐoˆÐoà&÷&
Øª!°Qò&
Ø01¼$¸q»'ÄSº.ÈQÐVZ×ViÑViÒMiŠAð&
Øð&
Ð"ñ &
ð ˆØ+ò 	EˆAØÐ0×?Ñ?Ñ?Ð?Ð?Ø2×AÑAÀ!ÑDˆH�QŠKð	Eð 	×Ñ×"Ñ" 8Ô,Ø'Ð'ùò_ ^ùÚ"bùò $XùÚDùâ%uùò< pùó&
sH   Á<SÂ	SÂ)SÃ+SÄSÅ-S"ÆS"Ð6S'ÑS,ÑS,Ñ.S,Ñ=S,c                 óH  — d„ }t        t        |j                  «      «      D �cg c]  }| j                  ||«      ‘Œ }}t	        d„ |D «       «      r¯t        |«      D ]¡  \  }}t        |«      t        j                  urŒ"t        |j                  «      dkD  rd }n`t        |j                  «      dk(  r ||j                  «       |«      }n0t        |j                  «      dk(  sJ ‚|D �	cg c]  }	 ||	|«      ‘Œ }}	|||<   Œ£ |D �cg c]  }t        |t        «      rt        |«      nd‘Œ! }
}t        |
«      }|dk\  rY|rWt        |«      D ]I  \  }}|€Œ	t        |t        «      r(t        |«      |k  r	||z  ||<   Œ0t        |«      |k(  rŒ?J ‚|g|z  ||<   ŒK |S c c}w c c}	w c c}w )Nc                 ó0   — |r
| dz  dk7  r| S t        | «      S rO   )r5   )r   Úallow_float_valuess     r   Úint_or_floatzESymbolicShapeInference._get_int_or_float_values.<locals>.int_or_floatx  s   € á! e¨a¡i°1¢nØ�Ü�u“:Ðr   c              3   ó$   K  — | ]  }|d u–— Œ
 y ­wr)   rB   ©r\  r\   s     r   r^  zBSymbolicShapeInference._get_int_or_float_values.<locals>.<genexpr>  ó   è ø€ Ò- ˆq˜Œ}Ñ-ùó   ‚rP   r   )r�  rQ   ru  r¼  r`  r¾  r   r;   rR   r$   rS   Ú
isinstancerH   rØ   )rS  r   Ú	broadcastrë  rì  r7   Úvaluesr\   Únew_vÚvvÚ
values_lenÚmax_lens               r   Ú_get_int_or_float_valuesz/SymbolicShapeInference._get_int_or_float_valuesw  s–  € ò	ô 9>¼cÀ$Ç*Á*»oÓ8NÖO°1�$×%Ñ% d¨AÕ.ÐOˆÐOÜÑ- fÔ-Ô-ä! &Ó)ò 
"‘��1Ü˜“7¤"§*¡*Ñ,ØÜ�q—w‘w“< !Ò#Ø ‘EÜ˜Ÿ™“\ QÒ&Ù(¨¯©«Ð3EÓF‘Eä˜qŸw™w›<¨1Ò,Ð,Ð,ØLMÖNÀb™\¨"Ð.@ÕAÐN�EÐNØ!��q’	ð
"ð EKÖK¸q¤
¨1¬dÔ 3”c˜!”f¸Ñ:ÐKˆ
ÐKÜ�j“/ˆØ�aŠ<™Iä! &Ó)ò 	.‘��1Ø�9ØÜ˜a¤Ô&Ü˜1“v Ò'Ø$%¨¡K˜˜qš	ä" 1›v¨Ó0Ð0Ð0à!"  g¡�F˜1’Ið	.ð ˆùò9 Pùò OùâKs   ¤FÃ'FÄ$Fc                 óê  — t        |j                  «      dk(  sJ ‚|j                  dv r| j                  |dd¬«      }n| j                  |d¬«      }t	        d„ |D «       «      r‡|D �cg c]  }t        |t        «      ‘Œ }}t        |«      }|r:t        |ddiŽD �cg c]
  } ||«      ‘Œ c}| j                  |j                  d	   <   y  ||«      | j                  |j                  d	   <   y y c c}w c c}w )
NrP   )r‚   ro   T)rò  rë  )rò  c              3   ó$   K  — | ]  }|d u–— Œ
 y ­wr)   rB   rî  s     r   r^  z@SymbolicShapeInference._compute_on_sympy_data.<locals>.<genexpr>§  rï  rð  ÚstrictFr   )
rQ   rË  rÊ  rø  r`  rñ  rH   ÚanyÚzipr·  )rS  r   Úop_funcró  r\   Úis_listrY   Úvss           r   Ú_compute_on_sympy_dataz-SymbolicShapeInference._compute_on_sympy_dataœ  sä   € Ü�4—;‘;Ó 1Ò$Ð$Ð$ð
 �<‰<˜>Ñ)Ø×2Ñ2°4À4Ð\`Ð2Óa‰Fà×2Ñ2°4À4Ð2ÓHˆFäÑ- fÔ-Ô-Ø4:Ö;¨q”z !¤TÕ*Ð;ˆGÐ;Ü˜'“lˆGÙÜJMÈvÐJdÐ^cÑJdÖ3eÀB±G¸BµKÒ3e�× Ñ  §¡¨Q¡Ò0á3:¸6³?�× Ñ  §¡¨Q¡Ò0ð .ùÚ;ùò 4fs   Á'C+ÂC0c                 óz   — t        |j                  «      dk(  s|j                  dv sJ ‚| j                  |d„ «       y )NrP   )rŒ   r    r›   c                 ó   — | d   S r   rB   rT   s    r   ú<lambda>z<SymbolicShapeInference._pass_on_sympy_data.<locals>.<lambda>µ  s
   € °A°a±D€ r   )rQ   ru  rÊ  r  ©rS  r   s     r   Ú_pass_on_sympy_dataz*SymbolicShapeInference._pass_on_sympy_data¯  s>   € Ü�4—:‘:‹ !Ò# t§|¡|ð 8
ñ (
ð 	
ð 
ð
 	×#Ñ# D©.Õ9r   c           
      ó  — | j                   |j                  d      }|j                  t        j                  |j                  d   t        | j                   |j                  d      j                  «      | j                  |d«      «      «       y r   )	r€  rË  r|  r   r‚  r+   ru  r   r«  )rS  r   r-   s      r   ræ   z.SymbolicShapeInference._pass_on_shape_and_type·  sj   € Ø�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ü-¨d¯n©n¸T¿Z¹ZÈ¹]Ñ.K×.PÑ.PÓQØ—‘  aÓ(óõ	
r   c                 óú   — |› d|› �}|| j                   v r>| j                   |   }t        |«      r t        j                  t	        |«      «      }|S |}|S t        j
                  |dd¬«      }|| j                  |<   |S )NÚ_dTr±  )rJ  r4   r>   r?   r5   re  rK  )rS  rX  r   r¦  r\   Únew_symbolic_dims         r   Ú_new_symbolic_dimz(SymbolicShapeInference._new_symbolic_dimÁ  sŽ   € Ø�H˜B˜s˜eÐ$ˆØ�d×+Ñ+Ñ+Ø×%Ñ% gÑ.ˆAÜ8BÀ1¼œuŸ}™}¬S°«VÓ4Ðð  Ðð	 LMÐð  Ðô  %Ÿ|™|¨G¸TÈtÔTÐØ+;ˆD×Ñ Ñ(ØÐr   c           	      óÐ   — | j                  |j                  › | j                  › dt        | j                  j
                  j                  «      j                  |«      › d|› d�|«      S )NrÙ  Ú_o)r  rÊ  rR  rH   rs  rt  r   ri  )rS  r   Úout_idxr   s       r   Ú_new_symbolic_dim_from_outputz4SymbolicShapeInference._new_symbolic_dim_from_outputË  s`   € Ø×%Ñ%Ø�|‰|ˆn˜TŸ\™\˜N¨!¬D°·±×1CÑ1C×1HÑ1HÓ,I×,OÑ,OÐPTÓ,UÐ+VÐVXÐY`ÐXaÐabÐcØó
ð 	
r   c                 ó`   — t        |«      D �cg c]  }| j                  |||«      ‘Œ c}S c c}w r)   )r�  r  )rS  rD   r   r  r7   s        r   Ú_new_symbolic_shapez*SymbolicShapeInference._new_symbolic_shapeÑ  s*   € ÜNSÐTXËkÖZÈ�×2Ñ2°4¸À!ÕDÒZÐZùÒZs   Ž+c           
      ój  — | j                  |d«      }t        |j                  «      dkD  r>| j                  |d«      }t        |«      dz
  }|r	|| dz
  d n|| d  }|d   ||rdnd<   nd }t        |d«      }t        |«      }t        |«      |dz   k(  sJ ‚|r	|| dz
  d n|| d  }|D �cg c]  }t	        |«       ‘Œ }	}t        |	«      s®t        | j                  |j                  d      «      }
t        |
«      dkD  r{t        |«      t        |
«      k(  sJ ‚|r3|
| dz
  d D �cg c]  }t        j                  |«      ‘Œ c}|| dz
  d |S |
| d  D �cg c]  }t        j                  |«      ‘Œ c}|| d  |S t        |ddg|z  «      }t        |ddg|z  «      }t        ||d	¬
«      D ��cg c]  \  }}|dz
  |z  dz   ‘Œ }}}t        |d«      }|€³dgd|z  z  }t        |dd«      j                  d«      }|dk7  rz|dk7  ru	 t        || d  |d	¬
«      D ��cg c]  \  }}t        j                  ||«      ‘Œ }}}t        |||d	¬
«      D ���cg c]  \  }}}t        d|dk(  r||z
  n||z
  «      ‘Œ! }}}}nK|dk(  rg }nCdg|z  }n<t        |«      d|z  k(  sJ ‚t        |d | ||d  d	¬
«      D ��cg c]
  \  }}||z   ‘Œ }}}t        |dd«      }t!        |«      D ]m  }|| |z   |rdndz      }t        |«      dkD  r|||   z   }|r"t        j"                  |||   z
  ||   z  «      }n|||   z
  ||   z  }|dz   || |z   |rdndz   <   Œo |S c c}w c c}w c c}w c c}}w c c}}w c c}}}w # t        $ r7 t        ||d	¬
«      D ��cg c]  \  }}t        d||z
  «      ‘Œ nc c}}w }}}Y Œëw xY wc c}}w )Nr   rP   rÈ  éÿÿÿÿé   Úkernel_shapeÚ	dilationsÚstridesF©rû  ÚpadsÚauto_pads   NOTSETúutf-8ÚVALIDÚNOTSETÚ	ceil_mode)rµ  rQ   ru  r   r4   rü  r.   r€  rË  r>   r?   rý  ÚdecodeÚModrØ   Ú	TypeErrorr�  Úceiling)rS  r   Úchannels_lastr6   ÚW_shaperD   r  Úspatial_shaper7   Úis_symbolic_dimsr$   r&   r  r  rm  Úeffective_kernel_shaper  r  r]  ÚresidualÚrÚ
total_padsÚp1Úp2r  Úeffective_input_sizeÚstrided_kernel_positionss                              r   Ú_compute_conv_pool_shapez/SymbolicShapeInference._compute_conv_pool_shapeÔ  sj  € Ø×+Ñ+¨D°!Ó4ˆÜˆt�z‰z‹?˜QÒØ×+Ñ+¨D°!Ó4ˆGÜ�w“< !Ñ#ˆDÙ6C˜7 D 5¨1¡9¨rÑ2ÈÐRVÐQVÐQWÈˆLØ5<¸Q±ZˆK™]™°Ò2àˆGÜ(¨¨~Ó>ˆLÜ�|Ó$ˆDä�;Ó 4¨!¡8Ò+Ð+Ð+ñ 8E˜ T E¨A¡I°Ñ3È+ÐW[ÐV[ÐV\ÐJ]ˆØ7DÖE°!¤
¨1£Ò-ÐEÐÐEäÐ#Ô$Ü-¨d¯n©n¸T¿[¹[È¹^Ñ.LÓMˆEÜ�5‹z˜AŠ~Ü˜;Ó'¬3¨u«:Ò5Ð5Ð5Ù ØMRÐTXÐSXÐ[\ÑS\Ð_aÐMbÖ2cÈ´5·=±=ÀÕ3CÒ2c�K  ¨¡	¨BÐ/ð #Ð"ð FKÈDÈ5È6À]Ö*SÀ¬5¯=©=¸Õ+;Ò*S�K   Ð'Ø"Ð"ä! $¨°a°S¸4±ZÓ@ˆ	Ü  i°!°°t±Ó<ˆÜ>AÀ,ÐPYÐbgÔ>h×!i±d°a¸ 1 q¡5¨A¡+°£/Ð!iÐÑ!iÜ˜T 6Ó*ˆØˆ<Ø�3˜!˜d™(Ñ#ˆDÜ$ T¨:°yÓA×HÑHÈÓQˆHØ˜7Ò" x°8Ò';ð	Ü<?ÀÈTÈEÈFÐ@SÐU\ÐejÔ<k×l±D°A°q¤§	¡	¨!¨Q¥Ðl�HÑlô (+Ð+AÀ7ÈHÐ]bÔ'c÷"ð "á#˜A˜q !ô ˜A¨!¨qª&  A¢°q¸1±uÕ>ð"�Jó "ð ˜WÒ$Ø‘
à˜S 4™Z‘
ä�t“9  D¡Ò(Ð(Ð(Ü03°D¸¸$°KÀÀdÀeÀÐUZÔ0[×\¡f b¨"˜"˜r›'Ð\ˆJÑ\ä! $¨°QÓ7ˆ	Ü�t“ò 
	aˆAØ#.°¨u°q©yÁ-¹BÐUVÑ/WÑ#XÐ Ü�:‹ Ò"Ø';¸jÈ¹mÑ'KÐ$ÙÜ+0¯=©=Ø)Ð,BÀ1Ñ,EÑEÈÐQRÉÑSó,Ñ(ð -AÐCYÐZ[ÑC\Ñ,\ÐahÐijÑakÑ+kÐ(ØD\Ð_`ÑD`ˆK˜˜ ™	©=¡R¸aÑ@ÒAð
	að Ðùòe Fùò 3dùâ*Sùó
 "jùó  mùô"øô !ò ä47Ð8NÐPWÐ`eÔ4f÷"Ù,0¨A¨qœ˜A  A¡�ñ"ùó "�Jó "ðüó ]sZ   Â*M
Ä#MÅMÆ+MÈM, È MÈ6M, É$M%É0M, Ê.N/ÍM, Í,N,ÎN Î
N,Î+N,c                 ó¸   ‡— |r*‰D �cg c]  }t        |«      rt        |«      dk  rŒ|‘Œ  c}Št        ˆfd„‰D «       «      s| j                  ‰d¬«       y y c c}w )NrP   c              3   ó.   •K  — | ]  }|‰d    k(  –— Œ y­wr�  rB   rŽ  s     €r   r^  z<SymbolicShapeInference._check_merged_dims.<locals>.<genexpr>  ó   øè ø€ Ò. A�1˜˜Q™•<Ñ.ùr�  Tr›  )r4   r5   r`  rq  )rS  r„  r‹  r&   s    `  r   r”  z)SymbolicShapeInference._check_merged_dims  sR   ø€ ÙØ#ÖK˜!¬J°q¬M¼cÀ!»fÈ»k’AÒKˆDÜÓ.¨Ô.Ô.Ø×%Ñ% d°$Ð%Õ7ð /ùò Ls
   ˆA§ANc                 ó�  — | j                  |d«      }| j                  |d«      }t        |«      }t        |«      }d}d}|dkD  r|dkD  sJ ‚|dk(  r|dk(  rg }	nI|dk(  rd}g |d | ¢|d   ‘}	n5|dk(  rd}|d | }	n(d}d}g | j                  |d d |d d «      ¢|d   ‘|d   ‘}	| j                  ||   ||   gd¬«       |€:| j                  |j
                  d      j                  j                  j                  }| j                  |j                  d      }
|
j                  t        j                  |j                  d   ||	«      «       y )Nr   rP   éþÿÿÿr  FrŠ  )r«  rQ   r§  r”  r€  ru  r   r   r*   rË  r|  r   r‚  )rS  r   Úoutput_dtypeÚ	lhs_shapeÚ	rhs_shapeÚlhs_rankÚrhs_rankÚlhs_reduce_dimÚrhs_reduce_dimr   r-   s              r   Ú_compute_matmul_shapez,SymbolicShapeInference._compute_matmul_shape  sx  € Ø—O‘O D¨!Ó,ˆ	Ø—O‘O D¨!Ó,ˆ	Ü�y“>ˆÜ�y“>ˆØˆØˆØ˜!Š| ¨1¢Ð,Ð,Ø�qŠ=˜X¨š]Ø‰IØ˜Š]ØˆNØD˜) O ^Ð4ÐD°iÀ±mÐD‰IØ˜Š]ØˆNØ! / >Ð2‰IàˆNØˆNØo˜$×0Ñ0°¸3¸B°ÀÈ3ÈBÀÓPÐoÐR[Ð\^ÑR_ÐoÐajÐkmÑanÐoˆIà×ÑØ�~Ñ&¨	°.Ñ(AÐBØ!ð 	 ô 	
ð ÐàŸ>™>¨$¯*©*°Q©-Ñ8×=Ñ=×IÑI×SÑSˆLØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.À,ÐPYÓZÕ[r   c           
      ó>  — t        |«      r |j                  j                  j                  n|j                  }t        |«      r |j                  j                  j                  n|j                  }|j                  |j                  k7  r®|j                  r|j                  n|j
                  }t        d|› dt        j                  j                  j                  j                  |j                  «      › dt        j                  j                  j                  j                  |j                  «      › �«      ‚|j                  d«      rÆt        t        |j                  j                   |j                  j                   d¬«      «      D ]ƒ  \  }}	|	d   |	d   k7  sŒt        j"                  j%                  «       }
t        |«      s!t'        | j)                  |||«      «      |
_        |j                  j                   |   j-                  |
«       Œ… y	|j-                  |«       y	)
zh
        update dst_tensor_type to be compatible with src_tensor_type when dimension mismatches
        z	For node z:, dst_tensor_type.elem_type != src_tensor_type.elem_type: z vs r$   Fr  r   rP   N)r"   r   r*   r   r
   rÊ  Ú
ValueErrorr0   Úonnx_pbÚTensorProtoÚDataTypeÚNamer%   r¾  rý  r$   r   ÚTensorShapeProtoÚ	Dimensionr   r  rw  r|  )rS  r   r  Údst_typeÚsrc_typeÚdst_tensor_typeÚsrc_tensor_typeÚnode_idÚdiÚdsr¦  s              r   Ú_fuse_tensor_typez(SymbolicShapeInference._fuse_tensor_type=  s¼  € ô
 =HÈÔ<QˆH×"Ñ"×,Ñ,×8Ò8ÐW_×WkÑWkð 	ô =HÈÔ<QˆH×"Ñ"×,Ñ,×8Ò8ÐW_×WkÑWkð 	ð ×$Ñ$¨×(AÑ(AÒAØ#'§9¢9�d—i’i°$·,±,ˆGÜØ˜G˜9Ð$^Ü—<‘<×+Ñ+×4Ñ4×9Ñ9¸/×:SÑ:SÓTÐUÐUYÜ—<‘<×+Ñ+×4Ñ4×9Ñ9¸/×:SÑ:SÓTÐUðWóð ð
 ×#Ñ# GÔ,Ü#¤C¨×(=Ñ(=×(AÑ(AÀ?×CXÑCX×C\ÑC\ÐejÔ$kÓlò D‘��BØ�a‘5˜B˜q™E“>ô #×3Ñ3×=Ñ=Ó?�GÜ& xÔ0Ü,/°×0RÑ0RÐSWÐY`ÐbdÓ0eÓ,f˜Ô)Ø#×)Ñ)×-Ñ-¨bÑ1×:Ñ:¸7ÕCñDð ×$Ñ$ _Õ5r   c           	      óf  — | j                  |d«      }| j                  |d«      }| j                  |j                  d      }|j                  t	        j
                  |j                  d   | j                  |j                  d      j                  j                  j                  |d d |z   «      «       y ©Nr   rP   r  ©
r«  r€  rË  r|  r   r‚  ru  r   r   r*   )rS  r   Ú
data_shapeÚindices_shaper-   s        r   rç   z3SymbolicShapeInference._infer_ArrayFeatureExtractorZ  s‘   € Ø—_‘_ T¨1Ó-ˆ
ØŸ™¨¨aÓ0ˆØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘˜tŸz™z¨!™}Ñ-×2Ñ2×>Ñ>×HÑHØ˜3˜B� -Ñ/óõ	
r   c                 óš   ‡ — d„ d„ d„ d„ ˆ fd„ˆ fd„d„ d„ d	„ d
„ dœ
}|j                   |v sJ ‚‰ j                  |||j                      «       y )Nc                 ó   — | d   | d   z   S ©Nr   rP   rB   ©Úls    r   r  zDSymbolicShapeInference._infer_symbolic_compute_ops.<locals>.<lambda>h  ó   € ˜Q˜q™T A a¡D™[€ r   c                 ór   — t        | d   | d   z  t        «      rt        | d   | d   z  «      S | d   | d   z  S rT  ©rñ  Úfloatr5   rU  s    r   r  zDSymbolicShapeInference._infer_symbolic_compute_ops.<locals>.<lambda>i  sG   € Ü%/°°!±¸¸!¹±¼eÔ%D”�A�a‘D˜A˜a™D‘LÓ!ð ØJKÈAÉ$ÐRSÐTUÑRVÉ,ð r   c                 ó   — | d   | d   k(  S rT  rB   rU  s    r   r  zDSymbolicShapeInference._infer_symbolic_compute_ops.<locals>.<lambda>l  s   € ˜q ™t q¨¡t™|€ r   c                 ó2   — t        j                  | d   «      S r   )r>   ÚfloorrU  s    r   r  zDSymbolicShapeInference._infer_symbolic_compute_ops.<locals>.<lambda>m  s   € œuŸ{™{¨1¨Q©4Ó0€ r   c                 óø   •— t        | d   «      r!t        | d   «      ‰j                   k  r| d   S t        | d   «      r!t        | d   «      ‰j                   k  r| d   S t        j                  | d   | d   «      S rT  )r4   r5   rP  r>   r}   ©rV  rS  s    €r   r  zDSymbolicShapeInference._infer_symbolic_compute_ops.<locals>.<lambda>n  s‡   ø€ ä˜a ™dÔ#¬¨A¨a©D«	°T·]±]°NÒ(Bð �!‘ð ô )¨¨1©Ô.´3°q¸±t³9ÀÇÁ¸~Ò3M�a˜‘dð ô TY×S\ÑS\Ð]^Ð_`Ñ]aÐcdÐefÑcgÓShð r   c                 óô   •— t        | d   «      r t        | d   «      ‰j                  kD  r| d   S t        | d   «      r t        | d   «      ‰j                  kD  r| d   S t        j                  | d   | d   «      S rT  )r4   r5   rP  r>   r€   r_  s    €r   r  zDSymbolicShapeInference._infer_symbolic_compute_ops.<locals>.<lambda>s  sƒ   ø€ ä˜a ™dÔ#¬¨A¨a©D«	°D·M±MÒ(Að �!‘ð ô )¨¨1©Ô.´3°q¸±t³9¸t¿}¹}Ò3L�a˜‘dð ô SX×R[ÑR[Ð\]Ð^_Ñ\`ÐbcÐdeÑbfÓRgð r   c                 ór   — t        | d   | d   z  t        «      rt        | d   | d   z  «      S | d   | d   z  S rT  rY  rU  s    r   r  zDSymbolicShapeInference._infer_symbolic_compute_ops.<locals>.<lambda>x  sC   € ´¸A¸a¹DÀ1ÀQÁ4¹KÌÔ1OœS  1¡¨¨!©¡Ó-€ ÐUVÐWXÑUYÐ\]Ð^_Ñ\`ÑU`€ r   c                 ó   — | d   | d   z
  S rT  rB   rU  s    r   r  zDSymbolicShapeInference._infer_symbolic_compute_ops.<locals>.<lambda>y  rW  r   c                 ó    — | d   r| d   S | d   S ©Nr   rP   rÈ  rB   rU  s    r   r  zDSymbolicShapeInference._infer_symbolic_compute_ops.<locals>.<lambda>z  s   €  q¨¢t˜q ™t€ °°1±€ r   c                 ó   — | d    S r   rB   rU  s    r   r  zDSymbolicShapeInference._infer_symbolic_compute_ops.<locals>.<lambda>{  s   € ˜a ™d˜U€ r   )
ra   ro   rr   rs   r}   r€   r‚   rœ   r¡   r£   )rÊ  r  )rS  r   Úfuncss   `  r   rå   z2SymbolicShapeInference._infer_symbolic_compute_opsf  s`   ø€ á(ññ ,Ù0óó
ñ
 aÙ(Ù5Ù"ñ)
ˆð, �|‰|˜uÑ$Ð$Ð$Ø×#Ñ# D¨%°·±Ñ*=Õ>r   c                 ó&   — | j                  |«       y r)   )r  r  s     r   rê   z"SymbolicShapeInference._infer_Cast€  s   € Ø× Ñ  Õ&r   c           
      óÚ  — | j                   |j                  d      j                  j                  j                  }|t
        j                  j                  k(  rt
        j                  j                  }nt
        j                  j                  }| j                   |j                  d      }|j                  t        j                  |j                  d   || j                  |d«      «      «       y r   )r€  ru  r   r   r*   r0   r@  ÚSTRINGÚINT64rË  r|  r   r‚  r«  )rS  r   Ú
input_typeÚoutput_typer-   s        r   rë   z,SymbolicShapeInference._infer_CategoryMapperƒ  s¦   € Ø—^‘^ D§J¡J¨q¡MÑ2×7Ñ7×CÑC×MÑMˆ
Øœ×)Ñ)×0Ñ0Ò0Ü×*Ñ*×0Ñ0‰Kä×*Ñ*×1Ñ1ˆKØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.À+ÈtÏÉÐ_cÐefÓOgÓhÕir   c                 óÂ  — | j                  |d«      }t        | j                  |«      «      }t        |d«      }|€|g}n|}||t	        |t        |«      «      <   | j                  |j                  d      }|j                  t        j                  |j                  d   | j                  |j                  d      j                  j                  j                  |«      «       y )Nr   rC   )r«  r   r  r   rE   rQ   r€  rË  r|  r   r‚  ru  r   r   r*   )rS  r   Úinput_shapeÚcompress_lenrC   Úoutput_shaper-   s          r   rì   z&SymbolicShapeInference._infer_CompressŒ  s¿   € Ø—o‘o d¨AÓ.ˆä˜4×=Ñ=¸dÓCÓDˆÜ˜T 6Ó*ˆØˆ<à(˜>‰Là&ˆLØIUˆLÔ-¨d´C¸Ó4DÓEÑFØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘˜tŸz™z¨!™}Ñ-×2Ñ2×>Ñ>×HÑHØóõ	
r   c           	      óÆ  ‡ ‡— t        ˆ fd„|j                  D «       «      rß‰ j                  |«      }t        d„ |D «       «      r¼t	        |d«      dk(  sJ ‚g ‰ j
                  |j                  d   <   t        t        |j                  «      «      D ]n  }||   }t        |t        «      r,‰ j
                  |j                  d      j                  |«       ŒD‰ j
                  |j                  d      j                  |«       Œp ‰ j                  |d«      }t        t	        |d«      t        |«      «      }t        dt        |j                  «      «      D ]%  }‰ j                  ||«      }|sŒ||   ||   z   ||<   Œ' ‰ j                  |«       t        t        |«      «      D ]­  }	|	|k(  rŒ	t        t        |j                  «      «      D �cg c]*  }‰ j!                  ||«      sŒ‰ j!                  ||«      |	   ‘Œ, c}Št        ˆfd„‰D «       «      rŒp‰ j#                  ‰«      }
t%        |
«      t&        u r|
r‰ j(                  |
   nd ||	<   Œ©|
||	<   Œ¯ ‰ j*                  |j                  d      }|j-                  t/        j0                  |j                  d   ‰ j*                  |j                  d      j$                  j2                  j4                  t7        |«      «      «       y c c}w )Nc              3   óZ   •K  — | ]"  }|‰j                   v xs |‰j                  v –— Œ$ y ­wr)   )r·  r  ©r\  r7   rS  s     €r   r^  z7SymbolicShapeInference._infer_Concat.<locals>.<genexpr>¡  s/   øè ø€ ÒTÀAˆq�D×$Ñ$Ð$Ò?¨¨T×-?Ñ-?Ð(?Ó?ÑTùs   ƒ(+c              3   ó$   K  — | ]  }|d u–— Œ
 y ­wr)   rB   rî  s     r   r^  z7SymbolicShapeInference._infer_Concat.<locals>.<genexpr>£  s   è ø€ Ò1 Q�1˜D”=Ñ1ùrð  rC   r   rP   c              3   ó.   •K  — | ]  }|‰d    k(  –— Œ y­wr�  rB   rŽ  s     €r   r^  z7SymbolicShapeInference._infer_Concat.<locals>.<genexpr>¹  r2  r�  )rü  ru  rø  r`  r   r·  rË  r�  rQ   rñ  rH   rÚ  r´  rµ  rE   rÁ  r«  r™  r   r   rK  r€  r|  r   r‚  r   r*   r8   )rS  r   ró  r7   r   r6   rC   Úi_idxrn  r&   r‘  r-   r„  s   `           @r   rí   z$SymbolicShapeInference._infer_Concat   s~  ù€ ÜÓTÈÏÉÔTÔTØ×2Ñ2°4Ó8ˆFÜÑ1¨&Ô1Ô1Ü$ T¨6Ó2°aÒ7Ð7Ð7Ø35�× Ñ  §¡¨Q¡Ñ0Üœs 4§:¡:›Ó/ò G�AØ" 1™I�EÜ! %¬Ô.Ø×(Ñ(¨¯©°Q©Ñ8×?Ñ?ÀÕFà×(Ñ(¨¯©°Q©Ñ8×?Ñ?ÀÕFðGð ×+Ñ+¨D°!Ó4ˆÜ#¤M°$¸Ó$?ÄÀ[ÓAQÓRˆÜ˜1œc $§*¡*›oÓ.ò 	JˆEØ×/Ñ/°°eÓ<ˆKÚØ$/°Ñ$5¸ÀDÑ8IÑ$I�˜DÒ!ð	Jð 	×"Ñ" ;Ô/ä”s˜;Ó'Ó(ò 
	(ˆAØ�DŠyØÜAFÄsÈ4Ï:É:ÃÓAWÖx¸Ð[_×[jÑ[jÐkoÐqvÕ[w�D—O‘O D¨%Ó0°Ó3ÒxˆDÜÓ.¨Ô.Ô.ØØ×(Ñ(¨Ó.ˆFÜ�F‹|œsÑ"Ù@F ×!4Ñ!4°VÒ!<ÈD�˜A’à!'�˜A’ð
	(ð �^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘˜tŸz™z¨!™}Ñ-×2Ñ2×>Ñ>×HÑHÜ*¨;Ó7óõ	
ùò ys   ÇKÇKc                 ó*  — | j                  |d«      }t        |d«      rdnd}t        t        |d«      t        |«      |z   «      }t	        | j                  |d|«      «      }|}|rg |d | ¢|‘||d  ¢}n|||<   | j                  |j                  d      }|j                  t        j                  |j                  d   | j                  |j                  d      j                  j                  j                  j                  j                  |«      «       y )Nr   Únew_axisrP   rC   )r«  r   rE   rQ   r   r  r€  rË  r|  r   r‚  ru  r   r   r*   r   )rS  r   Ú	seq_shaperx  rC   Ú
concat_dimr   r-   s           r   rî   z0SymbolicShapeInference._infer_ConcatFromSequenceÉ  sû   € Ø—O‘O D¨!Ó,ˆ	Ü% d¨JÔ7‘1¸QˆÜ#¤M°$¸Ó$?ÄÀYÃÐRZÑAZÓ[ˆÜ˜×;Ñ;¸DÀ!ÀTÓJÓKˆ
Øˆ	ÙØJ˜) E TÐ*ÐJ¨JÐJ¸À4À5Ð9IÐJ‰Ià(ˆI�d‰OØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘˜tŸz™z¨!™}Ñ-×2Ñ2×@Ñ@×JÑJ×VÑV×`Ñ`Øóõ	
r   c                 óz   — t        |d«      }t        j                  |«      | j                  |j                  d   <   y )Nr   r   )r   r   r¸  r·  rË  )rS  r   Úts      r   rï   z&SymbolicShapeInference._infer_ConstantÜ  s1   € Ü˜$ Ó(ˆÜ+7×+@Ñ+@ÀÓ+Cˆ×Ñ˜Ÿ™ Q™Ò(r   c           	      óF  — | j                  |«      d   }| j                  |j                  d      }|�ët        |«      t        k7  r|g}| j                  |«       |j                  j                  j                  t        j                  j                  k(  r¯t        d„ |D «       «      r�t        j                  |D �cg c]  }t        |«      ‘Œ c}t        j                  ¬«      t!        j"                  t%        |dd«      «      z  | j&                  |j                  d   <   n%| j)                  | j+                  |d«      d   |«      }|j-                  t/        j0                  |j                  d   |j                  j                  j                  t3        |«      «      «       y c c}w )Nr   c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr)   )r4   )r\  rU   s     r   r^  z@SymbolicShapeInference._infer_ConstantOfShape.<locals>.<genexpr>è  s   è ø€ ÒNrÐabÌzÐZ[Ï}ÑNrùs   ‚)Údtyper   )rø  r€  rË  r   rH   rÁ  r   r*   r0   r@  rj  r`  r;   Úonesr5   r<   r   r¸  r   r·  r  r«  r|  r   r‚  r8   )rS  r   r6   r-   rU   s        r   rð   z-SymbolicShapeInference._infer_ConstantOfShapeà  sG  € Ø×3Ñ3°DÓ9¸!Ñ<ˆØ�^‰^˜DŸK™K¨™NÑ+ˆØÐ"Ü�KÓ ¤DÒ(Ø*˜m�Ø×&Ñ& {Ô3à�w‰w×"Ñ"×,Ñ,´×0@Ñ0@×0FÑ0FÒFÌ3ÑNrÐfqÔNrÔKrÜ35·7±7Ø%0Ö1 ”S˜•VÒ1¼¿¹ô4ä ×)Ñ)¬-¸¸gÀqÓ*IÓJñ4K�× Ñ  §¡¨Q¡Ò0ð ×2Ñ2°4·?±?À4ÈÓ3KÈAÑ3NÐPTÓUˆKà
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘×#Ñ#×-Ñ-Ü*¨;Ó7óõ	
ùò 2s   Â9Fc           	      ó4  — | j                  |«      }| j                  |«       | j                  |j                  d      }|j	                  t        j                  |j                  d   |j                  j                  j                  t        |«      «      «       y r   )r/  rÁ  r€  rË  r|  r   r‚  r   r   r*   r8   ©rS  r   r6   r-   s       r   rñ   z"SymbolicShapeInference._infer_Convù  sv   € Ø×3Ñ3°DÓ9ˆØ×"Ñ" ;Ô/Ø�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘×#Ñ#×-Ñ-Ü*¨;Ó7óõ	
r   c           	      ól  — | j                  |d¬«      }| j                  |«       | j                  |j                  d      }|j	                  t        j                  |j                  d   | j                  |j                  d      j                  j                  j                  t        |«      «      «       y )NT)r#  r   )r/  rÁ  r€  rË  r|  r   r‚  ru  r   r   r*   r8   r‚  s       r   r,  z&SymbolicShapeInference._infer_NhwcConv  sŽ   € Ø×3Ñ3°DÈÐ3ÓMˆØ×"Ñ" ;Ô/Ø�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘˜tŸz™z¨!™}Ñ-×2Ñ2×>Ñ>×HÑHÜ*¨;Ó7óõ	
r   c                 ó:  — | j                   |j                  d      j                  j                  j                  }| j                  |d«      }| j                   |j                  d      }|j                  t        j                  |j                  d   ||«      «       y rO   )
r€  ru  r   r   r*   r«  rË  r|  r   r‚  ©rS  r   r5  rp  r-   s        r   r  z.SymbolicShapeInference._infer_DequantizeLinear  sv   € à—~‘~ d§j¡j°¡mÑ4×9Ñ9×EÑE×OÑOˆð —‘ t¨QÓ/ˆà�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.À,ÐP\Ó]Õ^r   c                 ó¼  — t         j                  j                  }t        |j                  «      dkD  rI|j                  d   r:| j
                  |j                  d      j                  j                  j                  }| j                  |d«      }| j
                  |j                  d      }|j                  t        j                  |j                  d   ||«      «       y )NrÈ  r   )r0   r@  ÚUINT8rQ   ru  r€  r   r   r*   r«  rË  r|  r   r‚  r…  s        r   r2  z,SymbolicShapeInference._infer_QuantizeLinear  s£   € ô ×'Ñ'×-Ñ-ˆÜˆt�z‰z‹?˜QÒ 4§:¡:¨a¢=ØŸ>™>¨$¯*©*°Q©-Ñ8×=Ñ=×IÑI×SÑSˆLð —‘ t¨QÓ/ˆà�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.À,ÐP\Ó]Õ^r   c                 ó‚  — | j                   |j                  d      j                  j                  j                  }| j                  |d«      }| j                  |d«      }| j                  ||«      }| j                   |j                  d      }|j                  t        j                  |j                  d   ||«      «       y ©Nr   r  )r€  ru  r   r   r*   r«  r§  rË  r|  r   r‚  )rS  r   r5  Úinput_1_shapeÚinput_2_shaper   r-   s          r   r1  z+SymbolicShapeInference._infer_QLinearBinary(  sš   € à—~‘~ d§j¡j°¡mÑ4×9Ñ9×EÑE×OÑOˆð Ÿ™¨¨aÓ0ˆØŸ™¨¨aÓ0ˆð ×*Ñ*¨=¸-ÓHˆ	à�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.À,ÐPYÓZÕ[r   c                 ó   — t        |d«      }|j                  dd«      }|j                  d«      }|dk7  r|d | n|}d}d}d}i }|j                  d«      }	|	D ]¦  }
|
j                  d«      }| j	                  ||«      }t        |«      }|dk7  r|dk(  r|t        |
«      z
  d	z   }|d
z   }t        d
|d
z   «      D ]?  }|
|    }|dk7  sŒ||    }||vr|||<   Œt        |«      t        j                  usŒ;|||<   ŒA |d
z   }Œ¨ g }ddl
m}  |«       }|dk7  rd||dz   d  }|j                  d«      }|dk7  r$t        |«      D ]  }|j                  |   «       Œ |D ]  }|dk7  sŒ	|j                  ||   «       Œ n~t        |«      D ]  }|j                  |   «       Œ |D ]#  }|dk7  sŒ	|dk7  sŒ||v r||   d
z   ||<   Œd
||<   Œ% |j                  «       D ]  \  }}|d
k(  sŒ|j                  ||   «       Œ! | j                  |j                  d      j                  j                   j"                  }| j                  |j$                  d      }|j'                  t)        j*                  |j$                  d   ||«      «       y )NÚequationó    r   s   ->r  r   ó   ,s   ...r  rP   é.   )ÚOrderedDictrÈ  é,   )r   ÚreplaceÚfindÚsplitr«  rQ   r�  r   r>   re  Úcollectionsr‘  r´  rb  r€  ru  r   r*   rË  r|  r   r‚  )rS  r   r�  Ú	mid_indexÚleft_equationÚnum_operandsÚnum_ellipsisÚnum_ellipsis_indicesÚletter_to_dimÚtermsÚtermÚellipsis_indexr$   rD   r7   Úletterr   r¿  r‘  Únum_letter_occurrencesÚright_equationÚright_ellipsis_indexÚcÚkeyr   r5  r-   s                              r   rò   z$SymbolicShapeInference._infer_Einsum6  s×  € ä   zÓ2ˆØ×#Ñ# D¨#Ó.ˆØ—M‘M %Ó(ˆ	Ø09¸R²˜  )Ñ,ÀXˆàˆØˆØ Ðàˆà×#Ñ# DÓ)ˆØò 	,ˆDØ!ŸY™Y vÓ.ˆNØ—O‘O D¨,Ó7ˆEÜ�u“:ˆDØ Ò#Ø 1Ò$Ø+/´#°d³)Ñ+;¸aÑ+?Ð(Ø+¨aÑ/�Ü˜1˜d Q™hÓ'ò 4�Ø˜q˜b™�Ø˜R“<Ø  ™)�CØ ]Ñ2Ø03˜ fÒ-Ü˜c›¬%¯,©,Ò6Ø03˜ fÒ-ð4ð (¨!Ñ+‰Lð!	,ð$ ˆÝ+á!,£ÐØ˜Š?Ø% i°!¡m oÐ6ˆNØ#1×#6Ñ#6°vÓ#>Ð Ø# rÒ)ÜÐ3Ó4ò 5�AØ#×*Ñ*¨5°©8Õ4ð5à#ò =�Ø˜“7Ø#×*Ñ*¨=¸Ñ+;Õ<ñ=ô Ð/Ó0ò 1�Ø×&Ñ& u¨Q¡xÕ0ð1à"ò 6�Ø˜“7˜q B›wØÐ2Ñ2Ø4JÈ1Ñ4MÐPQÑ4QÐ.¨qÒ1à45Ð.¨qÒ1ð6ð 5×:Ñ:Ó<ò ?‘
��UØ˜A“:Ø#×*Ñ*¨=¸Ñ+=Õ>ð?ð —~‘~ d§j¡j°¡mÑ4×9Ñ9×EÑE×OÑOˆØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.À,ÐP_Ó`Õar   c                 óÎ  — t        | j                  |d«      d¬«      }|�Æ| j                  |«       | j                  |d«      }| j	                  |t        |«      «      }| j                  |j                  d      }|j                  t        j                  |j                  d   | j                  |j                  d      j                  j                  j                  |«      «       y y )NrP   T©rX   r   )rY   r¼  rÁ  r«  r§  r8   r€  rË  r|  r   r‚  ru  r   r   r*   )rS  r   Úexpand_to_shaper$   r   r-   s         r   ró   z$SymbolicShapeInference._infer_Expandt  sÁ   € Ü! $×"5Ñ"5°d¸AÓ">È$ÔOˆØÐ&à×&Ñ& Ô7Ø—O‘O D¨!Ó,ˆEØ×.Ñ.¨uÔ6PÐQ`Ó6aÓbˆIØ—‘ §¡¨A¡Ñ/ˆBØ�K‰KÜ×-Ñ-Ø—K‘K ‘NØ—N‘N 4§:¡:¨a¡=Ñ1×6Ñ6×BÑB×LÑLØóõð 'r   c           
      ó   — | j                  |d«      }t        t        |dd«      t        |«      «      }| j                  |d«      }| j                  |j
                  d      }|j                  dk(  r;| j                  |j                  d      j                  j                  j                  }nb|j                  dk(  r;| j                  |j                  d      j                  j                  j                  }nt        d|j                  › �«      ‚|j                  t        j                  |j
                  d   ||d | |z   ||dz   d  z   «      «       |j                  d   | j                  v �rt        |«      dk(  �rt        |dd«      dk(  rþ| j!                  |d«      }|�é| j                  |j                  d      }t        |«      t"        u r“t        |«      t$        j&                  u rOt        |j(                  «      dk(  r7|D �	cg c]  }	|t+        |	«         ‘Œ c}	| j                  |j
                  d   <   y |t+        |«         | j                  |j
                  d   <   y |dk(  s|dk(  sJ ‚|| j                  |j
                  d   <   y y y y y c c}	w )	Nr   rC   rP   rt   r°   rÈ  zUnsupported Gather op_type: r  )r«  rE   r   rQ   r€  rË  rÊ  ru  r   r   r*   r>  r|  r   r‚  r·  r¼  rH   r;   rR   r$   r5   )
rS  r   rP  rC   rQ  r-   r*   rª  Údatar7   s
             r   rô   z$SymbolicShapeInference._infer_Gather„  s7  € Ø—_‘_ T¨1Ó-ˆ
Ü#¤M°$¸ÀÓ$BÄCÈ
ÃOÓTˆØŸ™¨¨aÓ0ˆØ�^‰^˜DŸK™K¨™NÑ+ˆØ�<‰<˜8Ò#ØŸ™ t§z¡z°!¡}Ñ5×:Ñ:×FÑF×PÑP‰IØ�\‰\Ð3Ò3àŸ™ t§z¡z°!¡}Ñ5×:Ñ:×FÑF×PÑP‰IäÐ;¸D¿L¹L¸>ÐJÓKÐKØ
�‰Ü×)Ñ)Ø—‘˜A‘ØØ˜5˜DÐ! MÑ1°J¸tÀa¹x¸zÐ4JÑJóô	
ð �:‰:�a‰=˜D×,Ñ,Ò,´°Z³ÀAÓ1EÌ-ÐX\Ð^dÐfgÓJhÐlmÒJmØ×%Ñ% d¨AÓ.ˆCØˆØ×'Ñ'¨¯
©
°1©Ñ6�Ü˜“:¤Ñ%Ü˜C“y¤B§J¡JÑ.´3°s·y±y³>ÀQÒ3FØRUÖ;VÈQ¸DÄÀQÃ»LÒ;V˜×(Ñ(¨¯©°Q©Ò8à;?ÄÀCÃ¹>˜×(Ñ(¨¯©°Q©Ò8à !š8 s¨b¢yÐ0Ð0Ø7;�D×$Ñ$ T§[¡[°¡^Ò4ð ð KnÐ1EÐ,ùò <Ws   ÈJc                 ó6  — | j                  |d«      }| j                  |j                  d      }|j                  t	        j
                  |j                  d   | j                  |j                  d      j                  j                  j                  |«      «       y rO   rO  )rS  r   rQ  r-   s       r   rõ   z,SymbolicShapeInference._infer_GatherElements¥  sv   € ØŸ™¨¨aÓ0ˆØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘˜tŸz™z¨!™}Ñ-×2Ñ2×>Ñ>×HÑHØóõ	
r   c                 óÊ  — | j                  |d«      }t        |«      }| j                  |d«      }t        |«       |d   }t        |«      r||k  sJ ‚|d d ||d  z   }| j                  |j                  d      }|j                  t        j                  |j                  d   | j                  |j                  d      j                  j                  j                  |«      «       y rN  )r«  rQ   r4   r€  rË  r|  r   r‚  ru  r   r   r*   )rS  r   rP  Ú	data_rankrQ  Úlast_index_dimensionr   r-   s           r   rö   z&SymbolicShapeInference._infer_GatherND°  sÓ   € Ø—_‘_ T¨1Ó-ˆ
Ü˜
“Oˆ	ØŸ™¨¨aÓ0ˆÜˆMÔØ,¨RÑ0ÐÜÐ.Ô/Ð4HÈIÒ4UÐUÐUØ! # 2Ð&¨Ð4HÐ4IÐ)JÑJˆ	Ø�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘˜tŸz™z¨!™}Ñ-×2Ñ2×>Ñ>×HÑHØóõ	
r   c           	      ó|  — t        |d«      t        |d«      g}| j                  |d«      }|�=t        |«      dkD  r|d   j                  |d   «       n|d   j                  |d   «       t	        |«      D �]D  \  }}| j                  ||d¬«      }t        t        |j                  «      «      D �]  }| j                  |j                  |      }|dk(  r3|j                  |j                  |   «       |j                  |   |_
        n5| j                  |||j                  |j                  |   j                  «       |€Œ�|t        |«      dkD  rdndk(  sŒ¦|j                  |   j                  |j                  v sŒÌ|j                  |j                  |   j                     | j                  |j                  <   �Œ �ŒG y )NÚthen_branchÚelse_branchr   rP   F)rà  )r   r¼  rV   r|  r¾  rè  r�  rQ   rË  r€  r
   rL  r   r·  )	rS  r   Ú	subgraphsÚcondÚi_subrß  Úsubgraph_inferÚi_outr-   s	            r   r÷   z SymbolicShapeInference._infer_IfÁ  s–  € ô ˜$ Ó.Ü˜$ Ó.ð
ˆ	ð ×"Ñ" 4¨Ó+ˆØÐÜ˜‹ Ò"Ø˜!‘×%Ñ% i°¡lÕ3à˜!‘×%Ñ% i°¡lÔ3ä(¨Ó3ó 	l‰OˆE�8Ø!×6Ñ6°t¸XÐV[Ð6Ó\ˆNÜœs 4§;¡;Ó/Ó0ó l�Ø—^‘^ D§K¡K°Ñ$6Ñ7�Ø˜A’:Ø—K‘K §¡°Ñ 6Ô7Ø"Ÿk™k¨%Ñ0�B•Gà×*Ñ*¨4°¸¿¹ÀÇÁÐQVÑAW×A\ÑA\Ô]ð Ñ#¨´yÀ³ÈÒ7J±!ÐPQÓ(RØ—‘ uÑ-×2Ñ2°n×6PÑ6PÒPØ4B×4NÑ4NÈxÏÉÐ_dÑOe×OjÑOjÑ4k˜×(Ñ(¨¯©Ó1òlñ	lr   c           	      ól  — t        |d«      }t        |j                  «      t        |j                  «      k(  sJ ‚t        |j                  «      dz
  }t        |j                  «      D ]C  \  }}|j                  }|j                  | j                  |j                  |      «       ||_        ŒE | j                  ||«       d}t        d|dz   «      D �]›  }|j                  |   }	t        |	«      }
t        |	j                  «      rh|
sŒ6d |
v sŒ;|j                  |dz      j                  j                  j                  j                  |	j                  j                  j                  «       d}Œ›|j                  |dz      }t        |«      }t        t        ||
d¬«      «      D ]Ê  \  }}|d   |d   k7  sŒt         j"                  j%                  «       }t'        | j)                  |||«      «      |_        |j                  j,                  j.                  j0                  |   j                  |«       |	j                  j,                  j.                  j0                  |   j                  |«       d}ŒÌ �Œž |rV| j2                  dkD  r3t4        j7                  d|j                  › d	|j                  d   › d
�«       | j                  ||d¬«       t'        | j)                  |«      «      }t        t        |j                  «      «      D �]2  }| j                  |j                  |      }|j                  |j                  |dz      «       ||k\  rÙt        |j                  «      rJ ‚|j                  |dz      j                  j,                  j.                  j0                  }|j                  j,                  j.                  j9                  d«       |j                  j,                  j.                  j0                  }||j;                  «       _        |j=                  t?        |«      «       |j                  |   |_        �Œ5 y )NÚbodyrÈ  FrP   Tr  r   zRerun Loop: ú(z3...), because of sequence in loop carried variables)rá  r   ) r   rQ   ru  r¾  r
   r|  r€  rè  r�  rË  r.   r"   r   r   r*   rý  r0   rC  rD  r   r  rw  r   r$   r   rO  rf  r“  rÞ  rd  rÚ  rH   )rS  r   rß  Únum_loop_carriedr7   ÚsiÚsi_nameÚneed_second_inferr¶  ÚsoÚso_shapeÚsi_shaperJ  r„  r¦  Úloop_iter_dimr-   Úsubgraph_vi_dimÚvi_dims                      r   rø   z"SymbolicShapeInference._infer_LoopÝ  sr  € Ü   vÓ.ˆÜ�8—>‘>Ó"¤c¨$¯*©*£oÒ5Ð5Ð5Ü˜tŸz™z›?¨QÑ.Ðô ˜xŸ~™~Ó.ò 	‰EˆAˆrØ—g‘gˆGØ�K‰K˜Ÿ™ t§z¡z°!¡}Ñ5Ô6ØˆB�Gð	ð
 	×!Ñ! $¨Ô1ð
 "ÐÜ˜1Ð.°Ñ2Ó3ó 	1ˆEØ—‘ Ñ'ˆBÜ0°Ó4ˆHÜ˜2Ÿ7™7Ô#Ú ¨Ò 0ð —N‘N 5¨1¡9Ñ-×2Ñ2×@Ñ@×JÑJ×SÑSÐTV×T[ÑT[×TiÑTi×TsÑTsÔtØ(,Ñ%à—^‘^ E¨A¡IÑ.�Ü4°RÓ8�Ü )¬#¨h¸ÈÔ*OÓ Pò 1‘H�B˜Ø˜A‘w $ q¡'Ó)Ü"&×"7Ñ"7×"AÑ"AÓ"C˜Ü,/°×0RÑ0RÐSWÐY^Ð`bÓ0cÓ,d˜Ô)ØŸ™×+Ñ+×1Ñ1×5Ñ5°bÑ9×BÑBÀ7ÔKØŸ™×+Ñ+×1Ñ1×5Ñ5°bÑ9×BÑBÀ7ÔKØ,0Ñ)ò1ð	1ñ* Ø�}‰}˜qÒ Ü—‘Ø" 4§9¡9 +¨Q¨t¯{©{¸1©~Ð.>Ð>qÐrôð ×%Ñ% d¨HÀeÐ%ÔLô ˜D×>Ñ>¸tÓDÓEˆÜ”s˜4Ÿ;™;Ó'Ó(ó 
	%ˆAØ—‘ §¡¨A¡Ñ/ˆBØ�K‰K˜Ÿ™¨¨A©Ñ.Ô/ØÐ$Ò$Ü& r§w¡wÔ/Ð/Ð/Ø"*§/¡/°!°a±%Ñ"8×"=Ñ"=×"IÑ"I×"OÑ"O×"SÑ"S�Ø—‘×#Ñ#×)Ñ)×4Ñ4°UÔ;ØŸ™×,Ñ,×2Ñ2×6Ñ6�Ø)6�—
‘
“Ô&Ø—‘œd ?Ó3Ô4Ø—k‘k !‘nˆBŽGñ
	%r   c                 ó&   — | j                  |«       y r)   ©r<  r  s     r   rù   z$SymbolicShapeInference._infer_MatMul  ó   € Ø×"Ñ" 4Õ(r   c                 óX   — | j                  |t        j                  j                  «       y r)   )r<  r0   r@  ÚINT32r  s     r   rú   z+SymbolicShapeInference._infer_MatMulInteger  s   € Ø×"Ñ" 4¬×)9Ñ)9×)?Ñ)?Õ@r   c                 óð  — | j                  |d«      }t        |d«      t        |d«      g}t        |«      }|dkD  sJ ‚|dk(  r|dd  }n|d d |dd  z   }| j                  |d   |d   gd¬«       | j                  |j
                  d      j                  j                  j                  }| j                  |j                  d      }|j                  t        j                  |j                  d   ||«      «       y )Nr   ÚKÚNrP   r  FrŠ  )r«  r   rQ   r”  r€  ru  r   r   r*   rË  r|  r   r‚  )rS  r   r6  r7  r8  r   r5  r-   s           r   r*  z)SymbolicShapeInference._infer_MatMulNBits  sñ   € Ø—O‘O D¨!Ó,ˆ	Ü" 4¨Ó-¬}¸TÀ3Ó/GÐHˆ	Ü�y“>ˆØ˜!Š|Ðˆ|Ø�qŠ=Ø! ! "˜‰Ià! # 2˜¨°1°2¨Ñ6ˆIà×ÑØ�r‰]˜I a™LÐ)Ø!ð 	 ô 	
ð
 —~‘~ d§j¡j°¡mÑ4×9Ñ9×EÑE×OÑOˆØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.À,ÐPYÓZÕ[r   c                 ó
  — t        | j                  |«      «      }| j                  |j                  d      }|j	                  t        j                  |j                  d   t        j                  j                  |dg«      «       y r‰  )
r   r  r€  rË  r|  r   r‚  r0   r@  rj  )rS  r   Úselectedr-   s       r   rû   z/SymbolicShapeInference._infer_NonMaxSuppression1  sc   € Ü�t×9Ñ9¸$Ó?Ó@ˆØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.Ä$×BRÑBR×BXÑBXÐ[cÐefÐZgÓhÕir   c                 ó>  — | j                  |d«      }t        | j                  |dd«      «      }| j                  |j                  d      }|j                  t        j                  |j                  d   |j                  j                  j                  ||g«      «       y rT  )r¯  r   r  r€  rË  r|  r   r‚  r   r   r*   )rS  r   Ú
input_rankÚnz_lenr-   s        r   rü   z%SymbolicShapeInference._infer_NonZero6  s}   € Ø×)Ñ)¨$°Ó2ˆ
ä�T×7Ñ7¸¸aÀÓCÓDˆØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.À"Ç'Á'×BUÑBU×B_ÑB_ÐblÐntÐauÓvÕwr   c                 ó
  — | j                  |d«      }| j                  |d«      }t        |dd«      }t        |t	        |«      dz   «      }t        g |d | ¢t        |«      s| j                  |«      n|‘||d  ¢«      }| j                  |j                  d      }|j                  t        j                  |j                  d   | j                  |j                  d      j                  j                  j                   |«      «       y )Nr   rP   rC   r  rÈ  )rµ  r¼  r   rE   rQ   r8   r4   r  r€  rË  r|  r   r‚  ru  r   r   r*   )rS  r   r6   ÚdepthrC   r   r-   s          r   rý   z$SymbolicShapeInference._infer_OneHot=  sü   € Ø×+Ñ+¨D°!Ó4ˆØ×#Ñ# D¨!Ó,ˆÜ˜T 6¨2Ó.ˆÜ# D¬#¨kÓ*:¸QÑ*>Ó?ˆÜ.ðØ˜U˜dÐ#ðä@JÈ5Ô@Q�×2Ñ2°4Ô8ÐW\ðð ˜T˜UÐ#ðó
ˆ	ð �^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘˜tŸz™z¨!™}Ñ-×2Ñ2×>Ñ>×HÑHØóõ	
r   c           	      ó°  — t        | j                  «      dk  rt        |d«      }n| j                  |d«      }| j	                  |d«      }t        |«      }|�Ut        |«      d|z  k(  sJ ‚t        ||d | ||d  d¬«      D ���cg c]  \  }}}||z   |z   ‘Œ }}}}| j                  |«       n| j                  ||«      }| j                  |j                  d      j                  j                  j                  }	| j                  |j                  d      }
|
j                  t!        j"                  |j                  d   |	t%        |«      «      «       y c c}}}w )Né
   r  rP   r   rÈ  Fr  )rM   rs  r   r¼  rµ  rQ   rý  rÁ  r  r€  ru  r   r   r*   rË  r|  r   r‚  r8   )rS  r   r  r6   rD   r&   Úpad_upÚpad_downr¿  Ú	output_tpr-   s              r   rþ   z!SymbolicShapeInference._infer_PadR  sH  € Ü�T—\‘\Ó" bÒ(Ü   vÓ.‰Dà×&Ñ& t¨QÓ/ˆDà×+Ñ+¨D°!Ó4ˆÜ�;ÓˆàÐÜ�t“9  D¡Ò(Ð(Ð(ô ,/¨{¸DÀÀ$¸KÈÈdÈeÈÐ]bÔ+c÷ð á'�A�v˜xð �F‘
˜XÓ%ðˆOò ð ×&Ñ& Õ7ð #×6Ñ6°t¸TÓBˆOØ—N‘N 4§:¡:¨a¡=Ñ1×6Ñ6×BÑB×LÑLˆ	à�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)¨$¯+©+°a©.¸)ÔE_Ð`oÓEpÓqõ	
ùôs   ÂEc           
      ó(  — | j                  |«      }| j                  |«       |j                  D ]a  }|sŒ| j                  |   }|j	                  t        j                  ||j                  j                  j                  t        |«      «      «       Œc y r)   )r/  rÁ  rË  r€  r|  r   r‚  r   r   r*   r8   )rS  r   r6   rÖ  r-   s        r   rè   z"SymbolicShapeInference._infer_Pooll  s   € Ø×3Ñ3°DÓ9ˆØ×"Ñ" ;Ô/Ø—‘ò 
	ˆAÙØØ—‘ Ñ"ˆBØ�K‰KÜ×-Ñ-ØØ—G‘G×'Ñ'×1Ñ1Ü.¨{Ó;óõñ	
	r   c                 ó‚  — | j                  |d«      }| j                  |d«      }| j                  ||«      }| j                  |j                  d      }| j                  |j                  d      }|j                  t        j                  |j                  d   |j                  j                  j                  |«      «       y rT  )r«  r§  r€  ru  rË  r|  r   r‚  r   r   r*   )rS  r   Úshape0rž  r   Út0r-   s          r   r?  z-SymbolicShapeInference._infer_aten_bitwise_or{  s”   € Ø—‘  qÓ)ˆØ—‘  qÓ)ˆØ×*Ñ*¨6°6Ó:ˆ	Ø�^‰^˜DŸJ™J q™MÑ*ˆØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.À"Ç'Á'×BUÑBU×B_ÑB_ÐajÓkÕlr   c           	      óz  — | j                  |d«      }t        |«      }| j                  |d«      }| j                  |d«      }| j                  |d«      }|�|�|€J ‚t        ||«      }t        ||«      }g }t	        |«      D ]  \  }}	|||fvsŒ|j                  |	«       Œ ||   }
||   }|dk\  r.t        j                  dt        j                  |
||z
  «      «      }n-t        j                  dt        j                  |
|z   |«      «      }|j                  |«       |j                  d   r‘| j                  |j                  d      }|j                  t        j                  |j                  d   | j                  |j                  d      j                  j                   j"                  t%        |«      «      «       y y ©Nr   rP   rÈ  r  )rµ  rQ   r¼  rE   r¾  r´  r>   r}   r€   rË  r€  r|  r   r‚  ru  r   r   r*   r8   )rS  r   r6   rD   Úoffsetr¤  r¥  r   r   Úvalrž  rŸ  Ú
diag_shaper-   s                 r   r@  z+SymbolicShapeInference._infer_aten_diagonalƒ  s›  € Ø×+Ñ+¨D°!Ó4ˆÜ�;ÓˆØ×$Ñ$ T¨1Ó-ˆØ×"Ñ" 4¨Ó+ˆØ×"Ñ" 4¨Ó+ˆàÐ! dÐ&6¸4Ð;KÐKÐKÜ# D¨$Ó/ˆÜ# D¨$Ó/ˆàˆ	Ü! +Ó.ò 	&‰HˆC�Ø˜4 ˜,Ò&Ø× Ñ  Õ%ð	&ð ˜TÑ"ˆØ˜TÑ"ˆØ�QŠ;ÜŸ™ 1¤e§i¡i°¸À¹Ó&HÓI‰JäŸ™ 1¤e§i¡i°¸±ÀÓ&HÓIˆJØ×Ñ˜Ô$à�;‰;�qŠ>Ø—‘ §¡¨A¡Ñ/ˆBØ�K‰KÜ×-Ñ-Ø—K‘K ‘NØ—N‘N 4§:¡:¨a¡=Ñ1×6Ñ6×BÑB×LÑLÜ.¨yÓ9óõð r   c           	      óª  — | j                  |d«      }t        |«      }|dv sJ ‚| j                  |d«      }|dz
  }|r|nt        | j	                  |d|«      «      }g |d d ¢|‘}| j
                  |j                  d      }|j                  t        j                  |j                  d   t        j                  j                  t        |«      «      «       y )Nr   ©rP   rÈ  rP   r  )rµ  rQ   r¼  r   r  r€  rË  r|  r   r‚  r0   r@  rj  r8   )	rS  r   r6   rD   Únum_samplesrJ  Úlast_dimrp  r-   s	            r   rC  z.SymbolicShapeInference._infer_aten_multinomial¥  sÍ   € Ø×+Ñ+¨D°!Ó4ˆÜ�;ÓˆØ�v‰~Ðˆ~Ø×)Ñ)¨$°Ó2ˆØ�A‰XˆÙ"-‘;´3°t×7YÑ7YÐZ^Ð`aÐceÓ7fÓ3gˆØ4˜ S bÐ)Ð4¨8Ð4ˆØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ü× Ñ ×&Ñ&Ü*¨<Ó8óõ	
r   c           
      ó*  — | j                  |d«      }t        |«      dk(  sJ ‚dD �cg c]  }| j                  |d|«      ‘Œ c}|dd  | j                  |«       t	        |j
                  «      D ]Ÿ  \  }}|sŒ	| j                  |   }|dk(  rt        j                  j                  n9| j                  |j                  d      j                  j                  j                  }|j                  t        j                   ||t#        |«      «      «       Œ¡ y c c}w )Nr   é   ©rÈ  r  r4  rP   )rµ  rQ   r  rÁ  r¾  rË  r€  r0   r@  rj  ru  r   r   r*   r|  r   r‚  r8   )rS  r   r6   r7   rÖ  r-   r*   s          r   rA  z)SymbolicShapeInference._infer_aten_pool2d¶  sò   € Ø×+Ñ+¨D°!Ó4ˆÜ�;Ó 1Ò$Ð$Ð$ØTZÖ[Èq˜D×>Ñ>¸tÀQÈÕJÒ[ˆ�B�CÐØ×"Ñ" ;Ô/Ü˜dŸk™kÓ*ò 	n‰DˆAˆqÙØØ—‘ Ñ"ˆBØ23°q²&œ×(Ñ(×.Ò.¸d¿n¹nÈTÏZÉZÐXYÉ]Ñ>[×>`Ñ>`×>lÑ>l×>vÑ>vˆIØ�K‰Kœ×5Ñ5°a¸ÔD^Ð_jÓDkÓlÕmñ	nùò \s   §Dc                 ó\  — | j                   |j                  d      }t        |j                  «      dk(  rl|j	                  t        j                  |j                  d   | j                   |j                  d      j                  j                  j                  g «      «       y t        |j                  «      dk(  sJ ‚| j                  |d«      }|€J ‚| j                  |d«      }|€,| j                  |d«      }| j                  |r|n|dz
  |«      }n?| j                  |d«      }t        |t        |«      «      }|d | }|r|dgz  }|||dz   d  z  }t        |«      }|j	                  t        j                  |j                  d   | j                   |j                  d      j                  j                  j                  |«      «       | j                   |j                  d      }|j	                  t        j                  |j                  d   t         j"                  j$                  |«      «       y )Nr   rP   r  rÈ  )r€  rË  rQ   ru  r|  r   r‚  r   r   r*   r¼  r¯  r  rµ  rE   r8   r0   r@  rj  )	rS  r   r-   Úkeepdimr   rD   rp  r$   Úvi1s	            r   rB  z)SymbolicShapeInference._infer_aten_minmaxÂ  sà  € Ø�^‰^˜DŸK™K¨™NÑ+ˆÜˆt�z‰z‹?˜aÒØ�K‰KÜ×-Ñ-Ø—K‘K ‘N D§N¡N°4·:±:¸a±=Ñ$A×$FÑ$F×$RÑ$R×$\Ñ$\Ð^`óõô �t—z‘z“? aÒ'Ð'Ð'Ø×)Ñ)¨$°Ó2ˆGØÐ&Ð&Ð&Ø×%Ñ% d¨AÓ.ˆCØˆ{Ø×+Ñ+¨D°!Ó4�Ø#×7Ñ7Á¹ÈTÐTUÉXÐW[Ó\‘à×-Ñ-¨d°AÓ6�Ü*¨3´°E³
Ó;�Ø$ T c˜{�ÙØ  Q CÑ'�LØ  c¨A¡g iÐ 0Ñ0�ä5°lÓCˆLØ�K‰KÜ×-Ñ-Ø—K‘K ‘N D§N¡N°4·:±:¸a±=Ñ$A×$FÑ$F×$RÑ$R×$\Ñ$\Ð^jóôð
 —.‘. §¡¨Q¡Ñ0ˆCØ�L‰Lœ×6Ñ6°t·{±{À1±~Ät×GWÑGW×G]ÑG]Ð_kÓlÕmr   c           	      ó¨  — | j                  |d«      }| j                  |d«      }| j                  |d«      }| j                  |d«      }|�7|�5|�3|t        |«      k  sJ ‚||   |z
  |z  dz   ||<   |j                  |«       n t        |«      }| j	                  |dz   |«      }| j                  |«       |j                  d   r‘| j                  |j                  d      }|j                  t        j                  |j                  d   | j                  |j                  d      j                  j                  j                  t        |«      «      «       y y rÝ  )rµ  r¼  rQ   r´  r  rÁ  rË  r€  r|  r   r‚  ru  r   r   r*   r8   )rS  r   r6   Ú	dimensionÚsizeÚsteprD   r-   s           r   rD  z)SymbolicShapeInference._infer_aten_unfoldã  s@  € Ø×+Ñ+¨D°!Ó4ˆØ×'Ñ'¨¨aÓ0ˆ	Ø×"Ñ" 4¨Ó+ˆØ×"Ñ" 4¨Ó+ˆØÐ  TÐ%5¸$Ð:JØœs ;Ó/Ò/Ð/Ð/Ø&1°)Ñ&<¸tÑ&CÈÑ%LÈqÑ%PˆK˜	Ñ"Ø×Ñ˜tÕ$ä�{Ó#ˆDØ×2Ñ2°4¸!±8¸TÓBˆKØ×"Ñ" ;Ô/Ø�;‰;�qŠ>Ø—‘ §¡¨A¡Ñ/ˆBØ�K‰KÜ×-Ñ-Ø—K‘K ‘NØ—N‘N 4§:¡:¨a¡=Ñ1×6Ñ6×BÑB×LÑLÜ.¨{Ó;óõð r   c                 óV  — d }|j                   d   sg }n›| j                  |d«      }| j                  |d«      }|�u| j                  |d«      }|�!t        |t	        |«      «      }|rd||<   n(||= n$t	        |«      }| j                  |r|n|dz
  |«      }| j                  |«       t        |«      }|j                  d   rk|�h| j                  |j                  d      }|j                  t        j                  |j                  d   t        j                  j                  |«      «       y y y ©NrP   rÈ  r   )ru  r¼  rµ  rE   rQ   r  rÁ  r8   rË  r€  r|  r   r‚  r0   r@  rj  )rS  r   r   r   ré  r6   rD   r-   s           r   rE  z)SymbolicShapeInference._infer_aten_argmaxú  s  € Øˆ	Ø�z‰z˜!Š}à‰Ià×%Ñ% d¨AÓ.ˆCØ×)Ñ)¨$°Ó2ˆGØÐ"Ø"×3Ñ3°D¸!Ó<�Ø�?Ü.¨s´C¸Ó4DÓE�CÙØ+,˜ CÒ(à'¨Ñ,ä˜{Ó+�DØ"&×":Ñ":Á7¹4ÐPTÐWXÑPXÐZ^Ó"_�KØ×*Ñ*¨;Ô7Ü6°{ÓC�	Ø�;‰;�qŠ>˜iÐ3Ø—‘ §¡¨A¡Ñ/ˆBØ�K‰Kœ×5Ñ5°d·k±kÀ!±nÄd×FVÑFV×F\ÑF\Ð^gÓhÕið 4ˆ>r   c                 ój  — | j                  |«       | j                  |d«      }|�t        |«      dk7  r|d   nd }| j                  |d«      }| j                  |j
                  d      j                  j                  j                  }dD ]¨  }|j                  |   sŒ| j                  |j                  |      }|j                  t        j                  |j                  |   ||�|nt        | j                  ||d«      «      |�t        |«      nt        | j                  ||d«      «      g«      «       Œª y )Nr   é   râ  rP   )Ú_propagate_shape_and_typer«  rQ   r¼  r€  ru  r   r   r*   rË  r|  r   r‚  r   r  rV   )rS  r   rn  rË  Úgroupr5  r7   r-   s           r   rF  z-SymbolicShapeInference._infer_aten_group_norm  s  € Ø×&Ñ& tÔ,Ø—o‘o d¨AÓ.ˆØ)Ð5¼#¸kÓ:JÈaÒ:OˆK˜ŠNÐUYˆØ×#Ñ# D¨!Ó,ˆØ—~‘~ d§j¡j°¡mÑ4×9Ñ9×EÑE×OÑOˆØò 	ˆAØ�{‰{˜1‹~Ø—^‘^ D§K¡K°¡NÑ3�Ø—‘Ü×1Ñ1ØŸ™ A™Ø$à!" ™A´C¸×8ZÑ8ZÐ[_ÐabÐdeÓ8fÓ4gð $)Ð#4ô !*¨%Ô 0ä%(¨×)KÑ)KÈDÐRSÐUVÓ)WÓ%Xðóõñ	r   c                 ó°  — d }| j                  |d«      }|�š|d d }| j                  |d«      }|�?||D �cg c]/  }t        |«      t        j                  u r|j                  «       n|‘Œ1 c}z  }nBt        |«      }|t        d|«      D �cg c]  }t        | j                  |d|«      «      ‘Œ  c}z  }|j                  d   r�|�Š| j                  |j                  d      j                  j                  j                  }| j                  |j                  d      }	|	j                  t!        j"                  |j                  d   ||«      «       y y y c c}w c c}w ©Nr   rÈ  rP   )r«  r¼  r   r;   r<   rS   rQ   r�  r   r  rË  r€  ru  r   r*   r|  r   r‚  )
rS  r   r   rn  Úoutput_sizeÚdim_sizerD   r7   r5  r-   s
             r   rG  z+SymbolicShapeInference._infer_aten_upsample+  s5  € Øˆ	Ø—o‘o d¨AÓ.ˆØÐ"Ø# B Q˜ˆIØ×-Ñ-¨d°AÓ6ˆKØÐ&ØÐjuÖvÐ^f´°h³Ä2Ç8Á8Ñ1K˜hŸm™mœoÐQYÑYÒvÑv‘	ä˜;Ó'�ØÔ[`ÐabÐdhÓ[iÖjÐVWœc $×"DÑ"DÀTÈ1ÈaÓ"PÕQÒjÑj�	Ø�;‰;�qŠ>˜iÐ3ØŸ>™>¨$¯*©*°Q©-Ñ8×=Ñ=×IÑI×SÑSˆLØ—‘ §¡¨A¡Ñ/ˆBØ�K‰Kœ×5Ñ5°d·k±kÀ!±nÀlÐT]Ó^Õ_ð 4ˆ>ùò	 wùò ks   µ4EÂ	#Ec                 ó®   — | j                  |«       dD ]?  }|t        |j                  «      k  sŒ|j                  |   sŒ,| j                  |d|¬«       ŒA y )N)rP   rÈ  r  ræ  rP   ©Úinput_indexÚoutput_index©ró  rQ   rË  )rS  r   r7   s      r   ré   z0SymbolicShapeInference._infer_BatchNormalization;  sT   € Ø×&Ñ& tÔ,ð ò 	TˆAØ”3�t—{‘{Ó#Ó#¨¯©°A«à×.Ñ.¨tÀÐQRÐ.ÕSñ	Tr   c           	      óf  — | j                   |j                  d      }| j                  |«      }t        d„ |D «       «      r[t	        |d   «      }t	        |d   «      }t	        |d   «      }t        j                  t        j                  ||z
  |z  «      d«      g}n| j                  |«      g}| j                  |«       |j                  t        j                  |j                  d   | j                   |j                  d      j                  j                  j                   t#        |«      «      «       y )Nr   c              3   ó$   K  — | ]  }|d u–— Œ
 y ­wr)   rB   )r\  r7   s     r   r^  z6SymbolicShapeInference._infer_Range.<locals>.<genexpr>G  s   è ø€ Ò1 ˆq˜Œ}Ñ1ùrð  rP   rÈ  )r€  rË  rø  r`  rV   r>   r}   r"  r  rÁ  r|  r   r‚  ru  r   r   r*   r8   )rS  r   r-   Ú
input_dataÚstartÚlimitÚdeltar¿  s           r   rÿ   z#SymbolicShapeInference._infer_RangeD  sú   € Ø�^‰^˜DŸK™K¨™NÑ+ˆØ×2Ñ2°4Ó8ˆ
ÜÑ1 jÔ1Ô1Ü˜j¨™mÓ,ˆEÜ˜j¨™mÓ,ˆEÜ˜j¨™mÓ,ˆEÜ$Ÿy™y¬¯©¸À¹ÈÑ7NÓ)OÐQRÓSÐT‰Oà#×AÑAÀ$ÓGÐHˆOØ×"Ñ" ?Ô3Ø
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘˜tŸz™z¨!™}Ñ-×2Ñ2×>Ñ>×HÑHÜ*¨?Ó;óõ	
r   c                 óÞ  — t        |dd«      }t        | j                  «      dk\  �rÂt        |j                  «      dkD  �r¨| j                  |d«      }| j                  |j                  d      }|€™|sJ ‚|j                  t        j                  |j                  d   | j                  |j                  d      j                  j                  j                  t        | j                  | j!                  |d«      |«      «      «      «       y | j#                  |d«      }g }|D �cg c]  }t%        |t        |«      «      ‘Œ }}t'        |«      D ]/  \  }}	||v r|sŒ|j)                  d«       Œ|j)                  |	«       Œ1 |j                  t        j                  |j                  d   | j                  |j                  d      j                  j                  j                  |«      «       y y y c c}w )NÚkeepdimsrP   é   r   )r   rM   rs  rQ   ru  r¼  r€  rË  r|  r   r‚  r   r   r*   r8   r  r¯  r«  rE   r¾  r´  )
rS  r   Ú	keep_dimsÚaxesr-   r$   rp  Úar7   r&   s
             r   r   z'SymbolicShapeInference._infer_ReduceSumW  s¨  € Ü! $¨
°AÓ6ˆ	Ü�T—\‘\Ó" bÓ(¬S°·±«_¸qÓ-@à×&Ñ& t¨QÓ/ˆDØ—‘ §¡¨A¡Ñ/ˆBØˆ|Ù Ð �yØ—‘Ü×1Ñ1ØŸ™ A™ØŸ™ t§z¡z°!¡}Ñ5×:Ñ:×FÑF×PÑPÜ2°4×3KÑ3KÈD×L`ÑL`ÐaeÐghÓLiÐkoÓ3pÓqóõð Ÿ™¨¨aÓ0�Ø!�ØEIÖJÀÔ,¨Q´°E³
Õ;ÐJ�ÐJÜ% eÓ,ò /‘D�A�qØ˜D‘yÚ$Ø(×/Ñ/°Õ2à$×+Ñ+¨AÕ.ð/ð —‘Ü×1Ñ1ØŸ™ A™ØŸ™ t§z¡z°!¡}Ñ5×:Ñ:×FÑF×PÑPØ$óõð/ .AÐ(ùò  Ks   Ä!G*c                 óX   — t        | j                  «      dk\  r| j                  |«       y y )Né   )rM   rs  r   r  s     r   r  z(SymbolicShapeInference._infer_ReduceMeanx  s&   € Ü�T—\‘\Ó" bÒ(à×!Ñ! $Õ'ð )r   c                 óÈ   — t        |d«      }t        |dd«      }|dk(  rD|dgk(  r=| j                  |«      d   }|�&t        |«      | j                  |j                  d   <   y y y y )Nr  r  rP   r   )r   rø  r]   r·  rË  )rS  r   r  r  rª  s        r   r  z(SymbolicShapeInference._infer_ReduceProd}  so   € Ü˜T 6Ó*ˆÜ! $¨
°AÓ6ˆ	Ø˜Š>˜d q cškØ×0Ñ0°Ó6°qÑ9ˆDØÐÜ3GÈÓ3M�× Ñ  §¡¨Q¡Ò0ð  ð *ˆ>r   c                 óÂ  — | j                  |d«      }| j                  |d«      }|�|€y | j                  |d«      d   }d|t        |«      t        |«      g}| j                  |j                  d      j
                  j                  j                  }| j                  |j                  d      }|j                  t        j                  |j                  d   ||«      «       y rð  )r¼  rµ  r   r€  ru  r   r   r*   rË  r|  r   r‚  )rS  r   Úseq_lenÚreal_seq_lenÚ	num_headsr   r5  r-   s           r   r4  z2SymbolicShapeInference._infer_RelativePositionBias…  sÃ   € Ø×%Ñ% d¨AÓ.ˆØ×*Ñ*¨4°Ó3ˆØˆ?˜lÐ2ØØ×)Ñ)¨$°Ó2°1Ñ5ˆ	à˜	¤3 w£<´°\Ó1BÐCˆ	à—~‘~ d§j¡j°¡mÑ4×9Ñ9×EÑE×OÑOˆØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.À,ÐPYÓZÕ[r   c                 ó<  — | j                  |d«      }| j                  |j                  d      }|€ | j                  |d«      }t	        |«      dk(  sJ ‚|d   }t        |«      sJ ‚|j                  t        j                  |j                  d   |j                  j                  j                  t        | j                  ||«      «      «      «       �n;| j                  |d«      }d}|D ]  }||z  }Œ	 g }	d}
d}t        |«      D ]x  \  }}t        |«      t         j"                  u r|	j%                  |«       n3|dk(  r|	j%                  ||   «       |||   z  }n|	j%                  |«       |dk(  r|}
Œn|dk7  sŒt||z  }Œz |	j'                  d«      dk  sJ ‚d|	v r
||z  }||	|
<   | j)                  |	«       |j                  t        j                  |j                  d   |j                  j                  j                  t        |	«      «      «       | j+                  |«       y )NrP   r   r  rÈ  )r¼  r€  rË  r«  rQ   r4   r|  r   r‚  r   r   r*   r8   r  rµ  r¾  r>   re  r´  ÚcountrÁ  r  )rS  r   Úshape_valuer-   Úshape_shapeÚ
shape_rankÚinput_sympy_shapeÚtotalr&   r¿  Údeferred_dim_idxÚnon_deferred_sizer7   r¦  s                 r   r  z%SymbolicShapeInference._infer_Reshape’  s!  € Ø×)Ñ)¨$°Ó2ˆØ�^‰^˜DŸK™K¨™NÑ+ˆØÐØŸ/™/¨$°Ó2ˆKÜ�{Ó# qÒ(Ð(Ð(Ø$ Q™ˆJÜ˜jÔ)Ð)Ð)Ø�K‰KÜ×-Ñ-Ø—K‘K ‘NØ—G‘G×'Ñ'×1Ñ1Ü.¨t×/GÑ/GÈ
ÐTXÓ/YÓZóöð !%× 5Ñ 5°d¸AÓ >ÐØˆEØ&ò "�Ø ™	‘ð"à ˆOØ!ÐØ !ÐÜ! +Ó.ò >‘��1Ü˜“7œeŸl™lÑ*Ø#×*Ñ*¨1Õ-Ø˜!’VØ#×*Ñ*Ð+<¸QÑ+?Ô@Ø(9Ð<MÈaÑ<PÑ(PÑ%à#×*Ñ*¨1Ô-Ø˜’7Ø'(Ñ$Ø˜!“VØ(9¸AÑ(=Ñ%ð>ð #×(Ñ(¨Ó,¨qÒ0Ð0Ð0Ø�_Ñ$ØÐ#4Ñ4�Ø4;�Ð 0Ñ1à×&Ñ& Ô7Ø�K‰KÜ×-Ñ-Ø—K‘K ‘NØ—G‘G×'Ñ'×1Ñ1Ü.¨Ó?óôð 	× Ñ  Õ&r   c                 ó@  — | j                   |j                  d      }| j                  |d«      }t        | j                  «      dk  rä| j                  |d«      }|�Ït        ||d¬«      D ��cg c]0  \  }}t        j                  t        j                  ||z  «      «      ‘Œ2 }}}| j                  |«       |j                  t        j                  |j                  d   | j                   |j                  d      j                  j                   j"                  t%        |«      «      «       y y | j                  |d«      }| j                  |d«      }| j                  |d«      }	|	�G|	D �cg c]*  }t        j                  t        j                  |«      «      ‘Œ, }}| j                  |«       nî|�Êt'        |«      }
t)        |d«      d	k(  r0t'        |«      d|
z  k(  sJ ‚t+        |«      d |
 }t+        |«      |
d  }ndg|
z  }dg|
z  }t+        |«      }t        ||||d¬«      D ����cg c]8  \  }}}}t        j                  t        j                  |||z
  z  |z  «      «      ‘Œ: }}}}}| j                  |«       n"| j-                  | j/                  |d«      |«      }|j                  t        j                  |j                  d   | j                   |j                  d      j                  j                   j"                  t%        |«      «      «       y c c}}w c c}w c c}}}}w )
Nr   rÔ  rP   Fr  rÈ  r  Úcoordinate_transformation_modeÚtf_crop_and_resize)r€  rË  rµ  rM   rs  r¼  rý  r>   Úsimplifyr]  rÁ  r|  r   r‚  ru  r   r   r*   r8   rQ   r   rH   r  r¯  )rS  r   r-   r  Úscalesr&   r]  r¿  ÚroiÚsizesrD   Ú	roi_startÚroi_endr  ÚendÚscales                   r   r  z$SymbolicShapeInference._infer_ResizeÆ  sÔ  € Ø�^‰^˜DŸK™K¨™NÑ+ˆØ ×1Ñ1°$¸Ó:ÐÜ�T—\‘\Ó" bÒ(Ø×(Ñ(¨¨qÓ1ˆFØÐ!äCFÐGXÐZ`ÐinÔCo÷#Ù;?¸1¸a”E—N‘N¤5§;¡;¨q°1©uÓ#5Õ6ð#�ñ #ð ×*Ñ*¨?Ô;Ø—‘Ü×1Ñ1ØŸ™ A™ØŸ™ t§z¡z°!¡}Ñ5×:Ñ:×FÑF×PÑPÜ2°?ÓCóõð "ð ×%Ñ% d¨AÓ.ˆCØ×(Ñ(¨¨qÓ1ˆFØ×'Ñ'¨¨aÓ0ˆEØÐ ØKPÖ"QÀa¤5§>¡>´%·+±+¸a³.Õ#AÐ"Q�Ð"QØ×*Ñ*¨?Õ;ØÐ#Ü˜6“{�Ü  Ð'GÓHÐL`Ò`Ü˜s›8 q¨4¡xÒ/Ð/Ð/Ü $ S£	¨%¨4Ð 0�IÜ" 3›i¨¨Ð.‘Gà!"  d¡
�IØ ˜c D™j�GÜ˜f›�ô 14Ð4EÀyÐRYÐ[aÐjoÔ0p÷#ñ #á,˜˜5 # uô —N‘N¤5§;¡;¨q°C¸%±KÑ/@À5Ñ/HÓ#IÕJð#�ó #ð ×*Ñ*¨?Õ;à"&×":Ñ":¸4×;OÑ;OÐPTÐVWÓ;XÐZ^Ó"_�à�K‰KÜ×-Ñ-Ø—K‘K ‘NØ—N‘N 4§:¡:¨a¡=Ñ1×6Ñ6×BÑB×LÑLÜ.¨Ó?óõùóI#ùò  #Rùõ#s   Á,5LÅ'/LÈ"=L
c                 ó¤  — t        |d«      }t        |d«      }t        |ddg|z  «      }t        |j                  «      |z
  }t        |«      D ��cg c]$  \  }}t	        || j                  |||z   «      «      ‘Œ& }}}t        |j                  «      t        |j                  «      k\  sJ ‚|j                  d t        |j                  «       }t        |«      D ]Œ  \  }}	|	j                  }
|	j                  | j                  |j                  |      «       ||k\  rD|	j                  j                  j                  j                  }|j                  ||||z
        «       |
|	_        ŒŽ | j                  ||«       t        |j                  «      |z
  }t        |ddg|z  «      }t!        | j                  |j                  d      j                  «      |d      }t        |j                  «      D ]Þ  \  }}| j                  |   }||k\  r t!        |j                  |   j                  «      }t	        |||z
     t        |«      dz   «      }g |d | ¢|‘||d  ¢}|j                  t#        j$                  ||j                  |   j                  j                  j&                  |«      «       n|j                  |j                  |   «       ||_        Œà y c c}}w )Nr¸  Únum_scan_inputsÚscan_input_axesr   Úscan_output_axesr  rP   )r   rQ   ru  r¾  rE   r¯  r
   r|  r€  r   r   r$   r   rc  rè  rË  r'   r   r‚  r*   )rS  r   rß  r&  r'  Únum_scan_statesr7   Úaxrâ  r»  Úsubgraph_nameÚscan_input_dimÚnum_scan_outputsr(  rÖ  r-   r$   r¦  s                     r   r  z"SymbolicShapeInference._infer_Scanø  s•  € Ü   vÓ.ˆÜ'¨Ð.?Ó@ˆÜ'¨Ð.?À!ÀÀÑAVÓWˆÜ˜dŸj™j›/¨OÑ;ˆô # ?Ó3÷
á��2ô !  T×%9Ñ%9¸$ÀÀOÑ@SÓ%TÕUð
ˆñ 
ô �8—>‘>Ó"¤c¨$¯*©*£oÒ5Ð5Ð5Ø"Ÿ.™.Ð):¬3¨t¯z©z«?Ð;ˆÜ˜Ó/ò 	$‰EˆAˆrØŸG™GˆMØ�K‰K˜Ÿ™ t§z¡z°!¡}Ñ5Ô6Ø�OÒ#Ø!#§¡×!4Ñ!4×!:Ñ!:×!>Ñ!>�Ø×%Ñ% n°_ÀQÈÑEXÑ5YÑ&ZÔ[Ø#ˆB�Gð	$ð 	×!Ñ! $¨Ô1Ü˜tŸ{™{Ó+¨oÑ=ÐÜ(¨Ð/AÀAÀ3ÐIYÑCYÓZÐÜ2°4·>±>À$Ç*Á*ÈRÁ.Ñ3Q×3VÑ3VÓWÐXgÐhjÑXkÑlˆÜ˜dŸk™kÓ*ò 		‰DˆAˆqØ—‘ Ñ"ˆBØ�OÒ#Ü1°(·/±/À!Ñ2D×2IÑ2IÓJ�Ü.Ð/?ÀÀOÑ@SÑ/TÔVYÐZ_ÓV`ÐcdÑVdÓe�ØL˜%  ˜/ÐL¨>ÐL¸EÀ'À(¸OÐL�Ø—‘œF×9Ñ9¸!¸X¿_¹_ÈQÑ=O×=TÑ=T×=`Ñ=`×=jÑ=jÐlqÓrÕsà—‘˜HŸO™O¨AÑ.Ô/ØˆB�Gñ		ùó'
s   Á)Kc                 ó6  — | j                  |d«      }| j                  |j                  d      }|j                  t	        j
                  |j                  d   | j                  |j                  d      j                  j                  j                  |«      «       y r   rO  )rS  r   rP  r-   s       r   r  z-SymbolicShapeInference._infer_ScatterElements  sv   € Ø—_‘_ T¨1Ó-ˆ
Ø�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘˜tŸz™z¨!™}Ñ-×2Ñ2×>Ñ>×HÑHØóõ	
r   c                 óˆ  — | j                  |d«      }| j                  |j                  d      }|�’t        |«      D ]ƒ  \  }}|�Œ	t        j
                  j                  «       }t        | j                  |d|«      «      |_	        |j                  j                  j                  j                  |   j                  |«       Œ… y y r   )r«  r€  rË  r¾  r0   rC  rD  r   r  rw  r   r   r$   r   r|  )rS  r   ry  r-   rJ  r&   r¦  s          r   r  z(SymbolicShapeInference._infer_SequenceAt&  s°   € à—O‘O D¨!Ó,ˆ	Ø�^‰^˜DŸK™K¨™NÑ+ˆØÐ Ü" 9Ó-ò D‘��AØ�=ØÜ×/Ñ/×9Ñ9Ó;�Ü$'¨×(JÑ(JÈ4ÐQRÐTVÓ(WÓ$X�Ô!Ø—‘×#Ñ#×)Ñ)×-Ñ-¨bÑ1×:Ñ:¸7ÕCñDð !r   c                 óF  — | j                   |j                  d      }| j                   |j                  d      }| j                   |j                  d      }|j                  |«       |j                  d   |_        | j                  |d|j                  |j                  «       y rT  )r€  ru  rË  r|  r
   rL  r   )rS  r   Úvi_seqÚ	vi_tensorÚ
vi_out_seqs        r   r  z,SymbolicShapeInference._infer_SequenceInsert2  s}   € à—‘ §
¡
¨1¡Ñ.ˆØ—N‘N 4§:¡:¨a¡=Ñ1ˆ	Ø—^‘^ D§K¡K°¡NÑ3ˆ
Ø×Ñ˜FÔ#ØŸ+™+ a™.ˆ
ŒØ×Ñ˜t Q¨
¯©¸¿¹ÕHr   c                 ó”   — t        |dd«      }t        |d«      }| j                  |d«      || | j                  |j                  d   <   y )Nr  r   r#  )r   rµ  r·  rË  )rS  r   r  r#  s       r   r	  z#SymbolicShapeInference._infer_Shape;  sI   € ä˜d G¨QÓ/ˆÜ˜D %Ó(ˆØ+/×+@Ñ+@ÀÀqÓ+IÈ%ÐPSÐ+Tˆ×Ñ˜Ÿ™ Q™Ò(r   c                 ó<  — | j                  |d«      }t        |«      | j                  |j                  d   <   | j                  |j                  d      j                  t        j                  |j                  d   t        j                  j                  g «      «       y r   )rµ  r]   r·  rË  r€  r|  r   r‚  r0   r@  rj  )rS  r   r6   s      r   r
  z"SymbolicShapeInference._infer_SizeA  sw   € Ø×+Ñ+¨D°!Ó4ˆÜ+?ÀÓ+Lˆ×Ñ˜Ÿ™ Q™Ñ(Ø�‰�t—{‘{ 1‘~Ñ&×/Ñ/Ü×)Ñ)¨$¯+©+°a©.¼$×:JÑ:J×:PÑ:PÐRTÓUõ	
r   c           	      óT	  ‡ ‡‡— d„ Šˆfd„Šˆˆ fd„}t        ‰ j                  «      dk  rSt        |d«      }t        |d«      }t        |d«      }|st        t	        t        |«      «      «      }dgt        |«      z  }n¸t        ‰ j                  |d«      d	¬
«      }t        ‰ j                  |d«      d	¬
«      }‰ j                  |d«      }‰ j                  |d«      }|€%|€|�!t        t	        t        |�|n|«      «      «      }|€|€|�dgt        |�|n|«      z  }t        |d	¬
«      }t        |d	¬
«      }‰ j                  |d«      }|�|€]|€1t	        t        |«      «      D ]  }‰ j                  |d|«      ||<   Œ �n›t        |«      }|D ]  }‰ j                  |d|«      ||<   Œ �nqt        ||||d¬«      D �]L  \  }}	}
} ||
||   «      }
t        |
«      rŠ|
‰ j                  k\  r||   }
n¯|
‰ j                   k  r
|	dkD  rdnd}
n•t        ||   «      r'|
dk  rt        d|
||   z   «      }
t        |
||   «      }
n`|
dkD  r[|
dkD  rt!        j"                  |
||   «      n|
}
n:t        ||   «      rt!        j"                  |
||   «      }
n	  ‰|
||   «      s||   }
 ||	||   «      }	t        ||   «      r$t        |	«      rt        dt        |	||   «      «      }	t!        j*                  |
|	z
  |z   |dkD  rdndz   |z  «      ||<   �ŒO ‰ j-                  |«       ‰ j.                  |j0                  d      }|j3                  t5        j6                  |j0                  d   |j8                  j:                  j<                  t        |«      «      «       |j>                  d   ‰ j@                  v rË|dgk(  rÄ|�Át        |«      dk(  r²|�¯t        |«      dk(  r |��t        |«      dk(  rŽ‰ j@                  |j>                  d      }t9        |«      t        u s3t9        |«      tB        jD                  u rEt        |jF                  «      dk(  r,||d   |d   |d   …   ‰ j@                  |j0                  d   <   y y y y y y y y y y y # t$        $ r( t&        j)                  d|
› d||   › d�«       ||   }
Y �Œ
w xY w)Nc                 óV  ‡ ‡— t        ‰ t        j                  «      s
J d‰ › �«       ‚t        t	        ‰ j
                  «      «      D �cg c],  }t        ‰ j
                  |   t        j                  «      sŒ+|‘Œ. }}t	        |«      dk(  r|d   Šˆ ˆfd„} |d«       |d«      gS ‰ gS c c}w )Nz%Expected a sum of two arguments, got rP   r   c                 ó&  •— t        ‰j                  «      }t        |‰   t        j                  «      sJ d‰› d|‰   › �«       ‚t        |‰   j                  «      dk(  sJ d|‰   › �«       ‚|‰   j                  |    |‰<   t        j                  |Ž S )Nz#Expected a sympy.Min() at position z, got rÈ  z5Expected a sympy.Min() with exactly 2 arguments, got )rH   Úargsrñ  r>   r€   rQ   ra   )Úarg_idxÚreplacedÚexprÚmin_poss     €€r   Úreplace_min_with_argzVSymbolicShapeInference._infer_Slice.<locals>.flatten_min.<locals>.replace_min_with_argV  s«   ø€ Ü# D§I¡I›�HÜ% h¨wÑ&7¼¿¹ÔCð Ø=¸g¸YÀfÈXÐV]ÑM^ÐL_Ð`óÐCô ˜x¨Ñ0×5Ñ5Ó6¸!Ò;ð ØOÐPXÐY`ÑPaÐObÐcóÐ;ð )1°Ñ(9×(>Ñ(>¸wÑ(G�H˜WÑ%Ü Ÿ9™9 hÐ/Ð/r   )rñ  r>   ra   r�  rQ   r9  r€   )r<  rª  Úmin_positionsr>  r=  s   `   @r   Úflatten_minz8SymbolicShapeInference._infer_Slice.<locals>.flatten_minP  sª   ù€ Ü˜d¤E§I¡IÔ.Ð^Ð2WÐX\ÐW]Ð0^Ó^Ð.Ü,1´#°d·i±i³.Ó,AÖk SÄZÐPT×PYÑPYÐZ]ÑP^Ô`e×`iÑ`iÕEjšSÐkˆMÐkÜ�=Ó! QÒ&Ø'¨Ñ*�õ	0ñ )¨Ó+Ù(¨Ó+ðð ð �6ˆMùò' ls   Á,B&Á4B&c                 ót  •— 	 t        | |k  «      S # t        $ r Y nw xY w	 t        || k\  «      S # t        $ r Y nw xY w	 t        |  | k\  «      S # t        $ r Y nw xY w	 t        | |  k  «      S # t        $ r Y nw xY w	 t        || z
  dk\  «      S # t        $ r t        d„  ‰|| z
  «      D «       «      cY S w xY w)Nr   c              3   ó8   K  — | ]  }t        |d k\  «      –— Œ y­wr�  )Úboolr‰  s     r   r^  zJSymbolicShapeInference._infer_Slice.<locals>.less_equal.<locals>.<genexpr>|  s   è ø€ ÒD¨Aœ4  Q¡Ÿ<ÑDùs   ‚)rC  r!  r`  )rU   Úyr@  s     €r   Ú
less_equalz7SymbolicShapeInference._infer_Slice.<locals>.less_equalg  sã   ø€ ðÜ˜A ™F“|Ð#øÜò ÙðúðÜ˜A ™F“|Ð#øÜò ÙðúðÜ˜Q˜B 1 "™H“~Ð%øÜò ÙðúðÜ˜Q˜B 1 "™H“~Ð%øÜò ÙðúðEÜ˜A ™E Q™JÓ'Ð'øÜò EäÑD±¸QÀ¹UÓ1CÔDÓDÒDðEúsM   ƒ ‘	œ¡/ ¯	;º;¿A Á	AÁAÁA/ Á/	A;Á:A;Á?B Â$B7Â6B7c                 ó´   •— 	  ‰d| «      s"t        | «      r| ‰j                   k  r| S || z   S 	 | S # t        $ r t        j	                  d| › d�«       Y | S w xY w)z/normalizes a negative index to be in [0, bound)r   zCannot determine if z < 0)r4   rP  r!  rf  rg  )ri  ÚboundrE  rS  s     €€r   Úhandle_negative_indexzBSymbolicShapeInference._infer_Slice.<locals>.handle_negative_index~  sq   ø€ ðCÙ! ! UÔ+Ü! %Ô(¨U°t·}±}°nÒ-Dà$˜Ø  5™=Ð(ð	 ,ð ˆLøô ò CÜ—‘Ð!5°e°W¸DÐAÕBØˆLðCús   ƒ%1 ©1 ±"AÁArÃ  r  ÚstartsÚendsrP   Tr§  rÈ  r  ræ  r   Fr  r  zUnable to determine if z <= z, treat as equal)$rM   rs  r   rH   r�  rQ   rY   r¼  rµ  r  r8   rý  r4   rP  rØ   rÙ   r>   r€   Ú	Exceptionrf  rg  r  rÁ  r€  rË  r|  r   r‚  r   r   r*   ru  r·  r;   Úarrayr$   )rS  r   rH  r  rI  rJ  Ústepsr¿  r7   r]  Úer|  r-   Úinput_sympy_datar@  rE  s   `             @@r   r  z#SymbolicShapeInference._infer_SliceH  sé  ú€ ò	ô.	Eõ.
	ô �T—\‘\Ó" aÒ'Ü   vÓ.ˆDÜ" 4¨Ó2ˆFÜ   vÓ.ˆDÙÜœE¤# f£+Ó.Ó/�Ø�Cœ#˜d›)‘O‰Eä˜T×0Ñ0°°qÓ9ÀTÔJˆFÜ˜4×.Ñ.¨t°QÓ7À4ÔHˆDØ×&Ñ& t¨QÓ/ˆDØ×'Ñ'¨¨aÓ0ˆEØˆ| V ^¸¸ÜœE¤#°Ð0B¡fÈÓ"MÓNÓO�Øˆ} f n¸¸Ø˜œc¨FÐ,>¡&ÀDÓIÑI�Ü˜4¨4Ô0ˆDÜ˜E¨TÔ2ˆEà×/Ñ/°°aÓ8ˆØˆ>˜T˜\Øˆ|Üœs ?Ó3Ó4ò X�AØ)-×)KÑ)KÈDÐRSÐUVÓ)W�O AÒ&òXô #=¸_Ó"M�Øò X�AØ)-×)KÑ)KÈDÐRSÐUVÓ)W�O AÒ&òXô " $¨°°eÀEÔJó ]‘
��1�a˜Ù)¨!¨_¸QÑ-?Ó@�Ü˜a”=Ø˜DŸM™MÒ)Ø+¨AÑ.™Ø˜tŸ}™}˜nÒ,Ø!" Q¢™A¨B™Ü# O°AÑ$6Ô7Ø˜qš5Ü # A q¨?¸1Ñ+=Ñ'=Ó >˜AÜ  ?°1Ñ#5Ó6™à˜qš5àDEÈÂE¤§	¡	¨!¨_¸QÑ-?Ô @Èqñ ô " /°!Ñ"4Ô5Ü!ŸI™I a¨¸Ñ);Ó<™ð3Ù#-¨a°ÀÑ1CÔ#DØ$3°AÑ$6 ñ
 *¨!¨_¸QÑ-?Ó@�Ü˜o¨aÑ0Ô1´jÀ´mÜ˜Aœs 1 o°aÑ&8Ó9Ó:�Aä%*§^¡^°Q¸±U¸Q±YÈÈAÊÁ"ÐSTÑ5UÐZ[Ñ4[Ó%\� Ó"ð?]ðB ×&Ñ& Ô7à�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘×#Ñ#×-Ñ-Ü*¨?Ó;óô	
ð �J‰J�q‰M˜T×-Ñ-Ñ-Ø˜˜’ØÐ"Ü�F“˜qÒ ØÐ Ü�D“	˜Q’ØÐ!Ü�E“
˜a’à#×/Ñ/°·
±
¸1±Ñ>ÐÜÐ$Ó%¬Ñ-ÜÐ%Ó&¬"¯(©(Ñ2´sÐ;K×;QÑ;QÓ7RÐVWÒ7Wà3CÀFÈ1ÁIÐPTÐUVÑPWÐZ_Ð`aÑZbÐDbÑ3c�× Ñ  §¡¨Q¡Ò0ð 8XÐ2ð	  ð "ð ð !ð !ð #ð ð .øô/  )ò 3Ü"ŸN™NÐ-DÀQÀCÀtÈOÐ\]ÑL^ÐK_Ð_oÐ+pÔqØ /°Ñ 2›Að3ús   ÊQ6Ñ6-R'Ò&R'c                 óx  — | j                   |j                  d      }| j                   |j                  d      j                  j                  j
                  }t        |dd «      }|�|}||j                  j                  _        |j                  j                  j                  j                  t        j                  «       «       t        |j                  «      dkD  r_| j                  |d«      }| j                   |j                  d      }|j                  t        j                  |j                  ||«      «       y y )Nr   rl  rP   )r€  rË  ru  r   r   r*   r   r$   r|  r0   rC  rQ   r«  r   r‚  r
   )rS  r   r-   r*   Úspecified_output_typerP  s         r   r  z5SymbolicShapeInference._infer_SoftmaxCrossEntropyLossä  sð   € Ø�^‰^˜DŸK™K¨™NÑ+ˆØ—N‘N 4§:¡:¨a¡=Ñ1×6Ñ6×BÑB×LÑLˆ	ô !.¨d°MÀ4Ó HÐØ Ð,Ø-ˆIà(1ˆ�‰×ÑÔ%Ø
�‰×Ñ×!Ñ!×*Ñ*¬4×+@Ñ+@Ó+BÔCäˆt�{‰{Ó˜aÒØŸ™¨¨qÓ1ˆJØ—‘ §¡¨A¡Ñ/ˆBØ�K‰Kœ×5Ñ5°b·g±g¸yÈ*ÓUÕVð  r   c                 óˆ  — | j                  |d«      }t        t        |dd«      t        |«      «      }t	        | j
                  «      }|dk  r t        |d«      }| j                  |d«      �"J ‚| j                  |d«      }t        |d«      �J ‚|€Ft        |j                  «      }||   t        j                  |«      z  g|z  }| j                  |«       n"|D �cg c]  }t        j                  |«      ‘Œ }}t        t        |«      «      D ]°  }	| j                  |j                  |	      }
|
j                   ||j                  |	   | j                  |j                  d      j                  j                   j"                  t%        g |d | ¢||	   ‘||dz   d  ¢«      «      «       |
| j                  |
j&                  <   Œ² y c c}w )Nr   rC   r  r•  rP   )rµ  rE   r   rQ   rM   rs  r¼  rË  r>   r?   rÁ  r�  r€  r|  ru  r   r   r*   r8   r
   )rS  r   Úmake_value_info_funcr  rC   Úop_setr•  Únum_outputsr]  rÕ  r-   s              r   Ú_infer_Split_Commonz*SymbolicShapeInference._infer_Split_Commonõ  s±  € Ø ×1Ñ1°$¸Ó:ÐÜ#¤M°$¸ÀÓ$BÄCÐHYÓDZÓ[ˆÜ˜4Ÿ<™<Ó(ˆð �BŠ;Ü! $¨Ó0ˆEØ×&Ñ& t¨QÓ/Ð7Ð7Ð7à×'Ñ'¨¨aÓ0ˆEÜ   wÓ/Ð7Ð7Ð7àˆ=Ü˜dŸk™kÓ*ˆKØ& tÑ,¬u¯}©}¸[Ó/IÑIÐJÈ[ÑXˆEØ×&Ñ& uÕ-à/4Ö5¨!”U—]‘] 1Õ%Ð5ˆEÐ5äœ˜U›Ó$ò 		)ˆCØ—‘ §¡¨CÑ 0Ñ1ˆBØ�K‰KÙ$Ø—K‘K Ñ$Ø—N‘N 4§:¡:¨a¡=Ñ1×6Ñ6×BÑB×LÑLÜ.Ð/vÐ1BÀ5ÀDÐ1IÐ/vÈ5ÐQTÉ:Ð/vÐXiÐjnÐqrÑjrÐjtÐXuÐ/vÓwóôð ')ˆD�N‰N˜2Ÿ7™7Ò#ñ		)ùò 6s   ÃF?c                 óD   — | j                  |t        j                  «       y r)   )rV  r   r‚  r  s     r   r  z#SymbolicShapeInference._infer_Split  s   € Ø× Ñ  ¤v×'DÑ'DÕEr   c                 óD   — | j                  |t        j                  «       y r)   )rV  r   Úmake_sequence_value_infor  s     r   r  z-SymbolicShapeInference._infer_SplitToSequence  s   € Ø× Ñ  ¤v×'FÑ'FÕGr   c                 óè  — | j                  |d«      }t        | j                  «      }|dk  r t        |d«      }| j	                  |d«      �"J ‚| j	                  |d«      }t        |d«      �J ‚|€‰|D �cg c]
  }|dk7  sŒ	|‘Œ }}| j
                  dkD  �r8|D �cg c]  }t        |«      t        k7  sŒ|‘Œ }}t        |«      dkD  �rt        j                  d|j                  › d|j                  › d|› �«       nÔ|D �cg c]  }t        |t        |«      «      ‘Œ }}g }t        t        |«      «      D ]™  }	|	|vr|j                  ||	   «       Œ||	   dk(  st        ||	   «      t        k7  sJ ‚| j
                  dkD  sŒKt        ||	   «      t        k7  sŒat        j                  d|j                  › d|j                  › d||	   › d	|	› d
�	«       Œ› | j                   |j"                  d      }
|
j%                  t'        j(                  |j"                  d   | j                   |j*                  d      j                  j,                  j.                  |«      «       | j1                  |«       y c c}w c c}w c c}w )Nr   r  r  rP   z+Symbolic dimensions in input shape of op: 'z	' node: 'z;'. Assuming the following dimensions are never equal to 1: z'. Assuming the dimension 'z' at index z of the input to be equal to 1.)r«  rM   rs  r   r¼  rO  r   r5   rQ   rf  r“  rÊ  r
   rE   r�  r´  r€  rË  r|  r   r‚  ru  r   r*   r  )rS  r   rn  rT  r  r]  rp  Úsymbolic_dimensionsr	  r7   r-   s              r   r  z%SymbolicShapeInference._infer_Squeeze  sh  € Ø—o‘o d¨AÓ.ˆÜ˜4Ÿ<™<Ó(ˆð �BŠ;Ü   vÓ.ˆDØ×&Ñ& t¨QÓ/Ð7Ð7Ð7à×&Ñ& t¨QÓ/ˆDÜ   vÓ.Ð6Ð6Ð6àˆ<ð (3Ö= !°a¸1³fšAÐ=ˆLÐ=Ø�}‰}˜qÓ Ø2=Ö&P¨QÄÀaÃÌCÃ¢qÐ&PÐ#Ð&PÜÐ*Ó+¨aÓ/Ü—L‘LØEÀdÇlÁlÀ^ÐS\Ð]a×]fÑ]fÐ\gð hSØSfÐRgðiõð
 HLÖLÀ!Ô(¨¬C°Ó,<Õ=ÐLˆDÐLØˆLÜœ3˜{Ó+Ó,ò 	�Ø˜D‘=Ø ×'Ñ'¨°A©Õ7à& q™>¨QÒ.´$°{À1±~Ó2FÌ#Ò2MÐMÐMØ—}‘} qÓ(¬T°+¸a±.Ó-AÄSÓ-HÜŸ™ØIÈ$Ï,É,ÈÐW`Ðae×ajÑajÐ`kð l7Ø7BÀ1±~Ð6FÀkÐRSÐQTÐTsðuõð	ð �^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘˜tŸz™z¨!™}Ñ-×2Ñ2×>Ñ>×HÑHØóô	
ð 	× Ñ  Õ&ùò= >ùâ&Pùò Ms   Á3
I%Á>I%ÂI*Â0I*Ã<I/c           	      ó   — | j                  |d«      }g }|�P| j                  |d«      }t        |«      D ]  \  }}|||   z  }|j                  |«       Œ  | j	                  |«       n"| j                  | j                  |d«      |«      }| j                  |j                  d      }|j                  t        j                  |j                  d   |j                  j                  j                  t        |«      «      «       y rO   )r¼  rµ  r¾  r´  rÁ  r  r¯  r€  rË  r|  r   r‚  r   r   r*   r8   )	rS  r   Úrepeats_valuer¿  r  r7   r&   r¦  r-   s	            r   r  z"SymbolicShapeInference._infer_TileJ  sï   € Ø×+Ñ+¨D°!Ó4ˆØˆØÐ$Ø $× 5Ñ 5°d¸AÓ >ÐÜ!Ð"3Ó4ò 0‘��1Ø˜m¨AÑ.Ñ.�Ø×&Ñ& wÕ/ð0ð ×&Ñ& Õ7à"×6Ñ6°t×7KÑ7KÈDÐRSÓ7TÐVZÓ[ˆOØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘×#Ñ#×-Ñ-Ü*¨?Ó;óõ	
r   c                 óê  — | j                  |d«      }t        t        |dd«      |«      }| j                  |d«      }t	        | j
                  «      dk  rt        |d«      }n| j                  |«      d   }|€| j                  |«      }nt        |«      }t        |«      t        t        fv r|||<   n3| j                  |d«      }|||<   | j                  |«       t        |«      }t        t!        |j"                  «      «      D ]o  }| j$                  |j"                  |      }|j'                  t)        j*                  |j"                  |   |j                  j,                  j.                  |«      «       Œq y )Nr   rC   r  rÃ  rm  rP   )r¯  rE   r   r«  rM   rs  rø  r  rV   r   r5   r   rµ  rÁ  r8   r�  rQ   rË  r€  r|  r   r‚  r   r*   )	rS  r   rD   rC   r   rm  r¿  rÕ  r-   s	            r   r  z"SymbolicShapeInference._infer_TopK^  sF  € Ø×#Ñ# D¨!Ó,ˆÜ#¤M°$¸ÀÓ$CÀTÓJˆØ—O‘O D¨!Ó,ˆ	ä�T—\‘\Ó" aÒ'Ü˜d CÓ(‰Aà×-Ñ-¨dÓ3°AÑ6ˆAàˆ9Ø×2Ñ2°4Ó8‰Aä˜!“ˆAä�‹7”sœC�jÑ ØˆI�dŠOà"×3Ñ3°D¸!Ó<ˆOØ$%ˆO˜DÑ!Ø×&Ñ&Øôô 3°?ÓCˆIäœ˜TŸ[™[Ó)Ó*ò 	sˆCØ—‘ §¡¨CÑ 0Ñ1ˆBØ�K‰Kœ×5Ñ5°d·k±kÀ#Ñ6FÈÏÉ×H[ÑH[×HeÑHeÐgpÓqÕrñ	sr   c                 óæ  — |j                   d   | j                  v rÖ| j                  |d«      }t        |dt	        t        t        t        |«      «      «      «      «      }| j                  |j                   d      }t        j                   t        j                  |«      j                  |Ž t        |«      ¬«      j                  «       j                  «       | j                  |j                  d   <   y y )Nr   Úperm)r  )ru  r·  r«  r   ÚreversedrH   r�  rQ   r;   Ú	transposerL  ÚreshapeÚtupleÚflattenÚtolistrË  )rS  r   rP  r`  r   s        r   r  z'SymbolicShapeInference._infer_Transpose{  sº   € Ø�:‰:�a‰=˜D×,Ñ,Ñ,ØŸ™¨¨qÓ1ˆJÜ   v¬x¼¼UÄ3ÀzÃ?Ó=SÓ8TÓ/UÓVˆDØ×)Ñ)¨$¯*©*°Q©-Ñ8ˆJä—‘Ð9œRŸX™X jÓ1×9Ñ9¸:ÐFÌUÐSWË[ÔY×aÑaÓc×jÑjÓlð ×Ñ˜TŸ[™[¨™^Ò,ð	 -r   c                 óü  — | j                  |d«      }t        | j                  «      }|dk  r t        |d«      }| j	                  |d«      �"J ‚| j	                  |d«      }t        |d«      �J ‚t        |«      t        |«      z   }|D �cg c]  }t        ||«      ‘Œ }}d}g }t        |«      D ]1  }	|	|v r|j                  d«       Œ|j                  ||   «       |dz  }Œ3 | j                  |j                  d      }
|
j                  t        j                  |j                  d   | j                  |j                  d      j                  j                   j"                  |«      «       | j%                  |«       y c c}w )Nr   r  r  rP   )r«  rM   rs  r   r¼  rQ   rE   r�  r´  r€  rË  r|  r   r‚  ru  r   r   r*   r  )rS  r   rn  rT  r  Úoutput_rankr	  Ú
input_axisrp  r7   r-   s              r   r  z'SymbolicShapeInference._infer_Unsqueeze„  sl  € Ø—o‘o d¨AÓ.ˆÜ˜4Ÿ<™<Ó(ˆð �BŠ;Ü   vÓ.ˆDØ×&Ñ& t¨QÓ/Ð7Ð7Ð7à×&Ñ& t¨QÓ/ˆDÜ   vÓ.Ð6Ð6Ð6ä˜+Ó&¬¨T«Ñ2ˆØ>BÖC¸Ô$ Q¨Õ4ÐCˆÐCàˆ
ØˆÜ�{Ó#ò 	 ˆAØ�D‰yØ×#Ñ# AÕ&à×#Ñ# K°
Ñ$;Ô<Ø˜a‘‘
ð	 ð �^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘˜tŸz™z¨!™}Ñ-×2Ñ2×>Ñ>×HÑHØóô	
ð 	× Ñ  Õ&ùò) Ds   ÂE9c                 óh  — d }t        |d«      �t        j                  j                  }n&t        |d«      �t        j                  j                  }|€J ‚t        j
                  «       }|j                  d   |_        t        j                  j                  |j                  j                  j                  j                  j                  j                  _        ||j                  j                  j                  j                  _        | j                   |j                  d      }|j#                  |«       y )NÚclasslabels_int64sÚclasslabels_stringsr   )r   r0   r@  rj  ri  r1   rË  r
   ÚFLOATr   r   r*   Úmap_typeÚ
value_typer   Úkey_typer€  r|  )rS  r   Úmap_key_typeÚnew_vir-   s        r   r  z$SymbolicShapeInference._infer_ZipMap§  sä   € ØˆÜ˜Ð3Ó4Ð@Ü×+Ñ+×1Ñ1‰LÜ˜4Ð!6Ó7ÐCÜ×+Ñ+×2Ñ2ˆLàÐ'Ð'Ð'Ü×$Ñ$Ó&ˆØ—k‘k !‘nˆŒÜX\×XhÑXh×XnÑXnˆ�‰×!Ñ!×+Ñ+×4Ñ4×?Ñ?×KÑKÔUØ@Lˆ�‰×!Ñ!×+Ñ+×4Ñ4Ô=Ø�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰�FÕr   c                 ó:  — | j                  |d«      }| j                  |d«      }| j                  |d«      }|�t        |«      dk(  sJ ‚|�|d   n|d   }|�rÄt        |«      dk(  �r´t        |d«      }|�"t        |«      dk(  sJ ‚t	        |d   «      |d<   n!t        |t        «      rt	        |dz  «      |d<   | j                  |j                  d      j                  j                  j                  }| j                  |j                  d      }|j                  t        j                  |j                  d   ||«      «       t        |j                  «      dkD  �rÀ| j                  |d«      }	t        |j                  «      dkD  r!|j                  d   r| j                  |d«      ng }
t        |j                  «      dkD  r!|j                  d   r| j                  |d«      ng }|
rÈt        |
«      dk(  rº|rt        |«      dv r	|d	   |
d<   nU|	rSt        |	«      dk(  rEt        |	d   t        «      r"t        |
d   t        «      r|	d   |
d   z   |
d<   n|
d   › d
|	d   › �|
d<   | j                  |j                  d      }|j                  t        j                  |j                  ||
«      «       y t        |d«      }|	d   |z  }d|	d   ||	d   |g}| j                  |j                  d      }|j                  t        j                  |j                  ||«      «       y y y y )Nr   rP   rÈ  r  Úqkv_hidden_sizesræ  é   rç  r  ú+r  )r«  r­  rQ   r   r5   rñ  r€  ru  r   r   r*   rË  r|  r   r‚  r
   )rS  r   r$   Úshape_weightsÚ
shape_biasÚtripled_hidden_sizeÚqkv_hidden_sizes_attrr5  r-   rn  Ú
past_shapeÚ
mask_shaper  Ú	head_sizeÚpresent_shapes                  r   r  z'SymbolicShapeInference._infer_Attention¶  sç  € Ø—‘  aÓ(ˆØŸ™¨¨aÓ0ˆØ×(Ñ(¨¨qÓ1ˆ
ØÐ!Ü�z“? aÒ'Ð'Ð'Ø/9Ð/E˜j¨šmÈ=ÐYZÑK[ÐÚ”S˜“Z 1“_Ü$1°$Ð8JÓ$KÐ!Ø$Ð0ÜÐ0Ó1°QÒ6Ð6Ð6ÜÐ4°QÑ7Ó8��a’ÜÐ/´Ô5ÜÐ2°QÑ6Ó7��a‘ØŸ>™>¨$¯*©*°Q©-Ñ8×=Ñ=×IÑI×SÑSˆLØ—‘ §¡¨A¡Ñ/ˆBØ�K‰Kœ×5Ñ5°d·k±kÀ!±nÀlÐTYÓZÔ[ä�4—;‘;Ó !Ó#ð
 #Ÿo™o¨d°AÓ6�Ü9<¸T¿Z¹Z»È1Ò9LÐQU×Q[ÑQ[Ð\]ÒQ^˜TŸ_™_¨T°1Ô5Ðdf�
Ü9<¸T¿Z¹Z»È1Ò9LÐQU×Q[ÑQ[Ð\]ÒQ^˜TŸ_™_¨T°1Ô5Ðdf�
á¤# j£/°QÒ"6Ù!¤c¨*£o¸Ñ&?Ø(2°2©˜
 1šÙ$¬¨[Ó)9¸QÒ)>Ü% k°!¡n´cÔ:¼zÈ*ÐUVÉ-ÔY\Ô?]Ø,7¸©N¸ZÈ¹]Ñ,J˜J qšMà/9¸!©}¨o¸Q¸{È1¹~Ð>NÐ,O˜J q™MØŸ™¨¯©°A©Ñ7�BØ—K‘K¤× =Ñ =¸b¿g¹gÀ|ÐU_Ó `Õaô !.¨d°KÓ @�IØ +¨A¡°)Ñ ;�IØ%&¨°A©¸	À;ÈqÁ>ÐS\Ð$]�MØŸ™¨¯©°A©Ñ7�BØ—K‘K¤× =Ñ =¸b¿g¹gÀ|ÐUbÓ cÕdð3 $ð %ˆ5r   c                 óÜ  — t        |d«      }| j                  |d«      }|�|d   ||d   |d   g}n3| j                  |d«      }|�t        |«      dk(  sJ ‚|d   ||d   |d   g}| j                  |j
                  d      j                  j                  j                  }| j                  |j                  d      }|j                  t        j                  |j                  d   ||«      «       y )Nr  rò  r   rP   r  )r   r­  r«  rQ   r€  ru  r   r   r*   rË  r|  r   r‚  )rS  r   r  Útoken_offset_shaperp  Úquery_layer_shaper5  r-   s           r   r   z7SymbolicShapeInference._infer_GatedRelativePositionBiasã  sö   € ô " $¨Ó4ˆ	à!×0Ñ0°°qÓ9ÐØÐ)Ø.¨qÑ1°9Ð>PÐQRÑ>SÐUgÐhiÑUjÐk‰Là $§¡°°aÓ 8ÐØ$Ð0´SÐ9JÓ5KÈqÒ5PÐPÐPØ-¨aÑ0°)Ð=NÈqÑ=QÐSdÐefÑSgÐhˆLà—~‘~ d§j¡j°¡mÑ4×9Ñ9×EÑE×OÑOˆØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.À,ÐP\Ó]Õ^r   c                 ó„  — | j                  |d«      }| j                  |d«      }| j                  |d«      }|�t        |«      dk(  sJ ‚|�|d   n|d   }|rêt        |«      dk(  rÛt        |d«      }|�"t        |«      dk(  sJ ‚t	        |d   «      |d<   n!t        |t        «      rt	        |dz  «      |d<   | j                  |j                  d      j                  j                  j                  }| j                  |j                  d      }|j                  t        j                  |j                  d   ||«      «       y y y )Nr   rP   rÈ  rt  r  )r«  r­  rQ   r   r5   rñ  r€  ru  r   r   r*   rË  r|  r   r‚  )	rS  r   r$   rw  rx  ry  rz  r5  r-   s	            r   r-  z-SymbolicShapeInference._infer_PackedAttentionù  s4  € Ø—‘  aÓ(ˆØŸ™¨¨aÓ0ˆØ×(Ñ(¨¨qÓ1ˆ
ØÐ!Ü�z“? aÒ'Ð'Ð'Ø/9Ð/E˜j¨šmÈ=ÐYZÑK[ÐÙ”S˜“Z 1’_Ü$1°$Ð8JÓ$KÐ!Ø$Ð0ÜÐ0Ó1°QÒ6Ð6Ð6ÜÐ4°QÑ7Ó8��a’ÜÐ/´Ô5ÜÐ2°QÑ6Ó7��a‘ØŸ>™>¨$¯*©*°Q©-Ñ8×=Ñ=×IÑI×SÑSˆLØ—‘ §¡¨A¡Ñ/ˆBØ�K‰Kœ×5Ñ5°d·k±kÀ!±nÀlÐTYÓZÕ[ð %ˆ5r   c                 óÈ  — | j                  |d«      }|�t        |«      dk(  r|}n4| j                  |d«      }|�t        |«      dk(  sJ ‚|d   |d   |d   z  g}| j                  |j                  d      j
                  j                  j                  }| j                  |j                  d      }|j                  t        j                  |j                  d   ||«      «       y )NrÈ  r   ræ  rP   r  )r­  rQ   r«  r€  ru  r   r   r*   rË  r|  r   r‚  )rS  r   r  rp  Úshape_queryr5  r-   s          r   r.  z6SymbolicShapeInference._infer_PackedMultiHeadAttention	  sÐ   € Ø×)Ñ)¨$°Ó2ˆØÐ"¤s¨;Ó'7¸1Ò'<Ø&‰LàŸ/™/¨$°Ó2ˆKØÐ*¬s°;Ó/?À1Ò/DÐDÐDØ'¨™N¨K¸©N¸[È¹^Ñ,KÐLˆLà—~‘~ d§j¡j°¡mÑ4×9Ñ9×EÑE×OÑOˆØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.À,ÐP\Ó]Õ^r   c           	      óê  — | j                  |d«      }|�rÞt        |«      dk(  �rÎ| j                  |j                  d      j                  j
                  j                  }| j                  |j                  d      }|j                  t        j                  |j                  d   |d|d   g«      «       | j                  |j                  d      }|j                  t        j                  |j                  d   t        j                  j                  |d   |d   g«      «       | j                  |j                  d      }|j                  t        j                  |j                  d   t        j                  j                  dg«      «       | j                  |j                  d      }|j                  t        j                  |j                  d   t        j                  j                  dg«      «       y y y )Nr   r  Útoken_countrÈ  rP   zbatch_size + 1©r«  rQ   r€  ru  r   r   r*   rË  r|  r   r‚  r0   r@  rÈ  )rS  r   r$   r5  r-   Úvi_token_offsetÚvi_cumulated_seq_lenÚvi_max_seq_lens           r   r5  z+SymbolicShapeInference._infer_RemovePadding	  s�  € Ø—‘  aÓ(ˆÚ”S˜“Z 1“_ØŸ>™>¨$¯*©*°Q©-Ñ8×=Ñ=×IÑI×SÑSˆLØ—‘ §¡¨A¡Ñ/ˆBØ�K‰Kœ×5Ñ5°d·k±kÀ!±nÀlÐUbÐdiÐjkÑdlÐTmÓnÔoà"Ÿn™n¨T¯[©[¸©^Ñ<ˆOØ×$Ñ$Ü×-Ñ-¨d¯k©k¸!©n¼d×>NÑ>N×>TÑ>TÐW\Ð]^ÑW_ÐafÐghÑaiÐVjÓkôð $(§>¡>°$·+±+¸a±.Ñ#AÐ Ø ×)Ñ)Ü×-Ñ-¨d¯k©k¸!©n¼d×>NÑ>N×>TÑ>TÐWgÐVhÓiôð "Ÿ^™^¨D¯K©K¸©NÑ;ˆNØ×#Ñ#¤F×$AÑ$AÀ$Ç+Á+ÈaÁ.ÔRV×RbÑRb×RhÑRhÐklÐjmÓ$nÕoð! %ˆ5r   c                 óÂ  — | j                  |d«      }| j                  |d«      }|r¹t        |«      dk(  rª|r§t        |«      dk(  r˜| j                  |j                  d      j                  j
                  j                  }| j                  |j                  d      }|d   |d   |d   g}|j                  t        j                  |j                  d   ||«      «       y y y y y rd  )r«  rQ   r€  ru  r   r   r*   rË  r|  r   r‚  )rS  r   Úshape_inputÚshape_token_offsetr5  r-   rp  s          r   r6  z,SymbolicShapeInference._infer_RestorePadding,	  sÐ   € Ø—o‘o d¨AÓ.ˆØ!Ÿ_™_¨T°1Ó5ÐÙœ3˜{Ó+¨qÒ0Ñ5GÌCÐPbÓLcÐghÒLhØŸ>™>¨$¯*©*°Q©-Ñ8×=Ñ=×IÑI×SÑSˆLØ—‘ §¡¨A¡Ñ/ˆBà.¨qÑ1Ð3EÀaÑ3HÈ+ÐVWÉ.ÐYˆLØ�K‰Kœ×5Ñ5°d·k±kÀ!±nÀlÐT`ÓaÕbð MiÐ5GÐ0ˆ;r   c                 ó&   — | j                  |«       y r)   ©ró  r  s     r   r  z&SymbolicShapeInference._infer_BiasGelu6	  ó   € Ø×&Ñ& tÕ,r   c                 ó  — | j                  |d«      }d }d }|��mt        |«      dk(  rÝ| j                  |d«      }|}|�=t        |«      dk(  r/| j                  |d«      }|�t        |«      dk(  r|d   |d<   |d   }| j                  |j                  d      j
                  j                  j                  }| j                  |j                  d      }|j                  t        j                  |j                  d   ||«      «       nít        |«      dk(  rßt        |d   t        «      r(t        |d   t        «      r|d   |d   |d   |d   z  g}n|d   |d   |d   › d|d   › �g}|d   }| j                  |j                  d      j
                  j                  j                  }| j                  |j                  d      }|j                  t        j                  |j                  d   ||«      «       t        |j                  «      dkD  �r{|d   }	t        |d«      }
d }t        |«      dk(  r/t        |d   t        «      rt        |d   |
z  «      n	|d   › d	|
› �}n|d   }| j                  |d
«      }|�6t        |d   t        «      rt        |t        «      r	|d   |z   }n
|d   › d|› �}|	|
||g}|€J ‚t        |j                  «      dkD  r¹|j                  d   r©|j                  d   r™| j                  |j                  d      }|j                  t        j                  |j                  ||«      «       | j                  |j                  d      }|j                  t        j                  |j                  ||«      «       y y y y y y )Nr   r  rP   rÈ  ru  ræ  Ú*r  ú/rò  rv  )r«  rQ   r­  r€  ru  r   r   r*   rË  r|  r   r‚  rñ  r5   r   r
   )rS  r   Úquery_shapeÚtotal_sequence_lengthr5  Ú	key_shaperp  Úvalue_shaper-   Ú
batch_sizer  r}  r{  r~  s                 r   r+  z0SymbolicShapeInference._infer_MultiHeadAttention9	  sw  € ð —o‘o d¨AÓ.ˆØ $ÐØˆØÑ"Ü�;Ó 1Ò$Ø ×/Ñ/°°aÓ8�	à*�ØÐ(¬S°«^¸qÒ-@Ø"&×"5Ñ"5°d¸AÓ">�KØ"Ð.´3°{Ó3CÀqÒ3HØ*5°a©.˜ Q™Ø,5°a©LÐ)à#Ÿ~™~¨d¯j©j¸©mÑ<×AÑA×MÑM×WÑW�Ø—^‘^ D§K¡K°¡NÑ3�Ø—‘œF×9Ñ9¸$¿+¹+Àa¹.È,ÐXdÓeÕfä�[Ó! QÒ&Ü˜k¨!™n¬cÔ2´zÀ+ÈaÁ.ÔRUÔ7VØ$/°¡N°KÀ±NÀKÐPQÁNÐU`ÐabÑUcÑDcÐ#d‘Là$/°¡N°KÀ±NÀ{ÐSTÁ~ÐFVÐVWÐXcÐdeÑXfÐWgÐDhÐ#i�Là(3°A©Ð%à#Ÿ~™~¨d¯j©j¸©mÑ<×AÑA×MÑM×WÑW�Ø—^‘^ D§K¡K°¡NÑ3�Ø—‘œF×9Ñ9¸$¿+¹+Àa¹.È,ÐXdÓeÔfä�4—;‘;Ó !Ó#Ø(¨™^�
Ü)¨$°Ó<�	à �	Ü�{Ó# qÒ(ô & k°!¡n´cÔ:ô ˜K¨™N¨YÑ6Ô7à +¨A¡Ð/¨q°°Ð<ñ ð !,¨A¡�Ià!×0Ñ0°°qÓ9�
àÐ)Ü! *¨Q¡-´Ô5¼*ÐEZÔ\_Ô:`Ø0:¸1±Ð@UÑ0UÑ-à3=¸a±=°/ÀÐCXÐBYÐ0ZÐ-à!+¨YÐ8MÈyÐ Y�à#Ð/Ð/Ð/Ü�t—{‘{Ó# aÒ'¨D¯K©K¸ªN¸t¿{¹{È1º~ØŸ™¨¯©°A©Ñ7�BØ—K‘K¤× =Ñ =¸b¿g¹gÀ|ÐUbÓ cÔdØŸ™¨¯©°A©Ñ7�BØ—K‘K¤× =Ñ =¸b¿g¹gÀ|ÐUbÓ cÕdð	 @N¨NÐ'ð3 $ð7 #r   c                 ó  — | j                  |d«      }|��v|}| j                  |j                  d      j                  j                  j
                  }|€J ‚| j                  |j                  d      }|j                  t        j                  |j                  d   ||«      «       t        |j                  «      dkD  rÎ|j                  d   r¾|j                  d   r®| j                  |d«      }|�™| j                  |j                  d      }|j                  t        j                  |j                  ||«      «       | j                  |j                  d      }|j                  t        j                  |j                  ||«      «       y y y y y y )Nr   rÈ  rP   ru  )r«  r€  ru  r   r   r*   rË  r|  r   r‚  rQ   r­  r
   )rS  r   r”  rp  r5  r-   r{  s          r   r  z=SymbolicShapeInference._infer_DecoderMaskedMultiHeadAttention…	  sK  € ð —o‘o d¨AÓ.ˆØÑ"Ø&ˆLØŸ>™>¨$¯*©*°Q©-Ñ8×=Ñ=×IÑI×SÑSˆLØÐ+Ð+Ð+Ø—‘ §¡¨A¡Ñ/ˆBØ�K‰Kœ×5Ñ5°d·k±kÀ!±nÀlÐT`ÓaÔbä�4—;‘;Ó !Ò#¨¯©°Aª¸4¿;¹;Àqº>Ø!×0Ñ0°°qÓ9�
ØÐ)ØŸ™¨¯©°A©Ñ7�BØ—K‘K¤× =Ñ =¸b¿g¹gÀ|ÐU_Ó `ÔaØŸ™¨¯©°A©Ñ7�BØ—K‘K¤× =Ñ =¸b¿g¹gÀ|ÐU_Ó `Õað	 *ð <J¨Ð#ð #r   c                 ó¸  — | j                  |d«      }|��E|j                  «       }| j                  |j                  d      j                  j
                  j                  }|€J ‚t        |«      d d d f\  }}}}|j                  D ]b  }	|	j                  dk(  r|	j                  }|dk(  r||z   n|}Œ+|	j                  dk(  r|	j                  }ŒG|	j                  dk(  sŒW|	j                  }Œd |j                  |«       ||   |z
  |z  dz   ||<   | j                  |j                  d      }
|
j                  t        j                  |j                  d   ||«      «       y y )Nr   r   r  rí  rî  rP   )r«  rÛ  r€  ru  r   r   r*   rQ   r	   r
   r7   r´  rË  r|  r   r‚  )rS  r   rn  rp  r5  rD   r   rí  rî  r   r-   s              r   r=  z*SymbolicShapeInference._infer_UnfoldTensor›	  sF  € Ø—o‘o d¨AÓ.ˆØÑ"Ø&×+Ñ+Ó-ˆLØŸ>™>¨$¯*©*°Q©-Ñ8×=Ñ=×IÑI×SÑSˆLØÐ+Ð+Ð+ä$'¨Ó$4°d¸DÀ$Ð$FÑ!ˆD�#�t˜TØŸ™ò "�Ø—9‘9 Ò%ØŸ&™&�CØ(+¨rª	˜$ š*°s‘CØ—Y‘Y &Ò(ØŸ6™6‘DØ—Y‘Y &Ó(ØŸ6™6‘Dð"ð ×Ñ Ô%Ø!,¨SÑ!1°DÑ!8¸TÑ AÀAÑ EˆL˜Ñà—‘ §¡¨A¡Ñ/ˆBØ�K‰Kœ×5Ñ5°d·k±kÀ!±nÀlÐT`ÓaÕbð' #r   c           	      ón  — | j                  |d«      }|�¡t        |«      }|dk(  s|dk(  sJ ‚||dz
     ||dz
     }}dd|› d|› d|› d|› �g}t        j                  j                  }| j
                  |j                  d      }|j                  t        j                  |j                  d   ||«      «       y y )	Nr   rÈ  r  rP   zmax(z, z	) <= O < z + )
r«  rQ   r0   r@  rm  r€  rË  r|  r   r‚  )	rS  r   rn  Ú	shape_lenÚMrË  rp  r5  r-   s	            r   r  z0SymbolicShapeInference._infer_DynamicTimeWarping²	  sÅ   € ð —o‘o d¨AÓ.ˆØÐ"Ü˜KÓ(ˆIØ ’> Y°!¢^Ð3Ð3Ø˜y¨1™}Ñ-¨{¸9Àq¹=Ñ/IˆqˆAØ  a S¨¨1¨#¨Y°q°c¸¸Q¸CÐ@ÐAˆLÜ×+Ñ+×1Ñ1ˆLØ—‘ §¡¨A¡Ñ/ˆBØ�K‰Kœ×5Ñ5°d·k±kÀ!±nÀlÐT`ÓaÕbð #r   c                 ó&   — | j                  |«       y r)   r�  r  s     r   r  z&SymbolicShapeInference._infer_FastGelu¿	  r�  r   c                 ó&   — | j                  |«       y r)   r�  r  s     r   r  z/SymbolicShapeInference._infer_BranchwiseRMSNormÂ	  r�  r   c                 ó&   — | j                  |«       y r)   r�  r  s     r   r&  z4SymbolicShapeInference._infer_HyperConnectionPostMixÅ	  r�  r   c           	      ó|  — | j                  |d«      }t        |dd«      }|rh|dkD  sJ d«       ‚t        |«      dk\  sJ d«       ‚|d   }t        |«      r|dkD  r||z  dk(  sJ d«       ‚g |d d ¢t	        j
                  |d   |z  «      ‘}n!t        |«      dk\  sJ d	«       ‚g |d d
 ¢|d   ‘}| j                  |j                  d      j                  j                  j                  }| j                  |j                  d      }|j                  t        j                  |j                  d   |t        |«      «      «       y )Nr   Únum_branchesznum_branches must be positiverP   z+flattened streams must have rank at least 1r  zEflattened stream width must be positive and divisible by num_branchesrÈ  z)grouped streams must have rank at least 2r4  )rµ  r   rQ   r4   r>   r  r€  ru  r   r   r*   rË  r|  r   r‚  r8   )rS  r   rn  ÚbranchesÚwidthrp  r5  r-   s           r   r'  z3SymbolicShapeInference._infer_HyperConnectionPreMixÈ	  sN  € Ø×+Ñ+¨D°!Ó4ˆÜ   ~°qÓ9ˆÙØ˜a’<Ð@Ð!@Ó@�<Ü�{Ó# qÒ(ÐWÐ*WÓWÐ(Ø ‘OˆEÜ˜%Ô Ø˜q’y U¨XÑ%5¸Ò%:ð Ø[óÐ:ð [˜[¨¨"Ð-ÐZ¬u¯~©~¸kÈ"¹oÐPXÑ>XÓ/YÐZ‰Lä�{Ó# qÒ(ÐUÐ*UÓUÐ(Ø?˜[¨¨"Ð-Ð?¨{¸2©Ð?ˆLØ—~‘~ d§j¡j°¡mÑ4×9Ñ9×EÑE×OÑOˆØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)¨$¯+©+°a©.¸,ÔHbÐcoÓHpÓqõ	
r   c                 ó&   — | j                  |«       y r)   r�  r  s     r   r3  z(SymbolicShapeInference._infer_ScaledSiLUÝ	  r�  r   c                 ó&   — | j                  |«       y r)   r�  r  s     r   r!  z"SymbolicShapeInference._infer_Geluà	  r�  r   c                 ó&   — | j                  |«       y r)   r�  r  s     r   Ú_infer_QuickGeluz'SymbolicShapeInference._infer_QuickGeluã	  r�  r   c                 ó&   — | j                  |«       y r)   rÅ  r  s     r   r"  z*SymbolicShapeInference._infer_GemmFastGeluæ	  rÆ  r   c                 ó&   — | j                  |«       y r)   rÅ  r  s     r   r#  z(SymbolicShapeInference._infer_GemmFloat8é	  rÆ  r   c                 ó¬  — | j                  |«       t        |j                  «      dkD  �r¥t        |d«      }|€d}| j	                  |d«      }|��t        |«      }t        ||«      }|d | t        ||z
  «      D �cg c]  }d‘Œ c}z   }| j                  |j                  d      j                  j                  j                  }|t        j                  j                  k(  s|t        j                  j                  k(  rt        j                  j                   }| j                  |j                  d      }|j#                  t%        j&                  |j                  d   ||«      «       t        |j                  «      dkD  rP| j                  |j                  d      }|j#                  t%        j&                  |j                  d   ||«      «       y y y y c c}w )NrP   rC   r  r   rÈ  )ró  rQ   rË  r   r«  rE   r�  r€  ru  r   r   r*   r0   r@  ÚFLOAT16ÚBFLOAT16rm  r|  r   r‚  )	rS  r   rC   Úx_shaperD   rÙ  Ú
mean_shapeÚ
mean_dtyper-   s	            r   r(  z0SymbolicShapeInference._infer_LayerNormalizationì	  s€  € Ø×&Ñ& tÔ,Üˆt�{‰{Ó˜aÓÜ   vÓ.ˆDØˆ|Ø�Ø—o‘o d¨AÓ.ˆGØÑ"Ü˜7“|�Ü+¨D°$Ó7�Ø$ U d˜^¼%ÀÀtÁÓ:LÖ.M°QªqÒ.MÑM�
Ø!Ÿ^™^¨D¯J©J°q©MÑ:×?Ñ?×KÑK×UÑU�
Ø¤×!1Ñ!1×!9Ñ!9Ò9¸ZÌ4×K[ÑK[×KdÑKdÒ=dÜ!%×!1Ñ!1×!7Ñ!7�JØ—^‘^ D§K¡K°¡NÑ3�Ø—‘œF×9Ñ9¸$¿+¹+Àa¹.È*ÐV`ÓaÔbÜ�t—{‘{Ó# aÒ'ØŸ™¨¯©°A©Ñ7�BØ—K‘K¤× =Ñ =¸d¿k¹kÈ!¹nÈjÐZdÓ eÕfð (ð #ð  ùò /Ns   Á;	Gc                 ó&   — | j                  |«       y r)   r�  r  s     r   r)  z1SymbolicShapeInference._infer_LongformerAttention 
  r�  r   c                 ó¤  — | j                  |d«      }| j                  |d«      }t        |«      dk(  rt        |«      dk(  sJ ‚g |¢|d   ‘}| j                  |j                  d      j                  j
                  j                  }| j                  |j                  d      }|j                  t        j                  |j                  d   ||«      «       t        |j                  «      dkD  r||j                  d   rm|d   g}| j                  |j                  d      }|j                  t        j                  |j                  d   t        j                  j                  |«      «       t        |j                  «      dkD  rP| j                  |j                  d      }|j                  t        j                  |j                  d   ||«      «       y y rö  r‡  )rS  r   Úinput_ids_shapeÚword_embedding_shaperp  Úword_embedding_dtyper-   Úmask_index_shapes           r   r  z5SymbolicShapeInference._infer_EmbedLayerNormalization
  s~  € ØŸ/™/¨$°Ó2ˆØ#Ÿ™¨t°QÓ7ÐÜ�?Ó# qÒ(¬SÐ1EÓ-FÈ!Ò-KÐKÐKØB˜ÐBÐ*>¸qÑ*AÐBˆà#Ÿ~™~¨d¯j©j¸©mÑ<×AÑA×MÑM×WÑWÐØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.ÐBVÐXdÓeÔfäˆt�{‰{Ó˜aÒ D§K¡K°¢NØ /°Ñ 2Ð3ÐØ—‘ §¡¨A¡Ñ/ˆBØ�K‰Kœ×5Ñ5°d·k±kÀ!±nÄd×FVÑFV×F\ÑF\Ð^nÓoÔpäˆt�{‰{Ó˜aÒð —‘ §¡¨A¡Ñ/ˆBØ�K‰Kœ×5Ñ5°d·k±kÀ!±nÐFZÐ\hÓiÕjð	  r   c                 ó~   — | j                  |«       t        |j                  «      dkD  r| j                  |dd«       y y )Nr  r   rý  r  s     r   r9  z4SymbolicShapeInference._infer_SkipLayerNormalization
  s:   € Ø×&Ñ& tÔ,ô ˆt�{‰{Ó˜aÒØ×*Ñ*¨4°°AÕ6ð  r   c                 ó&   — | j                  |«       y r)   r�  r  s     r   r$  z'SymbolicShapeInference._infer_GroupNorm 
  r�  r   c           	      ó.  — t        |dd«      }t        |t        «      r|j                  «       }|dk(  }| xr* t	        |j
                  «      dk  xs |j
                  d    }|s|�r/t        |d«      }t        |d«      }| j                  |d«      }| j                  |j
                  d      j                  j                  j                  }d }	|�Ft	        |«      dk(  r8t        |d   «      r*|r(|r|n|d|xs dz  z   }
|
dkD  r|d   |
z  dk(  r|d   |
z  }	|	�m|rt        |d	d«      xs |	n|	}| j                  |j                  d      }|j                  t        j                  |j                  d   ||d   ||z  g«      «       n#| j!                  |«       n| j!                  |«       d
D ]j  \  }}t	        |j                  «      |kD  sŒ|j                  |   sŒ/t	        |j
                  «      |kD  sŒH|j
                  |   sŒX| j!                  |||«       Œl y )NÚkv_cache_layouts   SEPARATEÚLATENTrÈ  rP   r  Úkv_num_headsr   Úv_head_size))rP   r  )rÈ  ræ  )r   rñ  Úbytesr  rQ   ru  r«  r€  r   r   r*   r4   rË  r|  r   r‚  ró  )rS  r   rº  Úis_latent_kvÚis_packed_qkvr  r¼  r”  r5  r}  Údivisorr½  r-   rü  rû  s                  r   r/  z,SymbolicShapeInference._infer_PagedAttention#
  s
  € ô (¨Ð.?ÀÓMˆÜ�o¤uÔ-Ø-×4Ñ4Ó6ˆOØ&¨(Ñ2ˆØ(Ð(ÒW¬c°$·*±*«oÀÑ.AÒ.VÈÏÉÐTUÉÐEVˆáš=Ü% d¨KÓ8ˆIÜ(¨¨~Ó>ˆLØŸ/™/¨$°Ó2ˆKØŸ>™>¨$¯*©*°Q©-Ñ8×=Ñ=×IÑI×SÑSˆLð ˆIØÐ&¬3¨{Ó+;¸qÒ+@ÄZÐP[Ð\]ÑP^ÔE_ÑdmÙ'3™)¸)ÀaÈ<ÒK\Ð[\ÑF]Ñ:]�Ø˜Q’; ;¨q¡>°GÑ#;¸qÒ#@Ø +¨A¡°'Ñ 9�IØÐ$ÙVbœ}¨T°=À!ÓDÒQÉ	Ðhq�Ø—^‘^ D§K¡K°¡NÑ3�Ø—‘Ü×1Ñ1ØŸ™ A™¨°{À1±~ÀyÐS^ÑG^Ð6_óõð ×.Ñ.¨tÕ4à×*Ñ*¨4Ô0ð
 *:ò 	PÑ%ˆL˜+ä�D—K‘KÓ  <Ó/Ø—K‘K Ó-Ü˜Ÿ
™
“O kÓ1Ø—J‘J˜{Ó+à×.Ñ.¨t°[À,ÕOñ	Pr   c                 óè  — | j                   |j                  d      j                  j                  j                  }| j                  |d«      }|�˜| j                   |j                  d      }|j                  t        j                  |j                  ||«      «       | j                   |j                  d      }|j                  t        j                  |j                  ||«      «       |j                  d   dk7  r&|j                  d   dk7  r| j                  |dd«       y |j                  d   dk(  r|j                  d   dk(  sJ ‚t        |d«      }t        |d«      }| j                  |d«      }|�‚|d   }t        |t        «      rlt        ||d|z  z   z  «      }	||	z  |d<   | j                   |j                  d      }|j                  t        j                  |j                  d   ||«      «       y y y )Nr   r  rP   rÈ  rG   r  r¼  )r€  ru  r   r   r*   r­  rË  r|  r   r‚  r
   ró  r   r«  rñ  r5   )
rS  r   r5  r{  r-   r  r¼  r”  Úhidden_sizer}  s
             r   r%  z1SymbolicShapeInference._infer_GroupQueryAttentionS
  s²  € Ø—~‘~ d§j¡j°¡mÑ4×9Ñ9×EÑE×OÑOˆà×(Ñ(¨¨qÓ1ˆ
ØÐ!ð —‘ §¡¨A¡Ñ/ˆBØ�K‰Kœ×5Ñ5°b·g±g¸|ÈZÓXÔYØ—‘ §¡¨A¡Ñ/ˆBØ�K‰Kœ×5Ñ5°b·g±g¸|ÈZÓXÔYà�:‰:�a‰=˜BÒ 4§:¡:¨a¡=°BÒ#6Ø×*Ñ*¨4°°AÕ6ð —:‘:˜a‘= BÒ&¨4¯:©:°a©=¸BÒ+>Ð>Ð>Ü% d¨KÓ8ˆIÜ(¨¨~Ó>ˆLØŸ/™/¨$°Ó2ˆKØÐ&Ø)¨!™n�Ü˜k¬3Ô/Ü # K°9¸qÀ<Ñ?OÑ3OÑ$PÓ Q�IØ%.°Ñ%:�K ‘NØŸ™¨¯©°A©Ñ7�BØ—K‘K¤× =Ñ =¸d¿k¹kÈ!¹nÈlÐ\gÓ hÕið	 0ð 'r   c                 óÔ  — | j                   |j                  d      j                  j                  j                  }| j                  |d«      }|��|j                  «       }|j                  d   dk(  r |j                  d   dk(  rŽt        |d«      }t        |d«      }t        |d   t        «      rD|d|z  z   }|d   |z  dk(  r|d   |z  }||z  |d<   n?t        | j                  |dd«      «      |d<   nt        | j                  |dd«      «      |d<   | j                   |j                  d      }	|	j                  t        j                  |j                  d   ||«      «       | j!                  |d«      }
|
}|€ö|�ôt        |d   t        «      rát        |d«      }t        |d«      }|j                  d   dk(  xr |j                  d   dk(  }|r|d|z  z   n|}|d   |z  dk(  rŒ|d   |z  }t#        |j                  «      dk  xs" |j                  d    xr |j                  d    }|r| j%                  |d	«      nd }|�t'        |«      nt        | j                  |dd«      «      }|d   |||g}d
D ]w  }t#        |j                  «      |kD  sŒ|j                  |   sŒ,| j                   |j                  |      }	|	j                  t        j                  |	j(                  ||«      «       Œy y )Nr   rP   rG   rÈ  r  r¼  r  ræ  rÔ  râ  )r€  ru  r   r   r*   r«  rÛ  r   rñ  r5   r   r  rË  r|  r   r‚  r­  rQ   r¼  rV   r
   )rS  r   r5  r”  rp  r  r¼  rÁ  r}  r-   r{  Úcache_shapeÚpackedÚpast_inputs_omittedÚtotal_lengthÚcache_lengthrü  s                    r   r  z4SymbolicShapeInference._infer_DynamicSparseAttentiono
  sÜ  € Ø—~‘~ d§j¡j°¡mÑ4×9Ñ9×EÑE×OÑOˆØ—o‘o d¨AÓ.ˆØÑ"Ø&×+Ñ+Ó-ˆLØ�z‰z˜!‰} Ò" t§z¡z°!¡}¸Ò':Ü)¨$°Ó<�	Ü,¨T°>ÓB�Ü˜l¨1™o¬sÔ3Ø'¨!¨lÑ*:Ñ:�GØ# A‘¨Ñ0°AÒ5Ø$0°¡O°wÑ$>˜	Ø*3°iÑ*?˜ Qšä*-¨d×.PÑ.PÐQUÐWXÐZ[Ó.\Ó*]˜ Qšä&)¨$×*LÑ*LÈTÐSTÐVWÓ*XÓ&Y�L ‘OØ—‘ §¡¨A¡Ñ/ˆBØ�K‰Kœ×5Ñ5°d·k±kÀ!±nÀlÐT`ÓaÔbà×(Ñ(¨¨qÓ1ˆ
Ø ˆØÐ ;Ð#:¼zÈ+ÐVWÉ.ÔZ]Ô?^Ü% d¨KÓ8ˆIÜ(¨¨~Ó>ˆLØ—Z‘Z ‘] bÑ(Ò@¨T¯Z©Z¸©]¸bÑ-@ˆFÙ6<�i ! lÑ"2Ò2À)ˆGØ˜1‰~ Ñ'¨1Ò,Ø'¨™N¨gÑ5�	Ü&)¨$¯*©*£o¸Ñ&:Ò&gÀ4Ç:Á:ÈaÁ=Ð?PÒ?fÐY]×YcÑYcÐdeÑYfÐUfÐ#Ù@S˜t×2Ñ2°4¸Ô<ÐY]�ð $Ð/ô ˜lÔ+ä˜T×?Ñ?ÀÀaÈÓKÓLð ð
  +¨1™~¨|¸\È9ÐU�à"ò 	_ˆLÜ�4—;‘;Ó ,Ó.°4·;±;¸|Ó3LØ—^‘^ D§K¡K°Ñ$=Ñ>�Ø—‘œF×9Ñ9¸"¿'¹'À<ÐQ\Ó]Õ^ñ	_r   c                 ó&   — | j                  |«       y r)   )r%  r  s     r   r:  z-SymbolicShapeInference._infer_SparseAttentionš
  s   € Ø×'Ñ'¨Õ-r   c                 óŒ  ‡ ‡‡— t        ‰dd«      }t        |t        «      r|j                  d«      }t        ‰dd«      }‰ j	                  ‰d«      }‰ j	                  ‰d«      d   }‰ j
                  ‰j                  d      j                  j                  j                  Š|dk(  rt        ‰dd«      |z   d	z
  }nt        ‰d
d«      }‰ j
                  ‰j                  d      }|j                  t        j                  ‰j                  d   t        j                  j                   t#        g |d d ¢|‘«      «      «       ˆˆˆ fd„}ˆˆ fd„}	|dk(  rU |	d«      }
|
€y t%        ‰j                  «      dkD  r‰j                  d   r
 |d	|
«       y  |d	|d   |
d	   |d	   z   |g«       y  |	d«      } |	d«      }|�|€y |d   }|d	   }|dkD  r‰t'        |«      r~t'        |«      rst)        |«      }t)        |«      }||k\  r|nd}||z
  |z   }||z  }|dkD  r|||z  z   n||z   }t%        ‰j                  «      dkD  r‰j                  d   r|d	   n|d	   |z   }nRt%        ‰j                  «      dkD  r‰j                  d   r|d	   n‰ j+                  ‰d	d	«      }‰ j+                  ‰dd«      } |d	|d   ||g«        |dd|d   ||d   g«       y )NÚpolicy_moder   r  Úcompress_ratior   rÈ  ÚqsaÚtoken_budgetrP   Ú
index_topkc           	      ó  •— | t        ‰j                  «      k\  s‰j                  |    sy ‰j                  ‰j                  |       }|j                  t	        j
                  ‰j                  |    ‰t        |«      «      «       y r)   )rQ   rË  r€  r|  r   r‚  r8   )ri  r6   Úout_vir   r5  rS  s      €€€r   Ú
set_outputzHSymbolicShapeInference._infer_SparseAttentionIndexer.<locals>.set_output´
  sg   ø€ Øœ˜DŸK™KÓ(Ò(°·±¸EÒ0BØØ—^‘^ D§K¡K°Ñ$6Ñ7ˆFØ�O‰OÜ×-Ñ-¨d¯k©k¸%Ñ.@À,ÔPjÐkvÓPwÓxõr   c                 óx   •— | t        ‰j                  «      k\  s‰j                  |    sy ‰j                  ‰| «      S r)   )rQ   ru  rµ  )ri  r   rS  s    €€r   r{  zHSymbolicShapeInference._infer_SparseAttentionIndexer.<locals>.past_shape¼
  s4   ø€ Øœ˜DŸJ™J›Ò'¨t¯z©z¸%Ò/@ØØ×(Ñ(¨¨uÓ5Ð5r   é   é   r  r  )r   rñ  r¾  r  rµ  r€  ru  r   r   r*   rË  r|  r   r‚  r0   r@  rÈ  r8   rQ   r4   r5   r  )rS  r   rÌ  rÍ  r”  r}  Úcapacityr-   rÓ  r{  Úpast_key_shapeÚpast_compressed_shapeÚpast_buffer_shapeÚbuffer_lengthÚsequence_lengthÚoverlap_lengthÚpendingÚnew_window_countÚpresent_buffer_lengthÚpresent_compressed_lengthr5  s   ``                  @r   r;  z4SymbolicShapeInference._infer_SparseAttentionIndexer�
  s  ú€ Ü# D¨-¸Ó=ˆÜ�k¤5Ô)Ø%×,Ñ,¨WÓ5ˆKÜ& tÐ-=¸qÓAˆØ×+Ñ+¨D°!Ó4ˆØ×)Ñ)¨$°Ó2°1Ñ5ˆ	Ø—~‘~ d§j¡j°¡mÑ4×9Ñ9×EÑE×OÑOˆà˜%ÒÜ$ T¨>¸1Ó=ÀÑNÐQRÑR‰Hä$ T¨<¸Ó;ˆHà�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ü× Ñ ×&Ñ&Ü*Ð+G¨[¸¸!¨_Ð+G¸hÐ+GÓHóô	
ö	õ	6ð
 ˜%ÒÙ'¨›]ˆNØÐ%ØÜ�4—:‘:‹ Ò#¨¯
©
°2ªÙ˜1˜nÔ-ð ñ ˜1˜{¨1™~¨~¸aÑ/@À;ÈqÁ>Ñ/QÐS\Ð]Ô^Øá *¨1£ÐÙ& r›NÐØ Ð(Ð,=Ð,EØà)¨!Ñ,ˆØ% a™.ˆð ˜AÒ¤*¨]Ô";Ä
È?Ô@[Ü Ó.ˆMÜ! /Ó2ˆOØ/<ÀÒ/N™^ÐTUˆNØ# nÑ4°ÑFˆGØ&¨.Ñ8Ðà=MÐPQÒ=Q� ¨>Ñ!9Ò9ÐWdÐgvÑWvð "ô
 �t—z‘z“? RÒ'¨D¯J©J°rªNð & aÒ(à*¨1Ñ-Ð0@Ñ@ñ &ô �t—z‘z“? RÒ'¨D¯J©J°rªNð & aÒ(à×7Ñ7¸¸aÀÓCð &ð
 %)×$FÑ$FÀtÈQÐPQÓ$RÐ!á�1�{ 1‘~Ð'@À)ÐLÔMÙ�1�q˜+ a™.Ð*?ÐARÐSTÑAUÐVÕWr   c                 óz  ‡ ‡— t        ‰dd«      }t        |t        «      r|j                  d«      }t        ‰dd«      }‰ j	                  ‰d«      }|d   }‰ j
                  ‰j                  d      j                  j                  j                  }|dk(  rt        ‰dd«      |z   dz
  }nt        ‰d	d«      }‰ j
                  ‰j                  d      }|j                  t        j                  ‰j                  d   t        j                  j                   t#        ||g«      «      «       t%        ‰j                  «      dkD  r€‰j                  d   rq‰ j
                  ‰j                  d      }|j                  t        j                  ‰j                  d   t        j                  j                   t#        |g«      «      «       ˆˆ fd
„}	 |	dd|«        |	dd|«       |dk7  r
 |	dd|«        |	ddt        j                  j                   «       |dk(  r­t%        ‰j                  «      dkD  r”‰j                  d   r„‰ j	                  ‰d«      }
|
�ot        ‰dd«      }‰ j
                  ‰j                  d      }|j                  t        j                  ‰j                  d   |t#        |
d   ||
d   g«      «      «       y y y y y )NrÌ  r   r  rÍ  r   rÎ  rÏ  rP   rÐ  c           	      óz  •— | t        ‰j                  «      k\  s‰j                  |    sy |t        ‰j                  «      k\  s‰j                  |   sy ‰j                  ‰|«      }‰j                  ‰j                  |       }|j                  t        j                  ‰j                  |    |t        |«      «      «       y r)   )	rQ   rË  ru  rµ  r€  r|  r   r‚  r8   )rü  rû  r  r$   rÒ  r   rS  s        €€r   Úcopy_state_outputzUSymbolicShapeInference._infer_PackedSparseAttentionIndexer.<locals>.copy_state_output  s™   ø€ ð œs 4§;¡;Ó/Ò/°t·{±{À<Ò7PØØœc $§*¡*›oÒ-°T·Z±ZÀÒ5LØØ×)Ñ)¨$°Ó<ˆEØ—^‘^ D§K¡K°Ñ$=Ñ>ˆFØ�O‰OÜ×-Ñ-¨d¯k©k¸,Ñ.GÈÔPjÐkpÓPqÓrõr   rÈ  rÖ  r  r  ræ  é   ru  é   rò  Ústate_update_capacity)r   rñ  r¾  r  rµ  r€  ru  r   r   r*   rË  r|  r   r‚  r0   r@  rÈ  r8   rQ   )rS  r   rÌ  rÍ  r”  Útotal_tokensr5  r×  r-   rä  rØ  rç  s   ``          r   r<  z:SymbolicShapeInference._infer_PackedSparseAttentionIndexerî
  sv  ù€ Ü# D¨-¸Ó=ˆÜ�k¤5Ô)Ø%×,Ñ,¨WÓ5ˆKÜ& tÐ-=¸qÓAˆØ×+Ñ+¨D°!Ó4ˆØ" 1‘~ˆØ—~‘~ d§j¡j°¡mÑ4×9Ñ9×EÑE×OÑOˆà˜%ÒÜ$ T¨>¸1Ó=ÀÑNÐQRÑR‰Hä$ T¨<¸Ó;ˆHà�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ü× Ñ ×&Ñ&Ü*¨L¸(Ð+CÓDóô	
ô ˆt�{‰{Ó˜aÒ D§K¡K°¢NØ—‘ §¡¨A¡Ñ/ˆBØ�K‰KÜ×-Ñ-Ø—K‘K ‘N¤D×$4Ñ$4×$:Ñ$:Ô<VÐXdÐWeÓ<fóôõ	ñ 	˜!˜R Ô.Ù˜!˜R Ô.Ø˜%ÒÙ˜a  \Ô2Ù˜!˜R¤×!1Ñ!1×!7Ñ!7Ô8Ø˜%Ò¤C¨¯©Ó$4°qÒ$8¸T¿[¹[Èº^Ø!×2Ñ2°4¸Ó<ˆNØÐ)Ü(5°dÐ<SÐUVÓ(WÐ%Ø—^‘^ D§K¡K°¡NÑ3�Ø—‘Ü×1Ñ1ØŸ™ A™Ø$Ü2°NÀ1Ñ4EÐG\Ð^lÐmnÑ^oÐ3pÓqóõð *ð >LÐ$8Ðr   c                 ó‚   — | j                  |dd«       t        |j                  «      dkD  r| j                  |dd«       y y rT  rý  r  s     r   r8  z+SymbolicShapeInference._infer_SkipGroupNorm+  s<   € Ø×&Ñ& t¨Q°Ô2Üˆt�{‰{Ó˜aÒØ×*Ñ*¨4°°AÕ6ð  r   c                 ó¸  — | j                  |d«      }| j                  |d«      }|r´|r±t        |d   t        «      r�|}t        |d   dz  «      |d<   | j                  |j                  d      }| j                  |j
                  d      j                  j                  j                  }|j                  t        j                  |j                  ||«      «       y y y y rd  )r«  rñ  r5   r€  rË  ru  r   r   r*   r|  r   r‚  r
   )rS  r   rn  Ú
bias_shaperp  r-   r5  s          r   r  z+SymbolicShapeInference._infer_BiasSplitGelu0  s·   € Ø—o‘o d¨AÓ.ˆØ—_‘_ T¨1Ó-ˆ
Ù™:¬*°ZÀ±]ÄCÔ*HØ&ˆLÜ! *¨Q¡-°!Ñ"3Ó4ˆL˜‰OØ—‘ §¡¨A¡Ñ/ˆBØŸ>™>¨$¯*©*°Q©-Ñ8×=Ñ=×IÑI×SÑSˆLØ�K‰Kœ×5Ñ5°b·g±g¸|È\ÓZÕ[ð +I˜:ˆ;r   c                 ó&   — | j                  |«       y r)   r�  r  s     r   r  z%SymbolicShapeInference._infer_BiasAdd:  r�  r   c                 ó„  — t        |j                  «      dk(  r| j                  |«       y t        |j                  «      dk(  r)| j                  |dd¬«       | j                  |dd¬«       y t        |j                  «      dk(  r=| j                  |dd¬«       | j                  |dd¬«       | j                  |dd¬«       y y )NrP   rÈ  r   rú  r  )rQ   rË  ró  r  s     r   r7  z-SymbolicShapeInference._infer_RotaryEmbedding=  s±   € Üˆt�{‰{Ó˜qÒ Ø×*Ñ*¨4Õ0Ü�—‘Ó Ò"à×*Ñ*¨4¸QÈQÐ*ÔOØ×*Ñ*¨4¸QÈQÐ*ÕOÜ�—‘Ó Ò"à×*Ñ*¨4¸QÈQÐ*ÔOØ×*Ñ*¨4¸QÈQÐ*ÔOØ×*Ñ*¨4¸QÈQÐ*ÕOð	 #r   c                 ó  — t        |d«      }|sJ d|j                  › d�«       ‚t        |d«      }|sJ d|j                  › d�«       ‚ddlm} t        |d«      j	                  «       } ||«      }| j
                  |j                  d      }|j                  t        j                  |j                  d   t        j                  j                  g «      «       |��”g }g }	t        t        |j                  «      «      D ]p  }
| j!                  ||
«      }|j#                  |«       | j
                  |j                  |
      j$                  j&                  j(                  }|	j#                  |«       Œr  ||||	«      \  }}t        |«      t        |«      cxk(  rt        |j                  «      d	z
  k(  s>n J d|› d
t        |«      › dt        |«      › dt        |j                  «      d	z
  › d�	«       ‚t        t        |j                  «      d	z
  «      D ]\  }|d	z   }| j
                  |j                  |      }|j                  t        j                  |j                  |   ||   ||   «      «       Œ^ y t        t        |j                  «      d	z
  «      D ]|  }| j
                  |j                  |d	z         }| j+                  ||   |«      }t-        |«      }t        j                  |j                  |d	z      ||   |«      }|j                  |«       Œ~ y )NÚoutput_tensor_typesz
PythonOp 'z'' has no output_tensor_types attribute.Úoutput_tensor_ranksz'' has no output_tensor_ranks attribute.r   )Úget_shape_inference_functionÚ	func_namerP   z' returned z shapes and z dtypes, but expected z	 outputs.)r   r
   Úonnxruntime.capi._pybind_staterñ  r  r€  rË  r|  r   r‚  r0   r@  rj  r�  rQ   ru  r«  r´  r   r   r*   r  r8   )rS  r   rï  rð  rñ  rò  Úshape_infererr-   Úinput_shapesÚinput_dtypesrû  r$   Úinput_dtypeÚoutput_shapesÚoutput_dtypesr7   rü  r6   rv  s                      r   r0  z&SymbolicShapeInference._infer_PythonOpJ  sÚ  € Ü+¨DÐ2GÓHÐÙ"Ðc j°·±°Ð;bÐ$cÓcÐ"Ü+¨DÐ2GÓHÐÙ"Ðc j°·±°Ð;bÐ$cÓcÐ"åOä! $¨Ó4×;Ñ;Ó=ˆ	Ù4°YÓ?ˆð �^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.Ä$×BRÑBR×BXÑBXÐZ\Ó]Ô^àÑ$ØˆLØˆLÜ$¤S¨¯©£_Ó5ò 1�ØŸ™¨¨kÓ:�Ø×#Ñ# EÔ*Ø"Ÿn™n¨T¯Z©Z¸Ñ-DÑE×JÑJ×VÑV×`Ñ`�Ø×#Ñ# KÕ0ð	1ñ
 ,9¸¸|È\Ó+ZÑ(ˆM˜=Ü�}Ó%¬¨]Ó);ÔUÄÀDÇKÁKÓ@PÐSTÑ@TÔUð Ø˜Y˜K {´3°}Ó3EÐ2FÀlÔSVÐWdÓSeÐRfð g Ü # D§K¡KÓ 0°1Ñ 4Ð5°Yð@óÐUô œ3˜tŸ{™{Ó+¨aÑ/Ó0ò �Ø  1™u�Ø—^‘^ D§K¡K°Ñ$=Ñ>�Ø—‘Ü×1Ñ1°$·+±+¸lÑ2KÈ]Ð[\ÑM]Ð_lÐmnÑ_oÓpõñô œ3˜tŸ{™{Ó+¨aÑ/Ó0ò (�à—^‘^ D§K¡K°°A±Ñ$6Ñ7�Ø"×6Ñ6Ð7JÈ1Ñ7MÈtÓT�Ü2°;Ó?�Ü#×:Ñ:¸4¿;¹;ÀqÈ1ÁuÑ;MÐObÐcdÑOeÐglÓm�
Ø—‘˜JÕ'ñ(r   c                 ó:  — | j                  ||«      }| j                  |j                  |      j                  j                  j
                  }| j                  |j                  |      }|j                  t        j                  |j                  |   ||«      «       y r)   )
r«  r€  ru  r   r   r*   rË  r|  r   r‚  )rS  r   rû  rü  r$   r5  r-   s          r   ró  z0SymbolicShapeInference._propagate_shape_and_typey  sw   € Ø—‘  kÓ2ˆØ—~‘~ d§j¡j°Ñ&=Ñ>×CÑC×OÑO×YÑYˆØ�^‰^˜DŸK™K¨Ñ5Ñ6ˆØ
�‰”F×1Ñ1°$·+±+¸lÑ2KÈ\Ð[`ÓaÕbr   c                 óR   — t        |«      t        k7  ryd|vry|| j                  v ryy)NFÚunk__T)r   r   rK  )rS  rx  s     r   Ú_is_none_dimz#SymbolicShapeInference._is_none_dim  s0   € Ü�	‹?œcÒ!ØØ˜)Ñ#ØØ˜×+Ñ+Ñ+ØØr   c                 ó<   — |D ]  }| j                  |«      sŒ|c S  y r)   )rý  )rS  Ú	out_shapeÚouts      r   Ú_is_shape_contains_none_dimz2SymbolicShapeInference._is_shape_contains_none_dimˆ  s)   € Øò 	ˆCØ× Ñ  Õ%Ø’
ð	ð r   c                 ó&!  ‡ ‡$‡%— |xs i ‰ _         ‰ j                  j                  j                  d«       ‰ j	                  d¬«       t        «       ‰ _        ‰ j                  j                  j                  D �]  }t        |«      }|€Œt        |j                  «      r?|j                  j                  j                  j                  j                  j                  }n*|j                  j                  j                  j                  }t!        |«      D ]5  \  }}|�Œ	t#        ‰ j%                  |j&                  |«      «      ||   _        Œ7 ‰ j                  j+                  |D �cg c]  }t        |«      t"        u sŒ|‘Œ c}«       �Œ ‰ j                  D ]q  }|‰ j,                  v r<‰ j,                  |   }	|	‰ j.                  v sJ ‚‰ j.                  |	   ‰ j.                  |<   ŒMt1        j2                  |dd¬«      ‰ j.                  |<   Œs t5        j6                  «       ‰ _        ‰ j8                  j;                  ‰ j                  «       ‰ j8                  j                  j                  d«       i }
ˆ$fd„Š$‰ j8                  j                  j<                  D ]  } ‰$|«      |
|j>                  d   <   Œ g }tA        ‰ j                  j                  j                  «      tA        ‰ j                  j                  jB                  «      z   D �ch c]  }|j&                  ’Œ c}Š%tE        ˆ%fd„‰ j                  j                  j>                  D «       «      r"‰ j                  j                  j<                  }�nEtG        ˆ%fd	„‰ j                  j                  j>                  D «       «      �stI        |«      }‰ j                  j                  j<                  D ]e  }|j>                  d   ‰%vsŒtG        ˆ%fd
„|
|j>                  d      D «       «      sŒ:‰%j+                  |j>                  «       |jK                  |«       Œg |tI        |«      k(  r=tG        ˆ%fd„‰ j                  j                  j>                  D «       «      stM        d«      ‚tG        ˆ%fd	„‰ j                  j                  j>                  D «       «      s�Œ|D �]©  }tG        ˆ fd„|j                  D «       «      sJ ‚‰ jO                  |«       d}|jP                  ‰ jR                  v r! ‰ jR                  |jP                     |«       �n:|jP                  dv r†‰ jT                  |j>                  d      }tI        |j                  j                  j                  j                  «      dk(  rÚt4        jV                  jX                  |j                  j                  _        n¦|jP                  dk(  r—|jZ                  dk(  rˆ|j\                  D ]y  }|j&                  dk(  sŒt_        |j`                  tb        «      r|j`                  je                  d«      n|j`                  }|‰ jf                  v rd} ‰ jf                  |   |«        n ‰ jh                  dkD  rttj        jm                  |jP                  dz   |j&                  z   «       t!        |j                  «      D ]-  \  }}tj        jm                  d|||‰ jn                  v rdnd«       Œ/ |jP                  dv rí‰ jT                  |j>                  d      }tI        tq        |j                  «      «      }ts        tI        |j                  «      «      D �cg c]  }‰ ju                  ||«      ‘Œ }}ts        ||jP                  dv rdndz
  «      D ]W  }|D �cg c](  }tI        |«      |z   |k\  sŒ|tI        |«      |z
  |z      ‘Œ* }}tI        |«      dkD  sŒE‰ jw                  |d¬«       ŒY ts        tI        |j>                  «      «      D �]`  }|jP                  dk(  s|jP                  dk(  r|dv rŒ'|jP                  dk(  rtI        |j>                  «      dkD  rŒO|j>                  |   sŒ_‰ jT                  |j>                  |      }|j                  }|jy                  d «      }|d!v�r1‰ jh                  dkD  �r|d"k(  rò|j                  j                  jy                  d «      }|d#k(  rŸtj        jm                  d$j{                  |j>                  |   t#        t        |«      «      t4        jV                  j|                  j                  |j                  j                  j                  j                  j                  «      «      «       nQtj        jm                  d%|j>                  |   › d&|› �«       n(tj        jm                  d%|j>                  |   › d|› �«       �ŒÎt        |«      }|j                  j                  t4        jV                  jX                  k(  }‰ jh                  dkD  rÆtj        jm                  d%|j>                  |   › d|›d't4        jV                  j|                  j                  |j                  j                  j                  «      › �«       |j>                  |   ‰ j                   v r;tj        jm                  d(t#        ‰ j                   |j>                  |      «      z   «       |�d |v s‰ j�                  |«      s|s�Œú‰ j‚                  �r#|jP                  d)v �rts        tI        |j                  «      «      D �cg c]  }‰ ju                  ||«      ‘Œ }}|jP                  dv rüd |v s‰ j�                  |«      rçd |v r|j…                  d «      }n |j…                  ‰ j�                  |«      «      }|D �cg c]  }tI        |«      tI        |«      z
  |z   ‘Œ }}tI        |d   «      dkD  r|d   tI        |d   «      dz
  k  sJ ‚tI        |d   «      dkD  r|d   tI        |d   «      dz
  k  s8J ‚|jP                  d*k(  r%‰ ju                  |d«      ‰ j‡                  |d«      g}ng }|rÅts        tI        |«      «      D ]¦  }||   �‰ j‰                  ||   «      sŒ|D �cg c]  }tI        |«      tI        |«      z
  |z   ‘Œ }}tI        |«      dkD  sŒS‰ j‹                  t�        ||d¬+«      D ��cg c]+  \  }}|dk\  r!t�        ||   «      r||   nt#        ||   «      ‘Œ- c}}«       Œ¨ d‰ _H        nd‰ _H        nd‰ _H        ‰ j�                  du �rÀ|jP                  ‰ jR                  v�r§|�s¤|xr |d u xs tI        |«      dk(  } | r!‰ j’                  r‰ j•                  |d«      nd,}ntI        |«      }|dk\  �rX‰ j—                  |||«      }!|r;‰ jT                  |j                  d      j                  j                  j                  }"n |j                  j                  j                  }"|j;                  t™        jš                  |j&                  |"t�        |!«      «      «       ‰ jh                  dkD  r—| r=tj        jm                  d-|jP                  › d.|j&                  › d/|j&                  › d0�«       ‰ jh                  dkD  rItj        jm                  d%|j>                  |   › d|!›d'|j                  j                  j                  › �«       d‰ _H        �Œ ‰ jh                  dkD  s‰ j‚                  r|�rBtj        jm                  d1|jP                  |j&                  «       tj        jm                  d2«       |j                  D ]K  }|‰ jT                  v r#tj        jm                  ‰ jT                  |   «       Œ4tj        jm                  d3|› �«       ŒM tj        jm                  d4«       |j>                  D ]K  }#|#‰ jT                  v r#tj        jm                  ‰ jT                  |#   «       Œ4tj        jm                  d3|#› �«       ŒM ‰ j‚                  r-|s+tj        jm                  d5t#        ‰ j,                  «      z   «         y �Œ¬ d‰ _H        yc c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}}w )6Nrv  T)ry  )r²  Úpositiver~  c           	      ó˜  •— | j                   D �ch c]  }|sŒ|’Œ	 }}g }| j                  dk(  rt        | d«      t        | d«      g}n| j                  dv rt        | d«      g}|D ]Ó  }|j                  D �ch c]  }|j                  ’Œ }}t        «       }|j                  D ]  }|j                  |j                  «       Œ |j                  D ],  }|j                   ‰|«      D �cg c]	  }||vsŒ|‘Œ c}«       Œ. |j                  |«       |j                   D ]  }|j                  |j                  «       Œ ŒÕ |S c c}w c c}w c c}w )Nrx   r°  r±  )ry   r�   r¸  )
ru  rÊ  r   r~  r
   ra  r   r�  rË  Údiscard)	r   r7   Únamesr²  ÚgÚg_outputs_and_initializersÚg_prereqÚnÚ
get_prereqs	           €r   r  z6SymbolicShapeInference._infer_impl.<locals>.get_prereq·  s>  ø€ Ø $§
¡
Ö0˜1ªa’QÐ0ˆEÐ0ØˆIØ�|‰|˜tÒ#ä! $¨Ó6Ü! $¨Ó6ð‘	ð —‘Ð!1Ñ1Ü*¨4°Ó8Ð9�	Øò 
*�Ø>?¿m¹mÖ-L¸¨a¯f«fÐ-LÐ*Ð-LÜ›5�ØŸ™ò @�AØ.×5Ñ5°a·h±hÕ?ð@àŸ™ò g�AØ—O‘O±
¸1³Ö$e¨1ÀÐJdÒAd¢QÒ$eÕfðgà—‘˜XÔ&àŸ™ò *�AØ—M‘M !§&¡&Õ)ñ*ð
*ð ˆLùò) 1ùò .Mùò
 %fs   �D=˜D=Á6EÃ%	EÃ/Er   c              3   ó:   •K  — | ]  }|j                   ‰v –— Œ y ­wr)   ©r
   ©r\  rÖ  Úsorted_known_vis     €r   r^  z5SymbolicShapeInference._infer_impl.<locals>.<genexpr>Ô  s   øè ø€ ÒL¨Qˆq�v‰v˜Ô(ÑLùó   ƒc              3   ó:   •K  — | ]  }|j                   ‰v –— Œ y ­wr)   r  r  s     €r   r^  z5SymbolicShapeInference._infer_impl.<locals>.<genexpr>Ø  s   øè ø€ ÒW¸˜!Ÿ&™& OÔ3ÑWùr  c              3   ó,   •K  — | ]  }|sŒ|‰v –— Œ y ­wr)   rB   )r\  r7   r  s     €r   r^  z5SymbolicShapeInference._infer_impl.<locals>.<genexpr>Û  s    øè ø€ ò GØ12ÒYZ˜˜_Ô,ñGùs   ƒ‹	c              3   ó:   •K  — | ]  }|j                   ‰v –— Œ y ­wr)   r  r  s     €r   r^  z5SymbolicShapeInference._infer_impl.<locals>.<genexpr>à  s!   øè ø€ ò IØ23�A—F‘F˜oÔ-ñIùr  zInvalid model with cyclic graphc              3   ó@   •K  — | ]  }|sŒ|‰j                   v –— Œ y ­wr)   )r€  rs  s     €r   r^  z5SymbolicShapeInference._infer_impl.<locals>.<genexpr>æ  s   øè ø€ ÒD¨qÂ!�q˜DŸN™NÔ*ÑDùs   ƒ‹F)ÚConvTransposeÚATenzorg.pytorch.atenÚoperatorr  rÈ  z: z  Input %s: %s %srG   rÄ  rÇ  rP   rŠ  rÎ   rÏ   râ  rË   r   )r   Úsparse_tensor_typeNr   r   z  {}: sequence of {} {}z  z: sequence of rœ  z  Sympy Data: )ra   rœ   r‚   ro   rz   rÅ  r{   ri   r¡   rÆ  rr   ÚLessÚGreaterÚLessOrEqualÚGreaterOrEqualr€   r}   rq   r  r  zPossible unknown op: z node: z, guessing z shapez0Stopping at incomplete shape inference at %s: %sznode inputs:znot in known_vi_ for znode outputs:z	Merging: )Or·  rs  rt  rÞ  rj  ra  rL  ru  r.   r"   r   r   r*   r   r$   r   r¾  r   r  r
   rw  r�  rJ  rK  r>   re  r0   r{  rÍ  r|  r   rË  rH   r~  rü  r`  rQ   r´  rK  r×  rÊ  r>  r€  r@  Ú	UNDEFINEDrJ   r	   rñ  r]  r¾  r  rH  rO  rf  r“  r  r'   r�  r«  r”  r   ÚformatrA  rB  r  rM  ri  rº  rý  rq  rý  r4   rI  rN  r¯  r  r   r‚  r8   )&rS  Ústart_sympy_datar7   rn  Ú
input_dimsÚi_dimr   r&   r]  Ús_mergeÚprereq_for_noder
  Úsorted_nodesÚold_sorted_nodes_lenr   Úknown_aten_opr-   r   Úaten_op_namer
   rÑ  rÒ  rÓ  rÕ  Úout_typeÚout_type_kindÚseq_cls_typerÿ  Úout_type_undefinedÚshapesrª  Údim_idxÚis_unknown_opr   Ú	out_dtyperÖ  r  r  s&   `                                   @@r   rÜ  z"SymbolicShapeInference._infer_implŽ  s?  ú€ Ø+Ò1¨rˆÔØ�‰×Ñ×%Ñ% lÔ3Ø×#Ñ#°TÐ#Ô:Ü!›eˆÔØ—‘×#Ñ#×)Ñ)ó 	SˆAÜ3°AÓ6ˆKØÐ"Øä˜1Ÿ6™6Ô"ØŸV™V×1Ñ1×;Ñ;×GÑG×MÑM×QÑQ‘
àŸV™V×/Ñ/×5Ñ5×9Ñ9�
ä'¨Ó4ò ]‘
��sØ‘;ä25°d×6LÑ6LÈQÏVÉVÐUZÓ6[Ó2\�J˜uÑ%Õ/ð]ð
 ×Ñ×&Ñ&°;Ö'Q¨aÄ$ÀqÃ'ÌSÂ.ªÒ'QÖRð	Sð" ×$Ñ$ò 	VˆAØ�D×)Ñ)Ñ)Ø×/Ñ/°Ñ2�Ø $×"5Ñ"5Ñ5Ð5Ð5Ø)-×)<Ñ)<¸WÑ)E�×#Ñ# AÒ&ô */¯©°aÀÐPTÔ)U�×#Ñ# AÒ&ð	Vô —‘Ó(ˆŒØ�‰×Ñ˜dŸl™lÔ+Ø�‰×Ñ×%Ñ% mÔ4ð ˆô	ð. —‘×#Ñ#×(Ñ(ò 	9ˆAÙ+5°a«=ˆO˜AŸH™H Q™KÒ(ð	9ð ˆÜ+/°·±×0BÑ0B×0HÑ0HÓ+IÌDÐQU×Q]ÑQ]×QcÑQc×QoÑQoÓLpÑ+pÖq a˜1Ÿ6›6ÒqˆÜÓL°$·,±,×2DÑ2D×2KÑ2KÔLÔLàŸ<™<×-Ñ-×2Ñ2ŠLäÓW¸T¿\¹\×=OÑ=O×=VÑ=VÔWÕWÜ'*¨<Ó'8Ð$Ø ŸL™L×.Ñ.×3Ñ3ò 2�DØŸ™ A™¨oÒ=Ä3ó GØ6EÀdÇkÁkÐRSÁnÑ6UôGõ Dð (×.Ñ.¨t¯{©{Ô;Ø$×+Ñ+¨DÕ1ð2ð (¬3¨|Ó+<Ò<ÄSó IØ7;·|±|×7IÑ7I×7PÑ7PôIô Fô $Ð$EÓFÐFô ÓW¸T¿\¹\×=OÑ=O×=VÑ=VÔWÖWð !ó `	!ˆDÜÓD°D·J±JÔDÔDÐDÐDØ×(Ñ(¨Ô.Ø!ˆMØ�|‰|˜t×/Ñ/Ñ/Ø.�× Ñ  §¡Ñ.¨tÖ4Ø—‘Ð!2Ñ2ð —^‘^ D§K¡K°¡NÑ3�Ü�r—w‘w×*Ñ*×0Ñ0×4Ñ4Ó5¸Ò:Ü48×4DÑ4D×4NÑ4N�B—G‘G×'Ñ'Õ1Ø—‘ Ò'¨D¯K©KÐ;MÒ,MØ ŸN™Nò �Dà—y‘y JÓ.ÜAKÈDÏFÉFÔTYÔAZ t§v¡v§}¡}°WÔ'=Ð`d×`fÑ`f˜Ø'¨4×+CÑ+CÑCØ,0˜MØB˜D×4Ñ4°\ÑBÀ4ÔHÙðð �}‰}˜qÒ Ü—‘˜TŸ\™\¨DÑ0°4·9±9Ñ<Ô=Ü(¨¯©Ó4ò t‘G�A�tÜ—L‘LÐ!4°a¸ÐPTÐX\×XjÑXjÑPj¹}ÐprÕsðtð
 �|‰|ð 
 ñ 
ð —^‘^ D§K¡K°¡NÑ3�ÜÔ8¸¿¹ÓAÓB�Ü?DÄSÈÏÉÃ_Ó?UÖV¸!˜TŸ_™_¨T°1Õ5ÐV�	ÐVÜ˜x°·±Ð@nÑ0n©1ÐtuÑvÓwò O�AØAJÖe¸AÌcÐRSËfÐWXÉjÐ\dÓNd˜q¤ Q£¨(Ñ!2°QÑ!6Ó7Ðe�GÐeÜ˜7“| aÓ'Ø×/Ñ/°ÈÐ/ÕNðOô
 œS §¡Ó-Ó.ó o!�ð —L‘LÐ$<Ò<ÀÇÁÐPrÒ@rØ˜V‘mØØ—<‘<Ð#4Ò4¼¸T¿[¹[Ó9IÈAÒ9Mð Ø—{‘{ 3Ò'àà—^‘^ D§K¡K°Ñ$4Ñ5�ØŸ7™7�Ø (× 3Ñ 3°GÓ <�ð !Ð(SÒSØ—}‘} qÓ(Ø(¨OÒ;Ø+3×+AÑ+A×+KÑ+K×+VÑ+VÐW^Ó+_˜LØ+¨}Ò<Ü &§¡Ø$=×$DÑ$DØ(,¯©°CÑ(8Ü(+Ô,EÀbÓ,IÓ(JÜ(,×(8Ñ(8×(AÑ(A×(FÑ(FØ,.¯G©G×,AÑ,A×,KÑ,K×,WÑ,W×,aÑ,aó)*ó%&õ!"ô !'§¡¨r°$·+±+¸cÑ2BÐ1CÀ>ÐR^ÐQ_Ð-`Õ aä"ŸL™L¨2¨d¯k©k¸#Ñ.>Ð-?¸rÀ-ÀÐ)QÔRÙä5°bÓ9�	Ø%-×%9Ñ%9×%CÑ%CÄt×GWÑGW×GaÑGaÑ%aÐ"Ø—=‘= 1Ò$Ü—L‘LØ˜TŸ[™[¨Ñ-Ð.¨b°°¸Q¼t×?OÑ?O×?XÑ?X×?]Ñ?]Ð^`×^eÑ^e×^qÑ^q×^{Ñ^{Ó?|Ð>}Ð~ôð —{‘{ 3Ñ'¨4×+;Ñ+;Ñ;ÜŸ™Ð%5¼¸D×<LÑ<LÈTÏ[É[ÐY\ÑM]Ñ<^Ó8_Ñ%_Ô`ð Ð)¨t°yÑ/@ÀD×DdÑDdÐenÔDoÛ'Ø×'Ó'ØŸ<™<ð ,ò ô& INÌcÐRV×R\ÑR\ËoÓH^Ö%_À1 d§o¡o°d¸AÕ&>Ð%_˜FÐ%_Ø#Ÿ|™|ð 0ñ  ð
 $(¨9Ñ#4¸×8XÑ8XÐYbÔ8cØ'+¨yÑ'8Ø.7¯o©o¸dÓ.C©à.7¯o©o¸d×>^Ñ>^Ð_hÓ>iÓ.j¨ØV\Ö.]ÐQR¬s°1«v¼¸I»Ñ/FÈÓ/LÐ.] GÐ.]ä+.¨v°a©y«>¸AÒ+=À'È!Á*ÌsÐSYÐZ[ÑS\Ë~Ð`aÑOaÒBaÐ$aÐ+aÜ+.¨v°a©y«>¸AÒ+=À'È!Á*ÌsÐSYÐZ[ÑS\Ë~Ð`aÑOaÒBaÐ$aÐ+aØ!Ÿ\™\¨XÒ5ð !%§¡°°aÓ 8Ø $§¡°°aÓ 8ð&™Fð
 &(˜Fá!Ü',¬S°«^Ó'<ò & Ø#,¨S¡>Ð#=Àd×FWÑFWÐXaÐbeÑXfÔFgØ$,ð SYÖ*YÈQ¬3¨q«6´C¸	³NÑ+BÀSÓ+HÐ*Y Ð*YÜ#& w£<°!Ó#3Ø$(×$=Ñ$=ô 9<¸FÀGÐTYÔ8Z÷)*á04°°1Ø/0°Aªvô 5?¸qÀ¹tÔ4D¨A¨aªDÌ#ÈaÐPQÉdË)Ñ,Só)*õ%&ð&ð )-˜D�Ià(-˜D�Ià$)˜œ	ð —y‘y EÒ)¨d¯l©lÀ$×BRÑBRÒ.RÒ[hØ(:Ò(iÀ	ÈTÐ@QÒ@hÔUXÐYbÓUcÐghÑUh˜Ù(ð IM×H_ÒH_ t×';Ñ';¸DÀ!Ô'DÐeg™Hô (+¨9£~˜Hà# q›=Ø(,×(@Ñ(@ÀÈ4ÐQTÓ(U˜IÙ1à,0¯N©N¸4¿:¹:Àa¹=Ñ,I×,NÑ,N×,ZÑ,Z×,dÑ,d¡	ð -/¯G©G×,?Ñ,?×,IÑ,I 	ØŸK™KÜ &× =Ñ =Ø$&§G¡GØ$-Ü$>¸yÓ$Ió!"ôð  $Ÿ}™}¨qÒ0Ù#0Ü$*§L¡LØ*?ÀÇÁ¸~ÈWÐUY×U^ÑU^ÐT_Ð_jÐkm×krÑkrÐjsÐsyÐ(zô%&ð $(§=¡=°1Ò#4Ü$*§L¡L°2°d·k±kÀ#Ñ6FÐ5GÀrÈ)ÈÐVWÐXZ×X_ÑX_×XkÑXk×XuÑXuÐWvÐ1wÔ$xà(,˜DœIÙ$à—}‘} qÒ(°×0@Ò0@ÒDVÜŸ™Ð%WÐY]×YeÑYeÐgk×gpÑgpÔqÜŸ™ ^Ô4Ø!%§¡ò J˜AØ  D§N¡NÑ2Ü &§¡¨T¯^©^¸AÑ->Õ ?ä &§¡Ð/DÀQÀCÐ-HÕ Ið	Jô
 Ÿ™ _Ô5Ø!%§¡ò J˜AØ  D§N¡NÑ2Ü &§¡¨T¯^©^¸AÑ->Õ ?ä &§¡Ð/DÀQÀCÐ-HÕ Ið	Jð
  ×+Ò+Ñ4FÜ"ŸL™L¨´s¸4×;PÑ;PÓ7QÑ)QÔRÚ ò_o!ðc`	!ðD ˆŒ	ØùòM	 (Rùòb rùòz Wùâeùò` &`ùò /^ùò& +Zùó)*sF   Å!AA*
Å8AA*
ÌAA/Ý
AA4Þ
AA9Þ!AA9ì1AA>î)!ABò!AB
ó0ABc                 óÐ   — | j                   j                  j                  D ]C  }|j                  | j                  v sŒ|j                  | j                  |j                     «       ŒE y r)   )rs  rt  rË  r
   r€  r|  )rS  rË  s     r   rÝ  z-SymbolicShapeInference._update_output_from_viÊ  sJ   € Ø—l‘l×(Ñ(×/Ñ/ò 	=ˆFØ�{‰{˜dŸn™nÒ,Ø—‘ §¡¨v¯{©{Ñ ;Õ<ñ	=r   c                 ó|  — t        | «      }|r|dk  rt        j                  d«       y t        ||||«      }d}|j	                  | «       |j
                  r|j                  «       }|j
                  rŒ|j                  «        |s-t        j                  |j                  dd¬«       t        d«      ‚|j                  S )NrÕ  z.Only support models of onnx opset 7 and above.Fzsym_shape_infer_temp.onnxT)Úsave_as_external_dataz#Incomplete symbolic shape inference)rM   rf  rg  r_   r†  rI  rÜ  rÝ  r0   Ú
save_modelrs  rK  )r…  rT  rU  rV  rW  Ú
onnx_opseträ  Úall_shapes_inferreds           r   rÎ  z#SymbolicShapeInference.infer_shapesÏ  s¯   € ä˜uÓ%ˆ
Ù˜z¨Aš~Ü�N‰NÐKÔLØÜ#9¸'À:ÐO`ÐbiÓ#jÐ Ø#ÐØ ×,Ñ,¨UÔ3Ø&×+Ò+Ø":×"FÑ"FÓ"HÐð '×+Ó+à ×7Ñ7Ô9Ù"Ü�O‰OÐ4×<Ñ<Ð>YÐquÕvÜÐAÓBÐBØ'×/Ñ/Ð/r   )rG   )F)TT)FF)r   r   )r   )Tr)   )éÿÿÿFFr   )‡Ú__name__Ú
__module__Ú__qualname__rY  rq  rj  r†  r™  r§  r«  r­  r¯  rµ  rº  r¼  rÁ  r×  rè  rø  r  r  ræ   r  r  r  r/  r”  r<  rL  rç   rå   rê   rë   rì   rí   rî   rï   rð   rñ   r,  r  r2  r1  rò   ró   rô   rõ   rö   r÷   rø   rù   rú   r*  rû   rü   rý   rþ   rè   r?  r@  rC  rA  rB  rD  rE  rF  rG  ré   rÿ   r   r  r  r4  r  r  r  r  r  r  r	  r
  r  r  rV  r  r  r  r  r  r  r  r  r  r   r-  r.  r5  r6  r  r+  r  r=  r  r  r  r&  r'  r3  r!  r¨  r"  r#  r(  r)  r  r9  r$  r/  r%  r  r:  r;  r<  r8  r  r  r7  r0  ró  rý  r  rÜ  rÝ  ÚstaticmethodrÎ  rB   r   r   r_   r_   ‚   sõ  „ óSój+*óZ
(ò
òò<ò27ò	ò/òòwò
òDòi'óV6(óp#òJCò&:ò
ò ó
ó[óBóH8ó\ò>6ò:

ò?ò4'òjò
ò('
òR
ò&Dò
ò2

ò

ò_ò_ò\ò<bò|ò <òB	
ò
ò"lò89%òv)òAò\ò&jò
xò
ò*
ò4òmò òD
ò"
nònòBò.jò2ò0`ò Tò
ò&òB(ò
Nò\ò2'òh0òd!òF	
ò
DòIòUò
òZdòxWò")ò>FòHò.'ò`
ò(sò:ò!'òFò+eòZ_ò,\ò$_òpò(cò-òJeòXbò,cò.cò-ò-ò-ò
ò*-ò-ò-ò)ò)ògò(-òkò*7ò-ò.Pò`jò8)_òV.òOXòb;òz7ò
\ò-òPò-(ó^còòózòx	=ð
 ò0ó ñ0r   r_   c                  óþ  — t        j                  «       } | j                  ddd¬«       | j                  dd¬«       | j                  dd	d
d¬«       | j                  ddt        d¬«       | j                  ddd
d¬«       | j                  ddt        d¬«       | j                  ddd
d¬«       | j                  ddd
d¬«       | j                  ddd¬«       | j                  ddt        d ¬«       | j	                  «       S )!Nz--inputTzThe input model file)ÚrequiredÚhelpz--outputzThe output model file)r=  z--auto_mergez:Automatically merge symbolic dims when confliction happensÚ
store_trueF)r=  ÚactionÚdefaultz	--int_maxzGmaximum value for integer to be treated as boundless for ops like slicer6  )r=  r   r@  z--guess_output_rankz;guess output rank to be the same as input 0 for unknown opsz	--verbosezHPrints detailed logs of inference, 0: turn off, 1: warnings, 3: detailedr   z--save_as_external_dataz%Saving an ONNX model to external dataz--all_tensors_to_one_filez(Saving all the external data to one filez--external_data_locationz+The file location to save the external filez./)r=  r@  z--external_data_size_thresholdz$The size threshold for external datai   )ÚargparseÚArgumentParserÚadd_argumentr5   Ú
parse_args)Úparsers    r   Úparse_argumentsrF  á  sN  € Ü×$Ñ$Ó&€FØ
×Ñ˜	¨DÐ7MÐÔNØ
×Ñ˜
Ð)@ÐÔAØ
×ÑØØIØØð	 ô ð ×ÑØØVÜØð	 ô ð ×ÑØØJØØð	 ô ð ×ÑØØWÜØð	 ô ð ×ÑØ!Ø4ØØð	 ô ð ×ÑØ#Ø7ØØð	 ô ð ×ÑØ"Ø:Øð ô ð
 ×ÑØ(Ø3ÜØð	 ô ð ×ÑÓÐr   Ú__main__zinput model: zoutput model z!Doing symbolic shape inference...TF)r2  Úall_tensors_to_one_fileÚlocationÚsize_thresholdÚconvert_attributezDone!r)   )2rA  ÚloggingÚnumpyr;   r0   r>   ÚImportErrorr   r   r   Ú	packagingr   ÚparseÚ__version__Ú	getLoggerr7  rf  r   r   r"   r'   r+   r.   r2   r8   r4   rE   rM   rV   rY   r]   r_   rF  r9  Úinforu  rË  rÎ  ÚloadrT  rU  rV  rW  Úout_mpr2  r3  rH  Úexternal_data_locationÚexternal_data_size_thresholdÚsaverB   r   r   ú<module>rY     sï  ðó
 Û ã Û ðsÛ÷ 7Ñ 6Ý à€w‡}�}�T×%Ñ%Ó&¨-¨'¯-©-¸Ó*@Ò@Ð @Ð@à	ˆ×	Ñ	˜8Ó	$€óòcò'òò0ò
2òò_òrò.ó
òòò÷\10ñ \10ò~b3ðl ˆzÓÙÓ€DØ
‡K�K� $§*¡*Ñ,Ô-Ø‡{‚{Ø�‰�O d§k¡kÑ1Ô2Ø
‡K�KÐ3Ô4Ø#×0Ñ0Øˆ�	‰	�$—*‘*ÓØ�‰Ø�‰Ø×ÑØ�‰ó€Fð ‡{‚{‘vØ×%Ò%ØˆD�O‰OØØ—‘Ø&*Ø(,×(DÑ(DØ×4Ñ4Ø#×@Ñ@Ø"'öð ˆD�I‰I�f˜dŸk™kÔ*Ø�‰�GÕð €{ð øðUh ò sÙ
ÐgÓ
hÐnrÐrðsús   ’G- Ç-G<