
    ^j$                    :   d dl mZ d dlZd dlmc 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  ee      j#                         j$                  Zedz  Zedz  Zej$                  dz  Z ed      ZddZdd	Zdd
ZdddZddZddZddZddZddZ ddZ!y)    )annotationsN)Pathzinvite_harness.pyzpermission-seal.jsonz;reset-controller-st_01a0054d/fixtures/current-empty-profilez9/home/cube/projects/richard/hermes-agent/.venv/bin/pythonc                d    t        j                  | j                               j                         S )N)hashlibsha256
read_bytes	hexdigest)paths    w/home/cube/projects/richard/traning coach/.omo/evidence/task26/task26-invite-harness-st_01a0056a/test_invite_harness.pyshar      s!    >>$//+,6688    c                &   | dz  }t        j                  t        |       t        j                  |      D ]D  \  }}}t        |      j                  d       |D ]  }t        |      |z  j                  d       ! F |dz  j                  d       |S )Nprofilei    zgateway.lockT)
missing_ok)shutilcopytreeFIXTUREoswalkr   chmodunlink)tmp_pathtargetrootdirsfilesnames         r   r   r      s    	!F
OOGV$WWV_dET
D$Z$%%e,  -
 n$$$5Mr   c            	         t        j                  t        t              dt        t              g| dddi t
        j                  ddi      S )N-BTFPYTHONDONTWRITEBYTECODE1)textcapture_outputcheckenv)
subprocessrunstrVENV_PYTHONHARNESSr   environ)argss    r   r(   r(   "   sH    >>	[	4W55:rzz:4c: r   c                    |dddddddg dd	d

}| j                  t        j                  |      d       | j                  d       | S )NzTask26 Synthetic Customerz
2026-08-16z08:00r      i     )	breakfastlunchdinnerzsynthetic rehearsal)
customer_keydisplay_name	starts_on
daily_timeweekly_weekdaymonthly_daycalories_kcal	protein_gmealsprimary_goalzutf-8)encodingr   )
write_textjsondumpsr   )r
   keyvalues      r   draftrD   ,   sS    3!1-E 	OODJJu%O8JJuKr   c                *	   t        |       }|dz  }t        |      }| dz  }t        ddt        |      dt        t              dt        |            }|j
                  }d}||k(  }|st        j                  d|fd	||f      d
t        j                         v st        j                  |      rt        j                  |      nd
t        j                  |      t        j                  |      dz  }	t        j                  |j                        dz   d|	iz  }
t        t        j                  |
            d x}x}}t!        j"                  |j$                        d   }d}||k(  }|slt        j                  d|fd||f      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}}t        |      }||k(  }|s#t        j                  d|fd||f      dt        j                         v st        j                  t              rt        j                  t              nddt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      dt        j                         v st        j                  |      rt        j                  |      nddz  }	dd|	iz  }
t        t        j                  |
            d x}}t!        j"                  |j'                               d   }d}||u }|slt        j                  d|fd||f      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}}d}|j&                  } |       }||v}|st        j                  d|fd ||f      t        j                  |      d!t        j                         v st        j                  |      rt        j                  |      nd!t        j                  |      t        j                  |      d"z  }
d#d$|
iz  }t        t        j                  |            d x}x}x}}y )%N:data/onboarding/telegram-customer-bootstrap-v1/ledger.jsonzdry-run.jsondry-run	--profile--permission	--receiptr   ==z2%(py2)s
{%(py2)s = %(py0)s.returncode
} == %(py5)sresultpy0py2py5
>assert %(py7)spy7statusPASSz%(py1)s == %(py4)spy1py4assert %(py6)spy6)z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py5)sr   ledgerbefore)rP   rY   py3rR   assert %(py7)sready_for_one_inviteTisz%(py1)s is %(py4)src1_not inzL%(py1)s not in %(py7)s
{%(py7)s = %(py5)s
{%(py5)s = %(py3)s.read_text
}()
}receiptrY   r_   rR   rT   assert %(py9)spy9)r   r   r(   r)   
PERMISSION
returncode
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_saferepr_format_assertmsgstderrAssertionError_format_explanationr@   loadsstdout	read_text)r   r   r]   r^   ri   rN   @py_assert1@py_assert4@py_assert3@py_format6@py_format8@py_assert0@py_assert2@py_format5@py_format7@py_assert6@py_format10s                    r   0test_dry_run_is_profile_byte_stable_and_redactedr   >   s   XFRRF[F'GKVnc*oc'l,F00!000000000600060000000006==0000000::fmm$X.8&8.&8888.&888.888&8888888v; ;&    ;&      3   3      v   v   ;      &   &       ::g'')*+ABJdJBdJJJJBdJJJBJJJdJJJJJJJ,**,*,,6,,,,,6,,,,6,,,,,,,,,,,,*,,,,,,,,,,,r   c                ^   t        |       }| dz  }| dz  }t        ddt        |      dt        t              dt        t	        | dz              dt        |      d	t        |      d
t        |             }|j
                  }d}||k(  }|st        j                  d|fd||f      dt        j                         v st        j                  |      rt        j                  |      ndt        j                  |      t        j                  |      dz  }t        j                  |j                        dz   d|iz  }	t        t        j                  |	            d x}x}}t!        j"                  |j%                               }
