+
    "i                     N   R t ^ RIHt ^ RIt^ RIHt ^ RIHt ^ RIH	t	H
t
HtHt ^ RIHt ^ RIHt ^ RI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t ^RI!H"t" ^RI#H$t$H%t%H&t&H't' ^RI(H)t)H*t*H+t+H,t, ^RI-H.t. ]'       d   ^ RIH/t/  ! R R]]%R7      t0 ! R R]4      t1R# )zAdds config flow for HACS.)annotationsN)suppress)TYPE_CHECKING)GitHubDeviceAPIGitHubExceptionGitHubLoginDeviceModelGitHubLoginOauthModel)OAUTH_USER_LOGIN)AwesomeVersion)
ConfigFlowOptionsFlow)__version__)callback)UnknownFlow)aiohttp_client)async_get_integration)HacsBase)	CLIENT_IDDOMAINLOCALEMINIMUM_HA_VERSION)	APPDAEMONCOUNTRYSIDEPANEL_ICONSIDEPANEL_TITLE)LOGGER)HomeAssistantc                      ] tR t^'t$ Rt^tR]R&   RtR]R&   RtR]R&   Rt	R	]R
&   Rt
R]R&   RtR]R&   R R ltR tR tR tRR R lltRR ltRR ltRR lt]]R 4       4       tRtR# )HacsFlowHandlerzConfig flow for HACS.r   hassNzasyncio.Task | Noneactivation_taskzGitHubDeviceAPI | NonedevicezGitHubLoginDeviceModel | None_registrationzGitHubLoginOauthModel | None_activationFbool_reauthc                   V ^8  d   QhRR/#    returnNone )formats   "-/config/custom_components/hacs/config_flow.py__annotate__HacsFlowHandler.__annotate__4   s      $     c                "    / V n         / V n        R# )zInitialize.N)_errors_user_inputselfs   &r-   __init__HacsFlowHandler.__init__4   s    r0   c                P  "   / V n         V P                  4       '       d   V P                  RR7      # V P                  P                  P                  \        4      '       d   V P                  RR7      # V'       d   V Uu. uF-  q"P                  R4      '       g   K  W,          '       d   K+  VNK/  	  up'       d)   RV P                   R&   V P                  V4      G Rj  xL
 # Wn	        V P                  V4      G Rj  xL
 # V P                  V4      G Rj  xL
 # u upi  LA L$ L5i)&Handle a flow initialized by the user.single_instance_allowedreasonacc_accbaseN)r2   _async_current_entriesasync_abortr   datagetr   
