+
    UV-jñî  ã                   ó*  € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	 ^ RI
HtHtHtHtHtHtHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^RIHt  ^R	I!H"t" ^R
I#H$t$ ^RI%H&t& ^RI'H(t( ^RI)H*t*H+t+ ^RI,H-t-H.t.H/t/H0t0 ^RI1H2t2H3t3H4t4H5t5H6t6 ]Pn                  ! R4      t8Rt9Rt:Rt;Rt<Rt=Rt>Rt?Rt@^ tA^ tBRtC^tD^@tERtF^ tG^tHRtIRtJRtKRtL^@tM^0tNR tOR R ltP]P¢                  ! ]P¤                  ! 4       4      tS]F3R R llt]P¨                  R5R R  ll4       tU]	 ! R! R"4      4       tV ! R# R$4      tW^R%IXHVtVHStSHUtU ^R&IYHMtMHZtZH[t[H\t\H]t]H^t^ R' R( lt_R) R* lt`R+ R, lta^R-IbHctc R6R. R/ lltdR7R0 R1 llteR2 tf]gR38X  d   ]h! R44       ]f! 4        R# R# )8é    N)ÚSequence)Ú	dataclass)ÚAnyÚDictÚ	GeneratorÚListÚOptionalÚTupleÚUnion)Útree_reduce)Úmaybe_quantize_kv_cache)ÚPreTrainedTokenizer)Úapc)Úcache)Úapply_chat_template)Úformat_speculative_stats)Úmake_streaming_detokenizer)ÚTurboQuantKVCacheÚturboquant_enabled)ÚStoppingCriteriaÚThinkingBudgetCriteriaÚloadÚprepare_inputs)ÚDEFAULT_IMAGE_GUIDANCEÚDEFAULT_IMAGE_SIZEÚDEFAULT_IMAGE_STEPSÚDEFAULT_IMAGE_TASKÚrun_image_generation_clizmlx_vlm.generatez mlx-community/nanoLLaVA-1.5-8bitzWhat are these?i   ç        ç      ð?Úuniformz<think>z</think>iˆ  c                  ó  € \         P                  ! R R7      p V P                  R\        \        RR7       V P                  R\        R�RRR7       V P                  R	\        R
RR7       V P                  R\        R‘\
        RR7       V P                  R\        R
R\         R2R7       V P                  R\        \        RR7       V P                  R\        R
RR7       V P                  R\        \        RR7       V P                  R\        R
RR7       V P                  R\        R
RR7       V P                  R\        R\        RR7       V P                  R\        R\        R R7       V P                  R!\        R\        R"R7       V P                  R#\        R$R%R7       V P                  R&\        RR
R'R7       V P                  R(\        R\        R)R7       V P                  R*\        R
R+R7       V P                  R,\        \        R-R7       V P                  R.\        R
R/\          R02R7       V P                  R1\        R
R2R7       V P                  R3\        R
R4R7       V P                  R5\        R
R6R7       V P                  R7\        R
R8R7       V P                  R9\        R
R:R7       V P                  R;\        R
R<R7       V P                  R=R>R?R@7       V P                  RA\        R
RB\"         RC2R7       V P                  RD\        R
RER7       V P                  RFRGRH.RGRIRJ7       V P                  RK\        R
RLR7       V P                  RM\        R
RNR7       V P                  RO\        \$        RPR7       V P                  RQ\        R
RRR7       V P                  RS\        \&        RTR7       V P                  RU\        R
RVR7       V P                  RW\        \&        RXR7       V P                  RY\        R
RZR7       V P                  R[\        \&        R\R7       V P                  R]R>R^R@7       V P                  R_\         P(                  R`RaRb7       V P                  Rc\        RR
RdR7       V P                  Re\        R
RfR7       V P                  Rg\        R
RhR7       V P                  Ri\        R’\*        RjR7       V P                  Rk\        \,        RlR7       V P                  Rm\        \.        RnR7       V P                  RoR>RpR@7       V P                  RqR>RrR@7       V P                  Rs\        RtRuR7       V P                  RvR>RwR@7       V P                  RxRyR>RzR@7       V P                  R{\0        P2                  / R|R7       V P                  R}\0        P2                  / R~R7       V P                  R\        \4        R€R7       V P                  R�\        R
R‚R7       V P                  Rƒ\        R
. R“OR„R…7       V P                  R†\        R
R‡R7       V P                  RˆR>R‰R@7       V P                  RŠ\        R
R‹R7       V P                  RŒ\        \6        R�R7       V P                  RŽ\        \8        R�R7       V P;                  4       # )”z*Generate text from an image using a model.)Údescriptionz--modelz;The path to the local model directory or Hugging Face repo.)ÚtypeÚdefaultÚhelpz--output-modalityÚtextzKGenerate text with a VLM or generate an image with a supported image model.)r$   Úchoicesr%   r&   z--outputNz!Output path for image generation.z--taskz;Image task to run when --output-modality image is selected.z--sizez3Image size as WIDTHxHEIGHT. Generation defaults to z5; editing defaults to the first reference image size.z--stepsz Number of image inference steps.z--seedzyPRNG seed for reproducible sampling and diffusion canvas init. Image generation/editing defaults to a random 32-bit seed.z
--guidancez6Classifier-free guidance for image generation/editing.z--prompt-expansion-modelzfText model path or Hugging Face repo used to expand plain image prompts into Ideogram 4 JSON captions.z--adapter-pathz The path to the adapter weights.z--imageÚ+z$URL or path of the image to process.)r$   Únargsr%   r&   z--audioz$URL or path of the audio to process.z--videoz$URL or path of the video to process.z--fpsg       @z)Frames-per-second to sample from --video.z--resize-shapezResize shape for the image.z--promptz%Message to be processed by the model.z--systemzSystem message for the model.z--max-tokensz%Maximum number of tokens to generate.z--max-denoising-stepsziMaximum denoising steps for diffusion generation. Default: the checkpoint's generation config (typically zZ). Adaptive stopping usually converges canvases earlier; set lower to hard-cap throughput.z--block-lengthz+Block length for diffusion text generation.z--num-to-transferzHTarget number of masked tokens to transfer per diffusion denoising step.z--max-transfer-per-stepz?Maximum confident masked tokens to transfer per denoising step.z--editing-thresholdz9Confidence threshold for diffusion post-fill token edits.z--max-post-stepsz4Maximum diffusion post-fill editing steps per block.z--stability-stepsz?Stop post-fill refinement after this many stable no-edit steps.z--diffusion-full-canvasÚ
store_truezjUse the checkpoint canvas length for diffusion generation even when --max-tokens requests a partial block.)Úactionr&   z--diffusion-min-canvas-lengthzDMinimum active canvas length for diffusion partial blocks. Default: Ú.z--diffusion-max-canvas-lengthzˆMaximum active canvas length for diffusion generation. Default: the checkpoint canvas length; set lower to trade quality for throughput.z--diffusion-samplerúentropy-boundzconfidence-thresholdz/Canvas update sampler for diffusion generation.)r(   r%   r&   z--thresholdz¯Token probability threshold for diffusion confidence transfer. Default: 0.9 for confidence-threshold sampling; masked-diffusion models use their checkpoint reference defaults.z--min-thresholdzALowest token probability threshold for masked diffusion transfer.z--temperaturezTemperature for sampling.z--repetition-penaltyz/Penalty factor for previously generated tokens.z--repetition-context-sizez>Number of recent generated tokens used for repetition penalty.z--presence-penaltyz2Additive penalty for tokens that already appeared.z--presence-context-sizez<Number of recent generated tokens used for presence penalty.z--frequency-penaltyz+Additive penalty scaled by token frequency.z--frequency-context-sizez=Number of recent generated tokens used for frequency penalty.z--chatzChat in multi-turn style.z	--verboseTzBDetailed output (use --no-verbose to print only the final result).)r,   r%   r&   z--eos-tokensz#EOS tokens to add to the tokenizer.z--max-kv-sizez%Maximum KV size for the prompt cache.z	--kv-bitsz+Number of bits to quantize the KV cache to.z--kv-quant-schemezXKV cache quantization backend. Fractional --kv-bits values use TurboQuant automatically.z--kv-group-sizez-Group size for uniform KV cache quantization.z--quantized-kv-startz'Start index for the quantized KV cache.z--skip-special-tokensz'Skip special tokens in the detokenizer.z--force-downloadz+Force download the model from Hugging Face.z
--revisionÚmainz8The specific model version to use (branch, tag, commit).z--trust-remote-codez)Trust remote code when loading the model.z--quantize-activationsz-qazvEnable activation quantization for QQLinear layers. Only supported for models quantized with 'nvfp4' or 'mxfp8' modes.z--processor-kwargszcExtra processor kwargs as JSON. Example: --processor-kwargs '{"cropping": false, "max_patches": 3}'z--gen-kwargszMExtra generation kwargs as JSON. Example: --gen-kwargs '{"custom_arg": true}'z--prefill-step-sizez¢Number of tokens to process per prefill step. Lower values reduce peak memory usage but may be slower. Try 512 or 256 if you hit GPU memory errors during prefill.z--draft-modelzASpeculative drafter path or HF id (e.g. z-lab/Qwen3.5-4B-DFlash).z--draft-kindzÏDrafter family. Supported: 'dflash' (Qwen3.5 DFlash), 'eagle3' (Speculators/SGLang EAGLE-3), 'mtp' (Gemma 4 Multi-Token Prediction / Assistant model). Default: auto-detected from the drafter's HF model_type.)r$   r%   r(   r&   z--draft-block-sizez-Override the drafter's configured block size.z--enable-thinkingz=Enable thinking mode in the chat template (e.g. for Qwen3.5).z--thinking-budgetzKMaximum number of thinking tokens before forcing the end-of-thinking token.z--thinking-start-tokenzFToken that marks the start of a thinking block (default: %(default)s).z--thinking-end-tokenzDToken that marks the end of a thinking block (default: %(default)s).)r'   Úimage)ÚgenerateÚedit)r!   Ú
turboquant)ÚdflashÚeagle3Úmtp)ÚargparseÚArgumentParserÚadd_argumentÚstrÚDEFAULT_MODEL_PATHr   r   Úintr   Úfloatr   ÚDEFAULT_IMAGEÚDEFAULT_AUDIOÚDEFAULT_VIDEOÚDEFAULT_PROMPTÚDEFAULT_MAX_TOKENSÚ%DEFAULT_DIFFUSION_MAX_DENOISING_STEPSÚ#DEFAULT_DIFFUSION_MIN_CANVAS_LENGTHÚDEFAULT_TEMPERATUREÚDEFAULT_REPETITION_CONTEXT_SIZEÚBooleanOptionalActionÚDEFAULT_KV_QUANT_SCHEMEÚDEFAULT_KV_GROUP_SIZEÚDEFAULT_QUANTIZED_KV_STARTÚjsonÚloadsÚDEFAULT_PREFILL_STEP_SIZEÚDEFAULT_THINKING_START_TOKENÚDEFAULT_THINKING_END_TOKENÚ
parse_args)Úparsers    Új/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_vlm/generate/dispatch.pyÚparse_argumentsrS   :   sg  € Ü×$Ò$Ø@ô€Fð ×ÑØÜÜ"ØJð	 ô ð ×ÑØÜØ!ØØZð ô ð ×ÑØÜØØ0ð	 ô ð ×ÑØÜØ$Ü"ØJð ô ð ×ÑØÜØàAÜ!Ð"Ð"WðYð ô ð ×ÑØÜÜ#Ø/ð	 ô ð ×ÑØÜØðIð ô ð ×ÑØÜÜ&ØEð	 ô ð ×ÑØ"ÜØð5ð ô ð ×ÑØÜØØ/ð	 ô ð ×ÑØÜØÜØ3ð ô ð ×ÑØÜØÜØ3ð ô ð ×ÑØÜØÜØ3ð ô ð ×ÑØÜØØ8ð	 ô ð ×ÑØÜØØØ*ð ô ð ×ÑØÜØÜØ4ð ô ð ×ÑØÜØØ,ð	 ô ð ×ÑØÜÜ"Ø4ð	 ô ð ×ÑØÜØðFä4Ð5ð 6ðð ô ð ×ÑØÜØØ:ð	 ô ð ×ÑØÜØØWð	 ô ð ×ÑØ!ÜØØNð	 ô ð ×ÑØÜØØHð	 ô ð ×ÑØÜØØCð	 ô ð ×ÑØÜØØNð	 ô ð ×ÑØ!Øð5ð	 ô ð ×ÑØ'ÜØðÜ;Ð<¸Að?ð ô ð ×ÑØ'ÜØðð ô 	ð ×ÑØØ Ð"8Ð9ØØ>ð	 ô ð ×ÑØÜØð>ð ô 	ð ×ÑØÜØØPð	 ô ð ×ÑØÜÜ#Ø(ð	 ô ð ×ÑØÜØØ>ð	 ô ð ×ÑØ#ÜÜ/ØMð	 ô ð ×ÑØÜØØAð	 ô ð ×ÑØ!ÜÜ/ØKð	 ô ð ×ÑØÜØØ:ð	 ô ð ×ÑØ"ÜÜ/ØLð	 ô ð ×Ñ˜¨Ð<WÐÔXØ
×ÑØÜ×-Ñ-ØØQð	 ô ð ×ÑØÜØØØ2ð ô ð ×ÑØÜØØ4ð	 ô ð ×ÑØÜØØ:ð	 ô ð ×ÑØÜØ)Ü'ð$ð ô ð ×ÑØÜÜ%Ø<ð	 ô ð ×ÑØÜÜ*Ø6ð	 ô ð ×ÑØØØ6ð ô ð
 ×ÑØØØ:ð ô ð
 ×ÑØÜØØGð	 ô ð ×ÑØØØ8ð ô ð
 ×ÑØ ØØðMð	 ô ð ×ÑØÜ�Z‰ZØðPð	 ô ð ×ÑØÜ�Z‰ZØð9ð	 ô ð ×ÑØÜÜ)ðFð	 ô ð ×ÑØÜØØPð	 ô ð ×ÑØÜØÚ+ðCð ô 	ð ×ÑØÜØØ<ð	 ô ð ×ÑØØØLð ô ð
 ×ÑØÜØØZð	 ô ð ×ÑØ ÜÜ,ØUð	 ô ð ×ÑØÜÜ*ØSð	 ô ð ×ÑÓÐó    c                ó”   € V ^8„  d   QhR\         \        \        ,          ,          R\         \        \        \        3,          ,          /# )é   ÚvaluesÚreturn)r	   r   r<   r
   )Úformats   "rR   Ú__annotate__rZ   Ö  s6   € ÷ Iñ IÜ”Xœc•]Õ#ðIäŒe”Cœ�H�oÕñIrT   c                 óv  € V f   R # \        V \        4      '       dg   \        V \        \        34      '       gK   \	        V 4      R9   d;   \
        ;QJ d    R V  4       F  '       d   K   RM	  RM! R V  4       4      '       g   \        R4      h\	        V 4      ^8X  d   V ^ ,          V ^ ,          3# \        V 4      # )Nc              3   óD   "  € T F  p\        V4      \        J x € K  	  R # 5i©N)r$   r<   )Ú.0Úvalues   & rR   Ú	<genexpr>Ú)normalize_resize_shape.<locals>.<genexpr>ß  s   é € Ð7± u”�U“œsÕ"³ùs   ‚ FTz)resize_shape must contain 1 or 2 integers)é   rV   )Ú
isinstancer   r:   ÚbytesÚlenÚallÚ
ValueErrorÚtuple)rW   s   &rR   Únormalize_resize_shaperi   Ö  sŠ   € ð ‚~Ùä�6œ8×$Ò$Ü˜6¤C¬ <×0Ò0Ü�‹K˜6Ô!ß‹CÑ7±Ó7�C�CŠCÑ7±Ó7×7Ò7äÐDÓEÐEÜ%(¨£[°AÔ%5ˆF�1�I�v˜a•yÐ!ÐH¼5À»=ÐHrT   c                ó$   € V ^8„  d   QhR\         /# )rV   Úkv_quant_scheme)r:   )rY   s   "rR   rZ   rZ   é  s   € ÷ 1ñ 1ô
 ñ1rT   c                 ó  aaa€ Sf   R # \        SV4      '       dU   VVV3R lo\        V 4      ^8”  d   \        V 4      ^,
          MRp\        V 4       F  w  rgWe8X  d   K  S! V4      W&   K  	  R # \        V SV\	        S4      R7       R # )Nc                 óä  <€ \        V \        4      '       d   V # \        V \        P                  4      '       d   V # \        V \        P                  4      '       dI   V P
                  ^ 8X  d   \        SR7      # V P
                  S8  d   V # \        P                  ! V SR7      # \        V \        P                  4      '       d*   V P                   Uu. uF  pS! V4      NK  	  upV n        V # \        V \        4      '       d!   \        V 4       F  w  r!S! V4      W&   K  	  V # \        V \        4      '       d3   \        ;QJ d    . V3R lV  4       F  NK  	  5# ! V3R lV  4       4      # V # u upi )r   )Úbitsc              3   ó4   <"  € T F  pS! V4      x € K  	  R # 5ir]   © )r^   Ú	sub_entryÚquantize_entrys   & €rR   r`   ÚBmaybe_quantize_kv_cache.<locals>.quantize_entry.<locals>.<genexpr>	  s   øé € ÐNÉ¸9™^¨I×6Ð6Ëùs   ƒ)rc   r   r   ÚRotatingKVCacheÚKVCacheÚoffsetÚ