t!        j"                  |j%                               }t!        j"                  |dz  j%                               }|d   }t'        |      }d}||k(  }|st        j                  d|fd||f      dt        j                         v st        j                  t&              rt        j                  t&              ndt        j                  |      t        j                  |      t        j                  |      dz  }	dd|	iz  }t        t        j                  |            d x}x}x}}d |d   D        }t)        |      }d}||k(  }|st        j                  d|fd||f      dt        j                         v st        j                  t(              rt        j                  t(              ndt        j                  |      t        j                  |      t        j                  |      dz  }	dd|	iz  }t        t        j                  |            d x}x}x}}|d   }|j*                  }d} ||      }|stdt        j                  |      t        j                  |      t        j                  |      t        j                  |      d z  }	t        t        j                  |	            d x}x}x}}t,        j.                  }|d   }|j0                  }d!} ||      } ||      }|j2                  } |       }|
d"   }||k(  }|sAt        j                  d|fd#||f      d$t        j                         v st        j                  t,              rt        j                  t,              nd$t        j                  |      t        j                  |      t        j                  |      t        j                  |      t        j                  |      t        j                  |      t        j                  |      t        j                  |      t        j                  |      d%
z  }d&d'|iz  }t        t        j                  |            d x}x}x}x}x}x}x}x}x}}t,        j.                  }|d   dd  }|j0                  }d!} ||      } ||      }|j2                  } |       }|
d(   }||k(  }|sAt        j                  d|fd#||f      d$t        j                         v st        j                  t,              rt        j                  t,              nd$t        j                  |      t        j                  |      t        j                  |      t        j                  |      t        j                  |      t        j                  |      t        j                  |      t        j                  |      t        j                  |      d%
z  }d&d'|iz  }t        t        j                  |            d x}x}x}x}x}x}x}x}x}}|d)   }|
d)   }||k(  }|slt        j                  d|fd*||f      t        j                  |      t        j                  |      d+z  }d,d-|iz  }t        t        j                  |            d x}x}}|j4                  } |       }|j6                  }d.}||z  }d/}||k(  }|st        j                  d|fd0||f      d1t        j                         v st        j                  |      rt        j                  |      nd1t        j                  |      t        j                  |      t        j                  |      t        j                  |      t        j                  |      d2z  }d3d4|iz  }t        t        j                  |            d x}x}x}x}x}x}}|j4                  } |       }|j6                  }d.}||z  }d/}||k(  }|st        j                  d|fd0||f      d5t        j                         v st        j                  |      rt        j                  |      nd5t        j                  |      t        j                  |      t        j                  |      t        j                  |      t        j                  |      d2z  }d3d4|iz  }t        t        j                  |            d x}x}x}x}x}x}}|d   }|j$                  } |       }||v}|st        j                  d6|fd7||f      t        j                  |      d5t        j                         v st        j                  |      rt        j                  |      nd5t        j                  |      t        j                  |      d z  }	dd|	iz  }t        t        j                  |            d x}x}x}}|
d8   }d}||k(  }|slt        j                  d|fd*||f      t        j                  |      t        j                  |      d+z  }d,d-|iz  }t        t        j                  |            d x}x}}|
d9   }d:}||u }|slt        j                  d;|fd<||f      t        j                  |      t        j                  |      d+z  }d,d-|iz  }t        t        j                  |            d x}x}}t        ddt        |      dt        t              dt        t	        | d=z  d>            dt        | d?z        d	t        | d@z              } | j
                  }d}||k7  }|st        j                  dA|fdB||f      dCt        j                         v st        j                  |       rt        j                  |       ndCt        j                  |      t        j                  |      dz  }dDd|iz  }	t        t        j                  |	            d x}x}}d?}| |z  }|j8                  } |       }| }!|!sdEdFt        j                         v st        j                  |       rt        j                  |       ndFt        j                  |      t        j                  |      t        j                  |      dGz  }"t        t        j                  |"            d x}x}x}x}}!y )HNhandoff.jsonprepared.jsonpreparerH   rI   --draft
