\newcommand{\remove}[1]{}
\newcommand{\Draft}[1]{\ifnum\draft=1\texttt{ #1} \fi}
% \newdef is used to introduce, formally and informally, new notions.
% \emph is used to emphasize words, or notions.

\newcommand{\newdef}[1]{\emph{\textbf{#1}}}

%%% refs macros (hopefully will help in transforming to pdf) %%%%%%




%%% revision and notes marker %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\ifnum\draft=1
 \newcommand{\authnote}[2]{{\bf [{\color{red} #1's Note:} {\color{blue} #2}]}}
\else
 \newcommand{\authnote}[2]{}
\fi



%%% Environments %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\newcommand{\sdotfill}{\textcolor[rgb]{0.8,0.8,0.8}{\dotfill}} %change to \cdotfill later

\newenvironment{protocol}{\begin{proto}}{\vspace{-\topsep}\sdotfill\end{proto}}
\newenvironment{algorithm}{\begin{algo}}{\vspace{-\topsep}\sdotfill\end{algo}}
%\newenvironment{inclaim}{\begin{quote}\vspace{-\topsep}\begin{claiminproof}}{\end{claiminproof}\end{quote}\vspace{\topsep}}
\newenvironment{inprop}{\begin{quote}\vspace{-\topsep}\begin{propinproof}}{\end{propinproof}\end{quote}\vspace{\topsep}}
\newenvironment{inproof}{\begin{quotation}\vspace{-3\topsep}}{\end{quotation}\vspace{\topsep}}
\newenvironment{experiment}{\begin{expr}}{\vspace{-\topsep}\sdotfill\end{expr}}


%\newenvironment{algo}{\begin{center}\setlength{\fboxsep}{12pt}
%\begin{boxedminipage}{\linewidth}}
%{\end{boxedminipage} \end{center}}

%%% General %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\newcommand{\etal}{{et~al.\ }}
\newcommand{\aka} {also known as,\ }
\newcommand{\resp}{resp.,\ }
\newcommand{\ie} {i.e.,\ }
\newcommand{\eg} {e.g.,\ }
\newcommand{\wrt} {with respect to\ }
\newcommand{\wlg} {without loss of generality\ }
\newcommand{\cf}{{cf.,\ }}
\newcommand{\vecc}[1]{\left\lVert #1 \right\rVert}
\newcommand{\abs}[1]{\left\lvert #1 \right\rvert}
\newcommand{\ceil}[1]{\left\lceil #1 \right\rceil}
\newcommand{\ip}[1]{\iprod{#1}}
\newcommand{\iprod}[1]{\langle #1 \rangle_2}
\newcommand{\set}[1]{\ens{#1}}
\newcommand{\inner}[2]{\left[#1,#2\right]}
\newcommand{\floor}[1]{\left \lfloor#1 \right \rfloor}

\newcommand{\cond}{\;|\;}
\newcommand{\half}{\tfrac{1}{2}}
\newcommand{\third}{\tfrac{1}{3}}
\newcommand{\quarter}{\tfrac{1}{4}}
%\newcommand{\eqdef}{\mathbin{\stackrel{\rm def}{=}}}
\newcommand{\eqdef}{:=}

\newcommand{\DSR}{{\bf DSR}}
\newcommand{\HSG}{{\bf HSG}}
\newcommand{\R}{{\mathbb R}}
\newcommand{\N}{{\mathbb{N}}}
\newcommand{\Z}{{\mathbb Z}}
\newcommand{\F}{{\mathbb F}}
\newcommand{\io}{\class{i.o. \negmedspace-}}
\newcommand{\zo}{\{0,1\}}
\newcommand{\suchthat}{{\;\; : \;\;}}
\newcommand{\deffont}{\em}
\newcommand{\getsr}{\mathbin{\stackrel{\mbox{\tiny R}}{\gets}}}
\newcommand{\xor}{\oplus}
\newcommand{\al}{\alpha}
\newcommand{\be}{\beta}
\newcommand{\eps}{\varepsilon}
\newcommand{\ci} {\stackrel{\rm{c}}{\equiv}}
\newcommand{\from}{\leftarrow}
\newcommand{\la}{\gets}

\newcommand{\negfunc}{\e}

\newcommand{\poly}{\operatorname{poly}}
\newcommand{\polylog}{\operatorname{polylog}}
\newcommand{\loglog}{\operatorname{loglog}}
\newcommand{\GF}{\operatorname{GF}}
\newcommand{\Exp}{\operatorname*{E}}
\newcommand{\Var}{\operatorname{Var}}
\newcommand{\Hall}{\operatorname{H}}
\newcommand{\HSh}{\operatorname{H}}
\newcommand{\Hmax}{\operatorname{H_0}}
\newcommand{\Hsam}{\operatorname{H}}
\newcommand{\Hmin}{\operatorname{H_{\infty}}}
\newcommand{\HRen}{\operatorname{H_2}}
\newcommand{\Haccsam}{\operatorname{AccH}}
\newcommand{\Htaccsam}{\operatorname{TAccH}}
\newcommand{\Hrealsam}{\operatorname{RealH}}
%\newcommand{\Hminsam}{\operatorname{RealHmin}}
\newcommand{\Ext}{{\operatorname{Ext}}}
\newcommand{\Con}{\operatorname{Con}}
\newcommand{\Samp}{\operatorname{Smp}}
\newcommand{\Enc}{\operatorname{Enc}}
\newcommand{\Dec}{\operatorname{Dec}}
\newcommand{\Time}{\operatorname{time}}
\newcommand{\negl}{\operatorname{neg}}
\newcommand{\Diam}{\operatorname{Diam}}
\newcommand{\Cut}{\operatorname{Cut}}
\newcommand{\Supp}{\operatorname{Supp}}
\newcommand{\GL}{\operatorname{GL}}
\newcommand{\maj}{\operatorname*{maj}}
\newcommand{\argmax}{\operatorname*{argmax}}
\newcommand{\Image}{\operatorname{Im}}

%\newcommand{\accept}{\mathtt{accept}}
%\newcommand{\reject}{\mathtt{reject}}
\newcommand{\accept}{\ensuremath{\mathtt{Accept}}}
\newcommand{\reject}{\ensuremath{\mathtt{Reject}}}

\newcommand{\fail}{\mathtt{fail}}
\newcommand{\halt}{\mathtt{halt}}

\newcommand{\MathFam}[1]{\mathcal{#1}}
\newcommand{\ComFam}{\MathFam{COM}}
\newcommand{\HFam}{\MathFam{H}}
\newcommand{\h}{\HFam}


\newcommand{\FFam}{\MathFam{F}}
\newcommand{\GFam}{\MathFam{G}}
\newcommand{\Dom}{\MathFam{D}}
\newcommand{\Rng}{\MathFam{R}}
\newcommand{\Code}{\MathFam{C}}

\newcommand{\MathAlg}[1]{\mathsf{#1}}
\newcommand{\Com}{\MathAlg{Com}}
\newcommand{\IH}{{\MathAlg{IH}}}
\newcommand{\Hash}{{\MathAlg{H}}}
\newcommand{\CIH}{{\MathAlg{CIH}}}
\newcommand{\len}{{\sf len}}

%%% Computational Problems %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\def\textprob#1{\textmd{\textsc{#1}}}
\newcommand{\mathprob}[1]{\mbox{\textmd{\textsc{#1}}}}
\newcommand{\SAT}{\mathprob{SAT}}
\newcommand{\HamPath}{\textprob{Hamiltonian Path}}
\newcommand{\StatDiff}{\textprob{Statistical Difference}}
\newcommand{\EntDiff}{\textprob{Entropy Difference}}
\newcommand{\EntApprox}{\textprob{Entropy Approximation}}
\newcommand{\CondEntApprox}{\textprob{Conditional Entropy Approximation}}
\newcommand{\QuadRes}{\textprob{Quadratic Residuosity}}
\newcommand{\CktApprox}{\mathprob{Circuit-Approx}}
\newcommand{\DNFRelApprox}{\mathprob{DNF-RelApprox}}
\newcommand{\GraphNoniso}{\textprob{Graph Nonisomorphism}}
\newcommand{\GNI}{\mathprob{GNI}}
\newcommand{\GraphIso}{\textprob{Graph Isomorphism}}
\newcommand{\GI}{{\mathprob{GI}}}
\newcommand{\MinCut}{\textprob{Min-Cut}}
\newcommand{\MaxCut}{\textprob{Max-Cut}}
\newcommand{\COL}{{\mathprob{3COL}}}
\newcommand{\HC}{{\mathprob{HC}}}
\newcommand{\yes}{YES}%{{\sc yes}}
\newcommand{\no}{NO}%{{\sc no}}
\newcommand{\p}{{{\mathsf{P}}}}

%%% Complexity Classes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\newcommand{\class}[1]{\mathrm{#1}}
\newcommand{\coclass}[1]{\class{co\mbox{-}#1}} % and their complements
\newcommand{\BPP}{\class{BPP}}
\newcommand{\NP}{\class{NP}}
\newcommand{\NPC}{\class{NPC}}
\newcommand{\coNP}{\coclass{NP}}
\newcommand{\RP}{\class{RP}}
\newcommand{\coRP}{\coclass{RP}}
\newcommand{\ZPP}{\class{ZPP}}
\newcommand{\RNC}{\class{RNC}}
\newcommand{\RL}{\class{RL}}
\newcommand{\coRL}{\coclass{RL}}
\newcommand{\IP}{\class{IP}}
\newcommand{\coIP}{\coclass{IP}}
\newcommand{\IA}{\class{IA}}
\newcommand{\coIA}{\coclass{IA}}
\newcommand{\pcIP}{\class{public\mbox{-}coin~IP}}
\newcommand{\pcIA}{\class{public\mbox{-}coin~IA}}
\newcommand{\copcIA}{\coclass{(public\mbox{-}coin~IA)}}
\newcommand{\AM}{\class{AM}}
\newcommand{\coAM}{\class{coAM}}
\newcommand{\MA}{\class{MA}}
\renewcommand{\P}{\class{P}}
\newcommand\prBPP{\class{prBPP}}
\newcommand\prRP{\class{prRP}}
\newcommand\prP{\class{prP}}
\newcommand{\Ppoly}{\class{P/poly}}
\newcommand{\DTIME}{\class{DTIME}}
\newcommand{\ETIME}{\class{E}}
\newcommand{\BPTIME}{\class{BPTIME}}
\newcommand{\AMTIME}{\class{AMTIME}}
\newcommand{\ioAMTIME}{\class{[i.o. \negmedspace-\negmedspace AMTIME]}}
\newcommand{\coAMTIME}{\class{coAMTIME}}
\newcommand{\NTIME}{\class{NTIME}}
\newcommand{\coNTIME}{\class{coNTIME}}
\newcommand{\AMcoAM}{(\class{AM} \cap \class{coAM}) \class{TIME}}
\newcommand{\NPcoNP}{(\class{N} \cap \class{coN}) \class{TIME}}
\newcommand{\EXP}{\class{EXP}}
\newcommand{\SUBEXP}{\class{SUBEXP}}
\newcommand{\qP}{\class{\tilde{P}}}
\newcommand{\PH}{\class{PH}}
\newcommand{\SV}{\class{SV}}
\newcommand{\SVpoly}{\class{SV/poly}}
\newcommand{\NEXP}{\class{NEXP}}
\newcommand{\PSPACE}{\class{PSPACE}}
\newcommand{\NE}{\class{NE}}
\newcommand{\coNE}{\class{coNE}}

% zero knowledge complexity classes
\newcommand{\ZK}{\ensuremath{\class{ZK}}}
\newcommand{\NIZK}{\ensuremath{\class{NIZK}}}
\newcommand{\SZK}{\SZKP}
\newcommand{\CZK}{\CZKP}
\newcommand{\SZKa}{\SZKA}
\newcommand{\CZKa}{\CZKA}
\newcommand{\SZKP}{\class{SZKP}}
\newcommand{\SZKA}{\class{SZKA}}
\newcommand{\CZKP}{\class{CZKP}}
\newcommand{\CZKA}{\class{CZKA}}
\newcommand{\coSZKP}{\coclass{SZKP}}
\newcommand{\coSZKA}{\coclass{SZKA}}
\newcommand{\coCZKP}{\coclass{CZKP}}
\newcommand{\coCZKA}{\coclass{CZKA}}
\newcommand{\NISZKP}{\class{NI\mbox{-}SZKP}}

\newcommand{\HVSZK}{\HVSZKP}
\newcommand{\HVCZK}{\HVCZKP}
\newcommand{\HVSZKa}{\HVSZKA}
\newcommand{\HVCZKa}{\HVCZKA}
\newcommand{\HVSZKP}{\class{HV\mbox{-}SZKP}}
\newcommand{\HVCZKP}{\class{HV\mbox{-}CZKP}}
\newcommand{\HVSZKA}{\class{HV\mbox{-}SZKA}}
\newcommand{\HVCZKA}{\class{HV\mbox{-}CZKA}}


%Cref isuues
%make all reference start with uppercase
\renewcommand{\cref}{\Cref}


\newtheorem{theorem}{Theorem}%[section]

\newaliascnt{lemma}{theorem}
\newtheorem{lemma}[lemma]{Lemma}
\aliascntresetthe{lemma}
\crefname{lemma}{Lemma}{Lemmas}

\newaliascnt{problem}{theorem}
\newtheorem{problem}[problem]{Open Problem}
\aliascntresetthe{problem}
\crefname{problem}{Open Problem}{Open Problems}

%\providecommand*{\lemmaautorefname}{Lemma}
\newaliascnt{claim}{theorem}
\newtheorem{claim}[claim]{Claim}
\aliascntresetthe{claim}
\crefname{claim}{Claim}{Claims}

\newaliascnt{question}{theorem}
\newtheorem{question}[question]{Question}
\aliascntresetthe{question}
\crefname{question}{Question}{Questions}

\newaliascnt{corollary}{theorem}
\newtheorem{corollary}[corollary]{Corollary}
\aliascntresetthe{corollary}
\crefname{corollary}{Corollary}{Corollaries}


\newaliascnt{construction}{theorem}
\newtheorem{construction}[construction]{Construction}
\aliascntresetthe{construction}
\crefname{construction}{Construction}{Constructions}

\newaliascnt{fact}{theorem}
\newtheorem{fact}[fact]{Fact}
\aliascntresetthe{fact}
\crefname{fact}{Fact}{Facts}

\newaliascnt{proposition}{theorem}
\newtheorem{proposition}[proposition]{Proposition}
\aliascntresetthe{proposition}
\crefname{proposition}{Proposition}{Propositions}

\newaliascnt{conjecture}{theorem}
\newtheorem{conjecture}[conjecture]{Conjecture}
\aliascntresetthe{conjecture}
\crefname{conjecture}{Conjecture}{Conjectures}


\newaliascnt{definition}{theorem}
\newtheorem{definition}[definition]{Definition}
\aliascntresetthe{definition}
\crefname{definition}{Definition}{Definitions}

\newaliascnt{remark}{theorem}
\newtheorem{remark}[remark]{Remark}
\aliascntresetthe{remark}
\crefname{remark}{Remark}{Remarks}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\theoremstyle{protocol}
%what is proto
\newaliascnt{proto}{theorem}

%the name to appear for the environ
\newtheorem{proto}[proto]{Protocol}

%the name to appear in the reference
\aliascntresetthe{proto}
\crefname{proto}{protocol}{protocols}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\newaliascnt{algo}{theorem}
\newtheorem{algo}[algo]{Algorithm}
\aliascntresetthe{algo}
\crefname{algorithm}{algorithm}{algorithms}

\newaliascnt{expr}{theorem}
\newtheorem{expr}[expr]{Experiment}
\aliascntresetthe{expr}
\crefname{experiment}{experiment}{experiments}

\newtheorem{desc}[expr]{Description}
\crefname{descriptiona}{description}{descriptions}


%
\newcommand{\itemref}[1]{Item~\ref{#1}}



%%% Proof environments %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\def\FullBox{$\Box$}
\def\qed{\ifmmode\qquad\FullBox\else{\unskip\nobreak\hfil
\penalty50\hskip1em\null\nobreak\hfil\FullBox
\parfillskip=0pt\finalhyphendemerits=0\endgraf}\fi}

\def\qedsketch{\ifmmode\Box\else{\unskip\nobreak\hfil
\penalty50\hskip1em\null\nobreak\hfil$\Box$
\parfillskip=0pt\finalhyphendemerits=0\endgraf}\fi}

\newenvironment{proofidea}{\begin{trivlist} \item {\it
Proof Idea.}} {\end{trivlist}}

%\newenvironment{proofof}[1]{\begin{proof}[Proof of~#1]}{\end{proof}}

\newenvironment{proofsketch}{\begin{trivlist} \item {\it
Proof Sketch.}} {\end{trivlist}\qed }

\newenvironment{proofskof}[1]{\begin{trivlist} \item {\it Proof
Sketch of~#1.}} {\end{trivlist}}

%\newenvironment{claimproof}{\begin{quotation}\noindent\begin{proof}[Proof of Claim]}{\end{proof}\end{quotation}}


%%% Statistically-Hiding Commitments %%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\newcommand{\IHpro}{\mathsf{IH}}

\newcommand{\twobind}{\mathrm{bind}}
\newcommand{\uow}{\mathrm{uow}}


\newcommand{\wtau}{\widetilde{\tau}}
\newcommand{\wkappa}{\widetilde{\kappa}}
\newcommand{\wlambda}{\widetilde{\lambda}}
\newcommand{\wsigma}{\widetilde{\sigma}}
\newcommand{\wtsi}{\wsigma}

\newcommand{\Tau}{\mathrm{T}} % denotes the set of transcripts

\newcommand{\GammaRV}{\mathit{\Gamma}}
\newcommand{\PiRV}{\mathit{\Pi}}

\newcommand{\simgeq}{\; \raisebox{-0.4ex}{\tiny$\stackrel
{{\textstyle>}}{\sim}$}\;}
\newcommand{\simleq}{\; \raisebox{-0.4ex}{\tiny$\stackrel
{{\textstyle<}}{\sim}$}\;}

\newcommand{\ex}[2]{\Exp_{#1}\left[#2\right]}
%\newcommand{\Ex}[1]{\Exp \left[#1\right]}
\newcommand{\Ex}{\Exp}
% \renewcommand{\Pr}{{\mathsf {Pr}}}
\newcommand{\pr}[1]{\Pr\left[#1\right]}
\newcommand{\ppr}[2]{\Pr_{#1}\left[#2\right]}

\newcommand{\Ph}{P}

\newcommand{\two}{{1-out-of-2}} %{\ensuremath{\tbinom{2}{1}}}
\newcommand{\e}{\varepsilon}
\newcommand{\Sa}{\mathsf{S}}
\newcommand{\Ra}{\mathsf{R}}
\newcommand{\Sb}{\mathbb{S}}
\newcommand{\Rb}{\mathbb{R}}
\newcommand{\Sc}{\Sa}
\newcommand{\Rc}{\Ra}
\newcommand{\Sf}{S}
\newcommand{\Rf}{R}
\newcommand{\Sn}{\mathbf{S}}
\newcommand{\Rn}{\mathbf{R}}
\newcommand{\Amp}{\operatorname{\mathsf{Amplify}}}
\newcommand{\si}{\sigma}

\newcommand{\B}{\mathcal{B}}
\newcommand{\reveal}{\operatorname{Reveal}}
\newcommand{\cp}{\operatorname{CP}}
\newcommand{\Xh}{\mathbf{X}}
\newcommand{\Vh}{\mathbf{V}}
\newcommand{\cps}{\operatorname{CP^{1/2}}}
\newcommand{\ga}{\gamma}
\newcommand{\avg}{\operatorname{Avg}}
\newcommand{\Tset}{\mathcal{T}}
\newcommand{\Sih}{\ensuremath{S_\mathrm{IH}}}
\newcommand{\Rih}{\ensuremath{R_\mathrm{IH}}}
\newcommand{\Vih}{\ensuremath{V_\mathrm{IH}}}
\newcommand{\concat}{\circ}
\newcommand{\bA}{\overline{A}}
\newcommand{\bV}{\overline{V}}
\newcommand{\bB}{\overline{B}}
\newcommand{\bW}{\overline{W}}
\newcommand{\dI}{\mathcal{I}}
\newcommand{\dJ}{\mathcal{J}}
\newcommand{\de}{\delta}
\newcommand{\Rl}{R_{\ell}}
\newcommand{\taui}{\tau^{(1)}}
\newcommand{\tauii}{\tau^{(2)}}
\newcommand{\aS}{S^*}
\newcommand{\hS}{\hat{S}}
\newcommand{\G}{G}
\newcommand{\Nf}{\widetilde{N}}
\newcommand{\La}{L_{\alpha}}
\newcommand{\whd}{\widehat{d}}
\newcommand{\wtd}{\widetilde{d}}
\newcommand{\whtau}{\widehat{\tau}}
\newcommand{\zb}{\mathbf{z}}
\newcommand{\zh}{\hat{z}}
\newcommand{\ens}[1]{\left\{#1\right\}}
\newcommand{\size}[1]{\left|#1\right|}
\newcommand{\enss}[1]{\{#1\}}
\newcommand{\cindist}{\approx_c}
\newcommand{\sindist}{\approx_s}
\newcommand{\com}{\operatorname{\mathsf{Com}}}
\newcommand{\tP}{\widetilde{P}}
\newcommand{\tf}{\tilde{f}}
\newcommand{\out}{\operatorname{out}}
\newcommand{\Out}{\operatorname{Out}}
\newcommand{\open}{\operatorname{openings}}
\newcommand{\trans}{{\sf trans}}


\newcommand{\transc}[1]{{\sf tra}(#1)}
\newcommand{\view}{\operatorname{view}}
\newcommand{\viewr}[1]{\view_{R^*}(#1)}

\newcommand{\indist}{\approx}
\newcommand{\dist}[1]{\mathbin{\stackrel{\rm {#1}}{\equiv}}}
\newcommand{\Uni}{{\mathord{\mathcal{U}}}}
\newcommand{\Vni}{{\mathord{\mathcal{V}}}}

\newcommand{\phase}{phase}
\newcommand{\HR}{\mathsf{\mbox{2-to-1-}Transform}}
\newcommand{\HRfull}{\mathsf{\mbox{2-to-1-}FullTransform}}

\newcommand{\reduce}{\leq_{\mathrm{p}}}

%%% Zero Knowledge Characterization %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\newcommand{\vadcond}{Vadhan condition}
\newcommand{\OWF}{OWF}
\newcommand{\OWFno}{OWF NO}
\newcommand{\OWFyes}{OWF YES}

\newcommand{\Sbb}{S}

\newcommand{\prob}[1]{\mathsf{\textsc{#1}}}
\newcommand{\yesinstance}{\mathrm{Y}}
\newcommand{\noinstance}{\mathrm{N}}

\newcommand{\SD}{\prob{SD}}
\newcommand{\SDy}{\SD_\yesinstance}
\newcommand{\SDn}{\SD_\noinstance}
\newcommand{\ED}{\prob{ED}}
\newcommand{\EDy}{\ED_\yesinstance}
\newcommand{\EDn}{\ED_\noinstance}
\newcommand{\EA}{\prob{EA}}
\newcommand{\EAy}{\EA_\yesinstance}
\newcommand{\EAn}{\EA_\noinstance}
\newcommand{\cEA}{\overline{\EA}}
\newcommand{\cEAy}{\cEA_\yesinstance}
\newcommand{\cEAn}{\cEA_\noinstance}
\newcommand{\EAS}{\prob{EA'}}
\newcommand{\EASy}{\EAS_\yesinstance}
\newcommand{\EASn}{\EAS_\noinstance}
\newcommand{\cEAS}{\overline{\EAS}}
\newcommand{\cEASy}{\cEAS_\yesinstance}
\newcommand{\cEASn}{\cEAS_\noinstance}
\newcommand{\FlatEA}{\prob{FlatEA}}
\newcommand{\FlatEAy}{\FlatEA_\yesinstance}
\newcommand{\FlatEAn}{\FlatEA_\noinstance}
\newcommand{\cFlatEA}{\overline{\FlatEA}}
\newcommand{\cFlatEAy}{\cFlatEA_\yesinstance}
\newcommand{\cFlatEAn}{\cFlatEA_\noinstance}

\newcommand{\CEA}{\prob{CEA}}
\newcommand{\CEAy}{\CEA_\yesinstance}
\newcommand{\CEAn}{\CEA_\noinstance}

\newcommand{\cL}{{L}}
\newcommand{\cPi}{\overline{\Pi}}
\newcommand{\piy}{\Pi_\yesinstance}
\newcommand{\pin}{\Pi_\noinstance}
\newcommand{\cpiy}{\cPi_\yesinstance}
\newcommand{\cpin}{\cPi_\noinstance}
\newcommand{\gammay}{\Gamma_\yesinstance}
\newcommand{\gamman}{\Gamma_\noinstance}
\newcommand{\Pip}{\Pi'}
\newcommand{\pipy}{\Pip_\yesinstance}
\newcommand{\pipn}{\Pip_\noinstance}
\newcommand{\FFamY}{\FFam_\yesinstance}
\newcommand{\FFamN}{\FFam_\noinstance}
\newcommand{\Gammap}{\Gamma'}
\newcommand{\gammapy}{\Gammap_\yesinstance}
\newcommand{\gammapn}{\Gammap_\noinstance}
\newcommand{\Gammapp}{\Gamma''}
\newcommand{\gammappy}{\Gammapp_\yesinstance}
\newcommand{\gammappn}{\Gammapp_\noinstance}


\newcommand{\Jset}{J}
\newcommand{\Iset}{I}
\newcommand{\Iy}{\Iset_\yesinstance}
\newcommand{\In}{\Iset_\noinstance}

\newcommand{\KL}{\operatorname{KL}}
\newcommand{\I}{\mathcal{I}}

%%% others %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\newcommand{\person}[1]{#1}
\def\state{{\sf state}}
\newcommand{\ppt}{{\sc ppt~}}
\newcommand{\fhp}{{\sc PEP }}
\newcommand{\nfhp}{{\sc PEP}}
%\newcommand{\cF}{{\cal{F}}}
\newcommand{\co}{{\cal{O}}}
\newcommand{\cs}{{\cal{S}}}
\newcommand{\cI}{{\cal{I}}}
\newcommand{\g}{{\cal{G}}}
\newcommand{\q}{{\cal{Q}}}
\newcommand{\Q}{{Q}}
\newcommand{\cA}{\mathcal{A}}
\newcommand{\cB}{\mathcal{B}}
\newcommand{\rh}{H}

\newcommand{\st}{\suchthat}

\newcommand{\twise}{s}
\newcommand{\ndec}{t}
\newcommand{\npi}{n}
\newcommand{\qdecc}{\mu_{\Dec}}
\newcommand{\qdec}{\qdecc(\ndec)}
\newcommand{\qdecinv}{\mu_{\Dec}^{-1}(\npi)}


\newcommand{\qaa}{\mu_{A}}
\newcommand{\qa}{\qaa(\npi)}
\newcommand{\qdecaa}{\mu_{\Dec}}
\newcommand{\qdeca}{\qdecaa(\mu_{A}(\npi))}

\newcommand{\giveh}{\star}

\newcommand{\KDI}{\mathrm{KDI}}
\newcommand{\OWP}{\mathrm{OWP}}
\newcommand{\Bad}{\mathrm{Bad}}

\newcommand{\kmax}{{k_{\textsc{acc}}}}
\newcommand{\kreal}{{k_{\textsc{real}}}}

\newcommand{\Trans}{\mathrm{Trans}}

\newcommand{\Inote}[1]{\authnote{Iftach}{#1}}
\newcommand{\Snote}[1]{\authnote{Salil}{#1}}
\newcommand{\hwnote}[1]{\authnote{Hoeteck}{#1}}
\newcommand{\Onote}[1]{\authnote{Omer}{#1}}
\newcommand{\Ac}{A}
\newcommand{\Bc}{\mathsf{B}}
\newcommand{\Gc}{\mathsf{G}}
\newcommand{\Fc}{F}
\newcommand{\Ic}{\mathsf{I}}
\newcommand{\Ab}{\mathbb{A}}
\newcommand{\Bb}{\mathbb{B}}
\newcommand{\pib}{\mathbb{\pi}}
\newcommand{\tX}{\tilde{X}}
\newcommand{\tO}{\tilde{O}}
\newcommand{\tx}{\tilde{x}}
\newcommand{\calF}{\mathcal{F}}

%\def\ph{phase}
\def\first{{\sf first}}
\def\second{{\sf second}}
\def\fsec{{\sf \set{\first,\second}}}
\newcommand{\hist}{{\operatorname{Hist}}}
\newcommand{\hvy}{{\operatorname{Heavy}}}
\newcommand{\cg}{{\cal{G}}}

\newcommand{\AccHall}{\operatorname{AccH}}
\newcommand{\AccHmin}{\operatorname{AccH_{\infty}}}
\newcommand{\RealHall}{\operatorname{RealH}}
\newcommand{\RealHmin}{\operatorname{RealH_{\infty}}}


\newtheorem{game}[theorem]{Game}
\newcommand{\Nbeg}{{G_{nb}}}
\newcommand{\NBEG}{{NBEG}}
\newcommand{\PRG}{{\operatorname{PRG}}}
\newcommand{\NC}{\class{NC}}
\newcommand{\AC}{\class{AC}}
\newcommand{\Eq}{\operatorname{Eq}}
\newcommand{\desg}{g}

\newcommand{\mt}{{m'}}
\newcommand{\tell}{{\widetilde{\ell}}}

\newcommand{\Hastad}{H{\aa}stad}


\newcommand{\FEG}{\operatorname{FEG}}

\newcommand{\Hmineps}[1]{\operatorname{H_{\infty,#1}}}



\newcommand{\Vc}{\operatorname{V}}
\newcommand{\Pc}{\operatorname{P}}
\newcommand{\ps}{{\Pc^\ast}}
\newcommand{\ph}{{\widehat{\Pc}}}

\newcommand{\merd}{{Merkle-Damg{\aa}rd}}




\newcommand{\handout}[7]{{
\begin{center}
\begin{minipage}{14cm}
    \setlength{\parindent}{0cm}%
    \fbox{\vbox{%
        {#1}%
        \hfill
        #2

        \center{\Large\bf{#5}}

        \emph{#3}\hfill #4
    }}%
    \vskip0pt
    \vbox{\hfill  #6}%
\end{minipage}
\end{center}
\vspace{2cm}
}}