from_cacheÚ	CacheListÚcachesÚlistÚ	enumeraterh   )Úentryrq   ÚiÚkv_bitsrr   Úquantized_kv_starts   &  €€€rR   rr   Ú/maybe_quantize_kv_cache.<locals>.quantize_entryõ  s  ø€ Ü˜%Ô!2×3Ò3Ø�Ü˜%¤×!6Ñ!6×7Ò7Ø�Ü˜%¤§¡×/Ò/Ø—<‘< 1Ô$ä,°'Ô:Ð:Ø—<‘<Ð"4Ô4Ø �LÜ(×3Ò3°EÀÔHÐHÜ˜%¤§¡×1Ò1ØKPÏ<Ê<ÓXÉ<¸i¡¨yÖ 9É<ÑX�”Ø�Ü˜%¤×&Ò&Ü$-¨eÖ$4‘L�AÙ-¨iÓ8�E“Hñ %5à�Ü˜%¤×'Ò'ß”uÔNÉÓN—uÐN�uÔNÉÓNÓNÐNØˆLùò  Ys   ÃE-)r   Úkv_group_sizer~   éÿÿÿÿ)r   re   r{   Úmlx_maybe_quantize_kv_cacher<   )	Úprompt_cacher   r�   r~   rk   Úlast_idxÚindexÚlayer_cacherr   s	   &f&f&   @rR   r   r   é  sƒ   ú€ ð ‚Ùä˜' ?×3Ò3÷	ô2 -0°Ó,=ÀÔ,A”3�|Ó$ qÖ(ÀrˆÜ"+¨LÖ"9ÑˆEØÔ ÙÙ"0°Ó"=ˆLÓñ #:ñ 	äØØ-Ø#Ü�G“÷	rT   c                ó„   € V ^8„  d   QhR\         P                  R\        \        \        P
                  ,          ,          /# )rV   ÚmodelÚstreams)ÚnnÚModuler	   r   ÚmxÚStream)rY   s   "rR   rZ   rZ     s+   € ÷ "&ñ "&”r—y‘yð "&¬8´D¼¿¹µOÕ+Dñ "&rT   c              #  ó–  "  € \         P                  P                  4       '       g   Rx € R# \        R V ^ 4      p\         P                  ! 4       R,          pVRV,          8”  d%   VR,          pVR,          p\        RV RV R24       \         P                  ! V4      p Rx € Ve!   V F  p\         P                  ! V4       K  	  M\         P                  ! 4        \         P                  ! V4       R#   Te!   T F  p\         P                  ! T4       K  	  M\         P                  ! 4        \         P                  ! T4       i ; i5i)	zî
A context manager to temporarily change the wired limit.

Note, the wired limit should not be changed during an async eval.  If an
async eval could be running pass in the streams to synchronize with prior
to exiting the context manager.
Nc                 ój   € \        V\        P                  4      '       d   WP                  ,           # T # r]   )rc   r�   ÚarrayÚnbytes)ÚaccÚxs   &&rR   Ú<lambda>Úwired_limit.<locals>.<lambda>+  s"   € ¬°A´r·x±x×)@Ò)@�sŸX™X•~ÐIÀcÐIrT   Ú max_recommended_working_set_sizegÍÌÌÌÌÌì?z0[WARNING] Generating with a model that requires z6 MB which is close to the maximum recommended size of zƒ MB. This can be slow. See the documentation for possible work-arounds: https://github.com/ml-explore/mlx-lm/tree/main#large-modelsi   )r�   ÚmetalÚis_availabler   Údevice_infoÚprintÚset_wired_limitÚsynchronize)r‰   rŠ   Úmodel_bytesÚmax_rec_sizeÚmodel_mbÚ
max_rec_mbÚ	old_limitÚss   &&      rR   Úwired_limitr¤     s  é € ô �8‰8× Ñ ×"Ò"ÛÙäÙIÈ5ÐRSó€Kô —>’>Ó#Ð$FÕG€LØ�S˜<Õ'Ô'Ø %Õ'ˆØ! UÕ*ˆ
ÜØ>¸x¸jð IAØAKÀð MJðJô	
ô ×"Ò" <Ó0€Ið&ÛàÒÛ�Ü—’˜qÖ!ò ô �NŠNÔÜ
×Ò˜9Ö%øð ÒÛ�Ü—’˜qÖ!ò ô �NŠNÔÜ
×Ò˜9Õ%üs    ‚BE	Â C5 Â$AE	Ã5AEÅE	c                   óX   a € ] tR tRt o RtRtRt^ t^ t^ t	Rt
RtRt^ tRtV 3R ltRtV tR# )ÚGenerationResultiC  Ú Nr   c                óÞ   <€ V ^8„  d   Qh/ S[ ;R&   S[S[,          ;R&   S[S[S[,          ,          ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R	&   S[;R
&   S[S[ ,          ;R&   # )rV   r'   ÚtokenÚlogprobsÚprompt_tokensÚgeneration_tokensÚtotal_tokensÚ
prompt_tpsÚgeneration_tpsÚpeak_memoryÚcached_tokensÚfinish_reason)r:   r	   r<   r   r=   )rY   Ú__classdict__s   "€rR   rZ   ÚGenerationResult.__annotate__C  s¢   ø‡ ‚ á
�Nñ ñ ‘C�=Ññ ñ ‘t™E•{Õ#Ñ*ñ	 ñ
 Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ ™C•=Ñ'ò rT   rp   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r'   r©   rª   r«   r¬   r­   r®   r¯   r°   r±   r²   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r³   s   @rR   r¦   r¦   C  sF   ø‡ € à€DØ€EØ&*€HØ€MØÐØ€LØ€JØ€NØ€KØ€Mð $(€M÷ ƒ rT   r¦   c                   óN   a € ] tR tRt o RtR tV 3R lR ltV 3R lR ltRtV t	R	# )
ÚPromptCacheStateiT  a  Holds KV cache and token history across conversation turns.

Pass this to stream_generate via the ``prompt_cache_state`` kwarg to
reuse the KV cache from previous turns.  Only the new tokens (after
the common prefix) are processed, avoiding redundant prefill.
c                ó"   € R V n         R V n        R # r]   ©r   Ú	token_ids)Úselfs   &rR   Ú__init__ÚPromptCacheState.__init__\  s   € Ø*.ˆŒ
Ø.2ˆŽrT   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )rV   Únew_idsrX   )rz   r<   )rY   r³   s   "€rR   rZ   ÚPromptCacheState.__annotate__`  s   ø€ ÷ ñ ©$ð ±3ñ rT   c                óÞ   € V P                   f   ^ # \        \        V P                   4      \        V4      4      p\        V4       F%  pV P                   V,          W,          8w  g   K#  Vu # 	  V# )z>Return the number of leading tokens that match the cached ids.)rÁ   Úminre   Úrange)rÂ   rÆ   Úmax_lenr}   s   &&  rR   Úfind_prefix_lengthÚ#PromptCacheState.find_prefix_length`  sU   € à�>‰>Ò!ÙÜ”c˜$Ÿ.™.Ó)¬3¨w«<Ó8ˆÜ�w–ˆAØ�~‰~˜aÕ  G¥JÖ.Ø’ñ  ð ˆrT   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# )rV   rÁ   Úkv_cache)rz   )rY   r³   s   "€rR   rZ   rÇ   j  s   ø€ ÷ ñ ¡ð ±ñ rT   c                ó2   € \        V4      V n        W n        R# )z9Store the full token sequence and corresponding KV cache.N)rz   rÁ   r   )rÂ   rÁ   rÏ   s   &&&rR   ÚupdateÚPromptCacheState.updatej  s   € ä˜i›ˆŒØŽ
rT   rÀ   N)
rµ   r¶   r·   r¸   Ú__doc__rÃ   rÌ   rÑ   rº   r»   r¼   s   @rR   r¾   r¾   T  s#   ø‡ € ñò3÷ð ÷ö rT   r¾   )r¦   Úgeneration_streamr¤   )rD   ÚDiffusionOutputHandlerÚdiffusion_kwargs_from_argsÚis_diffusion_modelÚis_masked_diffusion_modelÚ%stream_diffusion_generate_from_kwargsc                óD   € V ^8„  d   QhR\         P                  R\        /# )rV   r‰   rX   )r‹   rŒ   Úbool)rY   s   "rR   rZ   rZ   {  s   € ÷ ,ñ ,¬"¯)©)ð ,¼ñ ,rT   c                 ó   € \        V 4      # r]   )rØ   )r‰   s   &rR   Úis_masked_diffusion_text_modelrÝ   {  s   € Ü$ UÓ+Ð+rT   c                ór   € V ^8„  d   QhR\         P                  R\        \        \        3,          R\
        /# )rV   r‰   ÚkwargsrX   )r‹   rŒ   r   r:   r   rÛ   )rY   s   "rR   rZ   rZ     s.   € ÷ ñ ¬2¯9©9ð ¼dÄ3ÌÀ8½nð ÔQUñ rT   c                 ó¢   € \        V 4      '       g   R # \        V RR4      p\        VRR4      R8w  d   R# VP                  R4      pVe   VR8g  # R # )FÚconfigNÚdefault_generation_modeÚarTÚgeneration_mode)rÝ   ÚgetattrÚget)r‰   rß   rá   rä   s   &&  rR   Ú_use_masked_diffusion_text_pathrç     sV   € Ü)¨%×0Ò0Ùä�U˜H dÓ+€FÜˆvÐ0°$Ó7¸4Ô?Ùà—j‘jÐ!2Ó3€OØÒ"Ø $Ñ&Ð&árT   c          
      óÈ   € V ^8„  d   QhR\         P                  R\        P                  R\        \        P                  ,          R\
        \        \        3,          R\        /# )rV   r‰   Úfull_input_idsÚmaskrß   rX   )	r‹   rŒ   r�   r‘   r	   r   r:   r   rÛ   )rY   s   "rR   rZ   rZ   Ž  sS   € ÷ %ñ %Ü�9‰9ð%ä—H‘Hð%ô ”2—8‘8Õ
