
    hg                         S SK Jr  S SKJrJr  / SQSS// / SQ/r/ SQr/ SQSS	// / S
Q/r/ SQS	S// / SQ/rS\\\	   \\	   4   4S jr
S\\\	   \\	   4   S\\	   S\4S jrS rg)    )List)Modelwith_flatten_v2)               )         )r   r   r   r	   r
   r   r   r   )r   r   r	   r   )r   r   	   )r   r	   r
   r   )r   r   
   returnc                      [        S[        S9$ )Nmemoize_input)nameforward)r   _memoize_input_forward     ^/home/james-whalen/.local/lib/python3.13/site-packages/thinc/tests/layers/test_with_flatten.py_memoize_inputr      s    o/EFFr   modelXis_trainc                 z    XR                   S'   S[        [           4S jnU Vs/ s H  oDS-   PM	     snU4$ s  snf )N
last_inputdYc                 6    U  Vs/ s H  oS-   PM	     sn$ s  snf )Nr   r   )r   vs     r   backprop(_memoize_input_forward.<locals>.backprop   s    !"r!Ar"""s   r   )attrsr   int)r   r   r   r"   r!   s        r   r   r      sA     !"KK#T#Y # 1aE1x''s   8c                      [        [        5       5      n U " [        SS9u  pU[        :X  d   eU R                  S   R
                  S   [        :X  d   eU" [        5      [        :X  d   eg )NT)r   r   r   )r   r   INPUTOUTPUTlayersr$   
INPUT_FLATBACKPROP_OUTPUT)r   Yr"   s      r   test_with_flattenr-      s\    N,-E-KA;;<<?  .*<<<E?o---r   N)typingr   	thinc.apir   r   r'   r*   r(   r+   r%   r   boolr   r-   r   r   r   <module>r1      s     ,	QFB	*%

aVR	+q!fb*5Gd3ic23 G(cDI%&(+/9(@D(.r   