draft.json	--handoffrJ   z--evidence-rootr   rK   rM   rN   rO   rS   rT   rF   sessions   )z0%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} == %(py7)slen)rP   rQ   rZ   rT   rk   rl   c              3  ,   K   | ]  }|d    dk(    yw)statePREPAREDN ).0items     r   	<genexpr>z^test_prepare_uses_api_after_watch_and_emits_only_one_private_token_artifact.<locals>.<genexpr>Z   s     J7IttG}
*7Is   r/   sumstart_tokenre   zLassert %(py7)s
{%(py7)s = %(py3)s
{%(py3)s = %(py1)s.startswith
}(%(py5)s)
}rj   asciistart_token_sha256)z%(py16)s
{%(py16)s = %(py14)s
{%(py14)s = %(py12)s
{%(py12)s = %(py2)s
{%(py2)s = %(py0)s.sha256
}(%(py10)s
{%(py10)s = %(py6)s
{%(py6)s = %(py4)s.encode
}(%(py8)s)
})
}.hexdigest
}()
} == %(py19)sr   )
rP   rQ   rZ   r\   py8py10py12py14py16py19zassert %(py21)spy21sid_hash
session_idrW   rX   r[   r\   i  r   )zm(%(py6)s
{%(py6)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.stat
}()
}.st_mode
} & %(py8)s) == %(py12)shandoff)rP   rQ   rZ   r\   r   r   zassert %(py14)sr   ri   rf   rh   prepare_invocations!event_subscription_before_prepareTrb   rd   zdraft2.jsonanother_new_keyzsecond-handoff.jsonzsecond-receipt.json!=z2%(py2)s
{%(py2)s = %(py0)s.returncode
} != %(py5)s	duplicater`   Qassert not %(py7)s
{%(py7)s = %(py5)s
{%(py5)s = (%(py0)s / %(py2)s).exists
}()
}r   rP   rQ   rR   rT   )r   r(   r)   rm   rD   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   r@   ry   r{   r   r   
startswithr   r   encoder	   statst_modeexists)#r   r   r   ri   rN   r|   r}   r~   r   r   publicprivater]   r   @py_assert5r   r   r   @py_assert7@py_assert9@py_assert11@py_assert13@py_assert15@py_assert18@py_assert17@py_format20@py_format22r   r   @py_assert10@py_format13@py_format15r   @py_assert8@py_format9s#                                      r   Ktest_prepare_uses_api_after_watch_and_emits_only_one_private_token_artifactr   L   s7	   XF'G(G;F^S_3uX456S\S\#4c(mF
 00!000000000600060000000006==0000000ZZ))+,Fjj**,-GZZ"^^iiklFj!'3!"'a'"a''''"a''''''3'''3'''!'''"'''a'''''''Jvj7IJO3JJOaOJaOOOOJaOOOOOO3OOO3OOOJOOOJOOOaOOOOOOO=!4!,,4V4,V44444!444,444V4444444444>>m'-0m077mm7@m>@AmAKKmKMmQWXlQmmMQmmmmmMQmmmmmmm7mmm7mmm>mmm0mmm7mmmmmm@mmmAmmmKmmmMmmmQmmmmmmmmmm>>g'-04g4;;gGg;GDg>DEgEOOgOQgU[\fUggQUgggggQUggggggg7ggg7ggg>ggg4ggg;gggGgggDgggEgggOgggQgggUgggggggggg< 8F<$88 $88888 $8888 888$88888888<<2<>2>!!2E2!E)2U2)U2222)U22222272227222<222>222!222E222U22222222<<2<>2>!!2E2!E)2U2)U2222)U22222272227222<222>222!222E222U22222222=!<):):<):)<<!)<<<<<!)<<<<!<<<<<<<<<<<<):<<<)<<<<<<<<'(-A-(A----(A---(---A-------56>$>6$>>>>6$>>>6>>>$>>>>>>>;F^S_3uX57HIJS$99:S$99:	I $1$1$$$$1$$$$$$9$$$9$$$$$$1$$$$$$$0:00:088:8:::::::::::::::::0:::8:::::::::::r   c                   g d}|D ]}  }t        | |z        }|dz  }t        j                  |j                               }|dk(  rd|d   d   d<   n|dk(  r$|d   j	                  t        |d   d                ny|d	k(  rd
dig|d   d   d<   ne|dz  }t        j                  |j                               }ddig|d<   |j                  t        j                  |             |j                  d       |dk7  r5|j                  t        j                  |             |j                  d       | |z  dz  }t        ddt        |      dt        t              dt        t        | |z  dz  d|             dt        | |z  dz        dt        |            }	|	j                  }
d}|
|k7  }|st        j                  d|fd|
|f      dt!        j"                         v st        j$                  |	      rt        j&                  |	      ndt        j&                  |
      t        j&                  |      d z  }t        j(                  |      d!z   d"|iz  }t+        t        j,                  |            d x}
x}}| |z  }d}||z  }|j.                  } |       }| }|sd#d$t!        j"                         v st        j$                  |       rt        j&                  |       nd$d%t!        j"                         v st        j$                  |      rt        j&                  |      nd%t        j&                  |      t        j&                  |      t        j&                  |      d&z  }t+        t        j,                  |            d x}x}x}x}x}} y )'N)nonterminalr   recoveryregistryrF   r   r   r   r   r   r   r   unsafeTrecovery_attemptszcustomers/registry.jsonr4   existing	customersr   r   receipt.jsonr   rH   rI   r   r   new_r   r   rJ   r   r   rN   rO   rS   rT   z]assert not %(py9)s
{%(py9)s = %(py7)s
{%(py7)s = ((%(py0)s / %(py1)s) / %(py4)s).exists
}()
}r   scenario)rP   rY   rZ   rT   rl   )r   r@   ry   r{   appenddictr?   rA   r   r(   r)   rm   rD   rn   ro   rp   rq   rr   rs   rt   ru   rw   rx   r   )r   	scenariosr   r   ledger_pathr]   r   rC   ri   rN   r|   r}   r~   r   r   r   r   r   r   r   @py_format11s                        r   Jtest_prepare_rejects_nonterminal_duplicate_recovery_and_existing_authorityr   o   s   DIH,-[[K1134}$-7F:q!'*$:%%d6*+=a+@&AB#;CT:J9KF:q!"56 99HJJx1134E#1:">!?E+

5 12NN5!z!""4::f#56e$X%6{CKZs5H!4|!CtH:EVWXX0>ABKQTU\Q]

   /A/ A%/// A//////v///v/// ///A///x///////x'B.B'.8B8@@B@BBBBBBBBBBBHBBBHBBBBBBxBBBxBBB.BBB@BBBBBBBBBBB7 r   c                   t        |       }| dz  }| dz  }d}d}t        |      }d}t        t              }d}	d}
| |
z  }t        |      }t        |      }d}t        |      }d	}t        |      }t	        ||||||	|||||      }|j
                  }d
}||k(  }|st        j                  d|fd||f      i ddt        j                         v st        j                  t              rt        j                  t              nddt        j                  |      dt        j                  |      ddt        j                         v st        j                  t              rt        j                  t              ndddt        j                         v st        j                  |      rt        j                  |      nddt        j                  |      dt        j                  |      ddt        j                         v st        j                  t              rt        j                  t              ndddt        j                         v st        j                  t              rt        j                  t              nddt        j                  |      dt        j                  |	      ddt        j                         v st        j                  t              rt        j                  t              ndddt        j                         v st        j                  t              rt        j                  t              nddd t        j                         v st        j                  |       rt        j                  |       nd d!t        j                  |
      d"t        j                  |      d#t        j                  |      t        j                  |      dt        j                         v st        j                  t              rt        j                  t              ndd$t        j                         v st        j                  |      rt        j                  |      nd$t        j                  |      t        j                  |      dt        j                         v st        j                  t              rt        j                  t              ndd%t        j                         v st        j                  |      rt        j                  |      nd%t        j                  |      t        j                  |      t        j                  |      t        j                  |      d&z  }d'd(|iz  }t        t        j                  |            d x}x}x}x}x}x}	x}
x}x}x}x}x}x}x}x}x}x}}t        j                  |j!                               }| d)z  }| d*z  }t#        j$                         \  }}t'        j(                  t        t*              d+t        t,              d,dt        |      dt        t              d-|d.   d/|d0   d1t        |      d	t        |      d2d3d4t        |      gd5t&        j.                  t&        j.                  |f6      }t#        j0                  |       t"        j2                  }d7} |||      }d8}||k(  } | st        j                  d| fd9||f      d:t        j                         v st        j                  t"              rt        j                  t"              nd:t        j                  |      d;t        j                         v st        j                  |      rt        j                  |      nd;t        j                  |      t        j                  |      t        j                  |      d<z  }!d=d|!iz  }"t        t        j                  |"            d x}x}x}x} }t#        j0                  |       t5        j6                  d>      }#t        j                  |j!                               d?   }$|#j9                  |#j;                  |            j=                  |$d@d@dAB       |j?                  dCD      \  }%}&|j
                  }d
}||k(  }|st        j                  d|fdE||f      dFt        j                         v st        j                  |      rt        j                  |      ndFt        j                  |      t        j                  |      dGz  }'t        j@                  |&      dHz   dI|'iz  }(t        t        j                  |(            d x}x}}t        j                  |j!                               })|)dJ   }*dK}|*|k(  }+|+slt        j                  d|+fdL|*|f      t        j                  |*      t        j                  |      dMz  },dNd|,iz  }-t        t        j                  |-            d x}*x}+}|)dO   }*d7}|*|k(  }+|+slt        j                  d|+fdL|*|f      t        j                  |*      t        j                  |      dMz  },dNd|,iz  }-t        t        j                  |-            d x}*x}+}|)dP   }*d@}|*|k(  }+|+slt        j                  d|+fdL|*|f      t        j                  |*      t        j                  |      dMz  },dNd|,iz  }-t        t        j                  |-            d x}*x}+}|)dQ   }*d5}|*|u }+|+slt        j                  dR|+fdS|*|f      t        j                  |*      t        j                  |      dMz  },dNd|,iz  }-t        t        j                  |-            d x}*x}+}|)dT   }*d5}|*|u }+|+slt        j                  dR|+fdS|*|f      t        j                  |*      t        j                  |      dMz  },dNd|,iz  }-t        t        j                  |-            d x}*x}+}dU}*|%|&z   }.|j                   } |       }|.|z   }/|*|/v}+|+sCt        j                  dV|+fdW|*|/f      t        j                  |*      dXt        j                         v st        j                  |%      rt        j                  |%      ndXdYt        j                         v st        j                  |&      rt        j                  |&      ndYdZt        j                         v st        j                  |      rt        j                  |      ndZt        j                  |      t        j                  |      d[z  }0d\d]|0iz  }1t        t        j                  |1            d x}*x}+x}.x}x}}/y )^Nr   r   r   rH   rI   r   r   r   rJ   r   rK   a  %(py42)s
{%(py42)s = %(py40)s
{%(py40)s = %(py0)s(%(py2)s, %(py4)s, %(py8)s
{%(py8)s = %(py5)s(%(py6)s)
}, %(py10)s, %(py14)s
{%(py14)s = %(py11)s(%(py12)s)
}, %(py16)s, %(py26)s
{%(py26)s = %(py17)s(%(py24)s
{%(py24)s = %(py18)s((%(py19)s / %(py21)s))
})
}, %(py28)s, %(py32)s
{%(py32)s = %(py29)s(%(py30)s)
}, %(py34)s, %(py38)s
{%(py38)s = %(py35)s(%(py36)s)
})
}.returncode
} == %(py45)srP   r(   rQ   rZ   rR   r)   r\   r   r   r   py11r   rm   r   r   py17py18rD   r   r   r   py24py26r   prepared_receiptpy28py29py30py32py34py35py36py38py40py42py45assert %(py47)spy47z
ready.jsonzobserved.jsonr    observe--session-idr   
--sid-hashr   z--readyz--timeout-seconds5z
--ready-fdT)r#   rz   rv   pass_fdsr/      1)zT%(py7)s
{%(py7)s = %(py2)s
{%(py2)s = %(py0)s.read
}(%(py3)s, %(py5)s)
} == %(py10)sr   read_fd)rP   rQ   r_   rR   rT   r   zassert %(py12)sz-gateway.platforms.telegram_customer_bootstrapr   
8527916639101)user_idchat_id
message_id
   )timeoutrM   processrO   rS   rT   rU   PASS_CLAIM_OBSERVEDrW   rX   r[   accepted_start_claim_countactor_id
private_dmrb   rd   event_subscription_before_claimre   rf   )zf%(py1)s not in ((%(py3)s + %(py4)s) + %(py10)s
{%(py10)s = %(py8)s
{%(py8)s = %(py6)s.read_text
}()
})rz   rv   observed)rY   r_   rZ   r\   r   r   zassert %(py13)spy13)!r   r)   rm   rD   r(   rn   ro   rp   rq   rr   rs   rt   rw   rx   r@   ry   r{   r   piper'   Popenr*   r+   PIPEcloseread	importlibimport_moduleRoomBootstrapStoreroom_bootstrap_state_dirclaim_rehearsal_customer_invitecommunicateru   )2r   r   r   r   r|   r~   r   r   r   r   @py_assert20@py_assert22@py_assert23@py_assert25@py_assert27@py_assert31@py_assert33@py_assert37@py_assert39@py_assert41@py_assert44@py_assert43@py_format46@py_format48preparedreadyr  r   write_fdr   r}   r   r   r   r   moduletokenrz   rv   r   r   rC   r   r   r   r   r   r   @py_format12@py_format14s2                                                     r   ?test_observe_subscribes_before_exact_single_private_actor_claimr$     s
   XF'G/1 #F-;=@_(4%445568CEH\ 	 )*3;^_6\*   j	 	  	   	  	  v	  	    I	    I 	  I   v	   !$  I !$  v	   %+  I %+  I !,  I .<  v	   >A  I >A  v	   BL  I BL  I >M  I 	  v	     I   v	     I   v	   &  I &  I )5  I 6  I 7  I 9D  v	   FI  I FI  v	   JQ  I JQ  I FR  I 	  v	     I   v	   *  I *  I +  I	   I	   IA	    	     
 zz*4467H|#E/)H	GX	[	4Wy+s6{	Z.(<:P	x
+YE
	c(m%8#|SQY]	\ *//*//XKG HHX77&A&77A&$&$&&&&$&&&&&&2&&&2&&&7&&&&&&7&&&7&&&A&&&&&&$&&&&&&&HHW $$%TUFJJw((*+M:E
f==fEFff|\e g  (((4NFF**"*********7***7*********F*******JJx))+,E?333?33333?3333?33333333333-.3!3.!3333.!333.333!3333333,,,,,,,,,,,,,,,,,,,&$&$&&&&$&&&&&&$&&&&&&&23;t;3t;;;;3t;;;3;;;t;;;;;;;?&?8+=+=?+=+??+???6?????6????6???????????????&???&??????8???8???+=???+?????????r   c                J   t        |       }| dz  }| dz  }d}d}t        |      }d}t        t              }d}	d}
| |
z  }t        |      }t        |      }d}t        |      }d	}t        |      }t	        ||||||	|||||      }|j
                  }d
}||k(  }|st        j                  d|fd||f      i ddt        j                         v st        j                  t              rt        j                  t              nddt        j                  |      dt        j                  |      ddt        j                         v st        j                  t              rt        j                  t              ndddt        j                         v st        j                  |      rt        j                  |      nddt        j                  |      dt        j                  |      ddt        j                         v st        j                  t              rt        j                  t              ndddt        j                         v st        j                  t              rt        j                  t              nddt        j                  |      dt        j                  |	      ddt        j                         v st        j                  t              rt        j                  t              ndddt        j                         v st        j                  t              rt        j                  t              nddd t        j                         v st        j                  |       rt        j                  |       nd d!t        j                  |
      d"t        j                  |      d#t        j                  |      t        j                  |      dt        j                         v st        j                  t              rt        j                  t              ndd$t        j                         v st        j                  |      rt        j                  |      nd$t        j                  |      t        j                  |      dt        j                         v st        j                  t              rt        j                  t              ndd%t        j                         v st        j                  |      rt        j                  |      nd%t        j                  |      t        j                  |      t        j                  |      t        j                  |      d&z  }d'd(|iz  }t        t        j                  |            d x}x}x}x}x}x}	x}
x}x}x}x}x}x}x}x}x}x}}t        j                  |j!                               }t	        d)dt        |      dt        t              d*|d+   d,|d-   d	t        | d.z              }|j
                  }d
}||k7  }|st        j                  d/|fd0||f      d1t        j                         v st        j                  |      rt        j                  |      nd1t        j                  |      t        j                  |      d2z  }d3d4|iz  }t        t        j                  |            d x}x}}d.}| |z  }|j"                  } |       }| }|sd5d t        j                         v st        j                  |       rt        j                  |       nd t        j                  |      t        j                  |      t        j                  |      d6z  }t        t        j                  |            d x}x}x}x}}y )7Nr   r   r   rH   rI   r   r   r   rJ   r   rK   r   rP   r(   rQ   rZ   rR   r)   r\   r   r   r   r   r   rm   r   r   r   r   rD   r   r   r   r   r   r   r  r   r   r   expirer   r   r   r   zexpired.jsonr   r   rN   rO   r`   rT   r   r   )r   r)   rm   rD   r(   rn   ro   rp   rq   rr   rs   rt   rw   rx   r@   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  rC   rN   r}   r   r   r   r   r   s                                    r   4test_expire_is_canonical_and_refuses_before_deadliner'     s   XF'G/)H #F-;=@_(4%445568CEH\ 	 ]3;^_6\]   j	 	  	   	  	  v	  	    I	    I 	  I   v	   !$  I !$  v	   %+  I %+  I !,  I .<  v	   >A  I >A  v	   BL  I BL  I >M  I 	  v	     I   v	     I   v	   &  I &  I )5  I 6  I 7  I 9D  v	   FI  I FI  v	   JQ  I JQ  I FR  I 	  v	     I   v	   "  I "  I #  I	   I	   IA	    	     
 JJx))+,E+s6{NC
Ol+\5;LSN23F
 !!!!!!!!!!!!6!!!6!!!!!!!!!!!!!)3>)3)113133333333333333333>333133333333333r   c                   t        |       }| dz  }t        j                  t        j	                               }d|d<   |j                  t        j                  |             |j                  d       t        ddt        |      dt        |      dt        | d	z              }|j                  }d
}||k7  }|st        j                  d|fd||f      dt        j                         v st        j                  |      rt        j                   |      ndt        j                   |      t        j                   |      dz  }dd|iz  }	t#        t        j$                  |	            d x}x}}y )Nzpermission.json
8693203710r   r   rG   rH   rI   rJ   r   r   r   r   rN   rO   r`   rT   )r   r@   ry   rm   r{   r?   rA   r   r(   r)   rn   ro   rp   rq   rr   rs   rt   rw   rx   )
r   r   alteredrC   rN   r|   r}   r~   r   r   s
             r   0test_permission_and_loaded_byte_pins_fail_closedr+     s    XF**GJJz++-.E$E*tzz%()MM%KVnc'lc(^";<>F!!!!!!!!!!!!6!!!6!!!!!!!!!!!!!r   )r
   r   returnr)   )r   r   r,  r   )r-   r)   r,  z subprocess.CompletedProcess[str])task26_same_actor_20260815)r
   r   rB   r)   r,  r   )r   r   r,  None)"
__future__r   builtinsrq   _pytest.assertion.rewrite	assertionrewritero   r   r	  r@   r   r   r'   pathlibr   __file__resolveparentHEREr+   rm   r   r*   r   r   r(   rD   r   r   r   r$  r'  r+  r   r   r   <module>r9     s    "      	   H~&&
$
$**

++U
UNO9	$- ;FC@&@R4&	"r   