ð%ô ””c��Nð	%ô
 
ñ%rT   c                óÎ  € \        V RR4      p\        VRR4      p\        V4      '       g   R# \        VR4      '       g   \        VR4      '       g   R#  V! VVP                  RR4      VP                  RR4      V4      w  rg\        TR4      '       d   Ydn        \        TR4      '       d   Ytn        YsR&   R#   \         d"   p\
        P                  R	T4        Rp?R
# Rp?ii ; i)ab  Prime Qwen-style mRoPE metadata before a cached-prefix trim.

Qwen VL language models keep ``_rope_deltas`` on the model object and use
it when continuing from a non-empty KV cache. If APC trims the prompt to
only the uncached suffix, the suffix alone is not enough to recompute the
original prompt's RoPE delta, so derive it from the full prompt first.
Úlanguage_modelNÚget_rope_indexTÚ_rope_deltasÚ_position_idsÚimage_grid_thwÚvideo_grid_thwzJCould not prime cached-prefix RoPE state; falling back to cold prefill: %sFÚrope_deltas)	rå   ÚcallableÚhasattrræ   Ú	ExceptionÚloggerÚwarningrï   rî   )	r‰   ré   rê   rß   Úlmrí   Úposition_idsrò   Úes	   &&&&     rR   Ú_prime_cached_prefix_rope_staterû   Ž  sÝ   € ô 
�Ð(¨$Ó	/€BÜ˜RÐ!1°4Ó8€NÜ�N×#Ò#ÙÜ�B˜×'Ò'¬7°2°×+GÒ+GÙðÙ$2ØØ�J‰JÐ'¨Ó.Ø�J‰JÐ'¨Ó.Øó	%
Ñ!ˆô ˆr�?×#Ò#Ø'ÔÜˆr�>×"Ò"Ø%ŒØ'ˆ=ÑÙøô ô Ü�‰ØXØô	
õ ûðús   Á-B8 Â8C$ÃCÃC$)Úgenerate_stepc                óf  € V ^8„  d   QhR\         P                  R\        R\        R\        \        \
        \        ,          3,          R\        \        \
        \        ,          3,          R\        \        \
        \        ,          3,          R\        \        \        \        RR3,          3,          /# )	rV   r‰   Ú	processorÚpromptr0   ÚaudioÚvideorX   N)r‹   rŒ   r   r:   r   r   r   )rY   s   "rR   rZ   rZ   ¹  s—   € ÷ vñ vÜ�9‰9ðvä"ðvô ðvô ””dœ3•i�Õ ð	vô
 ””dœ3•i�Õ ðvô ””dœ3•i�Õ ðvô Œ3”	œ#˜t T˜/Õ*Ð*Õ+ñvrT   c              +  ó<#  aXaYaZa["  € \        VR4      '       d   VP                  MTpVP                  RR4      pVP                  RR4      p	VP                  R\        4      p
