
    w\`j                        d dl mZ d dlZ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  ee                                          j        d         Zej        dk    sJ  ed          ZdZd Zd	 Zd
 Zd Zedk    r e             dS dS )    )PathN)ThreadPoolExecutoras_completed   z0047-Vi-Sao-Nuoc-Tieu-Vang-Dam-Khi-Ban-Thieu-NuoczH/home/hermes/.hermes/skills/image-generation/gen-img-gpt/references/.envz0http://192.168.40.11:20128/v1/images/generationsc                  f   t                                                                           D ]w} d| v rq|                     dd          d                                         rC|                     dd          d                                                             d          c S xt          d          )N=r   z"'zmissing image key)ENV	read_text
splitlinessplitstripRuntimeError)lines    scripts/generate_images.pykeyr      s    ]]__'')) c cTD[[TZZA&&q)//11[C9J9J19M9S9S9U9U9[9[\a9b9b2b2b2b'(((    c                    	 |                                  }t          j        d|dd                   \  }}t          |          dk    o5|d d         dk    o'|dd         dk    o|d	k    o|d
k    o|dd         dk    S #  Y dS xY w)Nz>II      i'     s   PNG

   s   IHDRi   i@  is   IENDF)
read_bytesstructunpacklen)pathdwhs       r   validr!      s   OO!&-a2h77cas1vve|  @oPQRTSTRTPUWkPk  @opqrtuwrwpx  {B  qB  @o  GH  JN  GN  @o  ST  VY  SY  @o  ^_  `b  ce  `e  ^f  ho  ^o  9ouuus   A<A? ?Bc                 *   t          | d                                                   }t          |j        v sJ |j                            dd           t          |          r
| d         dfS t          d          D ]}|                    d          }	 d| d	         d
dd}t          j
                            t          t          j        |                                          d|z   ddd          }t          j        t          j
                            |d                    }|                    t'          j        |d         d         d                              t          |          st+          d          |                    |           | d         dfc S # t.          $ rg}|                    d           |dk    r&| d         dt3          |          j         fcY d }~c S t7          j        d|dz   z             Y d }~d }~ww xY wd S )Noutput_pathT)parentsexist_okidexisting   z.tmp.pngzcx/gpt-5.5-imageprompt	1536x1024b64_json)modelr)   sizeresponse_formatzBearer zapplication/json)AuthorizationzContent-TypePOST)dataheadersmethodi  )timeoutr1   r   zinvalid imageok)
missing_ok   zfail:
   r   )r   resolvePr$   parentmkdirr!   rangewith_suffixurllibrequestRequestURLjsondumpsencodeloadurlopenwrite_bytesbase64	b64decoder   replace	Exceptionunlinktype__name__timesleep)	itemkoutattempttmpbodyreqr1   es	            r   onerZ      s7   	$}
&&((S[0@0@0@0@AQAQZ^hlAQAmAmAm	#JJ+d4j++a  W	ooj!!#	#T(^;akll4~ctz$'7'7'>'>'@'@ZcdeZe  vH  JI  JI  QW  X  X3	&.((T(::;;4COOFL\]abh]ijk]lmw]xLyLy<z<z<z
**8<888;;s4:d?***	   :::qjjT
#=477+;#=#==========:b'!)n s%   DF
H):H#H+HHc                  j  	 t          j        t          dz                                            } d | d         D             d t          j        dd          D             pt                    }t          fd|D                       sJ t                      g }t          t          dt          |                              5 		fd	|D             }t          |          D ]I}|                                }|                    |           t          |d
         |d         d           J	 d d d            n# 1 swxY w Y   |                                 d |D             }t          dt          |          t          |          z
  |           t#          t%          |                    )Nzprompts/image_prompts.jsonc                      i | ]}|d          |S )r&    .0xs     r   
<dictcomp>zmain.<locals>.<dictcomp>   s    ?^?^?^a$?^?^?^r   itemsc                 ,    g | ]}t          |          S r]   )intr^   s     r   
<listcomp>zmain.<locals>.<listcomp>   s;      dB  dB  dBopdghidjdj  dB  dB  dBr   r   c              3       K   | ]}|v V  	d S )Nr]   )r_   ibys     r   	<genexpr>zmain.<locals>.<genexpr>   s[        [q  [q  hi  \]  ac  \c  [q  [q  [q  [q  [q  [qr   r   )max_workersc                 V    i | ]%}                     t          |                   |&S r]   )submitrZ   )r_   rg   rh   rS   pools     r   ra   zmain.<locals>.<dictcomp>"   s/    ///at{{3r!uQ///r   r   T)flushc                 H    g | ]}|d                               d          | S )r   fail)
startswithr^   s     r   re   zmain.<locals>.<listcomp>%   s-    ;;;q1Q4??6#:#:;;;;r   ARTIFACT_GATE)rC   loadsr:   r
   sysargvsortedallr   r   minr   r   resultappendprintsort
SystemExitbool)
midsresfutfrbadrh   rS   rm   s
          @@@r   mainr      sq   :q--88::;;?^?^STU\S]?^?^?^B  dB  dBtwt|}~}}  uA  dB  dB  dB  dP  FL  MO  FP  FP_b  X[  [q  [q  [q  [q  mp  [q  [q  [q  Xq  Xq  Qq  Qq  Qq55b#S3s88__555 ://////3///# : :aXXZZ1

1eAaD1D99999:: : : : : : : : : : : : : : : ;;C;;;CE/RUVYRZRZ[^_b[c[cRcdg<h<h<hoyz~  @C  {D  {D  pE  pE  jEs   	A*E  EE__main__)pathlibr   rI   rC   r   rt   rP   urllib.requestr?   concurrent.futuresr   r   __file__r9   r$   r:   namer	   rB   r   r!   rZ   r   rO   r]   r   r   <module>r      s%         1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ? ? ? ? ? ? ? ?$x.."1%QV5g-g-g-g-gD	STT  ZLUX) ) )    E E E Zr   