startswith_show_config_formr3   async_step_device)r5   
user_inputxs   && r-   async_step_userHacsFlowHandler.async_step_user9   s     &&((##+D#EE99>>f%%##+D#EE%T:af)=jmm:TT',V$!33J???)//
;;; ++J777 U? < 8s`   AD&!D&;D&?DD,D2D&;#D&D D&=D">D&D$
D&"D&$D&c           	       a "   R V 3R llpS P                   '       g   \        S P                  \        4      G Rj  xL
 p\	        RR\
        R\        P                  ! S P                  4      /RRVP                   2/B S n          S P                   P                  4       G Rj  xL
 pVP                  S n        S P                   f&   S P                  P#                  V! 4       4      S n        S P                   P%                  4       '       dY   S P                   P                  4       ;pe)   \        P                  ! V4       S P'                  RR
7      # S P'                  RR
7      # RRRRRR\(        RS P                  P*                  /RS P                   /pS P,                  ! R/ VB #  ELk EL  \         d3   p\        P                  ! T4       S P                  RR	7      u Rp?# Rp?ii ; i5i)zHandle device steps.c                   V ^8  d   QhRR/# r'   r+   )r,   s   "r-   r.   7HacsFlowHandler.async_step_device.<locals>.__annotate__P   s     	b 	bD 	br0   c                    <"    SP                   P                  SP                  P                  R 7      G Rj  xL
 p V P                  Sn        V3R lpR#  L  T3R lpi ; i5i))device_codeNc                    <"   \        \        4      ;_uu_ 4        S P                  P                  P                  P                  S P                  R 7      G Rj  xL
  RRR4       R#  L  + '       g   i     R# ; i5i))flow_idN)r   r   r   config_entriesflowasync_configurerQ   r4   s   r-   	_progressRHacsFlowHandler.async_step_device.<locals>._wait_for_activation.<locals>._progressV   sU     !+.."ii66;;KKTXT`T`Kaaa /.a /..s.   A>>A*A(A*
A>(A**A;	5	A>)r!   
activationr"   rO   rB   r#   )responserU   r5   s     r-   _wait_for_activation?HacsFlowHandler.async_step_device.<locals>._wait_for_activationP   sQ     b!%!7!7DDVDVDbDb!7!cc#+== b	 dbs,   A#3A AA A#A A  A#N	client_idsessionclient_namezHACS/could_not_registerr;   )next_step_iddevice_donestep_idr!   progress_actionwait_for_devicedescription_placeholdersurlcodeprogress_taskr+   )r!   r   r   r   r   r   r   async_get_clientsessionversionregisterrB   r"   r   r   	exceptionrA   r    async_create_taskdoneasync_show_progress_doner	   	user_codeasync_show_progress)r5   r3   rY   integrationrX   rk   show_progress_kwargss   f&     r-   rF   !HacsFlowHandler.async_step_deviceM   s    	b 	b {{{ 5dii HHK) #&>>tyyI !E+*=*=)>"?@DK
E!%!5!5!77%-]]"
 '#'99#>#>?S?U#VD $$&&!11;;==	J  +44BV4WW00m0LL x0&'**44) T11 
 ''?*>??? I 8" E  +''/C'DDEsZ   9G-F'A	G-F- $F*%F- :AG-BG-*F- -G*8'G%G* G-%G**G-c                D  "   V'       g   / p\        \        4      \        8  d   V P                  RR\        /R7      # V P	                  R\
        P                  ! \
        P                  ! RVP                  RR4      R7      \        \
        P                  ! RVP                  RR4      R7      \        \
        P                  ! R	VP                  R	R4      R7      \        \
        P                  ! R
VP                  R
R4      R7      \        /4      V P                  R7      # 5i)z2Show the configuration form to edit location data.min_ha_versionri   )r<   rd   useracc_logsFdefault
acc_addonsacc_untestedacc_disable)ra   data_schemaerrors)r
   	HAVERSIONr   rA   async_show_formvolSchemaRequiredrC   r$   r2   r5   rG   s   &&r-   rE   !HacsFlowHandler._show_config_form|   s      J)$'99##'*35G)H $   ##

LLZ^^JPU5VWY]LLz~~lTY7Z[]aLL&
~u0ULL
}V[8\]_c	 << $ 
 	
s   DD c                   V ^8  d   QhRR/# )r(   rG   zdict[str, bool] | Noner+   )r,   s   "r-   r.   r/      s     
 
7M 
r0   c                  "   V P                   '       d   V P                  P                  P                  V P                  R,          4      pV P                  P                  P                  V/ VP                  CRV P                  P                  /CR7       V P                  P                  P                  VP                  4      G Rj  xL
  V P                  RR7      # V P                  RRV P                  P                  /RR	/R
7      #  LB5i)zHandle device stepsentry_idtoken)rB   Nreauth_successfulr;    experimentalT)titlerB   options)r%   r   rR   async_get_entrycontextasync_update_entryrB   r#   access_tokenasync_reloadr   rA   async_create_entry)r5   rG   existing_entrys   && r-   async_step_device_done&HacsFlowHandler.async_step_device_done   s     <<<!YY55EEdllS]F^_NII$$77%d(;(;%dWdFVFVFcFc%d 8  ))**778O8OPPP##+>#??&&))66  ' 
 	
 Qs   CDD	ADc                .   "   V P                  RR7      # 5i)z<Handle issues that need transition await from progress step.r^   r;   )rA   r5   r3   s   &&r-   async_step_could_not_register-HacsFlowHandler.async_step_could_not_register   s     ';<<s   c                >   "   V P                  4       G Rj  xL
 #  L5i)z0Perform reauth upon an API authentication error.N)async_step_reauth_confirmr   s   &&r-   async_step_reauth!HacsFlowHandler.async_step_reauth   s     335555   c                   "   Vf(   V P                  R\        P                  ! / 4      R7      # RV n        V P	                  R4      G Rj  xL
 #  L5i)z5Dialog that informs the user that reauth is required.Nreauth_confirmra   r}   T)r   r   r   r%   rF   r   s   &&r-   r   )HacsFlowHandler.async_step_reauth_confirm   sQ     ''(JJrN (   ++D1111s   AA	A
Ac                	    \        V 4      # N)HacsOptionsFlowHandlerconfig_entrys   &r-   async_get_options_flow&HacsFlowHandler.async_get_options_flow   s     &l33r0   )r#   r2   r%   r"   r3   r    r!   r   )__name__
__module____qualname____firstlineno____doc__VERSION__annotations__r    r!   r"   r#   r%   r6   rI   rF   rE   r   r   r   r   staticmethodr   r   __static_attributes__r+   r0   r-   r   r   '   s    G
+/O(/%)F")37M0704K-4GT
8(-@^
4
(=62 4  4r0   r   )domainc                  4    ] tR t^tRtR tRR ltRR ltRtR# )r   z!HACS config flow options handler.c                >    \        \        4      R8  d	   Wn        R# R# )zInitialize HACS options flow.z
2024.11.99N)r
   r   r   )r5   r   s   &&r-   r6   HacsOptionsFlowHandler.__init__   s    )$|3 , 4r0   Nc                >   "   V P                  4       G Rj  xL
 #  L5i)zManage the options.N)rI   r   s   &&r-   async_step_init&HacsOptionsFlowHandler.async_step_init   s     ))++++r   c                T  "   V P                   P                  P                  \        4      pVe   V P	                  R/ VCRR/CR7      # Ve   VP
                  f   V P                  RR7      # VP                  P                  '       d   V P                  RR7      # \        P                  ! \        VP
                  P                  R7      \        \        P                  ! \        VP
                  P                  R7      \        \        P                  ! \         VP
                  P"                  R7      \        P$                  ! \&        4      \        P                  ! \(        VP
                  P*                  R7      \,        /pV P/                  R	\        P0                  ! V4      R
7      # 5i)r9   r   r   T)r   rB   	not_setupr;   pending_tasksrx   rv   r   )r   rB   rC   r   r   configurationrA   queuehas_pending_tasksr   Optionalr   sidepanel_titlestrr   sidepanel_iconr   countryInr   r   	appdaemonr$   r   r   )r5   rG   hacsschemas   &&  r-   rI   &HacsOptionsFlowHandler.async_step_user   s3    ++F3!**:^Z:^Y]:^*__<4--5##;#77::'''##?#;; LL$2D2D2T2TUWZLL1C1C1R1RSUXLL$*<*<*D*DEsvvf~LLD,>,>,H,HI4	
 ##F

6@R#SSs   BF(	DF(r   r   )	r   r   r   r   r   r6   r   rI   r   r+   r0   r-   r   r      s    +-
,T Tr0   r   )2r   
__future__r   asyncio
contextlibr   typingr   aiogithubapir   r   r   r   aiogithubapi.common.constr	   awesomeversionr
   homeassistant.config_entriesr   r   homeassistant.constr   r   homeassistant.corer   homeassistant.data_entry_flowr   homeassistant.helpersr   homeassistant.loaderr   
voluptuousr   r?   r   constr   r   r   r   utils.configuration_schemar   r   r   r   utils.loggerr   r   r   r   r+   r0   r-   <module>r      sx      "      7 ) @ 8 ' 5 0 6   @ @  !0X4j X4vT[ Tr0   