VP                  R\        4      pVP                  RR4      pVP                  R	R4      pV'       d(   \        VR
4      '       d   \        VP                  4      M. pV P                  P                  RY9   d   \        VRR4      RJ MRp\        VP                  RR4      4      p\        V P                  RR4      pVP                  RR4      pVP                  RR4      pVP                  RR4      oYVP                  RR4      pT;'       g    RpT;'       g    RpT;'       g    RpVP                  RR4      e7   VP                  R4      pVP                  RR4      pVP                  RR4      pM�\        V3RVRVRVRVRVRVRV/VB pVP                  RR4      pVP                  RR4      pVP                  RR4      pVP                  4        UUu/ uF  w  ppVRZ9  g   K  VVbK  	  pppVP                  V4       \        W4      '       Edþ   Vf	   Vf   Ve   \!        R4      hVP                  R\"        4      pVP                  R\$        4      pVP                  R\&        4      pVP                  R \(        4      pVP                  R!4      p V f+   \        V R"R4      p!VP                  R#\        V!R$^ 4      4      p \        V R"R4      p!/ p"R[ F3  w  p#p$VP                  V#4      p%V%f   \        V!V$R4      p%V%f   K.  V%V"V#&   K5  	  / p&0 R\mp'VP                  4        U#U%u/ uF  w  p#p%V#V'9  g   K  V#V%bK  	  p(p#p%\*        P,                  ! 4       p)V P.                  P0                  ! V3RTR%VP                  R%^ 4      R#T R&TRVe   VR'8¼  d   RMTR Ve   V^ 8:  d   RMTR(RR)VRVR	VR*V&/V"BV(B p*\2        P4                  ! V*4       \*        P,                  ! 4       V),
          p+V&P                  R+R,4      p,V,^ 8”  d   VP6                  V,,          MR,p-\9        V+V,,
          R-4      p.V*^ ,          P;                  4       p/VP=                  V/VR.7      p0\?        T0V/'       d
   V/R],          MRRVP6                  \A        V/4      VP6                  \A        V/4      ,           T-\A        V/4      V.,          \2        PB                  ! 4       R/,          V/'       d!   VPE                  V/R],          4      '       d   R0MR1\G        V&P                  R24      4      R37      x € R# Vet   Vep   Vel   VP                  V4      p1V1e   V1VR4&   MP\        V R54      '       d?   V PI                  V4      p2\2        P4                  ! V24       VPK                  VV24       V2VR4&   ^ p3VPM                  4       P;                  4       oZ. p4^ oXRp5\N        PP                  ! V P                  4      o[\N        PR                  ! SZS[4      p6\9        ^ V6^,
          4      p7R6 VZV[3R7 llp8R8 VZV[3R9 llp9\U        V 4      '       d   \W        V VVVVVVV4       Rj  x€L
  R# SYe'   \N        PX                  ! V P.                  4      p5V5f   RoYSYe0   \N        PZ                  ! VVR:7      p:\N        P\                  ! VV:4      oXVEeB   VP^                  Ee3   VPa                  SZ4      p;V;^ 8”  Ed   V;VPb                  ^,          8  Ed   V8! V;4      '       dó   \e        V VVV4      '       dß   T;p3VR;V;R13,          pRpVP                  R4R4       VP^                  p<V< F¤  p=\        V=R<4      '       g   K  V=Pf                  f   K'  V=Pf                  Pb                  ^,          p>V>V;8”  g   KM  V=Pf                  R;R;RV;1R;3,          V=n3        V=Ph                  R;R;RV;1R;3,          V=n4        \        V=R=4      '       g   K�  V;V=n5        K¦  	  V<VR>&   SYEeF   V3^ 8X  Ed>   V5R?8X  d‡   SYPm                  SZSXV7R@7      w  p?p@V?ej   X@^ 8”  dc   X@VPb                  ^,          8  dK   V8! X@4      '       d=   \e        V VVV4      '       d)   X@p3VR;V@R13,          pRpVP                  R4R4       V?VR>&   EM°SYPo                  SZSXRA7      w  pAp;V;^ 8”  d$   V9! V;4      '       d   SYPq                  XA4       . pA^ p;Rp?^ p@V;VPb                  ^,          8  d"   SYPm                  SZSX\9        V;V74      R@7      w  p?p@RpB^ pC\9        V;X@4      VPb                  ^,          8  d1   SYPs                  SZSX\9        V;X@V74      \9        V;V@4      ^ 8„  RB7      w  pBpCXC\9        V;X@4      8”  d~   XCVPb                  ^,          8  df   XA'       d   SYPq                  XA4       V8! XC4      '       d=   \e        V VVV4      '       d)   XCp3VR;VCR13,          pRpVP                  R4R4       XBVR>&   EMOX@V;8”  d}   X@VPb                  ^,          8  de   XA'       d   SYPq                  XA4       V8! X@4      '       d=   \e        V VVV4      '       d)   X@p3VR;V@R13,          pRpVP                  R4R4       V?VR>&   MÌV;^ 8”  d­   V;VPb                  ^,          8  d•   V8! V;4      '       du   \e        V VVV4      '       da   XAp4T;p3VR;V;R13,          pRpVP                  R4R4       \N        Pt                  ! VAV;VPb                  ^,          ,           ^,           RC7      VR>&   M+SYPq                  XA4       MXA'       d   SYPq                  XA4       V	ek   VPw                  VRRD7      R],          pDT;'       d"    XDVPM                  4       P;                  4       9   p\y        VV	V
VVRE7      Vn=        VPz                  VRF&   MRVn=        R>V9  d6   \^        P|                  ! V P.                  VP                  RGR4      RH7      VR>&   VR>,          pEV3VP6                  ,           pF\        V \€        .4      ;_uu_ 4        \ƒ        V4      pG\        VRFR4      pHRpIRpJSYeg   V5R?8X  d`   V3^ 8X  dY   \N        P„                  ! SZ\A        SZ4      SYP†                  ,
          S[\A        SZ4      ^,
          RI7      pIVI^ 8:  d   RpIRJ VXVYVZ3RK llpJ\‰        VV VV3RLXJRMXIRV/VB pK\*        P,                  ! 4       p). p/RpL\‹        VK4       EF5  w  pMw  pNpOVM^ 8X  db   \*        P,                  ! 4       V),
          p,XFV,,          p-\*        P,                  ! 4       p)SYe$   V5R?8X  d   V3^ 8X  d    SYP�                  SZXESXRA7       V/P•                  XN4       XHe	   XH! XN4       VPE                  XN4      '       d   R0pL M’XGP—                  XNVRO7       \?        VGP˜                  VNXOXFXM^,           VFVM,           ^,           X-VM^,           \*        P,                  ! 4       V),
          ,          \2        PB                  ! 4       R/,          V3RP7
      x € EK8  	  R1pLV/'       gl   \*        P,                  ! 4       V),
          p,V,^ 8”  d
   XFV,,          MR,p-\?        RQRRXF^ VFV-R,\2        PB                  ! 4       R/,          V3R1RR7      x €  RRR4       R# XGP›                  4        \?        VGP˜                  XNXOXFXM^,           VFVM,           ^,           X-VM^,           \*        P,                  ! 4       V),
          ,          \2        PB                  ! 4       R/,          V3XLRR7      x € RpQVeN   SZV/ URu. uF'  pR\        VRRS4      '       d   XRP�                  4       MXRNK)  	  upR,           pQVP                  VQXE4       SYEe   V5RT8X  Ed    XQf<   SZV/ URu. uF'  pR\        VRRS4      '       d   XRP�                  4       MXRNK)  	  upR,           pQ. pS. pTRpUXE Ft  p=\        V=R<R4      p\        V=RUR4      p\        V=R=R4      pVVe	   Ve   XVf   RpU M>XSP•                  VRVRXV1R;3,          4       XTP•                  VRVRVV1R;3,          4       Kv  	  XU'       d8   XS'       d0   SYPŸ                  XQXSXTSXV3RW7      pWSYPq                  V4VW,           4       MSYPq                  V44        \2        P                   ! 4        RRR4       R# u uppi u up%p#i  E
Ln  \Ž         d"   pP\�        P“                  RNTP4        RpP?PELŒRpP?Pii ; iu upRi u upRi   \Ž         d2   pP\�        P“                  RXTP4       SYPq                  T44        RpP?PLžRpP?Pii ; i  + '       g   i     R# ; i5i)^aJ  
A generator producing text based on the given prompt from the model.

Args:
    model (nn.Module): The model to use for generation.
    processor (PreTrainedTokenizer): The tokenizer/processor.
    prompt (str): The input prompt text.
    image (Union[str, List[str]], optional): Image path(s) or URL(s).
    audio (Union[str, List[str]], optional): Audio file path(s).
    prefill_step_size (int, optional): Number of tokens to process per prefill
      step. When set, enables chunked prefill which processes long prompts in
      smaller chunks to reduce peak memory usage.
    kwargs: Additional options passed to :func:`generate_step`.
      See :func:`generate_step` for more details.

Yields:
    Generator[GenerationResult]: A generator producing GenerationResult objects
      containing the generated text, tokens, and statistics.
Ú	tokenizerÚverboseFÚthinking_budgetNÚthinking_end_tokenÚthinking_start_tokenÚenable_thinkingÚskip_special_tokensÚall_special_idsÚchat_templateTÚresize_shapeÚimage_token_indexÚvision_cacheÚprompt_cache_stateÚapc_managerÚ
apc_tenantÚ	input_idsÚpixel_valuesrê   Úimagesr   ÚvideosÚpromptsÚadd_special_tokensÚattention_maskz/Diffusion text generation models are text-only.Ú
max_tokensÚtemperatureÚtop_pÚtop_kÚmax_denoising_stepsrá   ÚstepsÚdefault_diffusion_stepsÚblock_lengthÚ
gen_lengthr    Úeos_early_stopÚ	visualizeÚstatsÚprompt_timer   g•Ö&è.>)r	  ç    eÍÍAÚstopÚlengthÚtext_already_printed)r'   r©   rª   r«   r¬   r­   r®   r¯   r°   r²   r)  Úcached_image_featuresÚencode_imagec                ó0   € V ^8„  d   QhR\         R\        /# ©rV   Ú
prefix_lenrX   ©r<   rÛ   )rY   s   "rR   rZ   Ú%stream_generate.<locals>.__annotate__“  s   € ÷ 
ñ 
¬Sð 
´Tñ 
rT   c                 ó4   <€ \         P                  ! SV S4      # r]   )Ú_apcÚprefix_leaves_text_only_suffix©r.  Úfull_input_ids_listÚmultimodal_token_idss   &€€rR   Ú_apc_suffix_is_text_onlyÚ1stream_generate.<locals>._apc_suffix_is_text_only“  s   ø€ Ü×2Ò2ØØØ ó
ð 	
rT   c                ó0   € V ^8„  d   QhR\         R\        /# r-  r/  )rY   s   "rR   rZ   r0  š  s   € ÷ 
ñ 
´ð 
¼ñ 
rT   c                 ó4   <€ \         P                  ! SV S4      # r]   )r2  Úprefix_contains_media_tokensr4  s   &€€rR   Ú_apc_prefix_has_media_tokensÚ5stream_generate.<locals>._apc_prefix_has_media_tokensš  s   ø€ Ü×0Ò0ØØØ ó
ð 	
rT   )r  Ú	image_ref:NNNÚkeysrv   r„   Úexact)Ú
extra_hashÚmin_prefix_tokens©rA  )rA  rB  Úallow_memory_overlap)Úmin_capacity_tokens)r  )r  r  r  r  r  Úthinking_budget_criteriaÚmax_kv_size)rG  )Úmax_prefix_tokensc                óJ   € V ^8„  d   QhR\         R\        \        ,          RR/# )rV   r.  r„   rX   N)r<   r   r   )rY   s   "rR   rZ   r0  \  s%   € ÷ ñ ¬Sð ÄÄSÅ	ð Èdñ rT   c                 ó6   <€ SP                  SR V  VSR7       R # )NrC  )Ústore_exact_cache)r.  r„   Úapc_extra_hashr  r5  s   &&€€€rR   Úexact_checkpointÚ)stream_generate.<locals>.exact_checkpoint\  s&   ø€ Ø×-Ñ-Ø'¨¨Ð4Ø Ø-ð .ö rT   Úprompt_cache_checkpointÚprompt_cache_checkpoint_lenz APC exact-cache store failed: %s)Úskip_special_token_ids)
r'   r©   rª   r«   r¬   r­   r®   r¯   r°   r±   r§   )r'   r©   rª   r«   r¬   r­   r®   r¯   r°   r±   r²   ÚitemÚblockrW   .)rA  Úskip_first_n_tokenszAPC store failed: %s)Úgemma3Úgemma3nÚgemma4Úgemma4_unified)r  r  r  ))Ú	thresholdÚdefault_diffusion_threshold)Úmin_thresholdÚdefault_diffusion_min_threshold)Úediting_thresholdÚ#default_diffusion_editing_threshold)Únum_to_transferÚ!default_diffusion_num_to_transfer)Úmax_transfer_per_stepÚ'default_diffusion_max_transfer_per_step)Úmax_post_stepsÚ default_diffusion_max_post_steps)Ústability_stepsÚ!default_diffusion_stability_steps>   r  r  r  rY  r  r  r   r[  rc  r_  re  r]  r  ra  r‚   )Qrô   r  ÚpoprO   rN   Úsetr
  rá   Ú
model_typerå   ri   ræ   r   ÚitemsrÑ   rç   rg   rB   rE   ÚDEFAULT_TOP_PÚDEFAULT_TOP_KÚtimeÚperf_counterrì   r1   r�   ÚevalÚsizeÚmaxÚtolistÚdecoder¦   re   Úget_peak_memoryÚstopping_criteriarÛ   r+  ÚputÚflattenr2  Ú multimodal_token_ids_from_configÚmedia_safe_prefix_minr×   rÙ   Úmodel_apc_modeÚhash_image_payloadÚtenant_scoped_hashr   rÌ   Úshaperû   r?  rW   rv   Úlookup_exact_cacheÚlookup_prefixÚreleaseÚlookup_prefix_disk_cacheÚmake_warm_kv_cacheÚencoder   rF  Úmake_prompt_cacher¤   rÔ   r   Ú%adjust_prefix_to_text_suffix_boundaryÚexact_cache_guard_tokensrü   r{   rK  rõ   rö   r÷   ÚappendÚ	add_tokenÚlast_segmentÚfinalizerR  Ústore_kv_blocksÚclear_cache)\r‰   rþ   rÿ   r0   r   r  rß   r  r  r  r  r  r  r	  rQ  r  r  r  r  r  r  r  r  rê   ÚinputsÚkÚvÚdata_kwargsr  r  r  r  r  rá   Útuned_kwargsÚkeyÚconfig_attrr_   Úgeneration_statsÚhandled_generation_kwargsÚmodel_generate_kwargsÚticÚ	generatedÚ
total_timer%  r®   Úgeneration_timeÚgenerated_tokensr'   ÚcachedÚfeaturesÚreused_prefix_lenÚapc_blocks_in_useÚapc_modeÚapc_safe_prefix_minÚapc_safe_prefix_lookup_minr7  r<  Ú
image_hashr.  rÏ   ÚcÚ
cached_lenÚexact_prompt_cacheÚexact_prefix_lenÚmatched_blocksÚdisk_prompt_cacheÚdisk_prefix_lenÚthinking_start_token_idÚtracked_cacheÚtotal_prompt_tokensÚdetokenizerÚthinking_criteriaÚexact_checkpoint_lenrM  Úgenr²   Únr©   rª   rú   Úall_idsÚtÚ
layer_keysÚlayer_valuesÚokÚoffÚ
new_blocksrL  r  r5  r6  s\   &&&&&&,                                                                                 @@@@rR   Ústream_generaterº  ¹  s3  ûé € ô8 (/¨y¸+×'FÒ'F�	×#Ò#ÈI€IØ�j‰j˜ EÓ*€Gð —j‘jÐ!2°DÓ9€OØŸ™Ð$8Ô:TÓUÐØ!Ÿ:™:ØÔ <óÐð —j‘jÐ!2°EÓ:€Oð !Ÿ*™*Ð%:¸EÓBÐ÷ ¤7¨9Ð6G×#HÒ#Hô 	ˆI×%Ñ%Ô&àð ð �<‰<×"Ñ"Ð&WÔWô 	�	˜?¨DÓ1°TÑ9àð ô *¨&¯*©*°^ÀTÓ*JÓK€LÜ §¡Ð.AÀ4ÓHÐØ—:‘:˜n¨dÓ3€LØŸ™Ð$8¸$Ó?ÐØ-3¯Z©Z¸ÀtÓ-L€KØ &§
¡
¨<¸Ó >€JØ�MˆM�T€EØ�MˆM�T€EØ�MˆM�T€Eà‡z�z�+˜tÓ$Ò0Ø—J‘J˜{Ó+ˆ	Ø—z‘z .°$Ó7ˆØ�z‰z˜& $Ó'‰äØñ

àð

ð ð

ð ð	

ð
 ð

ð 0ð

ð &ð

ð  2ð

ð ñ

ˆð —J‘J˜{¨DÓ1ˆ	Ø—z‘z .°$Ó7ˆØ�z‰zÐ*¨DÓ1ˆð Ÿ™œô
á&‘��1ØÐGÑGô ˆAˆqŠDÙ&ð 	ñ 
ð
 	�‰�kÔ"ä& u×5Ó5ØÒ Ò 1°UÒ5FÜÐNÓOÐOà—Z‘Z Ô.@ÓAˆ
Ø—j‘j Ô0CÓDˆØ—
‘
˜7¤MÓ2ˆØ—
‘
˜7¤MÓ2ˆØ$Ÿj™jÐ)>Ó?ÐØÒ&Ü˜U H¨dÓ3ˆFØ"(§*¡*Øœ Ð)BÀBÓGó#Ðô ˜ ¨$Ó/ˆð
 ˆó!
ÑˆC�ð —J‘J˜s“OˆEØŠ}Ü ¨°TÓ:�ØÔ Ø$)�˜SÓ!ñ!
ð Ðò%
Ð!ð$ %Ÿl™lœnô!
á,‘
��UØÐ3Ñ3ô ˆC�ŠJÙ,ð 	ñ !
ô
 ×ÒÓ!ˆØ×(Ñ(×1Ò1Øñ
à#ð
ð  Ÿ™ N°BÓ7ð
ð &ð	
ð
 "ð
ð  š-¨5°C¬<‘$¸Uð
ð  š-¨5°A¬:‘$¸5ð
ð  ð
ð ð
ð  ð
ð !4ð
ð #ð
ð ð
ð $ñ
ˆ	ô  	�Š�	ÔÜ×&Ò&Ó(¨3Õ.ˆ
Ø&×*Ñ*¨=¸#Ó>ˆØ5@À1´_�Y—^‘^ kÖ1È#ˆ
Ü˜j¨;Õ6¸Ó=ˆØ$ Q�<×.Ñ.Ó0ÐØ×ÑØÐ2Eð  ó 
ˆô Øß*:Ð" 2Ö&ÀØØ#Ÿ.™.Ü!Ð"2Ó3Ø"Ÿ™¬#Ð.>Ó*?Õ?Ø!ÜÐ/Ó0°?ÕBÜ×*Ò*Ó,¨sÕ2÷ $Ø×/Ñ/Ð0@ÀÕ0D×EÒEñ ð ä!%Ð&6×&:Ñ&:Ð;QÓ&RÓ!Sô!
ò 	
ñ$ 	ð Ò EÒ$5¸,Ò:RØ×!Ñ! %Ó(ˆØÒØ.4ˆFÐ*Ò+Ü�U˜N×+Ò+Ø×)Ñ)¨,Ó7ˆHÜ�GŠG�HÔØ×Ñ˜U HÔ-Ø.6ˆFÐ*Ñ+ð ÐØ#×+Ñ+Ó-×4Ñ4Ó6ÐØ-/ÐØ€NØ"€Hä×@Ò@ÀÇÁÓNÐÜ×4Ò4ØØóÐô "% QÐ(;¸aÕ(?Ó!@Ð÷
ñ 
÷
ñ 
ô ˜%× Ò Ü8ØØØØØØØ"Øó	
÷ 		
ð 		
ñ 	àÒÜ×&Ò& u×';Ñ';Ó<ˆØÒØˆKàÒÜ×,Ò,¸,ÐRWÔXˆ
Ü×0Ò0°¸ZÓHˆàÓ%Ð*<×*BÑ*BÓ*NØ'×:Ñ:Ð;NÓOˆ
Ø˜�>˜j¨9¯?©?¸1Õ+=Õ=Ù'¨
×3Ò3Ô8WØ�y $¨÷9ò 9ð %/Ð!à% a¨© nÕ5�	Ø#�Ø—
‘
Ð2°DÔ9à-×3Ñ3�ã!�AÜ˜q &×)Ô)¨a¯f©fÔ.@Ø%&§V¡V§\¡\°!¥_˜
Ø%¨
Ö2Ø%&§V¡V¨A¨q°+°:°+¸qÐ,@Õ%A˜AœFØ'(§x¡x°°1°k°z°kÀ1Ð0DÕ'E˜AœHÜ& q¨(×3Ô3Ø+5 ¦ñ "ð *2��~Ñ&ð ÓÐ#4¸Õ#9Ø�wÔØ3>×3QÑ3QØ#Ø)Ø"<ð 4Ró 4Ñ0ÐÐ 0ð #Ò.Ø$ qÔ(Ø$ y§¡°qÕ'9Ô9Ù,Ð-=×>Ò>Ü3°E¸9ÀdÈF×SÒSà$4Ð!Ø% aÐ)9Ñ):Ð&:Õ;�	Ø#�Ø—
‘
Ð2°DÔ9Ø);��~Ñ&ùà)4×)BÑ)BØ#°ð *Có *Ñ&ˆN˜Jð ˜AŒ~Ñ">¸z×"JÒ"JØ×#Ñ# NÔ3Ø!#�Ø�
Ø!%ÐØ ÐØ˜IŸO™O¨AÕ.Ô.Ø7B×7UÑ7UØ'Ø-Ü&)¨*Ð6PÓ&Qð 8Vó 8Ñ4Ð"Ð$4ð
 !%ÐØˆOÜ�:Ð/Ó0°9·?±?À1Õ3EÔEà×8Ñ8Ø+Ø#1Ü*-Ø&Ø,Ø6ó+ô
 .1°Ð=MÓ-NÐQRÑ-Rð 9ó 	ñ 3Ð! ?ð  ¤# jÐ2BÓ"CÔCØ# i§o¡o°aÕ&8Ô8ç!Ø×'Ñ'¨Ô7Ù+Ø#÷ò ä5°e¸YÈÈf×UÒUØ(7Ð%Ø )¨!¨_Ñ-=Ð*=Õ >�IØ#'�LØ—J‘JÐ6¸Ô=Ø->�F˜>Ñ*ùà  :Ô-Ð2BÀYÇ_Á_ÐUVÕEWÔ2Wç!Ø×'Ñ'¨Ô7Ù+Ø$÷ò ä5°e¸YÈÈf×UÒUØ(8Ð%Ø )¨!Ð-=Ñ->Ð*>Õ ?�IØ#'�LØ—J‘JÐ6¸Ô=Ø-?�F˜>Ñ*øØ˜a” J°·±ÀÕ1CÔ$CÙ+Ø÷ò ä5°e¸YÈÈf×UÒUØ(6Ð%Ø(2Ð%Ø )¨!¨Z©[¨.Õ 9�IØ#'�LØ—J‘JÐ6¸Ô=Ü-1×-DÒ-DØ&Ø,6¸¿¹ÈÕ9KÕ,KÈaÕ,Oô.�F˜>Ò*ð
  ×'Ñ'¨Õ7ßà×#Ñ# NÔ3àÒ"Ø"+×"2Ñ"2Ø °Uð #3ó #
à
õ#Ðð *÷ 
ð 
Ø# y×'8Ñ'8Ó':×'AÑ'AÓ'CÑCð 	ô .DØØ+Ø1Ø!5Ø+ô.
ˆ	Ô*ð .7×-OÑ-OˆÐ)Ò*à-1ˆ	Ô*ð ˜VÔ#Ü!&×!8Ò!8Ø× Ñ ØŸ
™
 =°$Ó7ô"
ˆˆ~Ñð ˜>Õ*€Mà+¨i¯n©nÕ<Ðä	�UÔ.Ð/×	0Õ	0Ü0°Ó;ˆÜ# IÐ/IÈ4ÓPÐØ#ÐØÐØÒ" x°7Ô':Ð?PÐTUÔ?UÜ#'×#MÒ#MØ#ÜÐ'Ó(¨;×+OÑ+OÕOØ$Ü"%Ð&9Ó":¸QÕ">ô	$Ð ð $ qÔ(Ø'+Ð$÷ò ô ØØØØñ		
ð
 %5ð	
ð )=ð	
ð ð	
ð ñ	
ˆô ×ÒÓ!ˆàÐØ'+ˆÜ$-¨c§NÑ ˆAÑ ��xØ�AŒvÜ"×/Ò/Ó1°CÕ7�Ø0°;Õ>�
Ü×'Ò'Ó)�àÒ+Ø  GÔ+Ø)¨QÔ.ðNØ#×5Ñ5Ø/Ø)Ø'5ð 6ô ð ×#Ñ# EÔ*ð !Ò,Ù! %Ô(ð ×*Ñ*¨5×1Ò1Ø &�Ùà×!Ñ! %Ð@VÐ!ÔWô #Ø ×-Ñ-ØØ!Ø1Ø"# a¥%Ø0°1Õ4°qÕ8Ø%Ø ! A¥¬$×*;Ò*;Ó*=ÀÕ*CÕDÜ×.Ò.Ó0°3Õ6Ø/ôõ ñC %3ð^ %ˆMçÜ×+Ò+Ó-°Õ3ˆKØ>IÈA¼oÐ,¨{Ö:ÐSVˆJÜ"ØØØØ1Ø"#Ø0Ø%Ø"Ü×.Ò.Ó0°3Õ6Ø/Ø&ôò ð ÷K 
1Ñ	0ðN 	×ÑÔÜØ×)Ñ)ØØØ-Ø !�eØ,¨qÕ0°1Õ4Ø!Ø �E¤d×&7Ò&7Ó&9¸CÕ&?Õ@Ü×*Ò*Ó,¨sÕ2Ø+Ø'ô
ò 	
ð (,ˆØÒ)Ø)Ù?Oó-Ù?O¸!œG A v×.Ò.�—‘”°AÒ5Ñ?Oñ-õ ˆGð ×%Ñ% g¨}Ô=ð Ó" x°7Õ':ð7Ø’?Ø1ÙGWó5ÙGWÀ!¤G¨A¨v×$6Ò$6˜Ÿ™œ¸AÒ=ÑGWñ5õ �Gð .0�
Ø/1�Ø�Û&�AÜ  6¨4Ó0�AÜ  8¨TÓ2�AÜ! ! X¨tÓ4�CØ’y A¢I°²Ø"˜ÙØ×%Ñ% a¨¨T¨c¨T°1¨¥oÔ6Ø ×'Ñ'¨¨#¨t°¨t°Q¨,­Ö8ñ '÷ Ÿ*Ø!,×!<Ñ!<ØØ"Ø$Ø#1Ø,=ð "=ó "�Jð  ×'Ñ'Ð(9¸JÕ(FÕGà×'Ñ'Ð(9Õ:ô 	�ŠÔ÷E 
1Ñ	0ùóE

ùóv!
òx		
øô~ %ô NÜŸ™Ð'IÈ1×MÒMûðNüòJ-ùò5øô6 ô 7Ü—‘Ð5°qÔ9Ø×#Ñ#Ð$5×6Ñ6ûð7ú÷{ 
1×	0Ð	0üsÄ  †BAFÂ#CAFÅ;AFÆAFÆB0AFÉADÉADÉDAFÍ."AFÎADÎ!ADÎ(K7AFÚADÚ B6AFÝAAFÞ3AFß!AFß)AAFà9A+AFâ%A(AFäCAFç'AFèA$AFé+AFê
A)AFë4BAFî7AFî:B?AFñ9DAFöADö+3AF÷BAFù=A!AFû
AFû(BAFý<-AD?
þ)(AFÿ	AE	ÿ-AE
Á@BAE	ÁBAE	ÁB!.AE	ÁCAFÁCAE	ÁC!AFÁC7AFÁDAD<	ÁDAD7	ÁD1AFÁD7AD<	ÁD<AFÁEAE	ÁE	AFÁE'AF ÁE;AFÁF AFÁFAFÁFAF	ÁF	AFc                ó4  € V ^8„  d   QhR\         P                  R\        R\        R\        \        \
        \        ,          3,          R\        \        \
        \        ,          3,          R\        \        \
        \        ,          3,          R\        R\        /# )	rV   r‰   rþ   rÿ   r0   r   r  r  rX   )r‹   rŒ   r   r:   r   r   rÛ   r¦   )rY   s   "rR   rZ   rZ   ò  s�   € ÷ xñ xÜ�9‰9ðxä"ðxô ðxô ””dœ3•i�Õ ð	xô
 ””dœ3•i�Õ ðxô ””dœ3•i�Õ ðxô ðxô ñxrT   c                ó^  € V'       d�   \        R'4       . pVe   VP                  V4       Ve   VP                  V4       Ve+   TP                  \        V\        4      '       d   TMV.4       \        RV 2R4       \        RV4       Rp	Rp
VP	                  RR4      pVP	                  RR4      p\        VR4      '       d   VP                  MTp\        WV4      pVe   VP                  P                  V4       MlVe:   \        V\        4      '       g   \        V4      '       d   WÍn        M:\        R	4      hVP                  P                  V P                  P                  4       \!        WW#WE3R
V/VB  F‘  pVP"                  '       d   VP%                  V4       Tp
K*  V'       dL   VP&                  '       g:   VP)                  VP*                  4      '       g   \        VP*                  RRR7       WŸP*                  ,          p	Tp
K“  	  V
f(   \-        V	\.        P0                  ! 4       R,          R7      # V'       d    VP3                  V	4       \        R(4       \5        V	4      ^ 8X  d   \        R4       \        RV
P6                   RV
P8                  R R24       \        RV
P:                   RV
P<                  R R24       \        RV
P>                  R R24       \-        R)/ RV	bRV
P@                  bRV
PB                  bRV
P6                  bRV
P:                  bRV
PD                  bRV
P8                  bRV
P<                  bRV
P>                  bR V
PF                  bR!V
PH                  bR"V
PJ                  bR#V
PL                  bR$V
PN                  bR%V
PP                  bR&V
PR                  b # )*a­  
Generate text from the model.

Args:
   model (nn.Module): The language model.
   tokenizer (PreTrainedTokenizer): The tokenizer.
   prompt (str): The string prompt.
   temperature (float): The temperature for sampling (default 0).
   max_tokens (int): The maximum number of tokens (default 100).
   verbose (bool): If ``True``, print tokens and timing information
       (default ``False``).
   formatter (Optional[Callable]): A function which takes a token and a
       probability and displays it.
   repetition_penalty (float, optional): The penalty factor for repeating tokens.
   repetition_context_size (int, optional): The number of tokens to consider for repetition penalty.
NzFiles: Ú
zPrompt:r§   Ú
eos_tokensru  r  zGstopping_criteria must be an instance of StoppingCriteria or a callabler  T)ÚendÚflushr&  )r'   r°   z!No text generated for this promptzPrompt: z	 tokens, z.3fz tokens-per-seczGeneration: zPeak memory: z GBr'   r©   rª   r«   r¬   r­   r®   r¯   r°   r±   r²   Údiffusion_canvas_tokensÚdiffusion_denoising_stepsÚdiffusion_work_tokensÚdiffusion_canvas_tpsÚdiffusion_work_tpsz
==========z
==========rp   )*r›   Úextendrc   rz   ræ   rô   r  rÕ   ru  Úadd_eos_token_idsr   ró   rg   Úresetrá   Úeos_token_idrº  Úis_draftÚhandle_draftr)  Úhandle_textr'   r¦   r�   rt  Úfinishre   r«   r®   r¬   r¯   r°   r©   rª   r­   r±   r²   rÁ  rÂ  rÃ  rÄ  rÅ  )r‰   rþ   rÿ   r0   r   r  r  rß   Úfilesr'   Úlast_responser¾  ru  r  Údiffusion_outputÚresponses   &&&&&&&,        rR   r1   r1   ò  sŸ  € ÷6 ÜˆhŒØˆØÒØ�L‰L˜ÔØÒØ�L‰L˜ÔØÒØ�L‰L¤*¨U´D×"9Ò"9™À¸wÔGä�˜�wÐ Ô&äˆi˜Ô à€DØ€Mà—‘˜L¨$Ó/€JØŸ
™
Ð#6¸Ó=Ðô (/¨y¸+×'FÒ'F�	×#Ò#ÈI€IÜ-¨e¸WÓEÐð ÒØ×#Ñ#×5Ñ5°jÕAð 
Ò	&ÜÐ'Ô)9×:Ò:¼hØ÷?
ò ?
ð +<Õ'äØYóð ð 	×#Ñ#×)Ñ)¨%¯,©,×*CÑ*CÔDä#Ø˜&¨ñØ?FðØJPôˆð ××ÐØ×)Ñ)¨(Ô3Ø$ˆMÙ÷ Ø×1×1Ð1Ø$×0Ñ0°·±×?Ò?ä�(—-‘- R¨tÕ4Ø—‘ÕˆØ Šñð" ÒÜ T´r×7IÒ7IÓ7KÈcÕ7QÔRÐRçØ×Ñ Ô%ÜˆoÔÜˆt‹9˜Œ>ÜÐ5Ô6ÜØ�}×2Ñ2Ð3°9Ø×'Ñ'¨Ð,¨Oð=ô	
ô 	Ø˜=×:Ñ:Ð;¸9Ø×+Ñ+¨CÐ0°ðAô	
ô 	�˜m×7Ñ7¸Ð<¸CÐ@ÔAäò Ùðà×!Ò!ðð ×'Ò'ðð $×1Ò1ð	ð
 (×9Ò9ðð #×/Ò/ðð !×+Ò+ðð %×3Ò3ðð "×-Ò-ðð $×1Ò1ðð $×1Ò1ðð !.× EÒ Eðð #0×"IÒ"Iðð ,×AÒAðð +×?Ò?ðð  )×;Ò;ð!ð rT   c                  ó@  € \        4       p \        V R R4      R8X  d   \        V 4       R# \        V RR4      e*   \        P                  P                  V P
                  4       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/ /pVP                  4        F$  w  r#\        W4      '       d   K  \        WV4       K&  	  \        V P                  \        4      '       d   V P                  .V n
        \        V P                  \        4      '       d   V P                  .V n        \        V P                  \        4      '       d   V P                  .V n        \        V P                  V P                   V P"                  V P$                  V P&                  R7      w  rEVP(                  pRpV P*                  eÃ   ^RIHpHp	 \3        RV P4                  ;'       g    R RV P*                   24       V! V P*                  V P4                  R7      w  rzV P4                  f   \3        RV
: R24       M2W P4                  8w  d#   \3        RV
: RV
: RV P4                  : R24       W n         V	! WGV P4                  4       V P8                  pV P:                  '       d2   R!R"R#V P:                  /.\        V\<        4      '       d   TMV.,           pV P                  e   \?        V P                  4      M^ pV P                  e   \?        V P                  4      M^ pR$V P@                  /pV P                  '       d   V P                  VR%&   V PB                  VR&&   \E        VVV3R'VR(V/VB p/ pV PF                  eD   . pV PF                   F,  p \H        PJ                  ! VR)4      pVPM                  V4       K.  	  VVR*&   V PR                  '       d   V PR                  VR+&   V PT                  '       d   VPW                  V PT                  4       V PX                  '       d   VPW                  V PX                  4       V P@                  VR$&   V PZ                  e<   V PZ                  VR,&   V P\                  VR-&   V P^                  e   V P^                  VR.&   V P`                  '       EdH   ^R/I1H2p V! 4       p\g        V4      p. pV P:                  '       d    VPM                  R!R"R#V P:                  /4       \i        R04      ;p'       Edç   VPM                  R!R1R#V/4       \E        VVV3R'VR(V/VB pR2p\3        R3R2R47       R5V Pj                  R6V Pl                  R7V Pn                  R8V Pp                  R9V Pr                  R:V Pt                  R;V Pv                  R<V Px                  R=V/	VCpV Pz                  e   V Pz                  VR>&   V P|                  e   V P|                  VR?&   V'       Ed   V P~                  e   V P~                  VR&   V P€                  e   V P€                  VR&   V P‚                  e   V P‚                  VR&   V P„                  e   V P„                  VR&   V P†                  e   V P†                  VR&   V Pˆ                  e   V Pˆ                  VR&   V PŠ                  e   V PŠ                  VR&   V PŒ                  e   V PŒ                  VR&   V PŽ                  e   V PŽ                  VR&   VPW                  \‘        W4      4       \“        VVR@4      p\•        VVVV P                  V P                  V P                  3/ VB  Fu  pVP–                  '       d   VP™                  V4       K(  VVPš                  ,          pVP�                  VPš                  4      '       d   K^  \3        VPš                  R2R47       Kw  	  VPM                  R!RAR#V/4       VPŸ                  V4       \3        4        EKú  R# / RV P                  bRBV P                  bR%V P                  bR&V PB                  bR6V Pl                  bR5V Pj                  bR7V Pn                  bR8V Pp                  bR9V Pr                  bR:V Pt                  bR;V Pv                  bR<V Px                  bRCV P                   bRDV P¢                  bREV P¤                  bRFV P¦                  bRG\        V RG\¨        4      bRHV Pª                  /CVCpV Pz                  e   V Pz                  VR>&   V P|                  e   V P|                  VR?&   \g        V4      '       Ed   V P~                  e   V P~                  VR&   V P€                  e   V P€                  VR&   V P‚                  e   V P‚                  VR&   V P„                  e   V P„                  VR&   V P†                  e   V P†                  VR&   V Pˆ                  e   V Pˆ                  VR&   V PŠ                  e   V PŠ                  VR&   V PŒ                  e   V PŒ                  VR&   V PŽ                  e   V PŽ                  VR&   VPW                  \‘        W4      4       Ve2   VVRI&   V P4                  VRJ&   V P¬                  e   V P¬                  VRK&   \¯        VVV3/ VB pV P                   '       g   \3        VPš                  4       Ve   \±        V4      pVe   \3        V4       R# R# R#   \6         d#   p\3        R T 24       RpRT n         Rp?EL~Rp?ii ; i  \N        \P        3 d    TPM                  T4        EK¥  i ; i)LÚoutput_modalityr'   r0   NÚseedr  Údiffusion_full_canvasFÚdiffusion_min_canvas_lengthÚdiffusion_max_canvas_lengthÚdiffusion_samplerr.   rY  r[  r   r_  ra  r]  rc  re  Ú
gen_kwargs)ÚrevisionÚtrust_remote_codeÚquantize_activations)Úload_drafterÚvalidate_drafter_compatibilityzLoading drafter (Úautoz): )Úkindu!     â†’ auto-detected --draft-kind=r-   u$     â†’ drafter requires --draft-kind=z; using z instead of zfSpeculative drafter is incompatible with the target model; falling back to autoregressive generation. ÚroleÚsystemÚcontentr  r  ÚfpsÚ
num_imagesÚ
num_audiosÚunicode_escaper¾  r	  r  r  r  )ÚVisionFeatureCachezUser:Úuserr§   z
Assistant:)r¿  r  r  Úrepetition_penaltyÚrepetition_context_sizeÚpresence_penaltyÚpresence_context_sizeÚfrequency_penaltyÚfrequency_context_sizer  r  Úprefill_step_sizeTÚ	assistantr   r  rG  r~   r�   rk   r   Údraft_modelÚ
draft_kindÚdraft_block_size)YrS   rå   r   r�   ÚrandomrÔ  rj  rô   Úsetattrrc   r0   r:   r   r  r   r‰   Úadapter_pathrÚ  rÛ  rÜ  rá   rò  Úspeculative.draftersrÝ  rÞ  r›   ró  rg   rÿ   râ  rz   re   r  rä  r   r¾  Úcodecsrs  r‡  ÚUnicodeDecodeErrorÚUnicodeErrorr	  Úprocessor_kwargsrÑ   rÙ  r  r  r  Úchatr  rè  rÝ   Úinputr  r  rê  rë  rì  rí  rî  rï  r  rð  r  r   r_  ra  rY  r[  r]  rc  re  rÖ   rÕ   rº  rÊ  rË  r'   rÌ  rÍ  r  rG  r~   r�   rH   r   rô  r1   r   ) ÚargsÚdiffusion_arg_defaultsÚnamer%   r‰   rþ   rá   rò  rÝ  rÞ  Úresolved_kindrú   rÿ   rå  ræ  Úchat_template_kwargsrß   r¾  r©   Údecoded_tokenrè  r  Úis_masked_text_diffusionrý  ré  rÑ  Ústream_kwargsrÐ  ÚchunkrÙ  Úresultr$  s                                    rR   r/   r/   m  sß
  € ÜÓ€DäˆtÐ&¨Ó/°7Ô:Ü  Ô&Ùäˆt�V˜TÓ"Ò.Ü
�	‰	�‰�t—y‘yÔ!ð 	˜tØ Ø% tØ% tØ˜_Ø�TØ˜Ø˜Ø˜4Ø Ø˜TØ˜$Ø˜4Ø�bðÐð  0×5Ñ5Ö7‰ˆÜ�t×"Ô"Ü�D Ö(ñ 8ô �$—*‘*œc×"Ò"Ø—j‘j�\ˆŒ
Ü�$—*‘*œc×"Ò"Ø—j‘j�\ˆŒ
Ü�$—*‘*œc×"Ò"Ø—j‘j�\ˆŒ
äØ�
‰
Ø×ÑØ—‘Ø×0Ñ0Ø!×6Ñ6ôÑ€Eð �\‰\€Fà€KØ×ÑÒ#ßWäÐ! $§/¡/×";Ð";°VÐ!<¸CÀ×@PÑ@PÐ?QÐRÔSÙ%1Ø×Ñ 4§?¡?ô&
Ñ"ˆð �?‰?Ò"ÜÐ5°mÑ5FÀaÐHÕIØŸo™oÔ-ÜØ6°}Ñ6Gð HØ&Ñ)¨°d·o±oÑ5HÈðKôð (Œð	#Ù*¨5¸t¿¹ÔOð �[‰[€Fà‡{‡{€{Ø˜8 Y°·±Ð<Ð=Ü  ¬×.Ò.‰F°V°Hõ
ˆð %)§J¡JÒ$:”�T—Z‘Z”À€JØ$(§J¡JÒ$:”�T—Z‘Z”À€Jà-¨t×/CÑ/CÐDÐØ‡z‡z€zØ(,¯
©
Ð˜WÑ%Ø&*§h¡hÐ˜UÑ#ä ØØØñð ð	ð
 ðð ñ€Fð €Fà‡�Ò"Øˆ
Ø—_”_ˆEð)Ü &§¢¨eÐ5EÓ F�Ø×!Ñ! -Ö0ñ %ð  *ˆˆ|Ñà××ÐØ(,×(@Ñ(@ˆÐ$Ñ%ð ××ÐØ�‰�d×+Ñ+Ô,ð ‡‡€Ø�‰�d—o‘oÔ&ð !%× 4Ñ 4€FÐÑØ×ÑÒ'Ø$(×$8Ñ$8ˆÐ Ñ!Ø'+×'>Ñ'>ˆÐ#Ñ$Ø×$Ñ$Ò0Ø-1×-FÑ-FˆFÐ)Ñ*à‡y‡y�yÝ5á)Ó+ˆÜ#AÀ%Ó#HÐ ØˆØ�;�;ˆ;Ø�K‰K˜ ¨9°d·k±kÐBÔCÜ˜G“nÐ$ˆd×$Ø�K‰K˜ ¨°DÐ9Ô:Ü(ØØØñð &ð	ð
 &ðð 'ñˆFð ˆHÜ�, BÕ'à˜dŸo™oØ˜t×/Ñ/Ø$ d×&=Ñ&=Ø)¨4×+GÑ+GØ" D×$9Ñ$9Ø'¨×)CÑ)CØ# T×%;Ñ%;Ø(¨$×*EÑ*EØ ðð ðˆMð × Ñ Ò,Ø04×0AÑ0A�˜nÑ-Ø×%Ñ%Ò1Ø59×5KÑ5K�Ð1Ñ2ß'Ð'Ø×+Ñ+Ò7Ø;?×;SÑ;S�MÐ"7Ñ8Ø×$Ñ$Ò0Ø48×4EÑ4E�M .Ñ1Ø×'Ñ'Ò3Ø7;×7KÑ7K�MÐ"3Ñ4Ø×-Ñ-Ò9Ø=A×=WÑ=W�MÐ"9Ñ:Ø—>‘>Ò-Ø15·±�M +Ñ.Ø×%Ñ%Ò1Ø59×5GÑ5G�M /Ñ2Ø×)Ñ)Ò5Ø9=×9OÑ9O�MÐ"5Ñ6Ø×&Ñ&Ò2Ø6:×6IÑ6I�MÐ"2Ñ3Ø×'Ñ'Ò3Ø7;×7KÑ7K�MÐ"3Ñ4Ø× Ñ Ô!;¸DÓ!IÔJä5°e¸]ÈDÓQÐÜ(ØØØØ—
‘
Ø—
‘
Ø—
‘
ñð  ô�ð —>—>�>Ø$×1Ñ1°%Ô8ÙØ˜EŸJ™JÕ&�Ø'×3Ñ3°E·J±J×?Ô?Ü˜%Ÿ*™*¨"×-ñð  �K‰K˜ ¨i¸ÐBÔCØ×#Ñ# HÔ-Ü�GñI %ðN
Ø�T—Z‘Zð
à�T—Z‘Zð
ð �T—Z‘Zð
ð �4—8‘8ð	
ð
 ˜4×+Ñ+ð
ð ˜$Ÿ/™/ð
ð ! $×"9Ñ"9ð
ð & t×'CÑ'Cð
ð  × 5Ñ 5ð
ð $ T×%?Ñ%?ð
ð   ×!7Ñ!7ð
ð % d×&AÑ&Að
ð �t—|‘|ð
ð ˜4×+Ñ+ð
ð �t—|‘|ð
ð  ˜T×/Ñ/ð!
ð" œwØÐ'Ô)@ó ð#
ð( ! $×"9Ñ"9ñ)
ð* ð+
ˆ
ð. ×ÑÒ(Ø)-×):Ñ):ˆJ�~Ñ&Ø×!Ñ!Ò-Ø.2×.DÑ.DˆJÐ*Ñ+Ü)¨%×0Ó0Ø×'Ñ'Ò3Ø48×4LÑ4L�
Ð0Ñ1Ø× Ñ Ò,Ø-1×->Ñ->�
˜>Ñ*Ø×#Ñ#Ò/Ø04×0DÑ0D�
Ð,Ñ-Ø×)Ñ)Ò5Ø6:×6PÑ6P�
Ð2Ñ3Ø�~‰~Ò)Ø*.¯.©.�
˜;Ñ'Ø×!Ñ!Ò-Ø.2×.@Ñ.@�
˜?Ñ+Ø×%Ñ%Ò1Ø26×2HÑ2H�
Ð.Ñ/Ø×"Ñ"Ò.Ø/3×/BÑ/B�
Ð+Ñ,Ø×#Ñ#Ò/Ø04×0DÑ0D�
Ð,Ñ-Ø×ÑÔ4°TÓBÔCØÒ"Ø(3ˆJ�}Ñ%Ø'+§¡ˆJ�|Ñ$Ø×$Ñ$Ò0Ø15×1FÑ1F�
Ð-Ñ.äØØØñ
ð ñ	
ˆð �|�|ˆ|Ü�&—+‘+ÔàÒ"Ü,¨[Ó9ˆEØÒ Ü�e–ñ !ñ #øôY ô 	#Üð>Ø>?¸SðBôð ˆKØ"ˆD�OŠOûð	#ûôP '¬Ð5ô )Ø×!Ñ! %×(Ð(ð)ús*   Ék Í;(k6ëk3ëk.ë.k3ë6"lìlÚ__main__z€Calling `python -m mlx_vlm.generate ...` directly is deprecated. Use `mlx_vlm generate` or `python -m mlx_vlm generate` instead.r]   )NNN)NNNF)ir7   rù  Ú
contextlibrK   Úloggingrm  Úcollections.abcr   Údataclassesr   Útypingr   r   r   r   r	   r
   r   Úmlx.coreÚcorer�   Úmlx.nnr‹   Ú	mlx.utilsr   Úmlx_lm.generater   rƒ   Útransformersr   r§   r   r2  Úmodelsr   Úprompt_utilsr   Úspeculative.utilsr   Útokenizer_utilsr   r3   r   r   Úutilsr   r   r   r   r0   r   r   r   r   r   Ú	getLoggerrö   r;   r>   r?   r@   rA   rB   rE   rk  ÚDEFAULT_SEEDrl  ÚDEFAULT_MIN_PrF   rI   rH   ÚDEFAULT_COMPLETION_BATCH_SIZEÚDEFAULT_PREFILL_BATCH_SIZErN   rO   rJ   rM   rD   rC   rS   ri   Únew_thread_local_streamÚdefault_devicerÔ   Úcontextmanagerr¤   r¦   r¾   ÚcommonÚ	diffusionrÕ   rÖ   r×   rØ   rÙ   rÝ   rç   rû   rã   rü   rº  r1   r/   rµ   r›   rp   rT   rR   Ú<module>r$     s¹  ðÛ Û Û Û Û Û Ý $Ý !ß E× EÑ Eå Ý Ý !Ý RÝ ,å Ý Ý .Ý 8Ý 8ß >ß RÓ R÷õ ð 
×	Ò	Ð-Ó	.€à7Ð Ø€Ø€Ø€Ø"€ØÐ ØÐ Ø€Ø€Ø€Ø€Ø"$Ð ØÐ Ø#Ð Ø "Ð ØÐ Ø(Ð Ø'Ð Ø!Ð Ø Ð Ø&(Ð #Ø(*Ð %òYõxIð  ×.Ò.¨r×/@Ò/@Ó/BÓCÐ ð 3÷1ðh ×Ñö"&ó ð"&ðJ ÷(ð (ó ð(÷ ñ ÷8 EÑ D÷÷ õ,õõ%õP ÷v÷rxòvOðd ˆzÔÙ	ð	Kôñ 	†Fñ rT   