diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..c89d4f2 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "DSD/journal/65a53e124c15fa3d1334d212"] + path = DSD/journal/65a53e124c15fa3d1334d212 + url = https://git.overleaf.com/65a53e124c15fa3d1334d212 diff --git a/DSD/journal/65a53e124c15fa3d1334d212 b/DSD/journal/65a53e124c15fa3d1334d212 new file mode 160000 index 0000000..f00f1f3 --- /dev/null +++ b/DSD/journal/65a53e124c15fa3d1334d212 @@ -0,0 +1 @@ +Subproject commit f00f1f376a4be3222e30a450706b97a3f51d5225 diff --git a/DSD/journal/ACM b/DSD/journal/ACM new file mode 120000 index 0000000..a5c3725 --- /dev/null +++ b/DSD/journal/ACM @@ -0,0 +1 @@ +65a53e124c15fa3d1334d212 \ No newline at end of file diff --git a/DSD/journal/ACM/acmart.cls b/DSD/journal/ACM/acmart.cls deleted file mode 100644 index 39d62c1..0000000 --- a/DSD/journal/ACM/acmart.cls +++ /dev/null @@ -1,3497 +0,0 @@ -%% -%% This is file `acmart.cls', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% acmart.dtx (with options: `class') -%% -%% IMPORTANT NOTICE: -%% -%% For the copyright see the source file. -%% -%% Any modified versions of this file must be renamed -%% with new filenames distinct from acmart.cls. -%% -%% For distribution of the original source see the terms -%% for copying and modification in the file acmart.dtx. -%% -%% This generated file may be distributed as long as the -%% original source files, as listed above, are part of the -%% same distribution. (The sources need not necessarily be -%% in the same archive or directory.) -%% \CharacterTable -%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -%% Digits \0\1\2\3\4\5\6\7\8\9 -%% Exclamation \! Double quote \" Hash (number) \# -%% Dollar \$ Percent \% Ampersand \& -%% Acute accent \' Left paren \( Right paren \) -%% Asterisk \* Plus \+ Comma \, -%% Minus \- Point \. Solidus \/ -%% Colon \: Semicolon \; Less than \< -%% Equals \= Greater than \> Question mark \? -%% Commercial at \@ Left bracket \[ Backslash \\ -%% Right bracket \] Circumflex \^ Underscore \_ -%% Grave accent \` Left brace \{ Vertical bar \| -%% Right brace \} Tilde \~} - -\NeedsTeXFormat{LaTeX2e} -\ProvidesClass{acmart} -[2023/11/05 v2.00 Typesetting articles for the Association for Computing Machinery] -\def\@classname{acmart} -\InputIfFileExists{acmart-preload-hook.tex}{% - \ClassWarning{\@classname}{% - I am loading acmart-preload-hook.tex. You are fully responsible - for any problems from now on.}}{} -\RequirePackage{xkeyval} -\RequirePackage{xstring} -\RequirePackage{iftex} -\define@choicekey*+{acmart.cls}{format}[\ACM@format\ACM@format@nr]{% - manuscript, acmsmall, acmlarge, acmtog, sigconf, siggraph, - sigplan, sigchi, sigchi-a, acmengage, acmcp}[manuscript]{}{% - \ClassError{\@classname}{The option format must be manuscript, - acmsmall, acmlarge, acmtog, sigconf, siggraph, - sigplan, sigchi or sigchi-a}} -\def\@DeclareACMFormat#1{\DeclareOptionX{#1}{\setkeys{acmart.cls}{format=#1}}} -\@DeclareACMFormat{manuscript} -\@DeclareACMFormat{acmsmall} -\@DeclareACMFormat{acmlarge} -\@DeclareACMFormat{acmtog} -\@DeclareACMFormat{sigconf} -\@DeclareACMFormat{siggraph} -\@DeclareACMFormat{sigplan} -\@DeclareACMFormat{sigchi} -\@DeclareACMFormat{sigchi-a} -\@DeclareACMFormat{acmengage} -\@DeclareACMFormat{acmcp} -\ExecuteOptionsX{format} -\define@boolkey+{acmart.cls}[@ACM@]{screen}[true]{% - \if@ACM@screen - \PackageInfo{\@classname}{Using screen mode}% - \else - \PackageInfo{\@classname}{Not using screen mode}% - \fi}{\PackageError{\@classname}{The option screen can be either true or - false}} -\ExecuteOptionsX{screen=false} -\define@boolkey+{acmart.cls}[@ACM@]{urlbreakonhyphens}[true]{% - \if@ACM@urlbreakonhyphens - \PackageInfo{\@classname}{Using breaking urls on hyphens}% - \else - \PackageInfo{\@classname}{Not breaking urls on hyphens}% - \fi}{\PackageError{\@classname}{The option urlbreakonhyphens can be either true or - false}} -\ExecuteOptionsX{urlbreakonhyphens=true} -\define@boolkey+{acmart.cls}[@ACM@]{acmthm}[true]{% - \if@ACM@acmthm - \PackageInfo{\@classname}{Requiring acmthm}% - \else - \PackageInfo{\@classname}{Suppressing acmthm}% - \fi}{\PackageError{\@classname}{The option acmthm can be either true or - false}} -\ExecuteOptionsX{acmthm=true} -\define@boolkey+{acmart.cls}[@ACM@]{review}[true]{% - \if@ACM@review - \PackageInfo{\@classname}{Using review mode}% - \AtBeginDocument{\@ACM@printfoliostrue}% - \else - \PackageInfo{\@classname}{Not using review mode}% - \fi}{\PackageError{\@classname}{The option review can be either true or - false}} -\ExecuteOptionsX{review=false} -\define@boolkey+{acmart.cls}[@ACM@]{authorversion}[true]{% - \if@ACM@authorversion - \PackageInfo{\@classname}{Using authorversion mode}% - \else - \PackageInfo{\@classname}{Not using authorversion mode}% - \fi}{\PackageError{\@classname}{The option authorversion can be either true or - false}} -\ExecuteOptionsX{authorversion=false} -\define@boolkey+{acmart.cls}[@ACM@]{nonacm}[true]{% - \if@ACM@nonacm - \PackageInfo{\@classname}{Using nonacm mode}% - \AtBeginDocument{\@ACM@printacmreffalse}% - % in 'nonacm' mode we disable the "ACM Reference Format" - % printing by default, but this can be re-enabled by the - % user using \settopmatter{printacmref=true} - \else - \PackageInfo{\@classname}{Not using nonacm mode}% - \fi}{\PackageError{\@classname}{The option nonacm can be either true or - false}} -\ExecuteOptionsX{nonacm=false} -\define@boolkey+{acmart.cls}[@ACM@]{balance}[true]{}{% - \PackageError{\@classname}{The option balance can be either true or - false}} -\ExecuteOptionsX{balance} -\define@boolkey+{acmart.cls}[@ACM@]{pbalance}[true]{}{% - \PackageError{\@classname}{The option pbalance can be either true or - false}} -\ExecuteOptionsX{pbalance=false} -\define@boolkey+{acmart.cls}[@ACM@]{natbib}[true]{% - \if@ACM@natbib - \PackageInfo{\@classname}{Explicitly selecting natbib mode}% - \else - \PackageInfo{\@classname}{Explicitly deselecting natbib mode}% - \fi}{\PackageError{\@classname}{The option natbib can be either true or - false}} -\ExecuteOptionsX{natbib=true} -\define@boolkey+{acmart.cls}[@ACM@]{anonymous}[true]{% - \if@ACM@anonymous - \PackageInfo{\@classname}{Using anonymous mode}% - \else - \PackageInfo{\@classname}{Not using anonymous mode}% - \fi}{\PackageError{\@classname}{The option anonymous can be either true or - false}} -\ExecuteOptionsX{anonymous=false} -\define@boolkey+{acmart.cls}[@ACM@]{timestamp}[true]{% - \if@ACM@timestamp - \PackageInfo{\@classname}{Using timestamp mode}% - \else - \PackageInfo{\@classname}{Not using timestamp mode}% - \fi}{\PackageError{\@classname}{The option timestamp can be either true or - false}} -\ExecuteOptionsX{timestamp=false} -\define@boolkey+{acmart.cls}[@ACM@]{authordraft}[true]{% - \if@ACM@authordraft - \PackageInfo{\@classname}{Using authordraft mode}% - \@ACM@timestamptrue - \@ACM@reviewtrue - \else - \PackageInfo{\@classname}{Not using authordraft mode}% - \fi}{\PackageError{\@classname}{The option authordraft can be either true or - false}} -\ExecuteOptionsX{authordraft=false} -\def\ACM@fontsize{} -\DeclareOptionX{8pt}{\edef\ACM@fontsize{\CurrentOption}} -\DeclareOptionX{9pt}{\edef\ACM@fontsize{\CurrentOption}} -\DeclareOptionX{10pt}{\edef\ACM@fontsize{\CurrentOption}} -\DeclareOptionX{11pt}{\edef\ACM@fontsize{\CurrentOption}} -\DeclareOptionX{12pt}{\edef\ACM@fontsize{\CurrentOption}} -\def\ACM@languages{} -\DeclareOptionX{language}{% - \ifx\ACM@languages\@empty - \gdef\ACM@languages{english}\fi - \g@addto@macro\ACM@languages{, #1}} -\DeclareOptionX{draft}{\PassOptionsToClass{\CurrentOption}{amsart}} -\DeclareOptionX{*}{\PassOptionsToClass{\CurrentOption}{amsart}} -\ProcessOptionsX -\ClassInfo{\@classname}{Using format \ACM@format, number \ACM@format@nr} -\newif\if@ACM@manuscript -\newif\if@ACM@journal -\newif\if@ACM@journal@bibstrip -\newif\if@ACM@sigchiamode -\newif\if@ACM@engage -\@ACM@engagefalse -\newif\if@ACM@acmcp -\@ACM@acmcpfalse -\ifnum\ACM@format@nr=5\relax % siggraph -\ClassWarning{\@classname}{% - The format siggraph is now obsolete.\MessageBreak - I am switching to sigconf.} - \setkeys{acmart.cls}{format=sigconf} -\fi -\ifnum\ACM@format@nr=7\relax % sigchi -\ClassWarning{\@classname}{% - The format sigchi is now obsolete.\MessageBreak - I am switching to sigconf.} - \setkeys{acmart.cls}{format=sigconf} -\fi -\ifnum\ACM@format@nr=8\relax % sigchi -\ClassWarning{\@classname}{% - ACM SIGCHI has retired the SIGCHI-A template\MessageBreak - effective immediately. ACM is keeping this template\MessageBreak - option available to authors who are working on legacy\MessageBreak - documents only. ACM will not, under any circumstances,\MessageBreak - accept documents in this format for publication and\MessageBreak - will not offer technical support to the authors who use\MessageBreak - this template.\MessageBreak - ACM SIGCHI is directing Conference leaders and\MessageBreak - authors to publish their articles using the SIGCONF\MessageBreak - template call.} -\fi -\ifnum\ACM@format@nr=0\relax - \@ACM@manuscripttrue -\else - \@ACM@manuscriptfalse -\fi -\@ACM@sigchiamodefalse -\ifcase\ACM@format@nr -\relax % manuscript - \@ACM@journaltrue -\or % acmsmall - \@ACM@journaltrue -\or % acmlarge - \@ACM@journaltrue -\or % acmtog - \@ACM@journaltrue -\or % sigconf - \@ACM@journalfalse -\or % siggraph - \@ACM@journalfalse - \or % sigplan - \@ACM@journalfalse - \or % sigchi - \@ACM@journalfalse -\or % sigchi-a - \@ACM@journalfalse - \@ACM@sigchiamodetrue -\or % acmengage - \@ACM@journalfalse - \@ACM@engagetrue -\or % acmcp - \@ACM@journaltrue - \@ACM@acmcptrue - \AtBeginDocument{\@ACM@printacmreffalse}% -\fi -\if@ACM@journal - \@ACM@journal@bibstriptrue -\else - \@ACM@journal@bibstripfalse -\fi -\ifx\ACM@fontsize\@empty - \ifcase\ACM@format@nr - \relax % manuscript - \def\ACM@fontsize{9pt}% - \or % acmsmall - \def\ACM@fontsize{10pt}% - \or % acmlarge - \def\ACM@fontsize{10pt}% - \or % acmtog - \def\ACM@fontsize{9pt}% - \or % sigconf - \def\ACM@fontsize{9pt}% - \or % siggraph - \def\ACM@fontsize{9pt}% - \or % sigplan - \def\ACM@fontsize{10pt}% - \or % sigchi - \def\ACM@fontsize{9pt}% - \or % sigchi-a - \def\ACM@fontsize{10pt}% - \or % acmengage - \def\ACM@fontsize{10pt}% - \or % acmcp - \def\ACM@fontsize{9pt}% - \fi -\fi -\ClassInfo{\@classname}{Using fontsize \ACM@fontsize} -\LoadClass[\ACM@fontsize, reqno]{amsart} -\RequirePackage{microtype} -\RequirePackage{etoolbox} -\RequirePackage{booktabs} -\RequirePackage{refcount} -\RequirePackage{totpages} -\RequirePackage{environ} -\if@ACM@manuscript -\RequirePackage{setspace} -\onehalfspacing -\fi -\RequirePackage{textcase} -\if@ACM@acmcp -\RequirePackage{framed} -\RequirePackage{zref-savepos, zref-user} -\fi -\newdimen\@ACM@acmcp@delta -\@ACM@acmcp@delta=0pt\relax -\if@ACM@natbib - \RequirePackage{natbib} - \renewcommand{\bibsection}{% - \section*{\refname}% - \phantomsection\addcontentsline{toc}{section}{\refname}% - } - \renewcommand{\bibfont}{\bibliofont} - \renewcommand\setcitestyle[1]{ - \@for\@tempa:=#1\do - {\def\@tempb{round}\ifx\@tempa\@tempb - \renewcommand\NAT@open{(}\renewcommand\NAT@close{)}\fi - \def\@tempb{square}\ifx\@tempa\@tempb - \renewcommand\NAT@open{[}\renewcommand\NAT@close{]}\fi - \def\@tempb{angle}\ifx\@tempa\@tempb - \renewcommand\NAT@open{$<$}\renewcommand\NAT@close{$>$}\fi - \def\@tempb{curly}\ifx\@tempa\@tempb - \renewcommand\NAT@open{\{}\renewcommand\NAT@close{\}}\fi - \def\@tempb{semicolon}\ifx\@tempa\@tempb - \renewcommand\NAT@sep{;}\fi - \def\@tempb{colon}\ifx\@tempa\@tempb - \renewcommand\NAT@sep{;}\fi - \def\@tempb{comma}\ifx\@tempa\@tempb - \renewcommand\NAT@sep{,}\fi - \def\@tempb{authoryear}\ifx\@tempa\@tempb - \NAT@numbersfalse\fi - \def\@tempb{numbers}\ifx\@tempa\@tempb - \NAT@numberstrue\NAT@superfalse\fi - \def\@tempb{super}\ifx\@tempa\@tempb - \NAT@numberstrue\NAT@supertrue\fi - \def\@tempb{nobibstyle}\ifx\@tempa\@tempb - \let\bibstyle=\@gobble\fi - \def\@tempb{bibstyle}\ifx\@tempa\@tempb - \let\bibstyle=\@citestyle\fi - \def\@tempb{sort}\ifx\@tempa\@tempb - \def\NAT@sort{\@ne}\fi - \def\@tempb{nosort}\ifx\@tempa\@tempb - \def\NAT@sort{\z@}\fi - \def\@tempb{compress}\ifx\@tempa\@tempb - \def\NAT@cmprs{\@ne}\fi - \def\@tempb{nocompress}\ifx\@tempa\@tempb - \def\NAT@cmprs{\z@}\fi - \def\@tempb{sort&compress}\ifx\@tempa\@tempb - \def\NAT@sort{\@ne}\def\NAT@cmprs{\@ne}\fi - \def\@tempb{mcite}\ifx\@tempa\@tempb - \let\NAT@merge\@ne\fi - \def\@tempb{merge}\ifx\@tempa\@tempb - \@ifnum{\NAT@merge<\tw@}{\let\NAT@merge\tw@}{}\fi - \def\@tempb{elide}\ifx\@tempa\@tempb - \@ifnum{\NAT@merge<\thr@@}{\let\NAT@merge\thr@@}{}\fi - \def\@tempb{longnamesfirst}\ifx\@tempa\@tempb - \NAT@longnamestrue\fi - \def\@tempb{nonamebreak}\ifx\@tempa\@tempb - \def\NAT@nmfmt#1{\mbox{\NAT@up#1}}\fi - \expandafter\NAT@find@eq\@tempa=\relax\@nil - \if\@tempc\relax\else - \expandafter\NAT@rem@eq\@tempc - \def\@tempb{open}\ifx\@tempa\@tempb - \xdef\NAT@open{\@tempc}\fi - \def\@tempb{close}\ifx\@tempa\@tempb - \xdef\NAT@close{\@tempc}\fi - \def\@tempb{aysep}\ifx\@tempa\@tempb - \xdef\NAT@aysep{\@tempc}\fi - \def\@tempb{yysep}\ifx\@tempa\@tempb - \xdef\NAT@yrsep{\@tempc}\fi - \def\@tempb{notesep}\ifx\@tempa\@tempb - \xdef\NAT@cmt{\@tempc}\fi - \def\@tempb{citesep}\ifx\@tempa\@tempb - \xdef\NAT@sep{\@tempc}\fi - \fi - }% - \NAT@@setcites - } - \renewcommand\citestyle[1]{% - \ifcsname bibstyle@#1\endcsname% - \csname bibstyle@#1\endcsname\let\bibstyle\@gobble% - \else% - \@latex@error{Undefined `#1' citestyle}% - \fi - }% -\fi -\newcommand{\bibstyle@acmauthoryear}{% - \setcitestyle{% - authoryear,% - open={[},close={]},citesep={;},% - aysep={},yysep={,},% - notesep={, }}} -\newcommand{\bibstyle@acmnumeric}{% - \setcitestyle{% - numbers,sort&compress,% - open={[},close={]},citesep={,},% - notesep={, }}} -\if@ACM@natbib -\citestyle{acmnumeric} -\fi -\if@ACM@journal - \renewcommand\keywordsname{Additional Key Words and Phrases}% -\else - \renewcommand\keywordsname{Keywords}% -\fi -\if@ACM@engage - \renewcommand\abstractname{Synopsis}% -\fi -\ifx\ACM@languages\@empty -\else - \RequirePackage[\ACM@languages]{babel}% - \addto\captionsenglish{% - \if@ACM@journal - \renewcommand\keywordsname{Additional Key Words and Phrases}% - \else - \renewcommand\keywordsname{Keywords}% - \fi - \renewcommand\acksname{Acknowledgements}% - \if@ACM@engage - \renewcommand\abstractname{Synopsis}% - \fi - }% - \addto\captionsfrench{% - \if@ACM@journal - \renewcommand\keywordsname{Mots Clés et Phrases Supplémentaires}% - \else - \renewcommand\keywordsname{Mots clés}% - \fi - \renewcommand\acksname{Remerciements}% - }% - \addto\captionsgerman{% - \if@ACM@journal - \renewcommand\keywordsname{Zusätzliche Schlagwörter und Phrasen}% - \else - \renewcommand\keywordsname{Schlagwörter}% - \fi - \renewcommand\acksname{Danksagungen}% - }% - \addto\captionsspanish{% - \if@ACM@journal - \renewcommand\keywordsname{Palabras y Frases Claves Adicionales}% - \else - \renewcommand\keywordsname{Palabras claves}% - \fi - \renewcommand\acksname{Expresiones de gratitud}% - }% -\fi -\newcommand\ACM@lang@check[1]{% - \ifx\ACM@languages\@empty\relax - \ClassError{\@classname}{% - Command \string#1 \MessageBreak is used in monlingual document}{% - You used a command (\string#1) \MessageBreak - that does not have a meaning \MessageBreak - unless are languages are defined. \MessageBreak - Please choose the languages in \string\documentclass - \MessageBreak - (e.g. \string\documentclass[languages={french, english}]{acmart}), - \MessageBreak - or delete the command.}% - \fi} -\def\@translatedtitle{} -\newcommand\translatedtitle[2]{\ACM@lang@check{\translatedtitle}% -\g@addto@macro\@translatedtitle{\par\foreignlanguage{#1}{#2}}} -\def\@translatedsubtitle{} -\newcommand\translatedsubtitle[2]{\ACM@lang@check{\translatedsubtitle}% -\g@addto@macro\@translatedsubtitle{\par\foreignlanguage{#1}{#2}}} -\def\@translatedkeywords{} -\newcommand\translatedkeywords[2]{\ACM@lang@check{\translatedkeywords}% -\g@addto@macro\@translatedkeywords{\@mktranslatedkeywords{#1}{#2}}} -\def\@translatedabstracts{} -\newenvironment{translatedabstract}[1]{\Collect@Body - \@savetranslatedabstract\@mktranslatedabstract{#1}}{} -\long\def\@savetranslatedabstract#1{\if@ACM@maketitle@typeset - \ClassError{\@classname}{Abstract must be defined before maketitle - command. Please move it!}\fi - \ACM@lang@check{translatedabstract}% - \g@addto@macro\@translatedabstracts{\bgroup#1\egroup}} -\def\@startsection#1#2#3#4#5#6{% - \if@noskipsec \leavevmode \fi - \par - \@tempskipa #4\relax - \@afterindenttrue - \ifdim \@tempskipa <\z@ - \@tempskipa -\@tempskipa \@afterindentfalse - \fi - \if@nobreak - \everypar{}% - \else - \addpenalty\@secpenalty\addvspace\@tempskipa - \fi - \@ifstar - {\@ssect{#3}{#4}{#5}{#6}}% - {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} -\def\@sect#1#2#3#4#5#6[#7]#8{% - \edef\@toclevel{\ifnum#2=\@m 0\else\number#2\fi}% - \ifnum #2>\c@secnumdepth - \let\@svsec\@empty - \else - \refstepcounter{#1}% - \protected@edef\@svsec{\@seccntformat{#1}\relax}% - \fi - \@tempskipa #5\relax - \ifdim \@tempskipa>\z@ - \begingroup - #6{% - \@hangfrom{\hskip #3\relax\@svsec}% - \interlinepenalty \@M #8\@@par}% - \endgroup - \csname #1mark\endcsname{#7}% - \ifnum #2>\c@secnumdepth \else - \@tochangmeasure{\csname the#1\endcsname}% - \fi - \addcontentsline{toc}{#1}{% - \ifnum #2>\c@secnumdepth \else - \protect\numberline{\csname the#1\endcsname}% - \fi - #7}% - \else - \def\@svsechd{% - #6{\hskip #3\relax - \@svsec #8}% - \csname #1mark\endcsname{#7}% - \ifnum #2>\c@secnumdepth \else - \@tochangmeasure{\csname the#1\endcsname\space}% - \fi - \addcontentsline{toc}{#1}{% - \ifnum #2>\c@secnumdepth \else - \protect\numberline{\csname the#1\endcsname}% - \fi - #7}}% - \fi - \@xsect{#5}} -\def\@xsect#1{% - \@tempskipa #1\relax - \ifdim \@tempskipa>\z@ - \par \nobreak - \vskip \@tempskipa - \@afterheading - \else - \@nobreakfalse - \global\@noskipsectrue - \everypar{% - \if@noskipsec - \global\@noskipsecfalse - {\setbox\z@\lastbox}% - \clubpenalty\@M - \begingroup \@svsechd \endgroup - \unskip - \@tempskipa #1\relax - \hskip -\@tempskipa - \else - \clubpenalty \@clubpenalty - \everypar{}% - \fi}% - \fi - \ignorespaces} -\def\@seccntformat#1{\csname the#1\endcsname\quad} -\def\@ssect#1#2#3#4#5{% - \@tempskipa #3\relax - \ifdim \@tempskipa>\z@ - \begingroup - #4{% - \@hangfrom{\hskip #1}% - \interlinepenalty \@M #5\@@par}% - \endgroup - \else - \def\@svsechd{#4{\hskip #1\relax #5}}% - \fi - \@xsect{#3}} -\def\@starttoc#1#2{\begingroup\makeatletter - \setTrue{#1}% - \par\removelastskip\vskip\z@skip - \@startsection{section}\@M\z@{\linespacing\@plus\linespacing}% - {.5\linespacing}{\centering\contentsnamefont}{#2}% - \@input{\jobname.#1}% - \if@filesw - \@xp\newwrite\csname tf@#1\endcsname - \immediate\@xp\openout\csname tf@#1\endcsname \jobname.#1\relax - \fi - \global\@nobreakfalse \endgroup - \addvspace{32\p@\@plus14\p@}% -} -\def\l@section{\@tocline{1}{0pt}{1pc}{2pc}{}} -\def\l@subsection{\@tocline{2}{0pt}{1pc}{3pc}{}} -\def\l@subsubsection{\@tocline{3}{0pt}{1pc}{5pc}{}} -\def\@makefntext{\noindent\@makefnmark} -\if@ACM@sigchiamode -\long\def\@footnotetext#1{\marginpar{% - \reset@font\small - \interlinepenalty\interfootnotelinepenalty - \protected@edef\@currentlabel{% - \csname p@footnote\endcsname\@thefnmark - }% - \color@begingroup - \@makefntext{% - \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% - \color@endgroup}}% -\fi -\long\def\@mpfootnotetext#1{% - \global\setbox\@mpfootins\vbox{% - \unvbox\@mpfootins - \reset@font\footnotesize - \hsize\columnwidth - \@parboxrestore - \protected@edef\@currentlabel - {\csname p@mpfootnote\endcsname\@thefnmark}% - \color@begingroup\centering - \@makefntext{% - \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% - \color@endgroup}} -\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}} -\let\@footnotemark@nolink\@footnotemark -\let\@footnotetext@nolink\@footnotetext -\RequirePackage[bookmarksnumbered,unicode]{hyperref} -\RequirePackage{hyperxmp} -\pdfstringdefDisableCommands{% - \def\addtocounter#1#2{}% - \def\unskip{}% - \def\textbullet{- }% - \def\textrightarrow{ -> }% - \def\footnotemark{}% -} -\urlstyle{rm} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog -\or % sigconf -\or % siggraph -\or % sigplan - \urlstyle{sf} -\or % sigchi -\or % sigchi-a - \urlstyle{sf} -\or % acmengage -\or % acmcp -\fi -\AtEndPreamble{% - \if@ACM@urlbreakonhyphens - \def\do@url@hyp{\do\-}% - \fi - \if@ACM@screen - \hypersetup{colorlinks, - linkcolor=ACMPurple, - citecolor=ACMPurple, - urlcolor=ACMDarkBlue, - filecolor=ACMDarkBlue} - \else - \hypersetup{hidelinks} - \fi - \hypersetup{pdflang={en}, - pdfdisplaydoctitle}} -\if@ACM@natbib - \let\citeN\cite - \let\cite\citep - \let\citeANP\citeauthor - \let\citeNN\citeyearpar - \let\citeyearNP\citeyear - \let\citeNP\citealt - \DeclareRobustCommand\citeA - {\begingroup\NAT@swafalse - \let\NAT@ctype\@ne\NAT@partrue\NAT@fullfalse\NAT@open\NAT@citetp}% - \providecommand\newblock{}% -\else - \AtBeginDocument{% - \let\shortcite\cite% - \providecommand\citename[1]{#1}} -\fi -\newcommand\shortcite[2][]{% - \ifNAT@numbers\cite[#1]{#2}\else\citeyearpar[#1]{#2}\fi} -\def\bibliographystyle#1{% - \ifx\@begindocumenthook\@undefined\else - \expandafter\AtBeginDocument - \fi - {\if@filesw - \immediate\write\@auxout{\string\bibstyle{#1}}% - \fi}} -\RequirePackage{graphicx} -\RequirePackage[prologue]{xcolor} -\definecolor[named]{ACMBlue}{cmyk}{1,0.1,0,0.1} -\definecolor[named]{ACMYellow}{cmyk}{0,0.16,1,0} -\definecolor[named]{ACMOrange}{cmyk}{0,0.42,1,0.01} -\definecolor[named]{ACMRed}{cmyk}{0,0.90,0.86,0} -\definecolor[named]{ACMLightBlue}{cmyk}{0.49,0.01,0,0} -\definecolor[named]{ACMGreen}{cmyk}{0.20,0,1,0.19} -\definecolor[named]{ACMPurple}{cmyk}{0.55,1,0,0.15} -\definecolor[named]{ACMDarkBlue}{cmyk}{1,0.58,0,0.21} -\if@ACM@authordraft - \RequirePackage{draftwatermark} - \SetWatermarkFontSize{0.5in} - \SetWatermarkColor[gray]{.9} - \SetWatermarkText{\parbox{12em}{\centering - Unpublished working draft.\\ - Not for distribution.}} -\else - \if@ACM@sigchiamode - \if@ACM@nonacm\else - \RequirePackage{draftwatermark} - \SetWatermarkFontSize{0.5in} - \SetWatermarkColor[gray]{.9} - \SetWatermarkText{\parbox{12em}{\centering - Legacy document. \\ - Not for publication in an ACM venue}} - \fi - \fi -\fi -\RequirePackage{geometry} -\ifcase\ACM@format@nr -\relax % manuscript - \geometry{letterpaper,head=13pt, - marginparwidth=6pc,heightrounded}% -\or % acmsmall - \geometry{twoside=true, - includeheadfoot, head=13pt, foot=2pc, - paperwidth=6.75in, paperheight=10in, - top=58pt, bottom=44pt, inner=46pt, outer=46pt, - marginparwidth=2pc,heightrounded - }% -\or % acmlarge - \geometry{twoside=true, head=13pt, foot=2pc, - paperwidth=8.5in, paperheight=11in, - includeheadfoot, - top=78pt, bottom=114pt, inner=81pt, outer=81pt, - marginparwidth=4pc,heightrounded - }% -\or % acmtog - \geometry{twoside=true, head=13pt, foot=2pc, - paperwidth=8.5in, paperheight=11in, - includeheadfoot, columnsep=24pt, - top=52pt, bottom=75pt, inner=52pt, outer=52pt, - marginparwidth=2pc,heightrounded - }% -\or % sigconf - \geometry{twoside=true, head=13pt, - paperwidth=8.5in, paperheight=11in, - includeheadfoot, columnsep=2pc, - top=57pt, bottom=73pt, inner=54pt, outer=54pt, - marginparwidth=2pc,heightrounded - }% -\or % siggraph - \geometry{twoside=true, head=13pt, - paperwidth=8.5in, paperheight=11in, - includeheadfoot, columnsep=2pc, - top=57pt, bottom=73pt, inner=54pt, outer=54pt, - marginparwidth=2pc,heightrounded - }% -\or % sigplan - \geometry{twoside=true, head=13pt, - paperwidth=8.5in, paperheight=11in, - includeheadfoot=false, columnsep=2pc, - top=1in, bottom=1in, inner=0.75in, outer=0.75in, - marginparwidth=2pc,heightrounded - }% -\or % sigchi - \geometry{twoside=true, head=13pt, - paperwidth=8.5in, paperheight=11in, - includeheadfoot, columnsep=2pc, - top=66pt, bottom=73pt, inner=54pt, outer=54pt, - marginparwidth=2pc,heightrounded - }% -\or % sigchi-a - \geometry{twoside=false, head=13pt, - paperwidth=11in, paperheight=8.5in, - includeheadfoot, marginparsep=72pt, - marginparwidth=170pt, columnsep=20pt, - top=72pt, bottom=72pt, left=314pt, right=72pt - }% - \@mparswitchfalse - \reversemarginpar -\or % acmengage - \geometry{twoside=true, head=13pt, - paperwidth=8.5in, paperheight=11in, - includeheadfoot, columnsep=2pc, - top=57pt, bottom=73pt, inner=54pt, outer=54pt, - marginparwidth=2pc,heightrounded - }% -\or % acmcp - \geometry{twoside=true, - includeheadfoot, head=13pt, foot=2pc, - paperwidth=6.75in, paperheight=10in, - top=58pt, bottom=44pt, inner=46pt, outer=46pt, - marginparwidth=2pc,heightrounded - }% -\fi -\setlength\parindent{10\p@} -\setlength\parskip{\z@} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog - \setlength\parindent{9\p@}% -\or % sigconf -\or % siggraph -\or % sigplan -\or % sigchi -\or % sigchi-a -\or % acmengage -\or % acmcp -\fi -\setlength\normalparindent{\parindent} -\def\copyrightpermissionfootnoterule{\kern-3\p@ - \hrule \@width \columnwidth \kern 2.6\p@} -\RequirePackage{manyfoot} -\SelectFootnoteRule[2]{copyrightpermission} -\DeclareNewFootnote{authorsaddresses} -\SelectFootnoteRule[2]{copyrightpermission} -\DeclareNewFootnote{copyrightpermission} -\def\footnoterule{\kern-3\p@ - \hrule \@width 4pc \kern 2.6\p@} -\def\endminipage{% - \par - \unskip - \ifvoid\@mpfootins\else - \vskip\skip\@mpfootins - \normalcolor - \unvbox\@mpfootins - \fi - \@minipagefalse - \color@endgroup - \egroup - \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}} -\def\@textbottom{\vskip \z@ \@plus 1pt} -\let\@texttop\relax -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog - \flushbottom -\or % sigconf - \flushbottom -\or % siggraph - \flushbottom -\or % sigplan - \flushbottom -\or % sigchi - \flushbottom -\or % sigchi-a -\or % acmengage - \flushbottom -\or % acmcp - \flushbottom -\fi -\ifPDFTeX -\input{glyphtounicode} -\pdfglyphtounicode{f_f}{FB00} -\pdfglyphtounicode{f_f_i}{FB03} -\pdfglyphtounicode{f_f_l}{FB04} -\pdfglyphtounicode{f_i}{FB01} -\pdfglyphtounicode{t_t}{0074 0074} -\pdfglyphtounicode{f_t}{0066 0074} -\pdfglyphtounicode{T_h}{0054 0068} -\pdfgentounicode=1 -\RequirePackage{cmap} -\fi -\newif\if@ACM@newfonts -\@ACM@newfontstrue -\IfFileExists{libertine.sty}{}{\ClassWarning{\@classname}{You do not - have the libertine package installed. Please upgrade your - TeX}\@ACM@newfontsfalse} -\IfFileExists{zi4.sty}{}{\ClassWarning{\@classname}{You do not - have the inconsolata (zi4.sty) package installed. Please upgrade your - TeX}\@ACM@newfontsfalse} -\IfFileExists{newtxmath.sty}{}{\ClassWarning{\@classname}{You do not - have the newtxmath package installed. Please upgrade your - TeX}\@ACM@newfontsfalse} -\if@ACM@newfonts - \RequirePackage[T1]{fontenc} - % Note that the order in which packages are loaded matters, - % and the correct order depends on the LaTeX engine used. - % See https://github.com/borisveytsman/acmart/issues/402 - % and https://github.com/borisveytsman/acmart/issues/410 - \ifxetex - \RequirePackage[libertine]{newtxmath} - \RequirePackage[tt=false]{libertine} - \setmonofont[StylisticSet=3]{inconsolata} - \else - \ifluatex - \RequirePackage[libertine]{newtxmath} - \RequirePackage[tt=false]{libertine} - \setmonofont[StylisticSet=3]{inconsolata} - \else - \RequirePackage[tt=false, type1=true]{libertine} - \RequirePackage[varqu]{zi4} - \RequirePackage[libertine]{newtxmath} - \fi - \fi -\fi -\let\liningnums\@undefined -\AtEndPreamble{% - \DeclareTextFontCommand{\liningnums}{\libertineLF}} -\if@ACM@sigchiamode - \renewcommand{\familydefault}{\sfdefault} -\fi -\newif\if@Description@present -\@Description@presenttrue -\newif\if@undescribed@images -\@undescribed@imagesfalse -\newcommand\Description[2][]{\global\@Description@presenttrue\ignorespaces} -\AtEndDocument{\if@undescribed@images - \ClassWarningNoLine{\@classname}{Some images may lack descriptions}\fi} -\AtBeginEnvironment{figure}{\@Description@presentfalse - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{figure*}{\@Description@presentfalse - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtEndEnvironment{figure}{\if@Description@present\else - \global\@undescribed@imagestrue - \ClassWarning{\@classname}{A possible image without description}\fi} -\AtEndEnvironment{figure*}{\if@Description@present\else - \global\@undescribed@imagestrue - \ClassWarning{\@classname}{A possible image without description}\fi} -\AtBeginEnvironment{table}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{table*}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{algorithm}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{algorithm*}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{lstlisting}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{lstlisting*}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{minted}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{minted*}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{listing}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} -\AtBeginEnvironment{listing*}{\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig} - -\RequirePackage{caption, float} -\captionsetup[table]{position=top} -\if@ACM@journal - \captionsetup{labelfont={sf, small}, - textfont={sf, small}, margin=\z@} - \captionsetup[figure]{name={Fig.}} -\else - \captionsetup{labelfont={bf}, - textfont={bf}, labelsep=colon, margin=\z@} - \ifcase\ACM@format@nr - \relax % manuscript - \or % acmsmall - \or % acmlarge - \or % acmtog - \or % sigconf - \or % siggraph - \captionsetup{textfont={it}} - \or % sigplan - \captionsetup{labelfont={bf}, - textfont={normalfont}, labelsep=period, margin=\z@} - \or % sigchi - \captionsetup[figure]{labelfont={bf, small}, - textfont={bf, small}} - \captionsetup[table]{labelfont={bf, small}, - textfont={bf, small}} - \or % sigchi-a - \captionsetup[figure]{labelfont={bf, small}, - textfont={bf, small}} - \captionsetup[table]{labelfont={bf, small}, - textfont={bf, small}} - \or % acmengage - \or % acmcp - \fi -\fi -\newfloat{sidebar}{}{sbar} -\floatname{sidebar}{Sidebar} -\renewenvironment{sidebar}{\Collect@Body\@sidebar}{} -\long\def\@sidebar#1{\bgroup\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig\captionsetup{type=sidebar}% - \marginpar{\small#1}\egroup} -\newenvironment{marginfigure}{\Collect@Body\@marginfigure}{} -\long\def\@marginfigure#1{\bgroup - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig - \captionsetup{type=figure}% - \marginpar{\@Description@presentfalse\centering - \small#1\if@Description@present\else - \global\@undescribed@imagestrue - \ClassWarning{\@classname}{A possible image without description} - \fi}% - \egroup} -\newenvironment{margintable}{\Collect@Body\@margintable}{} -\long\def\@margintable#1{\bgroup\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig\captionsetup{type=table}% - \marginpar{\centering\small#1}\egroup} -\newdimen\fulltextwidth -\fulltextwidth=\dimexpr(\textwidth+\marginparwidth+\marginparsep) -\if@ACM@sigchiamode -\def\@dblfloat{\bgroup\let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig\columnwidth=\fulltextwidth - \let\@endfloatbox\@endwidefloatbox - \def\@fpsadddefault{\def\@fps{tp}}% - \@float} -\fi -\if@ACM@sigchiamode -\def\end@dblfloat{% - \end@float\egroup} -\fi -\def\@endwidefloatbox{% - \par\vskip\z@skip - \@minipagefalse - \outer@nobreak - \egroup - \color@endbox - \global\setbox\@currbox=\vbox{\moveleft - \dimexpr(\fulltextwidth-\textwidth)\box\@currbox}% - \wd\@currbox=\textwidth -} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog -\or % sigconf -\or % siggraph -\or % sigplan -\def\labelenumi{\theenumi.} -\def\labelenumii{\theenumii.} -\def\labelenumiii{\theenumiii.} -\def\labelenumiv{\theenumiv.} -\or % sigchi -\or % sigchi-a -\or % acmengage -\or % acmcp -\fi -\newdimen\@ACM@labelwidth -\AtBeginDocument{% - \setlength\labelsep{4pt} - \setlength{\@ACM@labelwidth}{6.5pt} - - %% First-level list: when beginning after the first line of an - %% indented paragraph or ending before an indented paragraph, labels - %% should not hang to the left of the preceding/following text. - \setlength\leftmargini{\z@} - \addtolength\leftmargini{\parindent} - \addtolength\leftmargini{2\labelsep} - \addtolength\leftmargini{\@ACM@labelwidth} - - %% Second-level and higher lists. - \setlength\leftmarginii{\z@} - \addtolength\leftmarginii{0.5\labelsep} - \addtolength\leftmarginii{\@ACM@labelwidth} - \setlength\leftmarginiii{\leftmarginii} - \setlength\leftmarginiv{\leftmarginiii} - \setlength\leftmarginv{\leftmarginiv} - \setlength\leftmarginvi{\leftmarginv} - \@listi} -\newskip\listisep -\listisep\smallskipamount -\def\@listI{\leftmargin\leftmargini - \labelwidth\leftmargini \advance\labelwidth-\labelsep - \listparindent\z@ - \topsep\listisep} -\let\@listi\@listI -\def\@listii{\leftmargin\leftmarginii - \labelwidth\leftmarginii \advance\labelwidth-\labelsep - \topsep\z@skip} -\def\@listiii{\leftmargin\leftmarginiii - \labelwidth\leftmarginiii \advance\labelwidth-\labelsep} -\def\@listiv{\leftmargin\leftmarginiv - \labelwidth\leftmarginiv \advance\labelwidth-\labelsep} -\def\@listv{\leftmargin\leftmarginv - \labelwidth\leftmarginv \advance\labelwidth-\labelsep} -\def\@listvi{\leftmargin\leftmarginvi - \labelwidth\leftmarginvi \advance\labelwidth-\labelsep} -\renewcommand{\descriptionlabel}[1]{\upshape\bfseries #1} -\renewenvironment{description}{\list{}{% - \labelwidth\@ACM@labelwidth - \let\makelabel\descriptionlabel}% -}{ - \endlist -} -\let\enddescription=\endlist % for efficiency -\newif\if@ACM@maketitle@typeset -\@ACM@maketitle@typesetfalse -\define@choicekey*+{ACM}{acmJournal}[\@journalCode\@journalCode@nr]{% - ACMJCSS,% - CIE,% - CSUR,% - DGOV,% - DLT,% - DTRAP,% - FAC,% - GAMES,% - HEALTH,% - IMWUT,% - JACM,% - JATS,% - JDIQ,% - JDS,% - JEA,% - JERIC,% - JETC,% - JOCCH,% - JRC,% - PACMCGIT,% - PACMHCI,% - PACMMOD,% - PACMNET,% - PACMPL,% - PACMSE,% - POMACS,% - TAAS,% - TACCESS,% - TACO,% - TALG,% - TALLIP,% - TAP,% - TCPS,% - TDS,% - TEAC,% - TECS,% - TELO,% - THRI,% - TIIS,% - TIOT,% - TISSEC,% - TIST,% - TKDD,% - TMIS,% - TOCE,% - TOCHI,% - TOCL,% - TOCS,% - TOCT,% - TODAES,% - TODS,% - TOG,% - TOIS,% - TOIT,% - TOMACS,% - TOMM,% - TOMPECS,% - TOMS,% - TOPC,% - TOPS,% - TOPLAS,% - TOPML,% - TORS,% - TOS,% - TOSEM,% - TOSN,% - TQC,% - TRETS,% - TSAS,% - TSC,% - TSLP,% - TWEB,% - FACMP% -}{% -\ifcase\@journalCode@nr -\relax % ACMJCSS - \def\@journalName{ACM Journal on Computing and Sustainable Societies}% - \def\@journalNameShort{ACM J. Comput. Sustain. Soc.}% - \def\@permissionCodeOne{2834-5533}% -\or % CIE - \def\@journalName{ACM Computers in Entertainment}% - \def\@journalNameShort{ACM Comput. Entertain.}% - \def\@permissionCodeOne{1544-3574}% -\or % CSUR - \def\@journalName{ACM Computing Surveys}% - \def\@journalNameShort{ACM Comput. Surv.}% - \def\@permissionCodeOne{0360-0300}% -\or % DGOV - \def\@journalName{Digital Government: Research and Practice}% - \def\@journalNameShort{Digit. Gov. Res. Pract.}% - \def\@permissionCodeOne{2639-0175}% -\or % DLT - \def\@journalName{Distributed Ledger Technologies: Research and Practice}% - \def\@journalNameShort{Distrib. Ledger Technol.}% - \def\@permissionCodeOne{2769-6472}% -\or % DTRAP - \def\@journalName{Digital Threats: Research and Practice}% - \def\@journalNameShort{Digit. Threat. Res. Pract.}% - \def\@permissionCodeOne{2576-5337}% -\or % FAC - \def\@journalName{Formal Aspects of Computing}% - \def\@journalNameShort{Form. Asp. Comput.}% - \def\@permissionCodeOne{0934-5043}% - \def\@permissionCodeTwo{1433-299X}% -\or % GAMES - \def\@journalName{ACM Games: Research and Practice}% - \def\@journalNameShort{ACM Games}% - \def\@permissionCodeOne{2832-5516}% -\or % HEALTH - \def\@journalName{ACM Transactions on Computing for Healthcare}% - \def\@journalNameShort{ACM Trans. Comput. Healthcare}% - \def\@permissionCodeOne{2637-8051}% -\or % IMWUT - \def\@journalName{Proceedings of the ACM on Interactive, Mobile, - Wearable and Ubiquitous Technologies}% - \def\@journalNameShort{Proc. ACM Interact. Mob. Wearable Ubiquitous Technol.}% - \def\@permissionCodeOne{2474-9567}% - \@ACM@screentrue - \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% -\or % JACM - \def\@journalName{Journal of the ACM}% - \def\@journalNameShort{J. ACM}% - \def\@permissionCodeOne{0004-5411}% -\or % JATS - \def\@journalName{Journal on Autonomous Transportation Systems}% - \def\@journalNameShort{ACM J. Auton. Transport. Syst.}% - \def\@permissionCodeOne{2833-0528}% -\or % JDIQ - \def\@journalName{ACM Journal of Data and Information Quality}% - \def\@journalNameShort{ACM J. Data Inform. Quality}% - \def\@permissionCodeOne{1936-1955}% -\or % JDS - \def\@journalName{ACM/JMS Journal of Data Science}% - \def\@journalNameShort{ACM/IMS J. Data Sci.}% - \def\@permissionCodeOne{2831-3194}% - \def\@permissionCodeTwo{2831-3194}% -\or % JEA - \def\@journalName{ACM Journal of Experimental Algorithmics}% - \def\@journalNameShort{ACM J. Exp. Algor.}% - \def\@permissionCodeOne{1084-6654}% -\or % JERIC - \def\@journalName{ACM Journal of Educational Resources in Computing}% - \def\@journalNameShort{ACM J. Edu. Resources in Comput.}% - \def\@permissionCodeOne{1073-0516}% -\or % JETC - \def\@journalName{ACM Journal on Emerging Technologies in Computing Systems}% - \def\@journalNameShort{ACM J. Emerg. Technol. Comput. Syst.}% - \def\@permissionCodeOne{1550-4832}% -\or % JOCCH - \def\@journalName{ACM Journal on Computing and Cultural Heritage}% - \def\@journalNameShort{ACM J. Comput. Cult. Herit.}% - \def\@permissionCodeOne{1556-4673}% - \def\@permissionCodeTwo{1556-4711}% -\or % JRC - \def\@journalName{ACM Journal on Responsible Computing}% - \def\@journalNameShort{ACM J. Responsib. Comput.}% - \def\@permissionCodeOne{2832-0565}% -\or % PACMCGIT - \def\@journalName{Proceedings of the ACM on Computer Graphics and Interactive Techniques}% - \def\@journalNameShort{Proc. ACM Comput. Graph. Interact. Tech.}% - \def\@permissionCodeOne{2577-6193}% - \@ACM@screentrue - \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% -\or % PACMHCI - \def\@journalName{Proceedings of the ACM on Human-Computer Interaction}% - \def\@journalNameShort{Proc. ACM Hum.-Comput. Interact.}% - \def\@permissionCodeOne{2573-0142}% - \@ACM@screentrue - \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% -\or % PACMMOD - \def\@journalName{Proceedings of the ACM on Management of Data}% - \def\@journalNameShort{Proc. ACM Manag. Data}% - \def\@permissionCodeOne{2836-6573}% -\or % PACMNET - \def\@journalName{Proceedings of the ACM on Networkng}% - \def\@journalNameShort{Proc. ACM Netw.}% - \def\@permissionCodeOne{2834-5509}% -\or % PACMPL - \def\@journalName{Proceedings of the ACM on Programming Languages}% - \def\@journalNameShort{Proc. ACM Program. Lang.}% - \def\@permissionCodeOne{2475-1421}% - \@ACM@screentrue - \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% -\or % PACMSE - \def\@journalName{Proceedings of the ACM on Software Engineering}% - \def\@journalNameShort{Proc. ACM Softw. Eng.}% - \def\@permissionCodeOne{2994-970X}% - \@ACM@screentrue - \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% -\or % POMACS - \def\@journalName{Proceedings of the ACM on Measurement and Analysis of Computing Systems}% - \def\@journalNameShort{Proc. ACM Meas. Anal. Comput. Syst.}% - \def\@permissionCodeOne{2476-1249}% - \@ACM@screentrue - \PackageInfo{\@classname}{Using screen mode due to \@journalCode}% -\or % TAAS - \def\@journalName{ACM Transactions on Autonomous and Adaptive Systems}% - \def\@journalNameShort{ACM Trans. Autonom. Adapt. Syst.}% - \def\@permissionCodeOne{1556-4665}% -\or % TACCESS - \def\@journalName{ACM Transactions on Accessible Computing}% - \def\@journalNameShort{ACM Trans. Access. Comput.}% - \def\@permissionCodeOne{1936-7228}% -\or % TACO - \def\@journalName{ACM Transactions on Architecture and Code Optimization}% - \def\@journalNameShort{ACM Trans. Arch. Code Optim.}% - \def\@permissionCodeOne{1544-3566}% - \def\@permissionCodeTwo{1544-3973}% -\or % TALG - \def\@journalName{ACM Transactions on Algorithms}% - \def\@journalNameShort{ACM Trans. Algor.}% - \def\@permissionCodeOne{1549-6325}% -\or % TALLIP - \def\@journalName{ACM Transactions on Asian and Low-Resource Language Information Processing}% - \def\@journalNameShort{ACM Trans. Asian Low-Resour. Lang. Inf. Process.}% - \def\@permissionCodeOne{2375-4699}% -\or % TAP - \def\@journalName{ACM Transactions on Applied Perception}% - \def\@journalNameShort{ACM Trans. Appl. Percept.}% - \def\@permissionCodeOne{1544-3558}% -\or % TCPS - \def\@journalName{ACM Transactions on Cyber-Physical Systems}% - \def\@journalNameShort{ACM Trans. Cyber-Phys. Syst.}% - \def\@permissionCodeOne{2378-962X}% -\or % TDS - \def\@journalName{ACM/IMS Transactions on Data Science}% - \def\@journalNameShort{ACM/IMS Trans. Data Sci.}% - \def\@permissionCodeOne{2577-3224}% -\or % TEAC - \def\@journalName{ACM Transactions on Economics and Computation}% - \def\@journalNameShort{ACM Trans. Econ. Comput.}% - \def\@permissionCodeOne{2167-8375}% -\or % TECS - \def\@journalName{ACM Transactions on Embedded Computing Systems}% - \def\@journalNameShort{ACM Trans. Embedd. Comput. Syst.}% - \def\@permissionCodeOne{1539-9087}% -\or % TELO - \def\@journalName{ACM Transactions on Evolutionary Learning}% - \def\@journalNameShort{ACM Trans. Evol. Learn.}% - \def\@permissionCodeOne{2688-3007}% -\or % THRI - \def\@journalName{ACM Transactions on Human-Robot Interaction}% - \def\@journalNameShort{ACM Trans. Hum.-Robot Interact.}% - \def\@permissionCodeOne{2573-9522}% -\or % TIIS - \def\@journalName{ACM Transactions on Interactive Intelligent Systems}% - \def\@journalNameShort{ACM Trans. Interact. Intell. Syst.}% - \def\@permissionCodeOne{2160-6455}% -\or % TIOT - \def\@journalName{ACM Transactions on Internet of Things}% - \def\@journalNameShort{ACM Trans. Internet Things}% - \def\@permissionCodeOne{2577-6207}% -\or % TISSEC - \def\@journalName{ACM Transactions on Information and System Security}% - \def\@journalNameShort{ACM Trans. Info. Syst. Sec.}% - \def\@permissionCodeOne{1094-9224}% -\or % TIST - \def\@journalName{ACM Transactions on Intelligent Systems and Technology}% - \def\@journalNameShort{ACM Trans. Intell. Syst. Technol.}% - \def\@permissionCodeOne{2157-6904}% -\or % TKDD - \def\@journalName{ACM Transactions on Knowledge Discovery from Data}% - \def\@journalNameShort{ACM Trans. Knowl. Discov. Data.}% - \def\@permissionCodeOne{1556-4681}% -\or % TMIS - \def\@journalName{ACM Transactions on Management Information Systems}% - \def\@journalNameShort{ACM Trans. Manag. Inform. Syst.}% - \def\@permissionCodeOne{2158-656X}% -\or % TOCE - \def\@journalName{ACM Transactions on Computing Education}% - \def\@journalNameShort{ACM Trans. Comput. Educ.}% - \def\@permissionCodeOne{1946-6226}% -\or % TOCHI - \def\@journalName{ACM Transactions on Computer-Human Interaction}% - \def\@journalNameShort{ACM Trans. Comput.-Hum. Interact.}% - \def\@permissionCodeOne{1073-0516}% -\or % TOCL - \def\@journalName{ACM Transactions on Computational Logic}% - \def\@journalNameShort{ACM Trans. Comput. Logic}% - \def\@permissionCodeOne{1529-3785}% -\or % TOCS - \def\@journalName{ACM Transactions on Computer Systems}% - \def\@journalNameShort{ACM Trans. Comput. Syst.}% - \def\@permissionCodeOne{0734-2071}% -\or % TOCT - \def\@journalName{ACM Transactions on Computation Theory}% - \def\@journalNameShort{ACM Trans. Comput. Theory}% - \def\@permissionCodeOne{1942-3454}% -\or % TODAES - \def\@journalName{ACM Transactions on Design Automation of Electronic Systems}% - \def\@journalNameShort{ACM Trans. Des. Autom. Electron. Syst.}% - \def\@permissionCodeOne{1084-4309}% -\or % TODS - \def\@journalName{ACM Transactions on Database Systems}% - \def\@journalNameShort{ACM Trans. Datab. Syst.}% - \def\@permissionCodeOne{0362-5915}% -\or % TOG - \def\@journalName{ACM Transactions on Graphics}% - \def\@journalNameShort{ACM Trans. Graph.}% - \def\@permissionCodeOne{0730-0301} -\or % TOIS - \def\@journalName{ACM Transactions on Information Systems}% - \def\@journalNameShort{ACM Trans. Inf. Syst.}% - \def\@permissionCodeOne{1046-8188}% -\or % TOIT - \def\@journalName{ACM Transactions on Internet Technology}% - \def\@journalNameShort{ACM Trans. Internet Technol.}% - \def\@permissionCodeOne{1533-5399}% -\or % TOMACS - \def\@journalName{ACM Transactions on Modeling and Computer Simulation}% - \def\@journalNameShort{ACM Trans. Model. Comput. Simul.}% - \def\@permissionCodeOne{1049-3301}% - \def\@permissionCodeTwo{1558-1195}% -\or % TOMM - \def\@journalName{ACM Transactions on Multimedia Computing, Communications and Applications}% - \def\@journalNameShort{ACM Trans. Multimedia Comput. Commun. Appl.}% - \def\@permissionCodeOne{1551-6857}% - \def\@permissionCodeTwo{1551-6865}% -\or % TOMPECS - \def\@journalName{ACM Transactions on Modeling and Performance Evaluation of Computing Systems}% - \def\@journalNameShort{ACM Trans. Model. Perform. Eval. Comput. Syst.}% - \def\@permissionCodeOne{2376-3639}% -\or % TOMS - \def\@journalName{ACM Transactions on Mathematical Software}% - \def\@journalNameShort{ACM Trans. Math. Softw.}% - \def\@permissionCodeOne{0098-3500}% -\or % TOPC - \def\@journalName{ACM Transactions on Parallel Computing}% - \def\@journalNameShort{ACM Trans. Parallel Comput.}% - \def\@permissionCodeOne{2329-4949}% - \def\@permissionCodeTwo{2329-4957}% -\or % TOPS - \def\@journalName{ACM Transactions on Privacy and Security}% - \def\@journalNameShort{ACM Trans. Priv. Sec.}% - \def\@permissionCodeOne{2471-2566}% -\or % TOPLAS - \def\@journalName{ACM Transactions on Programming Languages and Systems}% - \def\@journalNameShort{ACM Trans. Program. Lang. Syst.}% - \def\@permissionCodeOne{0164-0925}% -\or % TOPML - \def\@journalName{ACM Transactions on Probabilistic Machine Learning}% - \def\@journalNameShort{ACM Trans. Probab. Mach. Learn.}% - \def\@permissionCodeOne{2836-8924}% -\or % TORS - \def\@journalName{ACM Transactions on Recommender Systems}% - \def\@journalNameShort{ACM Trans. Recomm. Syst.}% - \def\@permissionCodeOne{2770-6699}% -\or % TOS - \def\@journalName{ACM Transactions on Storage}% - \def\@journalNameShort{ACM Trans. Storage}% - \def\@permissionCodeOne{1553-3077}% -\or % TOSEM - \def\@journalName{ACM Transactions on Software Engineering and Methodology}% - \def\@journalNameShort{ACM Trans. Softw. Eng. Methodol.}% - \def\@permissionCodeOne{1049-331X}% -\or % TOSN - \def\@journalName{ACM Transactions on Sensor Networks}% - \def\@journalNameShort{ACM Trans. Sensor Netw.}% - \def\@permissionCodeOne{1550-4859}% -\or % TQC - \def\@journalName{ACM Transactions on Quantum Computing}% - \def\@journalNameShort{ACM Trans. Quantum Comput.}% - \def\@permissionCodeOne{2643-6817}% -\or % TRETS - \def\@journalName{ACM Transactions on Reconfigurable Technology and Systems}% - \def\@journalNameShort{ACM Trans. Reconfig. Technol. Syst.}% - \def\@permissionCodeOne{1936-7406}% -\or % TSAS - \def\@journalName{ACM Transactions on Spatial Algorithms and Systems}% - \def\@journalNameShort{ACM Trans. Spatial Algorithms Syst.}% - \def\@permissionCodeOne{2374-0353}% -\or % TSC - \def\@journalName{ACM Transactions on Social Computing}% - \def\@journalNameShort{ACM Trans. Soc. Comput.}% - \def\@permissionCodeOne{2469-7818}% -\or % TSLP - \def\@journalName{ACM Transactions on Speech and Language Processing}% - \def\@journalNameShort{ACM Trans. Speech Lang. Process.}% - \def\@permissionCodeOne{1550-4875}% -\or % TWEB - \def\@journalName{ACM Transactions on the Web}% - \def\@journalNameShort{ACM Trans. Web}% - \def\@permissionCodeOne{1559-1131}% -\else % FACMP, a dummy journal - \def\@journalName{ACM Just Accepted}% - \def\@journalNameShort{ACM Accepted}% - \def\@permissionCodeOne{XXXX-XXXX}% -\fi -\ClassInfo{\@classname}{Using journal code \@journalCode}% -}{% - \ClassError{\@classname}{Incorrect journal #1}% -}% -\def\acmJournal#1{\setkeys{ACM}{acmJournal=#1}% - \global\@ACM@journal@bibstriptrue} -\def\@journalCode@nr{0} -\def\@journalName{}% -\def\@journalNameShort{\@journalName}% -\def\@permissionCodeOne{XXXX-XXXX}% -\def\@permissionCodeTwo{}% -\newcommand\acmConference[4][]{% - \gdef\acmConference@shortname{#1}% - \gdef\acmConference@name{#2}% - \gdef\acmConference@date{#3}% - \gdef\acmConference@venue{#4}% - \ifx\acmConference@shortname\@empty - \gdef\acmConference@shortname{#2}% - \fi - \global\@ACM@journal@bibstripfalse -} -\if@ACM@journal\else -\acmConference[Conference'17]{ACM Conference}{July 2017}{Washington, - DC, USA}% -\fi -\def\acmBooktitle#1{\gdef\@acmBooktitle{#1}} -\acmBooktitle{} -\ifx\acmConference@name\@undefined\else -\acmBooktitle{Proceedings of \acmConference@name - \ifx\acmConference@name\acmConference@shortname\else - \ (\acmConference@shortname)\fi} -\fi -\def\@editorsAbbrev{(Ed.)} -\def\@acmEditors{} -\def\editor#1{\ifx\@acmEditors\@empty - \gdef\@acmEditors{#1}% - \else - \gdef\@editorsAbbrev{(Eds.)}% - \g@addto@macro\@acmEditors{\and#1}% -\fi} -\def\subtitle#1{\def\@subtitle{#1}} -\subtitle{} -\newcount\num@authorgroups -\num@authorgroups=0\relax -\newcount\num@authors -\num@authors=0\relax -\newif\if@insideauthorgroup -\@insideauthorgroupfalse -\renewcommand\author[2][]{% - \IfSubStr{\detokenize{#2}}{,}{\ClassWarning{\@classname}{Do not put several - authors in the same \string\author\space macro!}}{}% - \global\advance\num@authors by 1\relax - \if@insideauthorgroup\else - \global\advance\num@authorgroups by 1\relax - \global\@insideauthorgrouptrue - \fi - \ifx\addresses\@empty - \if@ACM@anonymous - \gdef\addresses{\@author{Anonymous Author(s)% - \ifx\@acmSubmissionID\@empty\else\\Submission Id: - \@acmSubmissionID\fi}}% - \gdef\authors{Anonymous Author(s)}% - \else - \expandafter\gdef\expandafter\addresses\expandafter{% - \expandafter\@author\expandafter{% - \csname typeset@author\the\num@authors\endcsname{#2}}}% - \gdef\authors{#2}% - \fi - \else - \if@ACM@anonymous\else - \expandafter\g@addto@macro\expandafter\addresses\expandafter{% - \expandafter\and\expandafter\@author\expandafter{% - \csname typeset@author\the\num@authors\endcsname{#2}}}% - \g@addto@macro\authors{\and#2}% - \fi - \fi - \if@ACM@anonymous - \ifx\shortauthors\@empty - \gdef\shortauthors{Anon. - \ifx\@acmSubmissionID\@empty\else Submission Id: - \@acmSubmissionID\fi}% - \fi - \else - \def\@tempa{#1}% - \ifx\@tempa\@empty - \ifx\shortauthors\@empty - \gdef\shortauthors{#2}% - \else - \g@addto@macro\shortauthors{\and#2}% - \fi - \else - \ifx\shortauthors\@empty - \gdef\shortauthors{#1}% - \else - \g@addto@macro\shortauthors{\and#1}% - \fi - \fi - \fi} -\newcommand{\affiliation}[2][]{% - \global\@insideauthorgroupfalse - \if@ACM@anonymous\else - \g@addto@macro\addresses{\affiliation{#1}{#2}}% - \fi} -\define@boolkey+{@ACM@affiliation@}[@ACM@affiliation@]{obeypunctuation}% -[true]{}{\ClassError{\@classname}{The option obeypunctuation can be either true or false}} -\def\additionalaffiliation#1{\authornote{\@additionalaffiliation{#1}}} -\def\@additionalaffiliation#1{\bgroup - \def\position##1{\ignorespaces}% - \def\institution##1{##1\ignorespaces}% - \def\department{\@ifnextchar[{\@department}{\@department[]}}% - \def\@department[##1]##2{\unskip, ##2\ignorespaces}% - \let\streetaddress\position - \let\city\position - \let\state\position - \let\postcode\position - \let\country\position - Also with #1\unskip.\egroup} -\renewcommand{\email}[2][]{% - \IfSubStr{#2}{,}{\ClassWarning{\@classname}{Do not put several - addresses in the same \string\email\space macro!}}{}% - \if@ACM@anonymous\else - \g@addto@macro\addresses{\email{#1}{#2}}% - \fi} -\def\orcid#1{\unskip\ignorespaces% - \IfBeginWith{#1}{http}{% - \expandafter\gdef\csname - typeset@author\the\num@authors\endcsname##1{% - \href{#1}{##1}}}{% - \expandafter\gdef\csname - typeset@author\the\num@authors\endcsname##1{% - \href{https://orcid.org/#1}{##1}}}} -\def\authorsaddresses#1{\def\@authorsaddresses{#1}} -\authorsaddresses{\@mkauthorsaddresses} -\newcommand\@mktranslatedkeywords[2]{\bgroup - \selectlanguage{#1}% - {\@specialsection{\keywordsname}% - \noindent#2\par}\egroup} -\def\@titlenotes{} -\def\titlenote#1{% - \g@addto@macro\@title{\footnotemark}% - \if@ACM@anonymous - \g@addto@macro\@titlenotes{% - \stepcounter{footnote}\footnotetext{Title note}}% - \else - \g@addto@macro\@titlenotes{\stepcounter{footnote}\footnotetext{#1}}% - \fi} -\def\@subtitlenotes{} -\def\subtitlenote#1{% - \g@addto@macro\@subtitle{\footnotemark}% - \if@ACM@anonymous - \g@addto@macro\@subtitlenotes{% - \stepcounter{footnote}\footnotetext{Subtitle note}}% - \else - \g@addto@macro\@subtitlenotes{% - \stepcounter{footnote}\footnotetext{#1}}% - \fi} -\def\@authornotes{} -\def\authornote#1{% - \if@ACM@anonymous\else - \g@addto@macro\addresses{\@authornotemark}% - \g@addto@macro\@authornotes{% - \stepcounter{footnote}\footnotetext{#1}}% - \fi} -\newcommand\authornotemark[1][\relax]{% - \ifx#1\relax\relax\relax - \g@addto@macro\addresses{\@authornotemark}% - \else - \g@addto@macro\addresses{\@@authornotemark{#1}}% - \fi} -\def\acmVolume#1{\def\@acmVolume{#1}} -\acmVolume{1} -\def\acmNumber#1{\def\@acmNumber{#1}} -\acmNumber{1} -\def\acmArticle#1{\def\@acmArticle{#1}} -\acmArticle{} -\def\acmArticleSeq#1{\def\@acmArticleSeq{#1}} -\acmArticleSeq{\@acmArticle} -\def\acmYear#1{\def\@acmYear{#1}} -\acmYear{\the\year} -\def\acmMonth#1{\def\@acmMonth{#1}} -\acmMonth{\the\month} -\def\@acmPubDate{\ifcase\@acmMonth\or - January\or February\or March\or April\or May\or June\or - July\or August\or September\or October\or November\or - December\fi~\@acmYear} -\def\acmSubmissionID#1{\def\@acmSubmissionID{#1}} -\acmSubmissionID{} -\def\acmISBN#1{\def\@acmISBN{#1}} -\acmISBN{978-x-xxxx-xxxx-x/YY/MM} -\def\acmDOI#1{\def\@acmDOI{#1}} -\acmDOI{10.1145/nnnnnnn.nnnnnnn} -\newlength\@ACM@badge@width -\setlength\@ACM@badge@width{3pc} -\newlength\@ACM@title@width -\newlength\@ACM@badge@skip -\setlength\@ACM@badge@skip{1pt} -\def\@acmBadgeR{} -\def\@acmBadgeL{} -\newcommand\acmBadgeR[2][]{% - \ifx\@acmBadgeR\@empty - \gdef\@acmBadgeR{% - \smash{% - \raisebox{0.5\height}{% - \href{#1}{\includegraphics[width=\@ACM@badge@width]{#2}}}}}% - \else - \g@addto@macro{\@acmBadgeR}{% - \hspace{\@ACM@badge@skip}% - \smash{% - \raisebox{0.5\height}{% - \href{#1}{\includegraphics[width=\@ACM@badge@width]{#2}}}}}% - \fi} -\newcommand\acmBadgeL[2][]{% - \ifx\@acmBadgeL\@empty - \gdef\@acmBadgeL{% - \smash{% - \raisebox{0.5\height}{% - \href{#1}{\includegraphics[width=\@ACM@badge@width]{#2}}}}}% - \else - \g@addto@macro{\@acmBadgeL}{% - \hspace{\@ACM@badge@skip}% - \smash{% - \raisebox{0.5\height}{% - \href{#1}{\includegraphics[width=\@ACM@badge@width]{#2}}}}}% - \fi} -\let\acmBadge=\acmBadgeR -\def\startPage#1{\def\@startPage{#1}} -\startPage{} -\def\terms#1{\ClassWarning{\@classname}{The command \string\terms{} is - obsolete. I am going to ignore it}} -\def\keywords#1{\def\@keywords{#1}} -\let\@keywords\@empty -\AtEndDocument{\if@ACM@nonacm\else\ifx\@keywords\@empty - \ifnum\getrefnumber{TotPages}>2\relax - \ClassWarningNoLine{\@classname}{ACM keywords are mandatory - for papers over two pages}% - \fi\fi\fi} -\renewenvironment{abstract}{\Collect@Body\@saveabstract}{} -\long\def\@saveabstract#1{\if@ACM@maketitle@typeset - \ClassError{\@classname}{Abstract must be defined before maketitle - command. Please move it!}\fi - \long\gdef\@abstract{#1}} -\@saveabstract{} -\long\def\@lempty{} -\define@boolkey+{@ACM@topmatter@}[@ACM@]{printccs}[true]{% - \if@ACM@printccs - \ClassInfo{\@classname}{Printing CCS}% - \else - \ClassInfo{\@classname}{Suppressing CCS}% - \fi}{\ClassError{\@classname}{The option printccs can be either true or false}} -\define@boolkey+{@ACM@topmatter@}[@ACM@]{printacmref}[true]{% - \if@ACM@printacmref - \ClassInfo{\@classname}{Printing bibformat}% - \else - \ClassInfo{\@classname}{Suppressing bibformat}% - \fi}{\ClassError{\@classname}{The option printacmref can be either true or false}} -\AtEndDocument{\if@ACM@nonacm\else\if@ACM@printacmref\else - \ifnum\getrefnumber{TotPages}>1\relax - \ClassWarningNoLine{\@classname}{% - ACM reference format is mandatory \MessageBreak - for papers over one page. \MessageBreak - Please add printacmref=true to the \MessageBreak - \string\settopmatter\space command.}% - \fi\fi\fi} -\define@boolkey+{@ACM@topmatter@}[@ACM@]{printfolios}[true]{% - \if@ACM@printfolios - \ClassInfo{\@classname}{Printing folios}% - \else - \ClassInfo{\@classname}{Suppressing folios}% - \fi}{\ClassError{\@classname}{The option printfolios can be either true or false}} -\define@cmdkey{@ACM@topmatter@}[@ACM@]{authorsperrow}[0]{% - \IfInteger{#1}{\ClassInfo{\@classname}{Setting authorsperrow to - #1}}{\ClassWarning{\@classname}{The parameter authorsperrow must be - numerical. Ignoring the input #1}\gdef\@ACM@authorsperrow{0}}} -\def\settopmatter#1{\setkeys{@ACM@topmatter@}{#1}} -\settopmatter{printccs=true, printacmref=true} -\if@ACM@manuscript - \settopmatter{printfolios=true} -\else - \if@ACM@journal - \settopmatter{printfolios=true} - \else - \settopmatter{printfolios=false} - \fi -\fi -\settopmatter{authorsperrow=0} -\def\@received{} -\newcommand\received[2][]{\def\@tempa{#1}% - \ifx\@tempa\@empty - \ifx\@received\@empty - \gdef\@received{Received #2}% - \else - \g@addto@macro{\@received}{; revised #2}% - \fi - \else - \ifx\@received\@empty - \gdef\@received{#1 #2}% - \else - \g@addto@macro{\@received}{; #1 #2}% - \fi - \fi} -\AtEndDocument{% - \ifx\@received\@empty\else - \par\bigskip\noindent\small\normalfont\@received\par - \fi} -\define@choicekey+{ACM}{articletype}[\ACM@ArticleType\ACM@ArticleType@nr]{% - Research,Review,Discussion,Invited,Position}[Review]{% - \ifcase\ACM@ArticleType@nr - \relax % Research - \colorlet{@ACM@Article@color}{ACMBlue}% - \or % Review - \colorlet{@ACM@Article@color}{ACMOrange}% - \or % Discussion - \colorlet{@ACM@Article@color}{ACMGreen}% - \or % Invited - \colorlet{@ACM@Article@color}{ACMPurple}% - \or % Position - \colorlet{@ACM@Article@color}{ACMRed}% - \fi -}{% - \ClassError{\@classname}{Article Type must be Research, Review,\MessageBreak - Discussion, Invited, or Position}} -\def\acmArticleType#1{\setkeys{ACM}{articletype=#1}} -\if@ACM@acmcp -\acmArticleType{Research}% -\fi - % \end{macrocode} -\newenvironment{@ACM@color@frame}{% - \def\FrameCommand{\hspace*{-6.5pc}% - \colorbox{@ACM@Article@color!10!white}}% - \MakeFramed {\advance\hsize - -6.5pc\relax\FrameRestore}}{\zsaveposy{@ACM@acmcpframe@y}% - \endMakeFramed} -\def\acmCodeLink#1{% - \ifx\@acmCodeDataLink\@empty - \gdef\@acmCodeDataLink{\url{#1}}% - \else - \g@addto@macro{\@acmCodeDataLink}{\\ \url{#1}}% - \fi} -\def\@acmCodeDataLink{} -\def\acmContributions#1{\gdef\@acmContributions{#1}} -\acmContributions{} -\let\acmDataLink\acmCodeLink -\RequirePackage{comment} -\excludecomment{CCSXML} -\let\@concepts\@empty -\newcounter{@concepts} -\newcommand\ccsdesc[2][100]{% - \ccsdesc@parse#1~#2~~\ccsdesc@parse@end} -\def\textrightarrow{$\rightarrow$} -\def\ccsdesc@parse#1~#2~#3~{% - \stepcounter{@concepts}% - \expandafter\ifx\csname CCS@General@#2\endcsname\relax - \expandafter\gdef\csname CCS@General@#2\endcsname{\textbullet\ - \textbf{#2}}% - \expandafter\gdef\csname CCS@Punctuation@#2\endcsname{; }% - \expandafter\gdef\csname CCS@Specific@#2\endcsname{}% - \g@addto@macro{\@concepts}{\csname CCS@General@#2\endcsname - \csname CCS@Punctuation@#2\endcsname - \csname CCS@Specific@#2\endcsname}% - \fi - \ifx#3\relax\relax\else - \expandafter\gdef\csname CCS@Punctuation@#2\endcsname{ - \textrightarrow\ }% - \expandafter\g@addto@macro\expandafter{\csname CCS@Specific@#2\endcsname}{% - \addtocounter{@concepts}{-1}% - \ifnum#1>499\textbf{#3}\else - \ifnum#1>299\textit{#3}\else - #3\fi\fi\ifnum\value{@concepts}=0.\else; \fi}% - \fi -\ccsdesc@parse@finish} -\AtEndDocument{\if@ACM@nonacm\else\ifx\@concepts\@empty\relax - \ifnum\getrefnumber{TotPages}>2\relax - \ClassWarningNoLine{\@classname}{CCS concepts are mandatory - for papers over two pages}% - \fi\fi\fi} -\def\ccsdesc@parse@finish#1\ccsdesc@parse@end{} -\newif\if@printcopyright -\@printcopyrighttrue -\newif\if@printpermission -\@printpermissiontrue -\newif\if@acmowned -\@acmownedtrue -\define@choicekey*{ACM@}{acmcopyrightmode}[% - \acm@copyrightinput\acm@copyrightmode]{none,% - acmcopyright,acmlicensed,rightsretained,% - usgov,usgovmixed,cagov,cagovmixed,licensedusgovmixed,% - licensedcagov,licensedcagovmixed,othergov,licensedothergov,% - iw3c2w3,iw3c2w3g,cc}{% - \@printpermissiontrue - \@printcopyrighttrue - \@acmownedtrue - \ifnum\acm@copyrightmode=0\relax % none - \@printpermissionfalse - \@printcopyrightfalse - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=2\relax % acmlicensed - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=3\relax % rightsretained - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=4\relax % usgov - \@printpermissiontrue - \@printcopyrightfalse - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=6\relax % cagov - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=8\relax % licensedusgovmixed - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=9\relax % licensedcagov - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=10\relax % licensedcagovmixed - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=11\relax % othergov - \@acmownedtrue - \fi - \ifnum\acm@copyrightmode=12\relax % licensedothergov - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=13\relax % iw3c2w3 - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=14\relax % iw3c2w3g - \@acmownedfalse - \fi - \ifnum\acm@copyrightmode=15\relax % cc - \@acmownedfalse - \fi} -\def\setcopyright#1{\setkeys{ACM@}{acmcopyrightmode=#1}} -\setcopyright{acmlicensed} -\newcommand\setcctype[2][4.0]{% - \def\ACM@cc@version{#1}% - \def\ACM@cc@type{#2}} -\setcctype{by} -\def\@copyrightowner{% - \ifcase\acm@copyrightmode\relax % none - \or % acmcopyright - ACM\@. - \or % acmlicensed - Copyright held by the owner/author(s). Publication rights licensed to - ACM\@. - \or % rightsretained - Copyright held by the owner/author(s). - \or % usgov - \or % usgovmixed - Copyright held by the owner/author(s). - \or % cagov - Copyright Crown in Right of Canada. - \or %cagovmixed - Copyright held by the owner/author(s). - \or %licensedusgovmixed - Copyright held by the owner/author(s). Publication rights licensed to - ACM\@. - \or % licensedcagov - Copyright held by the owner/author(s). - \or %licensedcagovmixed - Copyright held by the owner/author(s). Publication rights licensed to - ACM\@. - \or % othergov - Copyright held by the owner/author(s). - \or % licensedothergov - Copyright held by the owner/author(s). Publication rights licensed to - ACM\@. - \or % ic2w3www - IW3C2 (International World Wide Web Conference Committee), published - under Creative Commons CC-BY~4.0 License. - \or % ic2w3wwwgoogle - IW3C2 (International World Wide Web Conference Committee), published - under Creative Commons CC-BY-NC-ND~4.0 License. - \or % cc - Copyright held by the owner/author(s). - \fi} -\def\@formatdoi#1{\url{https://doi.org/#1}} -\def\@ACM@copyright@check@cc{% - \if@ACM@nonacm - \ClassInfo{\@classname}{Using CC license with a non-acm - material}% - \else - \if@ACM@engage - \ClassInfo{\@classname}{Using CC license with ACM Enage - material}% - \else - \ClassWarning{\@classname}{% - Sorry, Creative Commons licenses are\MessageBreak - currently not used with ACM publications\MessageBreak - typeset by the authors}{Please use nonacm - option or ACM Engage class to enable CC licenses}% - \fi - \fi} -\def\@copyrightpermission{% - \ifcase\acm@copyrightmode\relax % none - \or % acmcopyright - Permission to make digital or hard copies of all or part of this - work for personal or classroom use is granted without fee provided - that copies are not made or distributed for profit or commercial - advantage and that copies bear this notice and the full citation on - the first page. Copyrights for components of this work owned by - others than ACM must be honored. Abstracting with credit is - permitted. To copy otherwise, or republish, to post on servers or - to redistribute to lists, requires prior specific permission - and\hspace*{.5pt}/or - a fee. Request permissions from permissions@acm.org. - \or % acmlicensed - Permission to make digital or hard copies of all or part of this - work for personal or classroom use is granted without fee provided - that copies are not made or distributed for profit or commercial - advantage and that copies bear this notice and the full citation on - the first page. Copyrights for components of this work owned by - others than the author(s) must be honored. Abstracting with credit - is permitted. To copy otherwise, or republish, to post on servers - or to redistribute to lists, requires prior specific permission - and\hspace*{.5pt}/or a fee. Request permissions from - permissions@acm.org. - \or % rightsretained - Permission to make digital or hard copies of part or all of this - work for personal or classroom use is granted without fee provided - that copies are not made or distributed for profit or commercial - advantage and that copies bear this notice and the full citation on - the first page. Copyrights for third-party components of this work - must be honored. For all other uses, contact the - owner\hspace*{.5pt}/author(s). - \or % usgov - This paper is authored by an employee(s) of the United States - Government and is in the public domain. Non-exclusive copying or - redistribution is allowed, provided that the article citation is - given and the authors and agency are clearly identified as its - source. All others Request permissions from - owner\hspace*{.5pt}/author(s). - \or % usgovmixed - ACM acknowledges that this contribution was authored or co-authored - by an employee, contractor, or affiliate of the United States - government. As such, the United States government retains a - nonexclusive, royalty-free right to publish or reproduce this - article, or to allow others to do so, for government purposes - only. Request permissions from owner\hspace*{.5pt}/author(s). - \or % cagov - This article was authored by employees of the Government of - Canada. As such, the Canadian government retains all interest in - the copyright to this work and grants to ACM a nonexclusive, - royalty-free right to publish or reproduce this article, or to - allow others to do so, provided that clear attribution is given - both to the authors and the Canadian government agency employing - them. Permission to make digital or hard copies for personal or - classroom use is granted. Copies must bear this notice and the full - citation on the first page. Copyrights for components of this work - owned by others than the Canadian Government must be honored. To - copy otherwise, distribute, republish, or post, requires prior - specific permission and/or a fee. Request permissions from - owner\hspace*{.5pt}/author(s). - \or % cagovmixed - ACM acknowledges that this contribution was co-authored by an - affiliate of the national government of Canada. As such, the Crown - in Right of Canada retains an equal interest in the - copyright. Reprints must include clear attribution to ACM and the - author’s government agency affiliation. Permission to make digital - or hard copies for personal or classroom use is granted. Copies - must bear this notice and the full citation on the first - page. Copyrights for components of this work owned by others than - ACM must be honored. To copy otherwise, distribute, republish, or - post, requires prior specific permission and/or a fee. Request - permissions from owner\hspace*{.5pt}/author(s). - \or % licensedusgovmixed - Publication rights licensed to ACM\@. ACM acknowledges that this - contribution was authored or co-authored by an employee, contractor - or affiliate of the United States government. As such, the - Government retains a nonexclusive, royalty-free right to publish or - reproduce this article, or to allow others to do so, for Government - purposes only. Request permissions from - owner\hspace*{.5pt}/author(s). - \or % licensedcagov - This article was authored by employees of the Government of - Canada. As such, the Canadian government retains all interest in - the copyright to this work and grants to ACM a nonexclusive, - royalty-free right to publish or reproduce this article, or to - allow others to do so, provided that clear attribution is given - both to the authors and the Canadian government agency employing - them. Permission to make digital or hard copies for personal or - classroom use is granted. Copies must bear this notice and the full - citation on the first page. Copyrights for components of this work - owned by others than the Canadian Government must be honored. To - copy otherwise, distribute, republish, or post, requires prior - specific permission and/or a fee. Request permissions from - owner\hspace*{.5pt}/author(s). - \or % licensedcagovmixed - Publication rights licensed to ACM. ACM acknowledges that this - contribution was authored or co-authored by an employee, contractor - or affiliate of the national government of Canada. As such, the - Government retains a nonexclusive, royalty-free right to publish or - reproduce this article, or to allow others to do so, for Government - purposes only. Request permissions from - owner\hspace*{.5pt}/author(s). - \or % othergov - ACM acknowledges that this contribution was authored or co-authored - by an employee, contractor or affiliate of a national - government. As such, the Government retains a nonexclusive, - royalty-free right to publish or reproduce this article, or to - allow others to do so, for Government purposes only. Request - permissions from owner\hspace*{.5pt}/author(s). - \or % licensedothergov - Publication rights licensed to ACM\@. ACM acknowledges that this - contribution was authored or co-authored by an employee, contractor - or affiliate of a national government. As such, the Government - retains a nonexclusive, royalty-free right to publish or reproduce - this article, or to allow others to do so, for Government purposes - only. Request permissions from owner\hspace*{.5pt}/author(s). - \or % iw3c2w3 - This paper is published under the Creative Commons Attribution~4.0 - International (CC-BY~4.0) license. Authors reserve their rights to - disseminate the work on their personal and corporate Web sites with - the appropriate attribution. - \or % iw3c2w3g - This paper is published under the Creative Commons - Attribution-NonCommercial-NoDerivs~4.0 International - (CC-BY-NC-ND~4.0) license. Authors reserve their rights to - disseminate the work on their personal and corporate Web sites with - the appropriate attribution. - \or % CC - \@ACM@copyright@check@cc - \IfEq{\ACM@cc@type}{zero}{% - \def\ACM@CC@Url{https://creativecommons.org/publicdomain/zero/1.0/legalcode}}{% - \edef\ACM@CC@Url{https://creativecommons.org/licenses/\ACM@cc@type/\ACM@cc@version/legalcode}}% - \href{\ACM@CC@Url}{\includegraphics[height=5ex]{doclicense-CC-\ACM@cc@type-88x31}}\\ - \href{\ACM@CC@Url}{% - This work is licensed under a Creative Commons - \IfEq{\ACM@cc@type}{zero}{CC0 1.0 Universal}{% - \IfEq{\ACM@cc@type}{by}{Attribution}{}% - \IfEq{\ACM@cc@type}{by-sa}{Attribution-ShareAlike}{}% - \IfEq{\ACM@cc@type}{by-nd}{Attribution-NoDerivatives}{}% - \IfEq{\ACM@cc@type}{by-nc}{Attribution-NonCommercial}{}% - \IfEq{\ACM@cc@type}{by-nc-sa}{Attribution-NonCommercial-ShareAlike}{}% - \IfEq{\ACM@cc@type}{by-nc-nd}{Attribution-NonCommercial-NoDerivatives}{}% - ~\IfEq{\ACM@cc@version}{4.0}{4.0 International}{3.0 Unported}% - } - License.}% - \fi} -%% -\def\copyrightyear#1{\def\@copyrightyear{#1}} -\copyrightyear{\@acmYear} -\def\@teaserfigures{} -\newenvironment{teaserfigure}{\Collect@Body\@saveteaser}{} -\long\def\@saveteaser#1{\g@addto@macro\@teaserfigures{\@teaser{#1}}} -\renewcommand{\thanks}[1]{% - \@ifnotempty{#1}{% - \if@ACM@anonymous - \g@addto@macro\thankses{\thanks{A note}}% - \else - \g@addto@macro\thankses{\thanks{#1}}% - \fi}} -\newcommand{\anon}[2][ANONYMIZED]{% - \if@ACM@anonymous% - {\color{ACMOrange}#1}% - \else% - #2% - \fi} -\ifx\@beginmaketitlehook\@undefined - \let\@beginmaketitlehook\@empty -\fi -\def\AtBeginMaketitle{\g@addto@macro\@beginmaketitlehook} -\def\@acmengagemetadata{} -\def\setengagemetadata#1#2{% - \g@addto@macro{\@acmengagemetadata}{% - \@setengagemetadata{#1}{#2}}} -\newbox\mktitle@bx -\def\maketitle{\@beginmaketitlehook - \@ACM@maketitle@typesettrue - \if@ACM@anonymous - % Anonymize omission of \author-s - \ifnum\num@authorgroups=0\author{}\fi - \fi - \begingroup - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig - \let\@footnotemark\@footnotemark@nolink - \let\@footnotetext\@footnotetext@nolink - \renewcommand\thefootnote{\@fnsymbol\c@footnote}% - \hsize=\textwidth - \def\@makefnmark{\hbox{\@textsuperscript{\@thefnmark}}}% - \@mktitle\if@ACM@sigchiamode\else\@mkauthors\fi\@mkteasers - \@printtopmatter - \if@ACM@sigchiamode\@mkauthors\fi - \setcounter{footnote}{0}% - \def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}% - \@titlenotes - \@subtitlenotes - \@authornotes - \let\@makefnmark\relax - \let\@thefnmark\relax - \let\@makefntext\noindent - \ifx\@empty\thankses\else - \footnotetextauthorsaddresses{% - \def\par{\let\par\@par}\parindent\z@\@setthanks}% - \fi - \if@ACM@acmcp\else - \ifx\@empty\@authorsaddresses\else - \if@ACM@anonymous\else - \if@ACM@journal@bibstrip - \footnotetextauthorsaddresses{% - \def\par{\let\par\@par}\parindent\z@\@setauthorsaddresses}% - \fi - \fi - \fi - \fi - \if@ACM@nonacm - \ifnum\acm@copyrightmode=15\relax % cc - \footnotetextcopyrightpermission{\@copyrightpermission}% - \fi - \else - \if@ACM@acmcp\else - \footnotetextcopyrightpermission{% - \if@ACM@authordraft - \raisebox{-2ex}[\z@][\z@]{\makebox[0pt][l]{\large\bfseries - Unpublished working draft. Not for distribution.}}% - \color[gray]{0.9}% - \fi - \parindent\z@\parskip0.1\baselineskip - \if@ACM@authorversion\else - \if@printpermission\@copyrightpermission\par\fi - \fi - \if@ACM@manuscript\else - \if@ACM@journal@bibstrip\else % Print the conference information - \if@ACM@engage - {\itshape \@acmBooktitle, \@acmYear.}\par - \else - {\itshape \acmConference@shortname, \acmConference@date, \acmConference@venue}\par - \fi - \fi - \fi - \if@printcopyright - \copyright\ \@copyrightyear\ \@copyrightowner\\ - \else - \@copyrightyear.\ - \fi - \if@ACM@manuscript - Manuscript submitted to ACM\\ - \else - \if@ACM@authorversion - This is the author's version of the work. It is posted here for - your personal use. Not for redistribution. The definitive Version - of Record was published in - \if@ACM@journal@bibstrip - \emph{\@journalName}% - \else - \emph{\@acmBooktitle}% - \fi - \ifx\@acmDOI\@empty - . - \else - , \@formatdoi{\@acmDOI}. - \fi\\ - \else - \if@ACM@nonacm\else - \if@ACM@journal@bibstrip - ACM~\@permissionCodeOne/\@acmYear/\@acmMonth-ART\@acmArticle\\ - \@formatdoi{\@acmDOI}% - \else % Conference - \ifx\@acmISBN\@empty\else ACM~ISBN~\@acmISBN\\\fi - \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi% - \fi - \fi - \fi - \fi}% - \fi - \fi - \endgroup - \if@ACM@engage\@typesetengagemetadata\fi - \setcounter{footnote}{0}% - \@mkabstract - \ifx\@translatedabstracts\@empty\else - \@translatedabstracts\fi - \if@ACM@printccs - \ifx\@concepts\@empty\else\bgroup - {\@specialsection{CCS Concepts}% - \noindent\@concepts\par}\egroup - \fi - \fi - \if@ACM@acmcp\else - \ifx\@keywords\@empty\else\bgroup - {\@specialsection{\keywordsname}% - \noindent\@keywords\par}\egroup - \fi - \ifx\@translatedkeywords\@empty\else - \@translatedkeywords - \fi - \fi - \let\metadata@authors=\authors - \nxandlist{, }{, }{, }\metadata@authors - \def\@ACM@checkaffil{}% - \hypersetup{% - pdfauthor={\metadata@authors}, - pdftitle={\@title}, - pdfsubject={\@concepts}, - pdfkeywords={\@keywords}, - pdfcreator={LaTeX with acmart - \csname ver@acmart.cls\endcsname\space - and hyperref - \csname ver@hyperref.sty\endcsname}}% - \andify\authors - \andify\shortauthors - \global\let\authors=\authors - \global\let\shortauthors=\shortauthors - \if@ACM@printacmref - \@mkbibcitation - \fi - \global\@topnum\z@ % this prevents floats from falling - % at the top of page 1 - \global\@botnum\z@ % we do not want them to be on the bottom either - \@printendtopmatter - \@afterindentfalse - \@afterheading - \if@ACM@acmcp - \set@ACM@acmcpbox - \AtEndDocument{\end@ACM@color@frame}% - \@ACM@color@frame - \fi -} -\newbox\@ACM@acmcpbox -\def\set@ACM@acmcpbox{% - \bgroup - \hsize=5pc - \global\setbox\@ACM@acmcpbox=\vbox{% - \setlength{\parindent}{\z@}% - {\includegraphics[width=\hsize]{acm-jdslogo}\par}% - \scriptsize - \ifnum\getrefnumber{TotPages}>1\else - \zrefused{@ACM@acmcpbox@y}% - \zrefused{@ACM@acmcpframe@y}% - \@tempdima=\dimexpr\zposy{@ACM@acmcpbox@y}sp - - \zposy{@ACM@acmcpframe@y}sp+0.3\FrameSep+ - \@ACM@acmcp@delta\relax - \ifdim\@tempdima>0pt\relax - \vspace*{\@tempdima}% - \protected@write\@auxout{}% - {\string\global\@ACM@acmcp@delta=\the\@tempdima\relax}% - \fi - \fi - \ifx\@acmCodeDataLink\@empty\else\bigskip - Code and data links:\\ \@acmCodeDataLink\par\bigskip - \fi - \ifx\@keywords\@empty\else\bigskip - Keywords: \@keywords\par - \fi - \ifx\@acmContributions\@empty\else\bigskip - \@acmContributions\par - \fi - \ifx\@empty\@authorsaddresses\else\bigskip\@setauthorsaddresses\fi - \zsaveposy{@ACM@acmcpbox@y}% - } -\egroup} -\def\@specialsection#1{% - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig - \ifcase\ACM@format@nr - \relax % manuscript - \par\medskip\small\noindent#1: % - \or % acmsmall - \par\medskip\small\noindent#1: % - \or % acmlarge - \par\medskip\small\noindent#1: % - \or % acmtog - \par\medskip\small\noindent#1: % - \or % sigconf - \section*{#1}% - \or % siggraph - \section*{#1}% - \or % sigplan - \noindentparagraph*{#1:~}% - \or % sigchi - \section*{#1}% - \or % sigchi-a - \section*{#1}% - \or % acmengage - \section*{#1}% - \or % acmcp - \section*{#1}% - \fi - \let\@vspace\@vspace@acm - \let\@vspacer\@vspacer@acm -} -\def\@printtopmatter{% - \ifx\@startPage\@empty - \gdef\@startPage{1}% - \else - \setcounter{page}{\@startPage}% - \fi - \@tempdima=\ht\mktitle@bx - \advance\@tempdima by \dp\mktitle@bx - \ifdim\@tempdima>0.9\textheight - \loop - \setbox\@tempboxa=\vsplit \mktitle@bx to 0.9\textheight - \thispagestyle{firstpagestyle}% - \noindent\unvbox\@tempboxa - \clearpage - \@tempdima=\ht\mktitle@bx - \advance\@tempdima by \dp\mktitle@bx - \ifdim\@tempdima>0.9\textheight\repeat - \fi - \thispagestyle{firstpagestyle}% - \noindent - \ifcase\ACM@format@nr - \relax % manuscript - \box\mktitle@bx\par - \or % acmsmall - \box\mktitle@bx\par - \or % acmlarge - \box\mktitle@bx\par - \or % acmtog - \twocolumn[\box\mktitle@bx]% - \or % sigconf - \twocolumn[\box\mktitle@bx]% - \or % siggraph - \twocolumn[\box\mktitle@bx]% - \or % sigplan - \twocolumn[\box\mktitle@bx]% - \or % sigchi - \twocolumn[\box\mktitle@bx]% - \or % sigchi-a - \par\box\mktitle@bx\par\bigskip - \or % acmengage - \twocolumn[\box\mktitle@bx]% - \or % acmcp - \box\mktitle@bx\par - \fi -} -\def\@mktitle{% - \ifcase\ACM@format@nr - \relax % manuscript - \@mktitle@i - \or % acmsmall - \@mktitle@i - \or % acmlarge - \@mktitle@i - \or % acmtog - \@mktitle@i - \or % sigconf - \@mktitle@iii - \or % siggraph - \@mktitle@iii - \or % sigplan - \@mktitle@iii - \or % sigchi - \@mktitle@iii - \or % sigchi-a - \@mktitle@iv - \or % acmengage - \@mktitle@iii - \or % acmcp - \@mktitle@i - \fi -} -\def\@titlefont{% - \ifcase\ACM@format@nr - \relax % manuscript - \LARGE\sffamily\bfseries - \or % acmsmall - \LARGE\sffamily\bfseries - \or % acmlarge - \LARGE\sffamily\bfseries - \or % acmtog - \Huge\sffamily - \or % sigconf - \Huge\sffamily\bfseries - \or % siggraph - \Huge\sffamily\bfseries - \or % sigplan - \Huge\bfseries - \or % sigchi - \Huge\sffamily\bfseries - \or % sigchi-a - \Huge\bfseries - \or % acmengage - \Huge\sffamily\bfseries - \or % acmcp - \LARGE\sffamily\bfseries - \fi} -\def\@subtitlefont{\normalsize - \ifcase\ACM@format@nr - \relax % manuscript - \mdseries - \or % acmsmall - \mdseries - \or % acmlarge - \mdseries - \or % acmtog - \LARGE - \or % sigconf - \LARGE\mdseries - \or % siggraph - \LARGE\mdseries - \or % sigplan - \LARGE\mdseries - \or % sigchi - \LARGE\mdseries - \or % sigchi-a - \mdseries - \or % acmengage - \LARGE\mdseries - \or % acmcp - \mdseries - \fi} -\def\@mktitle@i{\hsize=\textwidth - \if@ACM@acmcp - \advance\hsize by -6pc% - \fi - \@ACM@title@width=\hsize - \setbox\mktitle@bx=\vbox{\noindent\@titlefont - \parbox[t]{\@ACM@title@width}{\raggedright - \@titlefont\noindent - \@title\@translatedtitle% - \ifx\@subtitle\@empty\else - \par\noindent{\@subtitlefont\@subtitle\@translatedsubtitle}% - \fi}% - \par\bigskip}}% -\def\@mktitle@iii{\hsize=\textwidth - \setbox\mktitle@bx=\vbox{\@titlefont\centering - \@ACM@title@width=\hsize - \parbox[t]{\@ACM@title@width}{\centering\@titlefont - \@title\@translatedtitle% - \ifx\@subtitle\@empty\else - \par\noindent{\@subtitlefont\@subtitle\@translatedsubtitle} - \fi - }% - \par\bigskip}}% -\def\@mktitle@iv{\hsize=\textwidth - \setbox\mktitle@bx=\vbox{\raggedright\leftskip5pc\@titlefont - \noindent\leavevmode\leaders\hrule height 2pt\hfill\kern0pt\par - \noindent\@title\@translatedtitle% - \ifx\@subtitle\@empty\else - \par\noindent\@subtitlefont\@subtitle\@translatedsubtitle% - \fi - \par\bigskip}}% -\newbox\@ACM@commabox -\def\@ACM@addtoaddress#1{% - \ifvmode\else - \if@ACM@affiliation@obeypunctuation\else - \setbox\@ACM@commabox=\hbox{, }% - \unskip\cleaders\copy\@ACM@commabox\hskip\wd\@ACM@commabox - \fi\fi - #1} -\def\streetaddress#1{\unskip\ignorespaces} -\def\postcode#1{\unskip\ignorespaces} -\if@ACM@journal - \def\position#1{\unskip\ignorespaces} - \def\institution#1{\global\@ACM@instpresenttrue - \unskip~#1\ignorespaces} - \def\city#1{\global\@ACM@citypresenttrue\unskip\ignorespaces} - \def\state#1{\unskip\ignorespaces} - \newcommand\department[2][0]{\unskip\ignorespaces} - \def\country#1{\StrDel{#1}{ }[\@tempa]% - \ifx\@tempa\@empty\else - \global\@ACM@countrypresenttrue\fi - \if@ACM@affiliation@obeypunctuation\else, \fi#1\ignorespaces} -\else - \def\position#1{\if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}% - \def\institution#1{\global\@ACM@instpresenttrue - \if@ACM@affiliation@obeypunctuation#1\else#1\par\fi}% - \newcommand\department[2][0]{\if@ACM@affiliation@obeypunctuation - #2\else#2\par\fi}% - \def\city#1{\global\@ACM@citypresenttrue\@ACM@addtoaddress{#1}}% - \let\state\@ACM@addtoaddress - \def\country#1{\global\@ACM@countrypresenttrue\@ACM@addtoaddress{#1}}% -\fi -\def\@mkauthors{\begingroup - \hsize=\textwidth - \ifcase\ACM@format@nr - \relax % manuscript - \@mkauthors@i - \or % acmsmall - \@mkauthors@i - \or % acmlarge - \@mkauthors@i - \or % acmtog - \@mkauthors@i - \or % sigconf - \@mkauthors@iii - \or % siggraph - \@mkauthors@iii - \or % sigplan - \@mkauthors@iii - \or % sigchi - \@mkauthors@iii - \or % sigchi-a - \@mkauthors@iv - \or % acmengage - \@mkauthors@iii - \or % acmcp - \@mkauthors@i - \fi - \endgroup -} -\def\@authorfont{\Large\sffamily} -\def\@affiliationfont{\normalsize\normalfont} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall - \def\@authorfont{\large\sffamily} - \def\@affiliationfont{\small\normalfont} -\or % acmlarge -\or % acmtog - \def\@authorfont{\LARGE\sffamily} - \def\@affiliationfont{\large} -\or % sigconf - \def\@authorfont{\LARGE} - \def\@affiliationfont{\large} -\or % siggraph - \def\@authorfont{\normalsize\normalfont} - \def\@affiliationfont{\normalsize\normalfont} -\or % sigplan - \def\@authorfont{\Large\normalfont} - \def\@affiliationfont{\normalsize\normalfont} -\or % sigchi - \def\@authorfont{\bfseries} - \def\@affiliationfont{\mdseries} -\or % sigchi-a - \def\@authorfont{\bfseries} - \def\@affiliationfont{\mdseries} -\or % acmengage - \def\@authorfont{\LARGE} - \def\@affiliationfont{\large} -\or % acmcp - \def\@authorfont{\large\sffamily} - \def\@affiliationfont{\small\normalfont} -\fi -\def\@typeset@author@line{% - \andify\@currentauthors\par\noindent - \@currentauthors\def\@currentauthors{}% - \ifx\@currentaffiliations\@empty\else - \andify\@currentaffiliations - \unskip, {\@currentaffiliations}\par - \fi - \def\@currentaffiliations{}} -\newif\if@ACM@instpresent -\@ACM@instpresenttrue -\newif\if@ACM@citypresent -\@ACM@citypresenttrue -\newif\if@ACM@countrypresent -\@ACM@countrypresenttrue -\def\@ACM@resetaffil{% - \global\@ACM@instpresentfalse - \global\@ACM@citypresentfalse - \global\@ACM@countrypresentfalse -} -\def\@ACM@checkaffil{% - \if@ACM@instpresent\else - \ClassWarningNoLine{\@classname}{No institution present for an affiliation}% - \fi - \if@ACM@citypresent\else - \ClassWarningNoLine{\@classname}{No city present for an affiliation}% - \fi - \if@ACM@countrypresent\else - \ClassError{\@classname}{No country present for an affiliation}{ACM - requires each author to indicate their country using country macro.}% - \fi -} -\def\@mkauthors@i{% - \def\@currentauthors{}% - \def\@currentaffiliations{}% - \global\let\and\@typeset@author@line - \def\@author##1{% - \ifx\@currentauthors\@empty - \gdef\@currentauthors{\@authorfont\MakeTextUppercase{##1}}% - \else - \g@addto@macro{\@currentauthors}{\and\MakeTextUppercase{##1}}% - \fi - \gdef\and{}}% - \def\email##1##2{}% - \def\affiliation##1##2{% - \def\@tempa{##2}\ifx\@tempa\@empty\else - \ifx\@currentaffiliations\@empty - \gdef\@currentaffiliations{% - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}% - \@ACM@resetaffil - \@affiliationfont##2\@ACM@checkaffil}% - \else - \g@addto@macro{\@currentaffiliations}{\and - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil - ##2\@ACM@checkaffil}% - \fi - \fi - \global\let\and\@typeset@author@line}% - \if@ACM@acmcp - \advance\hsize by -6pc% - \fi - \global\setbox\mktitle@bx=\vbox{\noindent\unvbox\mktitle@bx\par\medskip - \noindent\addresses\@typeset@author@line - \par\medskip}% -} -\newbox\author@bx -\newdimen\author@bx@wd -\newskip\author@bx@sep -\author@bx@sep=1pc\relax -\def\@typeset@author@bx{\bgroup\hsize=\author@bx@wd - \def\and{\par}\normalbaselines - \global\setbox\author@bx=\vtop{\if@ACM@sigchiamode\else\centering\fi - \@authorfont\@currentauthors\par\@affiliationfont - \@currentaffiliation}\egroup - \box\author@bx\hspace{\author@bx@sep}% - \gdef\@currentauthors{}% - \gdef\@currentaffiliation{}} -\def\@mkauthors@iii{% - \author@bx@wd=\textwidth\relax - \advance\author@bx@wd by -\author@bx@sep\relax - \ifnum\@ACM@authorsperrow>0\relax - \divide\author@bx@wd by \@ACM@authorsperrow\relax - \else - \ifcase\num@authorgroups - \relax % 0? - \or % 1=one author per row - \or % 2=two authors per row - \divide\author@bx@wd by \num@authorgroups\relax - \or % 3=three authors per row - \divide\author@bx@wd by \num@authorgroups\relax - \or % 4=two authors per row (!) - \divide\author@bx@wd by 2\relax - \else % three authors per row - \divide\author@bx@wd by 3\relax - \fi - \fi - \advance\author@bx@wd by -\author@bx@sep\relax - \gdef\@currentauthors{}% - \gdef\@currentaffiliation{}% - \def\@author##1{\ifx\@currentauthors\@empty - \gdef\@currentauthors{\par##1}% - \else - \g@addto@macro\@currentauthors{\par##1}% - \fi - \gdef\and{}}% - \def\email##1##2{\ifx\@currentaffiliation\@empty - \gdef\@currentaffiliation{\bgroup - \mathchardef\UrlBreakPenalty=10000\nolinkurl{##2}\egroup}% - \else - \g@addto@macro\@currentaffiliation{\par\bgroup - \mathchardef\UrlBreakPenalty=10000\nolinkurl{##2}\egroup}% - \fi}% - \def\affiliation##1##2{\ifx\@currentaffiliation\@empty - \gdef\@currentaffiliation{% - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil - ##2\@ACM@checkaffil}% - \else - \g@addto@macro\@currentaffiliation{\par - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil - ##2\@ACM@checkaffil}% - \fi - \global\let\and\@typeset@author@bx -}% - \hsize=\textwidth - \global\setbox\mktitle@bx=\vbox{\noindent - \unvbox\mktitle@bx\par\medskip\leavevmode - \lineskip=1pc\relax\centering\hspace*{-1em}% - \addresses\let\and\@typeset@author@bx\and\par\bigskip}} -\def\@mkauthors@iv{% - \author@bx@wd=\columnwidth\relax - \advance\author@bx@wd by -\author@bx@sep\relax - \ifnum\@ACM@authorsperrow>0\relax - \divide\author@bx@wd by \@ACM@authorsperrow\relax - \else - \ifcase\num@authorgroups - \relax % 0? - \or % 1=one author per row - \else % 2=two authors per row - \divide\author@bx@wd by 2\relax - \fi - \fi - \advance\author@bx@wd by -\author@bx@sep\relax - \gdef\@currentauthors{}% - \gdef\@currentaffiliation{}% - \def\@author##1{\ifx\@currentauthors\@empty - \gdef\@currentauthors{\par##1}% - \else - \g@addto@macro\@currentauthors{\par##1}% - \fi - \gdef\and{}}% - \def\email##1##2{\ifx\@currentaffiliation\@empty - \gdef\@currentaffiliation{\nolinkurl{##2}}% - \else - \g@addto@macro\@currentaffiliation{\par\nolinkurl{##2}}% - \fi}% - \def\affiliation##1##2{\ifx\@currentaffiliation\@empty - \gdef\@currentaffiliation{% - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil - ##2\@ACM@checkaffil}% - \else - \g@addto@macro\@currentaffiliation{\par - \setkeys{@ACM@affiliation@}{obeypunctuation=false}% - \setkeys{@ACM@affiliation@}{##1}\@ACM@resetaffil - ##2\@ACM@checkaffil}% - \fi - \global\let\and\@typeset@author@bx}% - \bgroup\hsize=\columnwidth - \par\raggedright\leftskip=\z@ - \lineskip=1pc\noindent - \addresses\let\and\@typeset@author@bx\and\par\bigskip\egroup} -\def\@mkauthorsaddresses{% - \ifnum\num@authors>1\relax - Authors' \else Author's \fi - \ifnum\num@authorgroups>1\relax - addresses: \else address: \fi - \bgroup - \def\streetaddress##1{\unskip, ##1}% - \def\postcode##1{\unskip, ##1}% - \def\position##1{\unskip\ignorespaces}% - \gdef\@ACM@institution@separator{, }% - \def\institution##1{\unskip\@ACM@institution@separator ##1\gdef\@ACM@institution@separator{ and }}% - \def\city##1{\unskip, ##1}% - \def\state##1{\unskip, ##1}% - \renewcommand\department[2][0]{\unskip\@addpunct, ##2}% - \def\country##1{\unskip, ##1}% - \def\and{\unskip; \gdef\@ACM@institution@separator{, }}% - \def\@author##1{##1}% - \def\email##1##2{\unskip, \nolinkurl{##2}}% - \addresses - \egroup} -\AtEndDocument{\if@ACM@nonacm\else\if@ACM@journal - \ifx\@authorsaddresses\@empty - \ClassWarningNoLine{\@classname}{Authors' - addresses are mandatory for ACM journals}% - \fi\fi\fi} -\def\@setaddresses{} -\def\@authornotemark{\g@addto@macro\@currentauthors{\footnotemark\relax}} -\def\@@authornotemark#1{\g@addto@macro\@currentauthors{\footnotemark[#1]}} -\def\@mkteasers{% - \ifx\@teaserfigures\@empty\else - \def\@teaser##1{\par\bigskip\bgroup - \captionsetup{type=figure}##1\egroup\par} - \global\setbox\mktitle@bx=\vbox{\noindent\unvbox\mktitle@bx\par - \noindent\@Description@presentfalse - \@teaserfigures\par\if@Description@present\else - \global\@undescribed@imagestrue - \ClassWarning{\@classname}{A possible image without - description}\fi - \medskip}% - \fi} -\def\@mkabstract{\bgroup - \ifx\@abstract\@lempty\else - {\phantomsection\addcontentsline{toc}{section}{\abstractname}% - \if@ACM@journal - \everypar{\setbox\z@\lastbox\everypar{}}\small - \else - \section*{\abstractname}% - \fi - \ignorespaces\@abstract\par}% - \fi\egroup} -\def\@mktranslatedabstract#1{\selectlanguage{#1}% - \if@ACM@journal - \everypar{\setbox\z@\lastbox\everypar{}}\small - \else - \section*{\abstractname}% - \fi - \ignorespaces} -\def\@mkbibcitation{\bgroup - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig - \def\@pages@word{\ifnum\getrefnumber{TotPages}=1\relax page\else pages\fi}% - \def\footnotemark{}% - \def\\{\unskip{} \ignorespaces}% - \def\footnote{\ClassError{\@classname}{Please do not use footnotes - inside a \string\title{} or \string\author{} command! Use - \string\titlenote{} or \string\authornote{} instead!}}% - \def\@article@string{\ifx\@acmArticle\@empty{\ }\else, - Article~\@acmArticle\ \fi}% - \par\medskip\small\noindent{\bfseries ACM Reference Format:}\par\nobreak - \noindent\bgroup - \def\\{\unskip{}, \ignorespaces}\authors\egroup. \@acmYear. \@title - \ifx\@subtitle\@empty. \else: \@subtitle. \fi - \if@ACM@nonacm\else - % The 'nonacm' option disables 'printacmref' by default, - % and the present \@mkbibcitation definition is never used - % in this case. The conditional remains useful if the user - % explicitly sets \settopmatter{printacmref=true}. - \if@ACM@journal@bibstrip - \textit{\@journalNameShort} - \@acmVolume, \@acmNumber \@article@string (\@acmPubDate), - \ref{TotPages}~\@pages@word. - \else - In \textit{\@acmBooktitle}% - \ifx\@acmEditors\@empty\textit{.}\else - \andify\@acmEditors\textit{, }\@acmEditors~\@editorsAbbrev.% - \fi\ - ACM, New York, NY, USA% - \@article@string\unskip, \ref{TotPages}~\@pages@word. - \fi - \fi - \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi -\par\egroup} -\def\@printendtopmatter{% - \let\@vspace\@vspace@orig - \let\@vspacer\@vspacer@orig - \par\bigskip - \let\@vspace\@vspace@acm - \let\@vspacer\@vspacer@acm - } -\def\@setthanks{\long\def\thanks##1{\par##1\@addpunct.}\thankses} -\def\@setauthorsaddresses{\@authorsaddresses\unskip\@addpunct.} -\def\@typesetengagemetadata{% - \def\@setengagemetadata##1##2{\par\noindent\textbf{##1} ##2\par}% - \@acmengagemetadata} -\RequirePackage{fancyhdr} -\let\ACM@ps@plain\ps@plain -\let\ACM@ps@myheadings\ps@myheadings -\let\ACM@ps@headings\ps@headings -\def\ACM@restore@pagestyle{% - \let\ps@plain\ACM@ps@plain - \let\ps@myheadings\ACM@ps@myheadings - \let\ps@headings\ACM@ps@headings} -\AtBeginDocument{\ACM@restore@pagestyle} -\if@ACM@review - \newsavebox{\ACM@linecount@bx} - \newlength\ACM@linecount@bxht - \newcount\ACM@linecount - \ACM@linecount\@ne\relax - \def\ACM@mk@linecount{% - \savebox{\ACM@linecount@bx}[4em][t]{\parbox[t]{4em}{\normalfont - \normalsize - \setlength{\ACM@linecount@bxht}{0pt}% - \loop{\color{red}\scriptsize\the\ACM@linecount}\\ - \global\advance\ACM@linecount by \@ne - \addtolength{\ACM@linecount@bxht}{\baselineskip}% - \ifdim\ACM@linecount@bxht<\textheight\repeat - {\color{red}\scriptsize\the\ACM@linecount}\hfill - \global\advance\ACM@linecount by \@ne}}} -\fi -\def\ACM@linecountL{% - \if@ACM@review - \ACM@mk@linecount - \begin{picture}(0,0)% - \put(-26,-22){\usebox{\ACM@linecount@bx}}% - \end{picture}% - \fi} -\def\ACM@linecountR{% - \if@ACM@review - \ifcase\ACM@format@nr - \relax % manuscript - \relax - \or % acmsmall - \relax - \or % acmlarge - \relax - \or % acmtog - \ACM@mk@linecount - \or % sigconf - \ACM@mk@linecount - \or % siggraph - \ACM@mk@linecount - \or % sigplan - \ACM@mk@linecount - \or % sigchi - \ACM@mk@linecount - \or % sigchi-a - \ACM@mk@linecount - \or % acmengage - \ACM@mk@linecount - \or % acmcp - \relax - \fi - \begin{picture}(0,0)% - \put(20,-22){\usebox{\ACM@linecount@bx}}% - \end{picture}% - \fi} -\if@ACM@timestamp - % Subtracting 30 from \time gives us the effect of rounding down despite - % \numexpr rounding to nearest - \newcounter{ACM@time@hours} - \setcounter{ACM@time@hours}{\numexpr (\time - 30) / 60 \relax} - \newcounter{ACM@time@minutes} - \setcounter{ACM@time@minutes}{\numexpr \time - \theACM@time@hours * 60 \relax} - \newcommand\ACM@timestamp{% - \footnotesize% - \ifx\@acmSubmissionID\@empty\relax\else - Submission ID: \@acmSubmissionID.{ }% - \fi - \the\year-\two@digits{\the\month}-\two@digits{\the\day}{ }% - \two@digits{\theACM@time@hours}:\two@digits{\theACM@time@minutes}{. }% - Page \thepage\ of \@startPage--\pageref*{TotPages}.% - } -\fi -\def\@shortauthors{% - \if@ACM@anonymous - Anon. - \ifx\@acmSubmissionID\@empty\else Submission Id: \@acmSubmissionID\fi - \else\shortauthors\fi} -\def\@headfootfont{\sffamily\footnotesize} -\AtBeginDocument{% -\fancypagestyle{standardpagestyle}{% - \fancyhf{}% - \renewcommand{\headrulewidth}{\z@}% - \renewcommand{\footrulewidth}{\z@}% - \def\@acmArticlePage{% - \ifx\@acmArticle\empty% - \if@ACM@printfolios\thepage\fi% - \else% - \@acmArticle\if@ACM@printfolios:\thepage\fi% - \fi% - }% - \if@ACM@journal@bibstrip - \ifcase\ACM@format@nr - \relax % manuscript - \fancyhead[LE]{\ACM@linecountL\if@ACM@printfolios\thepage\fi}% - \fancyhead[RO]{\if@ACM@printfolios\thepage\fi}% - \fancyhead[RE]{\@shortauthors}% - \fancyhead[LO]{\ACM@linecountL\shorttitle}% - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize Manuscript submitted to ACM} - \fi% - \or % acmsmall - \fancyhead[LE]{\ACM@linecountL\@headfootfont\@acmArticlePage}% - \fancyhead[RO]{\@headfootfont\@acmArticlePage}% - \fancyhead[RE]{\@headfootfont\@shortauthors}% - \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}% - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% - \fi - \or % acmlarge - \fancyhead[LE]{\ACM@linecountL\@headfootfont - \@acmArticlePage\quad\textbullet\quad\@shortauthors}% - \fancyhead[LO]{\ACM@linecountL}% - \fancyhead[RO]{\@headfootfont - \shorttitle\quad\textbullet\quad\@acmArticlePage}% - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% - \fi - \or % acmtog - \fancyhead[LE]{\ACM@linecountL\@headfootfont - \@acmArticlePage\quad\textbullet\quad\@shortauthors}% - \fancyhead[LO]{\ACM@linecountL}% - \fancyhead[RE]{\ACM@linecountR}% - \fancyhead[RO]{\@headfootfont - \shorttitle\quad\textbullet\quad\@acmArticlePage\ACM@linecountR}% - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% - \fi - \else % Proceedings - \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% - \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}% - \fancyhead[RE]{\@headfootfont\@shortauthors\ACM@linecountR}% - \if@ACM@nonacm - \fancyhead[LE]{\ACM@linecountL}% - \fancyhead[RO]{\ACM@linecountR}% - \else% - \if@ACM@engage - \fancyhead[LE]{\ACM@linecountL\@headfootfont\footnotesize - EngageCSEdu. \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi}% - \fancyhead[RO]{\@headfootfont - EngageCSEdu. \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi - \ACM@linecountR}% - \else - \fancyhead[LE]{\ACM@linecountL\@headfootfont\footnotesize - \acmConference@shortname, - \acmConference@date, \acmConference@venue}% - \fancyhead[RO]{\@headfootfont - \acmConference@shortname, - \acmConference@date, \acmConference@venue\ACM@linecountR}% - \fi - \fi - \fi - \else % Proceedings - \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% - \fancyhead[LO]{\ACM@linecountL\@headfootfont\shorttitle}% - \fancyhead[RE]{\@headfootfont\@shortauthors\ACM@linecountR}% - \if@ACM@nonacm - \fancyhead[LE]{\ACM@linecountL}% - \fancyhead[RO]{\ACM@linecountR}% - \else% - \if@ACM@engage - \fancyhead[LE]{\ACM@linecountL\@headfootfont - EngageCSEdu. \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi}% - \fancyhead[RO]{\@headfootfont - EngageCSEdu. \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi - \ACM@linecountR}% - \else - \fancyhead[LE]{\ACM@linecountL\@headfootfont - \acmConference@shortname, - \acmConference@date, \acmConference@venue}% - \fancyhead[RO]{\@headfootfont - \acmConference@shortname, - \acmConference@date, \acmConference@venue\ACM@linecountR}% - \fi - \fi - \fi - \if@ACM@sigchiamode - \fancyheadoffset[L]{\dimexpr(\marginparsep+\marginparwidth)}% - \fi - \if@ACM@timestamp - \fancyfoot[LO,RE]{\ACM@timestamp} - \fi - \if@ACM@acmcp - \renewcommand{\footrulewidth}{0.1\p@}% - \fancyheadoffset[L]{46pt}% - \fancyhead[L]{\makebox[\z@][l]{% - \raisebox{-\dimexpr(0.2\textheight*(\ACM@ArticleType@nr-2))}{% - \rotatebox{90}{\colorbox{@ACM@Article@color}{\color{white}% - \strut\ACM@ArticleType~Article}}}}% - \ACM@linecountL}% - \fancyhead[R]{\makebox[\z@][r]{\box\@ACM@acmcpbox}}% - \fancyfoot[L,C]{}% - \fancyfoot[R]{\footnotesize - \@journalName, Volume~\@acmVolume, Issue~\@acmNumber, - \ifx\@acmArticle\@empty\else Article~\@acmArticle\fi\space - (\@acmPubDate)\ifx\@acmDOI\@empty\else\\\@formatdoi{\@acmDOI}\fi} - \fi -}% -\pagestyle{standardpagestyle} -} -\AtBeginDocument{% -\fancypagestyle{firstpagestyle}{% - \fancyhf{}% - \renewcommand{\headrulewidth}{\z@}% - \renewcommand{\footrulewidth}{\z@}% - \if@ACM@journal@bibstrip - \ifcase\ACM@format@nr - \relax % manuscript - \fancyhead[L]{\ACM@linecountL\@acmBadgeL}% - \fancyhead[R]{\@acmBadgeR}% - \fancyfoot[RO,LE]{\if@ACM@printfolios\small\thepage\fi}% - \if@ACM@nonacm\else% - \fancyfoot[RE,LO]{\footnotesize Manuscript submitted to ACM}% - \fi% - \or % acmsmall - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: - \@acmPubDate.}% - \fi% - \fancyhead[LE]{\ACM@linecountL\@acmBadgeL}% - \fancyhead[LO]{\ACM@linecountL\@acmBadgeL}% - \fancyhead[RO]{\@acmBadgeR}% - \fancyhead[RE]{\@acmBadgeR}% - \or % acmlarge - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: - \@acmPubDate.}% - \fi% - \fancyhead[RO]{\@acmBadgeR}% - \fancyhead[RE]{\@acmBadgeR}% - \fancyhead[LE]{\ACM@linecountL\@acmBadgeL}% - \fancyhead[LO]{\ACM@linecountL\@acmBadgeL}% - \or % acmtog - \if@ACM@nonacm\else% - \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No. - \@acmNumber, Article \@acmArticle. Publication date: - \@acmPubDate.}% - \fi% - \fancyhead[L]{\ACM@linecountL\@acmBadgeL}% - \fancyhead[R]{\@acmBadgeR\ACM@linecountR}% - \else % Conference proceedings - \fancyhead[L]{\ACM@linecountL\@acmBadgeL}% - \fancyhead[R]{\@acmBadgeR\ACM@linecountR}% - \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% - \fi - \else - \fancyhead[L]{\ACM@linecountL\@acmBadgeL}% - \fancyhead[R]{\@acmBadgeR\ACM@linecountR}% - \fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}% - \fi - \if@ACM@timestamp - \ifnum\ACM@format@nr=0\relax % Manuscript - \fancyfoot[LO,RE]{\ACM@timestamp\quad - \if@ACM@nonacm\else - \footnotesize Manuscript submitted to ACM - \fi} - \else - \fancyfoot[LO,RE]{\ACM@timestamp} - \fi - \fi - \if@ACM@acmcp - \renewcommand{\footrulewidth}{0.1\p@}% - \fancyheadoffset[L]{46pt}% - \fancyhead[L]{\makebox[\z@][l]{% - \raisebox{-\dimexpr(0.2\textheight*(\ACM@ArticleType@nr-2))}{% - \rotatebox{90}{\colorbox{@ACM@Article@color}{\color{white}% - \strut\ACM@ArticleType~Article}}}}% - \ACM@linecountL\@acmBadgeL}% - \fancyhead[R]{\@acmBadgeR\makebox[\z@][r]{\box\@ACM@acmcpbox}}% - \fancyfoot[L,C]{}% - \fancyfoot[R]{\footnotesize - \@journalName, Volume~\@acmVolume, Issue~\@acmNumber, - \ifx\@acmArticle\@empty\else Article~\@acmArticle\fi\space - (\@acmPubDate)\ifx\@acmDOI\@empty\else\\\@formatdoi{\@acmDOI}\fi} - \fi -}} -\def\ACM@NRadjust#1{% - \begingroup - \expandafter\ifx\csname Sectionformat\endcsname\relax - % do nothing when \Sectionformat is unknown - \def\next{\endgroup #1}% - \else - \def\next{\endgroup - \let\realSectionformat\Sectionformat - \def\ACM@sect@format@{#1}% - \let\Sectionformat\ACM@NR@adjustedSectionformat - %% next lines added 2018-06-17 to ensure section number is styled - \let\real@adddotafter\@adddotafter - \let\@adddotafter\ACM@adddotafter - #1{}% imposes the styles, but nullifies \MakeUppercase - \let\@adddotafter\real@adddotafter - }% - \fi \next -} -\def\ACM@NR@adjustedSectionformat#1#2{% - \realSectionformat{\ACM@sect@format{#1}}{#2}% - \let\Sectionformat\realSectionformat} -\DeclareRobustCommand{\ACM@sect@format}{\ACM@sect@format@} -\def\ACM@sect@format@null#1{#1} -\let\ACM@sect@format@\ACM@sect@format@null -\AtBeginDocument{% - \expandafter\ifx\csname LTX@adddotafter\endcsname\relax - \let\LTX@adddotafter\@adddotafter - \fi -} -\def\ACM@adddotafter#1{\ifx\relax#1\relax\else\LTX@adddotafter{#1}\fi} -\renewcommand\section{\@startsection{section}{1}{\z@}% - {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}% - {.25\baselineskip}% - {\ACM@NRadjust\@secfont}} -\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% - {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}% - {.25\baselineskip}% - {\ACM@NRadjust\@subsecfont}} -\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% - {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% - {-3.5\p@}% - {\ACM@NRadjust{\@subsubsecfont\@adddotafter}}} -\renewcommand\paragraph{\@startsection{paragraph}{4}{\parindent}% - {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% - {-3.5\p@}% - {\ACM@NRadjust{\@parfont\@adddotafter}}} -\newcommand\noindentparagraph{\@startsection{paragraph}{4}{\z@}% - {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% - {-3.5\p@}% - {\ACM@NRadjust{\@parfont}}} - -\renewcommand\part{\@startsection{part}{9}{\z@}% - {-10\p@ \@plus -4\p@ \@minus -2\p@}% - {4\p@}% - {\ACM@NRadjust\@parfont}} -\def\section@raggedright{\@rightskip\@flushglue - \rightskip\@rightskip - \leftskip\z@skip - \parindent\z@} -\def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase} -\def\@subsecfont{\sffamily\bfseries\section@raggedright} -\def\@subsubsecfont{\sffamily\itshape} -\def\@parfont{\itshape} -\setcounter{secnumdepth}{3} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge - \def\@secfont{\sffamily\large\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\sffamily\large\section@raggedright} -\or % acmtog - \def\@secfont{\sffamily\large\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\sffamily\large\section@raggedright} -\or % sigconf - \def\@secfont{\bfseries\Large\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\bfseries\Large\section@raggedright} -\or % siggraph - \def\@secfont{\sffamily\bfseries\Large\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\sffamily\bfseries\Large\section@raggedright} -\or % sigplan - \def\@secfont{\bfseries\Large\section@raggedright} - \def\@subsecfont{\bfseries\section@raggedright} - \def\@subsubsecfont{\bfseries\section@raggedright} - \def\@parfont{\bfseries\itshape} - \def\@subparfont{\itshape} -\or % sigchi - \setcounter{secnumdepth}{1} - \def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\sffamily\bfseries\section@raggedright} -\or % sigchi-a - \setcounter{secnumdepth}{0} - \def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\sffamily\bfseries\section@raggedright} -\or % acmengage - \def\@secfont{\bfseries\Large\section@raggedright\MakeTextUppercase} - \def\@subsecfont{\bfseries\Large\section@raggedright} -\or %acmcp -\fi -\def\@adddotafter#1{#1\@addpunct{.}} -\def\@addspaceafter#1{#1\@addpunct{\enspace}} -\if@ACM@acmcp - \setcounter{secnumdepth}{-1}% -\fi -\providecommand*\@dotsep{4.5} -\def\@acmplainbodyfont{\itshape} -\def\@acmplainindent{\parindent} -\def\@acmplainheadfont{\scshape} -\def\@acmplainnotefont{\@empty} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog -\or % sigconf -\or % siggraph -\or % sigplan - \def\@acmplainbodyfont{\itshape} - \def\@acmplainindent{\z@} - \def\@acmplainheadfont{\bfseries} - \def\@acmplainnotefont{\normalfont} -\or % sigchi -\or % sigchi-a -\or % acmengage -\or % acmcp -\fi -\newtheoremstyle{acmplain}% - {.5\baselineskip\@plus.2\baselineskip - \@minus.2\baselineskip}% space above - {.5\baselineskip\@plus.2\baselineskip - \@minus.2\baselineskip}% space below - {\@acmplainbodyfont}% body font - {\@acmplainindent}% indent amount - {\@acmplainheadfont}% head font - {.}% punctuation after head - {.5em}% spacing after head - {\thmname{#1}\thmnumber{ #2}\thmnote{ {\@acmplainnotefont(#3)}}}% head spec -\def\@acmdefinitionbodyfont{\normalfont} -\def\@acmdefinitionindent{\parindent} -\def\@acmdefinitionheadfont{\itshape} -\def\@acmdefinitionnotefont{\@empty} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog -\or % sigconf -\or % siggraph -\or % sigplan - \def\@acmdefinitionbodyfont{\normalfont} - \def\@acmdefinitionindent{\z@} - \def\@acmdefinitionheadfont{\bfseries} - \def\@acmdefinitionnotefont{\normalfont} -\or % sigchi -\or % sigchi-a -\or % acmengage -\or % acmcp -\fi -\newtheoremstyle{acmdefinition}% - {.5\baselineskip\@plus.2\baselineskip - \@minus.2\baselineskip}% space above - {.5\baselineskip\@plus.2\baselineskip - \@minus.2\baselineskip}% space below - {\@acmdefinitionbodyfont}% body font - {\@acmdefinitionindent}% indent amount - {\@acmdefinitionheadfont}% head font - {.}% punctuation after head - {.5em}% spacing after head - {\thmname{#1}\thmnumber{ #2}\thmnote{ {\@acmdefinitionnotefont(#3)}}}% head spec -\theoremstyle{acmplain} -\AtEndPreamble{% - \if@ACM@acmthm - \theoremstyle{acmplain} - \@ifundefined{theorem}{% - \newtheorem{theorem}{Theorem}[section] - }{} - \@ifundefined{conjecture}{% - \newtheorem{conjecture}[theorem]{Conjecture} - }{} - \@ifundefined{proposition}{% - \newtheorem{proposition}[theorem]{Proposition} - }{} - \@ifundefined{lemma}{% - \newtheorem{lemma}[theorem]{Lemma} - }{} - \@ifundefined{corollary}{% - \newtheorem{corollary}[theorem]{Corollary} - }{} - \theoremstyle{acmdefinition} - \@ifundefined{example}{% - \newtheorem{example}[theorem]{Example} - }{} - \@ifundefined{definition}{% - \newtheorem{definition}[theorem]{Definition} - }{} - \fi - \theoremstyle{acmplain} -} -\def\@proofnamefont{\scshape} -\def\@proofindent{\indent} -\ifcase\ACM@format@nr -\relax % manuscript -\or % acmsmall -\or % acmlarge -\or % acmtog -\or % sigconf -\or % siggraph -\or % sigplan - \def\@proofnamefont{\itshape} - \def\@proofindent{\noindent} -\or % sigchi -\or % sigchi-a -\or % acmengage -\or % acmcp -\fi -\renewenvironment{proof}[1][\proofname]{\par - \pushQED{\qed}% - \normalfont \topsep6\p@\@plus6\p@\relax - \trivlist - \item[\@proofindent\hskip\labelsep - {\@proofnamefont #1\@addpunct{.}}]\ignorespaces -}{% - \popQED\endtrivlist\@endpefalse -} -\AtEndPreamble{% - \if@ACM@pbalance - \global\@ACM@balancefalse - \ifcase\ACM@format@nr - \relax % manuscript - \or % acmsmall - \or % acmlarge - \or % acmtog - \RequirePackage{pbalance}% - \or % sigconf - \RequirePackage{pbalance}% - \or % siggraph - \RequirePackage{pbalance}% - \or % sigplan - \RequirePackage{pbalance}% - \or % sigchi - \RequirePackage{pbalance}% - \or % sigchi-a - \or % acmengage - \RequirePackage{pbalance}% - \or % acmcp - \fi - \fi - \if@ACM@balance - \ifcase\ACM@format@nr - \relax % manuscript - \global\@ACM@balancefalse - \or % acmsmall - \global\@ACM@balancefalse - \or % acmlarge - \global\@ACM@balancefalse - \or % acmtog - \RequirePackage{balance}% - \or % sigconf - \RequirePackage{balance}% - \or % siggraph - \RequirePackage{balance}% - \or % sigplan - \RequirePackage{balance}% - \or % sigchi - \RequirePackage{balance}% - \or % sigchi-a - \global\@ACM@balancefalse - \or % acmengage - \RequirePackage{balance}% - \or % acmcp - \global\@ACM@balancefalse - \fi - \fi -} -\AtEndDocument{% - \if@ACM@balance - \if@twocolumn - \balance - \fi\fi} -\newcommand\acksname{Acknowledgments} -\specialcomment{acks}{% - \begingroup - \section*{\acksname} - \phantomsection\addcontentsline{toc}{section}{\acksname} -}{% - \endgroup -} -\def\grantsponsor#1#2#3{#2} -\newcommand\grantnum[3][]{#3% - \def\@tempa{#1}\ifx\@tempa\@empty\else\space(\url{#1})\fi} -\AtEndPreamble{% -\if@ACM@screen - \includecomment{screenonly} - \excludecomment{printonly} -\else - \excludecomment{screenonly} - \includecomment{printonly} -\fi -\if@ACM@anonymous - \excludecomment{anonsuppress} - \excludecomment{acks} -\else - \includecomment{anonsuppress} -\fi} -\newcommand\showeprint[2][arxiv]{% - \def\@tempa{#1}% - \ifx\@tempa\@empty\def\@tempa{arxiv}\fi - \def\@tempb{arxiv}% - \ifx\@tempa\@tempb\relax - arXiv:\href{https://arxiv.org/abs/#2}{#2}% - \else - \def\@tempb{arXiv}% - \ifx\@tempa\@tempb\relax - arXiv:\href{https://arxiv.org/abs/#2}{#2}% - \else - #1:#2% - \fi - \fi} -\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi - \columnseprule\z@ \columnsep 35\p@ - \@indextitlestyle - \let\item\@idxitem - \parindent\z@ \parskip\z@\@plus.3\p@\relax - \raggedright - \hyphenpenalty\@M - \footnotesize} -\let\@vspace@orig=\@vspace -\let\@vspacer@orig=\@vspacer -\apptocmd{\@vspace}{\ClassWarning{\@classname}{\string\vspace\space should - only be used to provide space above/below surrounding - objects}}{}{} -\apptocmd{\@vspacer}{\ClassWarning{\@classname}{\string\vspace\space should - only be used to provide space above/below surrounding - objects}}{}{} -\let\@vspace@acm=\@vspace -\let\@vspacer@acm=\@vspacer -\let\ACM@origbaselinestretch\baselinestretch -\AtEndDocument{\ifx\baselinestretch\ACM@origbaselinestretch\else - \ClassError{\@classname}{An attempt to redefine - \string\baselinestretch\space detected. Please do not do this for - ACM submissions!}\fi} -\normalsize\normalfont\frenchspacing -\endinput -%% -%% End of file `acmart.cls'. - diff --git a/DSD/journal/ACM/acronyms.tex b/DSD/journal/ACM/acronyms.tex deleted file mode 100644 index 43ee11f..0000000 --- a/DSD/journal/ACM/acronyms.tex +++ /dev/null @@ -1,18 +0,0 @@ -\newabbreviation{tas}{TAS}{Temporal Action Segmentation} -\newabbreviation{apt}{APT}{Advanced Persistent Threat} -\newabbreviation{dsd}{DSD}{Device State Detector} -\newabbreviation{cpd}{CPD}{Change Point Detection} -\newabbreviation{stl}{STL}{Signal Temporal Logic} -\newabbreviation{hids}{HIDS}{Host-Based Intrusion Detection Software} -\newabbreviation{nids}{NIDS}{Network-Based Intrusion Detection Software} -\newabbreviation{1nn}{1-NN}{1-Nearest Neighbor} -\newabbreviation{knn}{K-NN}{K-Nearest Neighbor} -\newabbreviation{rnn}{RNN}{Recurrent Neural Network} -\newabbreviation{cnn}{CNN}{Convolutional Neural Network} -\newabbreviation{svm}{SVM}{Support Vector Machine} -\newabbreviation{mlp}{MLP}{Multi Layer Perceptron} -\newabbreviation{mad}{MAD}{Machine Activity Detector} -\newabbreviation{ids}{IDS}{Intrusion Detection Systems} -\newabbreviation{nilm}{NILM}{Nonintrusive Load Monitoring} -\newabbreviation{it}{IT}{Information Technology} -\newabbreviation{dtw}{DTW}{Dynamic Time Warping} diff --git a/DSD/journal/ACM/biblio.bib b/DSD/journal/ACM/biblio.bib deleted file mode 100644 index 50f3451..0000000 --- a/DSD/journal/ACM/biblio.bib +++ /dev/null @@ -1,725 +0,0 @@ -@inproceedings{deldari2020espresso, - title={Entropy and ShaPe awaRe timE-Series SegmentatiOn for processing heterogeneous sensor data}, - author={Deldari, Shohreh and Smith, Daniel V. and Sadri and Amin and Salim and Flora D. }, - journal={Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies (IMWUT)}, - volume={4}, - number={3}, - articleno={77}, - year={2020}, - url = {https://doi.org/10.1145/3411832}, - doi = {10.1145/3411832} -} - -@inproceedings{10.1145/3081333.3081340, -author = {Virmani and Aditya and Shahzad and Muhammad}, -title = {Position and Orientation Agnostic Gesture Recognition Using WiFi}, -year = {2017}, -isbn = {9781450349284}, -publisher = {Association for Computing Machinery}, -address = {New York, NY, USA}, -url = {https://doi.org/10.1145/3081333.3081340}, -doi = {10.1145/3081333.3081340}, -abstract = {WiFi based gesture recognition systems have recently proliferated due to the ubiquitous availability of WiFi in almost every modern building. The key limitation of existing WiFi based gesture recognition systems is that they require the user to be in the same configuration (i.e., at the same position and in same orientation) when performing gestures at runtime as when providing training samples, which significantly restricts their practical usability. In this paper, we propose a WiFi based gesture recognition system, namely WiAG, which recognizes the gestures of the user irrespective of his/her configuration. The key idea behind WiAG is that it first requests the user to provide training samples for all gestures in only one configuration and then automatically generates virtual samples for all gestures in all possible configurations by applying our novel translation function on the training samples. Next, for each configuration, it generates a classification model using virtual samples corresponding to that configuration. To recognize gestures of a user at runtime, as soon as the user performs a gesture, WiAG first automatically estimates the configuration of the user and then evaluates the gesture against the classification model corresponding to that estimated configuration. Our evaluation results show that when user's configuration is not the same at runtime as at the time of providing training samples, WiAG significantly improves the gesture recognition accuracy from just 51.4\% to 91.4\%.}, -booktitle = {Proceedings of the 15th Annual International Conference on Mobile Systems, Applications, and Services}, -pages = {252–264}, -numpages = {13}, -keywords = {agnostic, position, orientation, WiFi, gesture recognition}, -location = {Niagara Falls, New York, USA}, -series = {MobiSys '17} -} - -@article{aminikhanghahi2018real, - title={Real-time change point detection with application to smart home time series data}, - author={Aminikhanghahi, Samaneh and Wang and Tinghui and Cook and Diane J}, - journal={IEEE Transactions on Knowledge and Data Engineering}, - volume={31}, - number={5}, - pages={1010--1023}, - year={2018}, - publisher={IEEE} -} - -%Fancourt, C.L., Principe, J.C., 1996. A neighborhood map of competing one step predictors for piecewise segmentation and identification of time series. In: Proceedings of the International Conference on Neural Network, vol. 4, pp. 1906–1911. - -@article{xiao2022self, - title={Self-Supervised Few-Shot Time-series Segmentation for Activity Recognition}, - author={Xiao, Chunjing and Chen, Shiming and Zhou and Fan and Wu and Jie}, - journal={IEEE Transactions on Mobile Computing}, - year={2022}, - publisher={IEEE} -} - -@misc{2207.09925, - doi = {10.48550/ARXIV.2207.09925}, - - url = {https://arxiv.org/abs/2207.09925}, - - author = {Xu, Leiyang and Wang, Qiang and Lin and Xiaotian and Yuan and Lin}, - - keywords = {Computer Vision and Pattern Recognition (cs.CV), FOS: Computer and information sciences, FOS: Computer and information sciences}, - - title = {An Efficient Framework for Few-shot Skeleton-based Temporal Action Segmentation}, - - publisher = {arXiv}, - - year = {2022}, - - copyright = {arXiv.org perpetual, non-exclusive license} -} - -@article{sarker2018individualized, - title={Individualized time-series segmentation for mining mobile phone user behavior}, - author={Sarker, Iqbal H and Colman, Alan and Kabir and Muhammad Ashad and Han and Jun}, - journal={The Computer Journal}, - volume={61}, - number={3}, - pages={349--368}, - year={2018}, - publisher={Oxford University Press} -} - -@article{4445667, author={Liu, Xiaoyan and Lin, Zhenjiang and Wang, Huaiqing}, journal={IEEE Transactions on Knowledge and Data Engineering}, title={Novel Online Methods for Time Series Segmentation}, year={2008}, volume={20}, number={12}, pages={1616-1626}, doi={10.1109/TKDE.2008.29}} - -@article{4160958, - author={Yujian, Li and Bo, Liu}, - journal={IEEE Transactions on Pattern Analysis and Machine Intelligence}, - title={A Normalized Levenshtein Distance Metric}, - year={2007}, - volume={29}, - number={6}, - pages={1091-1095}, - doi={10.1109/TPAMI.2007.1078} -} - -@article{aminikhanghahi2017survey, - title={A survey of methods for time series change point detection}, - author={Aminikhanghahi and Samaneh and Cook and Diane J}, - journal={Knowledge and information systems}, - volume={51}, - number={2}, - pages={339--367}, - year={2017}, - publisher={Springer} -} - -@misc{palitronica, - title = {Palitronica - Palisade}, - howpublished = {https://www.palitronica.com/products/palisade}, - note = {Accessed: 2010-03-26} -} - -@misc{hidden-palitronica, - title = {Reference hidden for peer-review}, -} - -@misc{articlemlcs, - title = {Side-channel Based Runtime Intrusion Detection for Network Equipment}, - author = {Arthur Grisel-Davy and Goksen U. Guler and Julian Dickert and Philippe Vibien and Waleed Khan and Jack Morgan and Carlos Moreno and Sebastian Fischmeister}, - year = {2023}, - Journal = {Machine Learning for Cyber Security. ML4CS 2023} -} - -@inbook{278e1df91d22494f9be2adfca2559f92, -title = "A data management platform for personalised real-time energy feedback", -keywords = "smart homes, real-time energy, smart energy meter, energy consumption, Electrical engineering. Electronics Nuclear engineering, Electrical and Electronic Engineering", -author = "David Murray and Jing Liao and Lina Stankovic and Vladimir Stankovic and Richard Hauxwell-Baldwin and Charlie Wilson and Michael Coleman and Tom Kane and Steven Firth", -year = "2015", -booktitle = "Proceedings of the 8th International Conference on Energy Efficiency in Domestic Appliances and Lighting", -} - -@Article{Hunter:2007, - Author = {Hunter, J. D.}, - Title = {Matplotlib: A 2D graphics environment}, - Journal = {Computing in Science \& Engineering}, - Volume = {9}, - Number = {3}, - Pages = {90--95}, - abstract = {Matplotlib is a 2D graphics package used for Python for - application development, interactive scripting, and publication-quality - image generation across user interfaces and operating systems.}, - publisher = {IEEE COMPUTER SOC}, - doi = {10.1109/MCSE.2007.55}, - year = 2007 -} - -@inproceedings{kocher1996timing, - title={Timing attacks on implementations of Diffie-Hellman, RSA, DSS, and other systems}, - author={Kocher and Paul C}, - booktitle={Advances in Cryptology—CRYPTO’96: 16th Annual International Cryptology Conference Santa Barbara, California, USA August 18--22, 1996 Proceedings 16}, - pages={104--113}, - year={1996}, - organization={Springer} -} - -@article{villalobos2021flexible, - title={A flexible alarm prediction system for smart manufacturing scenarios following a forecaster--analyzer approach}, - author={Villalobos, Kevin and Suykens and Johan and Illarramendi and Arantza}, - journal={Journal of Intelligent Manufacturing}, - volume={32}, - pages={1323--1344}, - year={2021}, - publisher={Springer} -} - -@article{belikovetsky2018digital, - title={Digital audio signature for 3D printing integrity}, - author={Belikovetsky, Sofia and Solewicz, Yosef A and Yampolskiy, Mark and Toh and Jinghui and Elovici and Yuval}, - journal={IEEE Transactions on Information Forensics and Security}, - volume={14}, - number={5}, - pages={1127--1141}, - year={2018}, - publisher={IEEE} -} - -@article{al2016forensics, - title={Forensics of thermal side-channel in additive manufacturing systems}, - author={Al Faruque, Mohammad Abdullah and Chhetri, Sujit Rokka and Canedo and A and Wan and J}, - journal={University of California, Irvine}, - volume={12}, - number={13}, - pages={176}, - year={2016} -} - -@article{10.1145/3571288, -author = {Thakur, Shailja and Moreno and Carlos and Fischmeister and Sebastian}, -title = {CANOA: CAN Origin Authentication Through Power Side-Channel Monitoring}, -year = {2022}, -publisher = {Association for Computing Machinery}, -address = {New York, NY, USA}, -issn = {2378-962X}, -url = {https://doi.org/10.1145/3571288}, -doi = {10.1145/3571288}, -abstract = {The lack of any sender authentication mechanism in place makes Controller Area Network (CAN) vulnerable to security threats. For instance, an attacker can impersonate an Electronic Control Unit (ECU) on the bus and send spoofed messages unobtrusively with the identifier of the impersonated ECU. To address this problem, we propose a novel source authentication technique that uses power consumption measurements of the ECU to authenticate the source of a message. A transmission of an ECU affects the power consumption and a characteristic pattern will appear. Our technique exploits the power consumption of each ECU during the transmission of a message to determine whether the message actually originated from the purported sender. We evaluate our approach in both a lab setup and a real vehicle. We also evaluate our approach against factors that can impact the power consumption measurement of the ECU. The results of the evaluation show that the proposed technique is applicable in a broad range of operating conditions with reasonable computational power requirements and attaining good accuracy.}, -note = {Just Accepted}, -journal = {ACM Trans. Cyber-Phys. Syst.}, -month = {nov}, -keywords = {CAN, transmissions, authentication, automotive security} -} - -@article{gatlin2019detecting, - title={Detecting sabotage attacks in additive manufacturing using actuator power signatures}, - author={Gatlin, Jacob and Belikovetsky, Sofia and Moore, Samuel B and Solewicz, Yosef and Elovici and Yuval and Yampolskiy and Mark}, - journal={IEEE Access}, - volume={7}, - pages={133421--133432}, - year={2019}, - publisher={IEEE} -} - -@article{CHOU2014400, -title = {Real-time detection of anomalous power consumption}, -journal = {Renewable and Sustainable Energy Reviews}, -volume = {33}, -pages = {400-411}, -year = {2014}, -issn = {1364-0321}, -doi = {https://doi.org/10.1016/j.rser.2014.01.088}, -url = {https://www.sciencedirect.com/science/article/pii/S1364032114001142}, -author = {Jui-Sheng Chou and Abdi Suryadinata Telaga}, -keywords = {Power consumption, Big data analytics, Anomaly detection, Pattern recognition, Real time detection, Time series prediction}, -abstract = {Effective feedback can reduce building power consumption and carbon emissions. Therefore, providing information to building managers and tenants is the first step in identifying ways to reduce power consumption. Since reducing anomalous consumption can have a large impact, this study proposes a novel approach to using large sets of data for a building space to identify anomalous power consumption. This method identifies anomalies in two stages: consumption prediction and anomaly detection. Daily real-time consumption is predicted by using a hybrid neural net ARIMA (auto-regressive integrated moving average) model of daily consumption. Anomalies are then identified by differences between real and predicted consumption by applying the two-sigma rule. The experimental results for a 17-week study of electricity consumption in a building office space confirm that the method can detect anomalous values in real time. Another contribution of the study is the development of a formalized methodology for detecting anomalous patterns in large data sets for real-time of building office space energy consumption. Moreover, the prediction component can be used to plan electricity usage while the anomaly detection component can be used to understand the energy consumption behaviors of tenants.} -} - -@INPROCEEDINGS{9934955, - - author={Grisel-Davy, Arthur and Bhogayata, Amrita Milan and Pabbi, Srijan and Narayan and Apurva and Fischmeister and Sebastian}, - - booktitle={2022 International Conference on Embedded Software (EMSOFT)}, - - title={Work-in-Progress: Boot Sequence Integrity Verification with Power Analysis}, - - year={2022}, - - volume={}, - - number={}, - - pages={3-4}, - - doi={10.1109/EMSOFT55006.2022.00009}} - -@INPROCEEDINGS{9061783, - - author={Li, Yanjie and He, Ruiwen and Ji and Xiaoyu and Xu and Wenyuan}, - - booktitle={2019 IEEE 3rd Conference on Energy Internet and Energy System Integration (EI2)}, - - title={Using power side-channel to implement anomaly-based intrusion detection on smart grid terminals}, - - year={2019}, - - volume={}, - - number={}, - - pages={2669-2674}, - - doi={10.1109/EI247390.2019.9061783}} - -@article{ilgun1995state, - title={State transition analysis: A rule-based intrusion detection approach}, - author={Ilgun, Koral and Kemmerer and Richard A and Porras and Phillip A}, - journal={IEEE transactions on software engineering}, - volume={21}, - number={3}, - pages={181--199}, - year={1995}, - publisher={IEEE} -} - -@INPROCEEDINGS{5563714, - - author={Lei Li and De-Zhang Yang and Fang-Cheng Shen}, - - booktitle={2010 3rd International Conference on Computer Science and Information Technology}, - - title={A novel rule-based Intrusion Detection System using data mining}, - - year={2010}, - - volume={6}, - - number={}, - - pages={169-172}, - - doi={10.1109/ICCSIT.2010.5563714}} - -@article{kumar2020integrated, - title={An integrated rule based intrusion detection system: analysis on UNSW-NB15 data set and the real time online dataset}, - author={Kumar, Vikash and Sinha, Ditipriya and Das, Ayan Kumar and Pandey and Subhash Chandra and Goswami and Radha Tamal}, - journal={Cluster Computing}, - volume={23}, - pages={1397--1418}, - year={2020}, - publisher={Springer} -} - -@article{uddin2018activity, - title={Activity recognition for cognitive assistance using body sensors data and deep convolutional neural network}, - author={Uddin and Md Zia and Hassan and Mohammad Mehedi}, - journal={IEEE Sensors Journal}, - volume={19}, - number={19}, - pages={8413--8419}, - year={2018}, - publisher={IEEE} -} - -@article{wannenburg2016physical, - title={Physical activity recognition from smartphone accelerometer data for user context awareness sensing}, - author={Wannenburg and Johan and Malekian and Reza}, - journal={IEEE Transactions on Systems, Man, and Cybernetics: Systems}, - volume={47}, - number={12}, - pages={3142--3149}, - year={2016}, - publisher={IEEE} -} - -@inproceedings{bodor2003vision, - title={Vision-based human tracking and activity recognition}, - author={Bodor, Robert and Jackson and Bennett and Papanikolopoulos and Nikolaos}, - booktitle={Proc. of the 11th Mediterranean Conf. on Control and Automation}, - volume={1}, - pages={1--6}, - year={2003}, - organization={Citeseer} -} - -@article{zhang2019numerical, - title={Numerical delineation of 3D unsteady flow fields in side channel pumps for engineering processes}, - author={Zhang, Fan and Chen, Ke and Appiah, Desmond and Hu, Bo and Yuan and Shouqi and Asomani and Stephen Ntiri}, - journal={Energies}, - volume={12}, - number={7}, - pages={1287}, - year={2019}, - publisher={MDPI} -} - -@INPROCEEDINGS{4393062, - - author={Zhou, Wei and Habetler and Thomas G. and Harley and Ronald G.}, - - booktitle={2007 IEEE International Symposium on Diagnostics for Electric Machines, Power Electronics and Drives}, - - title={Bearing Condition Monitoring Methods for Electric Machines: A General Review}, - - year={2007}, - - volume={}, - - number={}, - - pages={3-6}, - - doi={10.1109/DEMPED.2007.4393062}} - -@article{yang2016power, - title={Power consumption based android malware detection}, - author={Yang and Hongyu and Tang and Ruiwen}, - journal={Journal of Electrical and Computer Engineering}, - volume={2016}, - year={2016}, - publisher={Hindawi} -} - -@article{chawla2021machine, - title={Machine learning in wavelet domain for electromagnetic emission based malware analysis}, - author={Chawla, Nikhil and Kumar and Harshit and Mukhopadhyay and Saibal}, - journal={IEEE Transactions on Information Forensics and Security}, - volume={16}, - pages={3426--3441}, - year={2021}, - publisher={IEEE} -} -@article{wang2015measurement, - title={Measurement system of gear parameters based on machine vision}, - author={Wang, Wencheng and Guan, Fengnian and Ma and Shiyong and Li and Jian}, - journal={Measurement and Control}, - volume={48}, - number={8}, - pages={242--248}, - year={2015}, - publisher={SAGE Publications Sage UK: London, England} -} - -@ARTICLE{1702202, - - author={Denning and D.E.}, - - journal={IEEE Transactions on Software Engineering}, - - title={An Intrusion-Detection Model}, - - year={1987}, - - volume={SE-13}, - - number={2}, - - pages={222-232}, - - doi={10.1109/TSE.1987.232894}} - -@INPROCEEDINGS{9491765, - - author={Alsmadi and Tibra and Alqudah and Nour}, - - booktitle={2021 International Conference on Information Technology (ICIT)}, - - title={A Survey on malware detection techniques}, - - year={2021}, - - volume={}, - - number={}, - - pages={371-376}, - - doi={10.1109/ICIT52682.2021.9491765}} - -@inproceedings{10.1145/2940343.2940348, -author = {Malik and Jyoti and Kaushal and Rishabh}, -title = {CREDROID: Android Malware Detection by Network Traffic Analysis}, -year = {2016}, -isbn = {9781450343466}, -publisher = {Association for Computing Machinery}, -address = {New York, NY, USA}, -url = {https://doi.org/10.1145/2940343.2940348}, -doi = {10.1145/2940343.2940348}, -abstract = {Android, one of the most popular open source mobile operating system, is facing a lot of security issues. Being used by users with varying degrees of awareness complicates the problem further. Most of the security problems are due to maliciousness of android applications. The malwares get installed in mobile phones through various popular applications particularly gaming applications or some utility applications from various third party app-stores which are untrustworthy. A common feature of the malware is to access the sensitive information from the mobile device and transfer it to remote servers. For our work, we have confined ourselves to defining maliciousness as leakage of privacy information by Android application. In this paper we have proposed a method named as CREDROID which identifies malicious applications on the basis of their Domain Name Server(DNS) queries as well as the data it transmits to remote server by performing the in-depth analysis of network traffic logs in offline mode. Instead of performing signature based detection which is unable to detect polymorphic malwares, we propose a pattern based detection. Pattern in our work refers to the leakage of sensitive information being sent to the remote server. CREDROID is a semi-automated approach which works on various factors like the remote server where the application is connecting, data being sent and the protocol being used for communication for identifying the trustworthiness (credibility) of the application. In our work, we have observed that 63% of the applications from a standard dataset of malwares are generating network traffic which has been the focus of our work.}, -booktitle = {Proceedings of the 1st ACM Workshop on Privacy-Aware Mobile Computing}, -pages = {28–36}, -numpages = {9}, -keywords = {Android, malware detection, network traffic analysis}, -location = {Paderborn, Germany}, -series = {PAMCO '16} -} -} - -@article{jelali2013statistical, - title={Statistical process control}, - author={Jelali and Mohieddine and Jelali and Mohieddine}, - journal={Control Performance Management in Industrial Automation: Assessment, Diagnosis and Improvement of Control Loop Performance}, - pages={209--217}, - year={2013}, - publisher={Springer} -} - -@inproceedings{tongaonkar2007inferring, - title={Inferring Higher Level Policies from Firewall Rules.}, - author={Tongaonkar, Alok and Inamdar and Niranjan and Sekar and R}, - booktitle={LISA}, - volume={7}, - pages={1--10}, - year={2007} -} - -@article{aly2005survey, - title={Survey on multiclass classification methods}, - author={Aly and Mohamed}, - journal={Neural Netw}, - volume={19}, - number={1-9}, - pages={2}, - year={2005}, - publisher={Citeseer} -} - -@misc{grandini2020metrics, - title={Metrics for Multi-Class Classification: an Overview}, - author={Margherita Grandini and Enrico Bagli and Giorgio Visani}, - year={2020}, - eprint={2008.05756}, - archivePrefix={arXiv}, - primaryClass={stat.ML} -} - -@misc{zenodo, -title={Evaluation Dataset for the Machine State Detector, https://zenodo.org/record/7782702\#.ZCR33byZNhE}, -year={2023}, -} - -@misc{name_hidden_for_peer_review_2023_8192914, - title = {{160 Hours of Labeled Power Consumption Dataset of - Computer, https://doi.org/10.5281/zenodo.8192914}}, - year = 2023, -} - -@article{gupta2021novel, - title={A novel failure mode effect and criticality analysis (FMECA) using fuzzy rule-based method: A case study of industrial centrifugal pump}, - author={Gupta, Gajanand and Ghasemian and Hamed and Janvekar and Ayub Ahmed}, - journal={Engineering Failure Analysis}, - volume={123}, - pages={105305}, - year={2021}, - publisher={Elsevier} -} - -@inproceedings{10.1145/2976749.2978353, -author = {Genkin, Daniel and Pachmanov, Lev and Pipman, Itamar and Tromer and Eran and Yarom and Yuval}, -title = {ECDSA Key Extraction from Mobile Devices via Nonintrusive Physical Side Channels}, -year = {2016}, -isbn = {9781450341394}, -publisher = {Association for Computing Machinery}, -address = {New York, NY, USA}, -url = {https://doi.org/10.1145/2976749.2978353}, -doi = {10.1145/2976749.2978353}, -abstract = {We show that elliptic-curve cryptography implementations on mobile devices are vulnerable to electromagnetic and power side-channel attacks. We demonstrate full extraction of ECDSA secret signing keys from OpenSSL and CoreBitcoin running on iOS devices, and partial key leakage from OpenSSL running on Android and from iOS's CommonCrypto. These non-intrusive attacks use a simple magnetic probe placed in proximity to the device, or a power probe on the phone's USB cable. They use a bandwidth of merely a few hundred kHz, and can be performed cheaply using an audio card and an improvised magnetic probe.}, -booktitle = {Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security}, -pages = {1626–1638}, -numpages = {13}, -keywords = {elliptic curve, side channel attack, electromagnetic analysis, power analysis}, -location = {Vienna, Austria}, -series = {CCS '16} -} - -@article{randolph2020power, - title={Power side-channel attack analysis: A review of 20 years of study for the layman}, - author={Randolph and Mark and Diehl and William}, - journal={Cryptography}, - volume={4}, - number={2}, - pages={15}, - year={2020}, - publisher={MDPI} -} - -@article{micucci2017unimib, - title={Unimib shar: A dataset for human activity recognition using acceleration data from smartphones}, - author={Micucci, Daniela and Mobilio and Marco and Napoletano and Paolo}, - journal={Applied Sciences}, - volume={7}, - number={10}, - pages={1101}, - year={2017}, - publisher={Multidisciplinary Digital Publishing Institute} -} - -@article{truong2020selective, - title={Selective review of offline change point detection methods}, - author={Truong, Charles and Oudre and Laurent and Vayatis and Nicolas}, - journal={Signal Processing}, - volume={167}, - pages={107299}, - year={2020}, - publisher={Elsevier} -} - -@inproceedings{10.1145/3371158.3371162, -author = {Narwariya, Jyoti and Malhotra, Pankaj and Vig, Lovekesh and Shroff and Gautam and Vishnu and T. V.}, -title = {Meta-Learning for Few-Shot Time Series Classification}, -year = {2020}, -isbn = {9781450377386}, -publisher = {Association for Computing Machinery}, -address = {New York, NY, USA}, -url = {https://doi.org/10.1145/3371158.3371162}, -doi = {10.1145/3371158.3371162}, -abstract = {Deep neural networks (DNNs) have achieved state-of-the-art results on time series classification (TSC) tasks. In this work, we focus on leveraging DNNs in the often-encountered practical scenario where access to labeled training data is difficult, and where DNNs would be prone to overfitting. We leverage recent advancements in gradient-based meta-learning, and propose an approach to train a residual neural network with convolutional layers as a meta-learning agent for few-shot TSC. The network is trained on a diverse set of few-shot tasks sampled from various domains (e.g. healthcare, activity recognition, etc.) such that it can solve a target task from another domain using only a small number of training samples from the target task. Most existing meta-learning approaches are limited in practice as they assume a fixed number of target classes across tasks. We overcome this limitation in order to train a common agent across domains with each domain having different number of target classes, we utilize a triplet-loss based learning procedure that does not require any constraints to be enforced on the number of classes for the few-shot TSC tasks. To the best of our knowledge, we are the first to use meta-learning based pre-training for TSC. Our approach sets a new benchmark for few-shot TSC, outperforming several strong baselines on few-shot tasks sampled from 41 datasets in UCR TSC Archive. We observe that pre-training under the meta-learning paradigm allows the network to quickly adapt to new unseen tasks with small number of labeled instances.}, -booktitle = {Proceedings of the 7th ACM IKDD CoDS and 25th COMAD}, -pages = {28–36}, -numpages = {9}, -keywords = {Time Series Classification, Meta-Learning, Few-Shot Learning, Convolutional Neural Networks}, -location = {Hyderabad, India}, -series = {CoDS COMAD 2020} -} - -@article{tang2019few, - title={Few-shot time-series classification with dual interpretability}, - author={Tang, Wensi and Liu and Lu and Long and Guodong}, - journal={Space}, - volume={2}, - number={T1}, - pages={T1}, - year={2019} -} - -@INPROCEEDINGS{9647357, - - author={Gupta, Priyanka and Bhaskarpandit and Sathvik and Gupta and Manik}, - - booktitle={2021 Digital Image Computing: Techniques and Applications (DICTA)}, - - title={Similarity Learning based Few Shot Learning for ECG Time Series Classification}, - - year={2021}, - - volume={}, - - number={}, - - pages={1-8}, - - doi={10.1109/DICTA52665.2021.9647357}} - -@article{duin1997experiments, - title={Experiments with a featureless approach to pattern recognition}, - author={Duin, Robert PW and de Ridder and Dick and Tax and David MJ}, - journal={Pattern Recognition Letters}, - volume={18}, - number={11-13}, - pages={1159--1166}, - year={1997}, - publisher={Elsevier} -} - -@INPROCEEDINGS{8598355, - - author={Dash and Prajna and Naik and Kshirasagar}, - - booktitle={2018 IEEE Electrical Power and Energy Conference (EPEC)}, - - title={A Very Deep One Dimensional Convolutional Neural Network (VDOCNN) for Appliance Power Signature Classification}, - - year={2018}, - - volume={}, - - number={}, - - pages={1-6}, - - doi={10.1109/EPEC.2018.8598355}} - -@article{angelis2022nilm, - title={NILM applications: Literature review of learning approaches, recent developments and challenges}, - author={Angelis, Georgios-Fotios and Timplalexis, Christos and Krinidis, Stelios and Ioannidis and Dimosthenis and Tzovaras and Dimitrios}, - journal={Energy and Buildings}, - pages={111951}, - year={2022}, - publisher={Elsevier} -} - -@misc{sleep_states, -title={Sleep States Description}, -url={https://learn.microsoft.com/en-us/windows-hardware/drivers/kernel/system-sleeping-states}, -year={2023}, -} - - -@misc{mitre_crypto, - title={Mitre ATT\&CK - T1496 Resource Hijacking}, - url = {https://attack.mitre.org/versions/v13/techniques/T1496/}, -} -@misc{mitre_botnet, - title={Mitre ATT\&CK - T1583.005 Acquire Infrastructure: Botnet}, - url = {https://attack.mitre.org/versions/v13/techniques/T1583/005/}, -} -@misc{mitre_prevent, - title={Mitre ATT\&CK - T1562.001 Impair Defenses: Disable or Modify Tools}, - url = {https://attack.mitre.org/versions/v13/techniques/T1562/001/}, -} -@misc{mitre_ransomware, - title={Mitre ATT\&CK - T1486 Data Encrypted for Impact}, - url = {https://attack.mitre.org/versions/v13/techniques/T1486/}, -} - -@misc{opitz2021macro, - title={Macro F1 and Macro F1}, - author={Juri Opitz and Sebastian Burst}, - year={2021}, - eprint={1911.03347}, - archivePrefix={arXiv}, - primaryClass={cs.LG} -} - -@misc{keras, -author = {François Chollet }, -title = {keras}, -year = {2015}, -publisher = {GitHub}, -journal = {GitHub repository}, -howpublished = {https://github.com/fchollet/keras}, -} - -@article{sklearn, - title={Scikit-learn: Machine Learning in {P}ython}, - author={Pedregosa and F. et al.}, - journal={Journal of Machine Learning Research}, - volume={12}, - pages={2825--2830}, - year={2011} -} - -@INPROCEEDINGS{1253591, - - author={Saputra, H. and Vijaykrishnan, N. and Kandemir, M. and Irwin, M.J. and Brooks, R. and Kim and S. and Zhang and W.}, - - booktitle={2003 Design, Automation and Test in Europe Conference and Exhibition}, - - title={Masking the energy behavior of DES encryption [smart cards]}, - - year={2003}, - - volume={}, - - number={}, - - pages={84-89}, - - doi={10.1109/DATE.2003.1253591} -} - -@ARTICLE{6918465, - - author={Khedkar, Ganesh and Kudithipudi and Dhireesha and Rose and Garrett S.}, - - journal={IEEE Transactions on Nanotechnology}, - - title={Power Profile Obfuscation Using Nanoscale Memristive Devices to Counter DPA Attacks}, - - year={2015}, - - volume={14}, - - number={1}, - - pages={26-35}, - - doi={10.1109/TNANO.2014.2362416}} - diff --git a/DSD/journal/ACM/comment.cut b/DSD/journal/ACM/comment.cut deleted file mode 100644 index 5b2dff9..0000000 --- a/DSD/journal/ACM/comment.cut +++ /dev/null @@ -1 +0,0 @@ -To Robert, for the bagels and explaining CMYK and color spaces. diff --git a/DSD/journal/ACM/images/2w_experiment.pdf b/DSD/journal/ACM/images/2w_experiment.pdf deleted file mode 100644 index fddd6e9..0000000 Binary files a/DSD/journal/ACM/images/2w_experiment.pdf and /dev/null differ diff --git a/DSD/journal/ACM/images/2w_experiment.svg b/DSD/journal/ACM/images/2w_experiment.svg deleted file mode 100644 index 5cff0e5..0000000 --- a/DSD/journal/ACM/images/2w_experiment.svg +++ /dev/null @@ -1,556 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - 4 - 8 - 12 - 16 - 20 - 24 - - Work Hours - - Maintenance - - - Sleep - Sleep - Establishedtimetable - Rules - - - 1 - 1 - - 2 - - - - 3 - 4 - Time - 0 - CompressedTime - 4 - 1 - 2 - 3 - - diff --git a/DSD/journal/ACM/images/alpha.pdf b/DSD/journal/ACM/images/alpha.pdf deleted file mode 100644 index 927f348..0000000 Binary files a/DSD/journal/ACM/images/alpha.pdf and /dev/null differ diff --git a/DSD/journal/ACM/images/alpha_impact.pdf b/DSD/journal/ACM/images/alpha_impact.pdf deleted file mode 100644 index 8cc4d96..0000000 Binary files a/DSD/journal/ACM/images/alpha_impact.pdf and /dev/null differ diff --git a/DSD/journal/ACM/images/areas.pdf b/DSD/journal/ACM/images/areas.pdf deleted file mode 100644 index eaefb6c..0000000 Binary files a/DSD/journal/ACM/images/areas.pdf and /dev/null differ diff --git a/DSD/journal/ACM/images/detection_real_DELL-1_1NNmin.png b/DSD/journal/ACM/images/detection_real_DELL-1_1NNmin.png deleted file mode 100644 index b42b859..0000000 Binary files a/DSD/journal/ACM/images/detection_real_DELL-1_1NNmin.png and /dev/null differ diff --git a/DSD/journal/ACM/images/detection_real_DELL-1_1_1NNmin.png b/DSD/journal/ACM/images/detection_real_DELL-1_1_1NNmin.png deleted file mode 100644 index d6b1f40..0000000 Binary files a/DSD/journal/ACM/images/detection_real_DELL-1_1_1NNmin.png and /dev/null differ diff --git a/DSD/journal/ACM/images/detection_real_DELL-1_2_1NNmin.png b/DSD/journal/ACM/images/detection_real_DELL-1_2_1NNmin.png deleted file mode 100644 index a73fa27..0000000 Binary files a/DSD/journal/ACM/images/detection_real_DELL-1_2_1NNmin.png and /dev/null differ diff --git a/DSD/journal/ACM/images/detection_real___empty_0.5_1NNmin.png b/DSD/journal/ACM/images/detection_real___empty_0.5_1NNmin.png deleted file mode 100644 index c5fd938..0000000 Binary files a/DSD/journal/ACM/images/detection_real___empty_0.5_1NNmin.png and /dev/null differ diff --git a/DSD/journal/ACM/images/detection_real___empty_0.75_1NNmin.png b/DSD/journal/ACM/images/detection_real___empty_0.75_1NNmin.png deleted file mode 100644 index 4857b7f..0000000 Binary files a/DSD/journal/ACM/images/detection_real___empty_0.75_1NNmin.png and /dev/null differ diff --git a/DSD/journal/ACM/images/detection_real___empty_1_1NNmin.png b/DSD/journal/ACM/images/detection_real___empty_1_1NNmin.png deleted file mode 100644 index e69a416..0000000 Binary files a/DSD/journal/ACM/images/detection_real___empty_1_1NNmin.png and /dev/null differ diff --git a/DSD/journal/ACM/images/detection_real_asus_1_1NNmin.png b/DSD/journal/ACM/images/detection_real_asus_1_1NNmin.png deleted file mode 100644 index 3ce773c..0000000 Binary files a/DSD/journal/ACM/images/detection_real_asus_1_1NNmin.png and /dev/null differ diff --git a/DSD/journal/ACM/images/dsd_acc.pdf b/DSD/journal/ACM/images/dsd_acc.pdf deleted file mode 100644 index 0f2bb60..0000000 Binary files a/DSD/journal/ACM/images/dsd_acc.pdf and /dev/null differ diff --git a/DSD/journal/ACM/images/example_dataset.pdf b/DSD/journal/ACM/images/example_dataset.pdf deleted file mode 100644 index 0bd1329..0000000 Binary files a/DSD/journal/ACM/images/example_dataset.pdf and /dev/null differ diff --git a/DSD/journal/ACM/images/interesting/full_day.pdf b/DSD/journal/ACM/images/interesting/full_day.pdf deleted file mode 100644 index fbaa272..0000000 Binary files a/DSD/journal/ACM/images/interesting/full_day.pdf and /dev/null differ diff --git a/DSD/journal/ACM/images/interesting/reboot.pdf b/DSD/journal/ACM/images/interesting/reboot.pdf deleted file mode 100644 index 80d1748..0000000 Binary files a/DSD/journal/ACM/images/interesting/reboot.pdf and /dev/null differ diff --git a/DSD/journal/ACM/images/metric.pdf b/DSD/journal/ACM/images/metric.pdf deleted file mode 100644 index 362ad89..0000000 --- a/DSD/journal/ACM/images/metric.pdf +++ /dev/null @@ -1,1204 +0,0 @@ -%PDF-1.5 -% -4 0 obj -<< /Length 5 0 R - /Filter /FlateDecode ->> -stream -x]o0+| 0\RIk] j5U; IڔC s -(!y'y؜0pxQ5,ׄhvOsF7 +O *n o 'zLnn ,E~:VWJƉT[>3$[3rnָ *S-Z*t95B)*ZFkTnkײm jAXY\a\Rn,Z*n"DqfPOT.S-}LX:U:Uu\u 9!Y:UulEOre BNX2U>DLY8Mbutu0ku)i>MbytŶOtf п*84i HQV@>AH{-='ӻ vftl%ea|;L&qL$(2gKF9ɳyYt<{L;\˳WPkg/:'|'쫭0Sg8fu,hf_RRώ=-Q+9ቬ'"8ϣJÊx {e}Uy(>:%PDb?PZwFd-|o`J />QMvRX[: +*oIeb%=~6r}&͑'#̩sUTՅ*G#Q5yؿqM81<ߵ\\RjWW%aY~Sz.aL|d!ߖlil^y_tgHׂ^m!bA/"gC}@&(B>,fH.D{ A`)1&(r>,gtX҇ g^~ cY?p3> - >> - /Pattern << /p7 7 0 R /p8 8 0 R /p9 9 0 R /p10 10 0 R /p11 11 0 R /p12 12 0 R /p13 13 0 R /p14 14 0 R /p15 15 0 R /p16 16 0 R /p17 17 0 R /p18 18 0 R /p19 19 0 R /p20 20 0 R /p21 21 0 R /p22 22 0 R /p23 23 0 R /p24 24 0 R /p25 25 0 R /p26 26 0 R /p27 27 0 R /p28 28 0 R /p29 29 0 R /p30 30 0 R >> - /Font << - /f-0-0 6 0 R - >> ->> -endobj -7 0 obj -<< /Length 33 0 R - /PatternType 1 - /BBox [ 0 0 200 100 ] - /XStep 200 - /YStep 100 - /TilingType 1 - /PaintType 1 - /Matrix [ 0.0267835 -0.0275587 -0.0218809 -0.0212654 72.228314 205.89559 ] - /Resources << /XObject << /x32 32 0 R >> >> ->> -stream - /x32 Do - -endstream -endobj -33 0 obj - 10 -endobj -8 0 obj -<< /Length 35 0 R - /PatternType 1 - /BBox [ 0 0 200 100 ] - /XStep 200 - /YStep 100 - /TilingType 1 - /PaintType 1 - /Matrix [ 0.0267835 -0.0275587 -0.0218809 -0.0212654 94.336676 205.89559 ] - /Resources << /XObject << /x34 34 0 R >> >> ->> -stream - /x34 Do - -endstream -endobj -35 0 obj - 10 -endobj -9 0 obj -<< /Length 37 0 R - /PatternType 1 - /BBox [ 0 0 200 100 ] - /XStep 200 - /YStep 100 - /TilingType 1 - /PaintType 1 - /Matrix [ 0.0267835 -0.0275587 -0.0218809 -0.0212654 116.44505 205.89559 ] - /Resources << /XObject << /x36 36 0 R >> >> ->> -stream - /x36 Do - -endstream -endobj -37 0 obj - 10 -endobj -10 0 obj -<< /Length 39 0 R - /PatternType 1 - /BBox [ 0 0 200 100 ] - /XStep 200 - /YStep 100 - /TilingType 1 - /PaintType 1 - /Matrix [ 0.0267835 -0.0275587 -0.0218809 -0.0212654 138.553413 205.89559 ] - /Resources << /XObject << /x38 38 0 R >> >> ->> -stream - /x38 Do - -endstream -endobj -39 0 obj - 10 -endobj -11 0 obj -<< /Length 41 0 R - /PatternType 1 - /BBox [ 0 0 200 100 ] - /XStep 200 - /YStep 100 - /TilingType 1 - /PaintType 1 - /Matrix [ 0.0267835 -0.0275587 -0.0218809 -0.0212654 160.661775 205.89559 ] - /Resources << /XObject << /x40 40 0 R >> >> ->> -stream - /x40 Do - -endstream -endobj -41 0 obj - 10 -endobj -12 0 obj -<< /Length 43 0 R - /PatternType 1 - /BBox [ 0 0 200 100 ] - /XStep 200 - /YStep 100 - /TilingType 1 - /PaintType 1 - /Matrix [ 0.0267835 -0.0275587 -0.0218809 -0.0212654 182.770138 205.89559 ] - /Resources << /XObject << /x42 42 0 R >> >> ->> -stream - /x42 Do - -endstream -endobj -43 0 obj - 10 -endobj -13 0 obj -<< /Length 45 0 R - /PatternType 1 - /BBox [ 0 0 200 100 ] - /XStep 200 - /YStep 100 - /TilingType 1 - /PaintType 1 - /Matrix [ 0.0267835 -0.0275587 -0.0218809 -0.0212654 72.228314 135.221901 ] - /Resources << /XObject << /x44 44 0 R >> >> ->> -stream - /x44 Do - -endstream -endobj -45 0 obj - 10 -endobj -14 0 obj -<< /Length 47 0 R - /PatternType 1 - /BBox [ 0 0 200 100 ] - /XStep 200 - /YStep 100 - /TilingType 1 - /PaintType 1 - /Matrix [ 0.0267835 -0.0275587 -0.0218809 -0.0212654 94.336676 135.221901 ] - /Resources << /XObject << /x46 46 0 R >> >> ->> -stream - /x46 Do - -endstream -endobj -47 0 obj - 10 -endobj -15 0 obj -<< /Length 49 0 R - /PatternType 1 - /BBox [ 0 0 200 100 ] - /XStep 200 - /YStep 100 - /TilingType 1 - /PaintType 1 - /Matrix [ 0.0267835 -0.0275587 -0.0218809 -0.0212654 116.44505 135.221901 ] - /Resources << /XObject << /x48 48 0 R >> >> ->> -stream - /x48 Do - -endstream -endobj -49 0 obj - 10 -endobj -16 0 obj -<< /Length 51 0 R - /PatternType 1 - /BBox [ 0 0 200 100 ] - /XStep 200 - /YStep 100 - /TilingType 1 - /PaintType 1 - /Matrix [ 0.0267835 -0.0275587 -0.0218809 -0.0212654 138.553413 135.221901 ] - /Resources << /XObject << /x50 50 0 R >> >> ->> -stream - /x50 Do - -endstream -endobj -51 0 obj - 10 -endobj -17 0 obj -<< /Length 53 0 R - /PatternType 1 - /BBox [ 0 0 200 100 ] - /XStep 200 - /YStep 100 - /TilingType 1 - /PaintType 1 - /Matrix [ 0.0267835 -0.0275587 -0.0218809 -0.0212654 160.661775 135.221901 ] - /Resources << /XObject << /x52 52 0 R >> >> ->> -stream - /x52 Do - -endstream -endobj -53 0 obj - 10 -endobj -18 0 obj -<< /Length 55 0 R - /PatternType 1 - /BBox [ 0 0 200 100 ] - /XStep 200 - /YStep 100 - /TilingType 1 - /PaintType 1 - /Matrix [ 0.0267835 -0.0275587 -0.0218809 -0.0212654 182.770138 135.221901 ] - /Resources << /XObject << /x54 54 0 R >> >> ->> -stream - /x54 Do - -endstream -endobj -55 0 obj - 10 -endobj -19 0 obj -<< /Length 57 0 R - /PatternType 1 - /BBox [ 0 0 200 100 ] - /XStep 200 - /YStep 100 - /TilingType 1 - /PaintType 1 - /Matrix [ 0.0267835 -0.0275587 -0.0218809 -0.0212654 72.228314 64.548212 ] - /Resources << /XObject << /x56 56 0 R >> >> ->> -stream - /x56 Do - -endstream -endobj -57 0 obj - 10 -endobj -20 0 obj -<< /Length 59 0 R - /PatternType 1 - /BBox [ 0 0 200 100 ] - /XStep 200 - /YStep 100 - /TilingType 1 - /PaintType 1 - /Matrix [ 0.0267835 -0.0275587 -0.0218809 -0.0212654 94.336676 64.548212 ] - /Resources << /XObject << /x58 58 0 R >> >> ->> -stream - /x58 Do - -endstream -endobj -59 0 obj - 10 -endobj -21 0 obj -<< /Length 61 0 R - /PatternType 1 - /BBox [ 0 0 200 100 ] - /XStep 200 - /YStep 100 - /TilingType 1 - /PaintType 1 - /Matrix [ 0.0267835 -0.0275587 -0.0218809 -0.0212654 116.44505 64.548212 ] - /Resources << /XObject << /x60 60 0 R >> >> ->> -stream - /x60 Do - -endstream -endobj -61 0 obj - 10 -endobj -22 0 obj -<< /Length 63 0 R - /PatternType 1 - /BBox [ 0 0 200 100 ] - /XStep 200 - /YStep 100 - /TilingType 1 - /PaintType 1 - /Matrix [ 0.0267835 -0.0275587 -0.0218809 -0.0212654 138.553413 64.548212 ] - /Resources << /XObject << /x62 62 0 R >> >> ->> -stream - /x62 Do - -endstream -endobj -63 0 obj - 10 -endobj -23 0 obj -<< /Length 65 0 R - /PatternType 1 - /BBox [ 0 0 200 100 ] - /XStep 200 - /YStep 100 - /TilingType 1 - /PaintType 1 - /Matrix [ 0.0267835 -0.0275587 -0.0218809 -0.0212654 160.661775 64.548212 ] - /Resources << /XObject << /x64 64 0 R >> >> ->> -stream - /x64 Do - -endstream -endobj -65 0 obj - 10 -endobj -24 0 obj -<< /Length 67 0 R - /PatternType 1 - /BBox [ 0 0 200 100 ] - /XStep 200 - /YStep 100 - /TilingType 1 - /PaintType 1 - /Matrix [ 0.0267835 -0.0275587 -0.0218809 -0.0212654 182.770138 64.548212 ] - /Resources << /XObject << /x66 66 0 R >> >> ->> -stream - /x66 Do - -endstream -endobj -67 0 obj - 10 -endobj -25 0 obj -<< /Length 69 0 R - /PatternType 1 - /BBox [ 0 0 200 100 ] - /XStep 200 - /YStep 100 - /TilingType 1 - /PaintType 1 - /Matrix [ 0.0267835 -0.0275587 -0.0218809 -0.0212654 204.878472 135.221901 ] - /Resources << /XObject << /x68 68 0 R >> >> ->> -stream - /x68 Do - -endstream -endobj -69 0 obj - 10 -endobj -26 0 obj -<< /Length 71 0 R - /PatternType 1 - /BBox [ 0 0 200 100 ] - /XStep 200 - /YStep 100 - /TilingType 1 - /PaintType 1 - /Matrix [ 0.0267835 -0.0275587 -0.0218809 -0.0212654 271.203585 64.548215 ] - /Resources << /XObject << /x70 70 0 R >> >> ->> -stream - /x70 Do - -endstream -endobj -71 0 obj - 10 -endobj -27 0 obj -<< /Length 73 0 R - /PatternType 1 - /BBox [ 0 0 200 100 ] - /XStep 200 - /YStep 100 - /TilingType 1 - /PaintType 1 - /Matrix [ 0.0267835 -0.0275587 -0.0218809 -0.0212654 446.944354 64.548215 ] - /Resources << /XObject << /x72 72 0 R >> >> ->> -stream - /x72 Do - -endstream -endobj -73 0 obj - 10 -endobj -28 0 obj -<< /Length 75 0 R - /PatternType 1 - /BBox [ 0 0 200 100 ] - /XStep 200 - /YStep 100 - /TilingType 1 - /PaintType 1 - /Matrix [ 0.0267835 -0.0275587 -0.0218809 -0.0212654 491.161113 64.548215 ] - /Resources << /XObject << /x74 74 0 R >> >> ->> -stream - /x74 Do - -endstream -endobj -75 0 obj - 10 -endobj -29 0 obj -<< /Length 77 0 R - /PatternType 1 - /BBox [ 0 0 200 100 ] - /XStep 200 - /YStep 100 - /TilingType 1 - /PaintType 1 - /Matrix [ 0.0267835 -0.0275587 -0.0218809 -0.0212654 446.944354 135.221901 ] - /Resources << /XObject << /x76 76 0 R >> >> ->> -stream - /x76 Do - -endstream -endobj -77 0 obj - 10 -endobj -30 0 obj -<< /Length 79 0 R - /PatternType 1 - /BBox [ 0 0 200 100 ] - /XStep 200 - /YStep 100 - /TilingType 1 - /PaintType 1 - /Matrix [ 0.0267835 -0.0275587 -0.0218809 -0.0212654 446.944354 205.895587 ] - /Resources << /XObject << /x78 78 0 R >> >> ->> -stream - /x78 Do - -endstream -endobj -79 0 obj - 10 -endobj -32 0 obj -<< /Length 81 0 R - /Filter /FlateDecode - /Type /XObject - /Subtype /Form - /BBox [ 0 0 200 100 ] - /Resources 80 0 R ->> -stream -x+O/6PH/2TtD0@A@@RҸ - - -endstream -endobj -81 0 obj - 47 -endobj -80 0 obj -<< - /ExtGState << - /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >> - /a0 << /CA 1 /ca 1 >> - >> ->> -endobj -34 0 obj -<< /Length 83 0 R - /Filter /FlateDecode - /Type /XObject - /Subtype /Form - /BBox [ 0 0 200 100 ] - /Resources 82 0 R ->> -stream -x+O/6PH/2TtD0@A@@RҸ - - -endstream -endobj -83 0 obj - 47 -endobj -82 0 obj -<< - /ExtGState << - /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >> - /a0 << /CA 1 /ca 1 >> - >> ->> -endobj -36 0 obj -<< /Length 85 0 R - /Filter /FlateDecode - /Type /XObject - /Subtype /Form - /BBox [ 0 0 200 100 ] - /Resources 84 0 R ->> -stream -x+O/6PH/2TtD0@A@@RҸ - - -endstream -endobj -85 0 obj - 47 -endobj -84 0 obj -<< - /ExtGState << - /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >> - /a0 << /CA 1 /ca 1 >> - >> ->> -endobj -38 0 obj -<< /Length 87 0 R - /Filter /FlateDecode - /Type /XObject - /Subtype /Form - /BBox [ 0 0 200 100 ] - /Resources 86 0 R ->> -stream -x+O/6PH/2TtD0@A@@RҸ - - -endstream -endobj -87 0 obj - 47 -endobj -86 0 obj -<< - /ExtGState << - /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >> - /a0 << /CA 1 /ca 1 >> - >> ->> -endobj -40 0 obj -<< /Length 89 0 R - /Filter /FlateDecode - /Type /XObject - /Subtype /Form - /BBox [ 0 0 200 100 ] - /Resources 88 0 R ->> -stream -x+O/6PH/2TtD0@A@@RҸ - - -endstream -endobj -89 0 obj - 47 -endobj -88 0 obj -<< - /ExtGState << - /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >> - /a0 << /CA 1 /ca 1 >> - >> ->> -endobj -42 0 obj -<< /Length 91 0 R - /Filter /FlateDecode - /Type /XObject - /Subtype /Form - /BBox [ 0 0 200 100 ] - /Resources 90 0 R ->> -stream -x+O/6PH/2TtD0@A@@RҸ - - -endstream -endobj -91 0 obj - 47 -endobj -90 0 obj -<< - /ExtGState << - /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >> - /a0 << /CA 1 /ca 1 >> - >> ->> -endobj -44 0 obj -<< /Length 93 0 R - /Filter /FlateDecode - /Type /XObject - /Subtype /Form - /BBox [ 0 0 200 100 ] - /Resources 92 0 R ->> -stream -x+O/6PH/2TtD0@A@@RҸ - - -endstream -endobj -93 0 obj - 47 -endobj -92 0 obj -<< - /ExtGState << - /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >> - /a0 << /CA 1 /ca 1 >> - >> ->> -endobj -46 0 obj -<< /Length 95 0 R - /Filter /FlateDecode - /Type /XObject - /Subtype /Form - /BBox [ 0 0 200 100 ] - /Resources 94 0 R ->> -stream -x+O/6PH/2TtD0@A@@RҸ - - -endstream -endobj -95 0 obj - 47 -endobj -94 0 obj -<< - /ExtGState << - /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >> - /a0 << /CA 1 /ca 1 >> - >> ->> -endobj -48 0 obj -<< /Length 97 0 R - /Filter /FlateDecode - /Type /XObject - /Subtype /Form - /BBox [ 0 0 200 100 ] - /Resources 96 0 R ->> -stream -x+O/6PH/2TtD0@A@@RҸ - - -endstream -endobj -97 0 obj - 47 -endobj -96 0 obj -<< - /ExtGState << - /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >> - /a0 << /CA 1 /ca 1 >> - >> ->> -endobj -50 0 obj -<< /Length 99 0 R - /Filter /FlateDecode - /Type /XObject - /Subtype /Form - /BBox [ 0 0 200 100 ] - /Resources 98 0 R ->> -stream -x+O/6PH/2TtD0@A@@RҸ - - -endstream -endobj -99 0 obj - 47 -endobj -98 0 obj -<< - /ExtGState << - /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >> - /a0 << /CA 1 /ca 1 >> - >> ->> -endobj -52 0 obj -<< /Length 101 0 R - /Filter /FlateDecode - /Type /XObject - /Subtype /Form - /BBox [ 0 0 200 100 ] - /Resources 100 0 R ->> -stream -x+O/6PH/2TtD0@A@@RҸ - - -endstream -endobj -101 0 obj - 47 -endobj -100 0 obj -<< - /ExtGState << - /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >> - /a0 << /CA 1 /ca 1 >> - >> ->> -endobj -54 0 obj -<< /Length 103 0 R - /Filter /FlateDecode - /Type /XObject - /Subtype /Form - /BBox [ 0 0 200 100 ] - /Resources 102 0 R ->> -stream -x+O/6PH/2TtD0@A@@RҸ - - -endstream -endobj -103 0 obj - 47 -endobj -102 0 obj -<< - /ExtGState << - /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >> - /a0 << /CA 1 /ca 1 >> - >> ->> -endobj -56 0 obj -<< /Length 105 0 R - /Filter /FlateDecode - /Type /XObject - /Subtype /Form - /BBox [ 0 0 200 100 ] - /Resources 104 0 R ->> -stream -x+O/6PH/2TtD0@A@@RҸ - - -endstream -endobj -105 0 obj - 47 -endobj -104 0 obj -<< - /ExtGState << - /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >> - /a0 << /CA 1 /ca 1 >> - >> ->> -endobj -58 0 obj -<< /Length 107 0 R - /Filter /FlateDecode - /Type /XObject - /Subtype /Form - /BBox [ 0 0 200 100 ] - /Resources 106 0 R ->> -stream -x+O/6PH/2TtD0@A@@RҸ - - -endstream -endobj -107 0 obj - 47 -endobj -106 0 obj -<< - /ExtGState << - /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >> - /a0 << /CA 1 /ca 1 >> - >> ->> -endobj -60 0 obj -<< /Length 109 0 R - /Filter /FlateDecode - /Type /XObject - /Subtype /Form - /BBox [ 0 0 200 100 ] - /Resources 108 0 R ->> -stream -x+O/6PH/2TtD0@A@@RҸ - - -endstream -endobj -109 0 obj - 47 -endobj -108 0 obj -<< - /ExtGState << - /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >> - /a0 << /CA 1 /ca 1 >> - >> ->> -endobj -62 0 obj -<< /Length 111 0 R - /Filter /FlateDecode - /Type /XObject - /Subtype /Form - /BBox [ 0 0 200 100 ] - /Resources 110 0 R ->> -stream -x+O/6PH/2TtD0@A@@RҸ - - -endstream -endobj -111 0 obj - 47 -endobj -110 0 obj -<< - /ExtGState << - /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >> - /a0 << /CA 1 /ca 1 >> - >> ->> -endobj -64 0 obj -<< /Length 113 0 R - /Filter /FlateDecode - /Type /XObject - /Subtype /Form - /BBox [ 0 0 200 100 ] - /Resources 112 0 R ->> -stream -x+O/6PH/2TtD0@A@@RҸ - - -endstream -endobj -113 0 obj - 47 -endobj -112 0 obj -<< - /ExtGState << - /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >> - /a0 << /CA 1 /ca 1 >> - >> ->> -endobj -66 0 obj -<< /Length 115 0 R - /Filter /FlateDecode - /Type /XObject - /Subtype /Form - /BBox [ 0 0 200 100 ] - /Resources 114 0 R ->> -stream -x+O/6PH/2TtD0@A@@RҸ - - -endstream -endobj -115 0 obj - 47 -endobj -114 0 obj -<< - /ExtGState << - /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >> - /a0 << /CA 1 /ca 1 >> - >> ->> -endobj -68 0 obj -<< /Length 117 0 R - /Filter /FlateDecode - /Type /XObject - /Subtype /Form - /BBox [ 0 0 200 100 ] - /Resources 116 0 R ->> -stream -x+O/6PH/2TtD0@A@@RҸ - - -endstream -endobj -117 0 obj - 47 -endobj -116 0 obj -<< - /ExtGState << - /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >> - /a0 << /CA 1 /ca 1 >> - >> ->> -endobj -70 0 obj -<< /Length 119 0 R - /Filter /FlateDecode - /Type /XObject - /Subtype /Form - /BBox [ 0 0 200 100 ] - /Resources 118 0 R ->> -stream -x+O/6PH/2TtD0@A@@RҸ - - -endstream -endobj -119 0 obj - 47 -endobj -118 0 obj -<< - /ExtGState << - /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >> - /a0 << /CA 1 /ca 1 >> - >> ->> -endobj -72 0 obj -<< /Length 121 0 R - /Filter /FlateDecode - /Type /XObject - /Subtype /Form - /BBox [ 0 0 200 100 ] - /Resources 120 0 R ->> -stream -x+O/6PH/2TtD0@A@@RҸ - - -endstream -endobj -121 0 obj - 47 -endobj -120 0 obj -<< - /ExtGState << - /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >> - /a0 << /CA 1 /ca 1 >> - >> ->> -endobj -74 0 obj -<< /Length 123 0 R - /Filter /FlateDecode - /Type /XObject - /Subtype /Form - /BBox [ 0 0 200 100 ] - /Resources 122 0 R ->> -stream -x+O/6PH/2TtD0@A@@RҸ - - -endstream -endobj -123 0 obj - 47 -endobj -122 0 obj -<< - /ExtGState << - /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >> - /a0 << /CA 1 /ca 1 >> - >> ->> -endobj -76 0 obj -<< /Length 125 0 R - /Filter /FlateDecode - /Type /XObject - /Subtype /Form - /BBox [ 0 0 200 100 ] - /Resources 124 0 R ->> -stream -x+O/6PH/2TtD0@A@@RҸ - - -endstream -endobj -125 0 obj - 47 -endobj -124 0 obj -<< - /ExtGState << - /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >> - /a0 << /CA 1 /ca 1 >> - >> ->> -endobj -78 0 obj -<< /Length 127 0 R - /Filter /FlateDecode - /Type /XObject - /Subtype /Form - /BBox [ 0 0 200 100 ] - /Resources 126 0 R ->> -stream -x+O/6PH/2TtD0@A@@RҸ - - -endstream -endobj -127 0 obj - 47 -endobj -126 0 obj -<< - /ExtGState << - /gs0 << /BM /Normal /SMask /None /CA 1.0 /ca 1.0 >> - /a0 << /CA 1 /ca 1 >> - >> ->> -endobj -31 0 obj -<< /Type /ObjStm - /Length 128 0 R - /N 1 - /First 4 - /Filter /FlateDecode ->> -stream -x=ͽ08+a`b81,xsDrBr^AӼ"CLihwG qɊ*Ϋ,r> -stream -xZwՕoa}̌FeCXVXV+"c뺮 ; 494n -B -!e9ٜ7=qa)P6ti ]{mi``eɉa+̽wFYME-wc]U݄iw,B5_?"/]{Tӑm'aB?߶u|򣘕 ƚQ@^vn82 ulG -@7lanew3;ux{ D_x E@B ,Ȇ]DPl$8sXcĖdž#OAa, n֪umvUkzehqL԰zH*D]Śu.x>;E˫Qz-]$rL_K -INf2"KskU֛!QY72JJ2g[#Vnr(q[R5TUCIDo5Nͭ8i*)t^ 17!IU䂅÷ٱ{Wgg6 ^)>X8Mz'q'7[/٫ω_~ZlŜ -A-boe{GԌ]$x ,)%-1Db -t]$#i/-i1oa,`=B/l1puXZCp0` pv 0T"uj*nN!TJC-%uj69?N}?r̍oNtkIGm-ܓ:ϟF5-TC@J`(sDO ¹ qۥ O(3x4̘#G /ա[My5xVu ʀV8gJU)B#BP|\UFu e:^.+)lACJsJH~$7Ǯ& -{l[0صF_ -? -FW#J=>9S^.f#2|?৐݌ 4MLm6iOwQӕF{~Hv%9As9924wpM9ͳr -(3%1y$ga28R!JAw] -JjF4~B˙mZ瞑R ȍ{#>[pݘhu236b觝?:xCEwSڀi\t(Aqbu j1g$i*/W^+RCXy7[9:n5JVP[KEPEn " -$,^/`95T낢&T ̪CRNѓQ鵔3X;, j[5ehB9YGC^:9}О3#+<\n֝8=vDW6~U#yxt[һ3,=o=="X@n@k=(Fj $ --Fx" 4bdbISXn;eL( bM%Iy~jJnԁ]}[E:GV)Ȓj߲&d"K*?_mM{F:qC;r@ƺvEoeJf^n1oX ZQY?YY+HnqQe/?شg SR{n -owc]ZU*>IN>yYYxA(1 UcU<>"i-0ӵEKzOYOݐ(6P~UdD)FE}#v(%(e|O(膜-uP4﬍6P%]$|h":[_DM"|ʺiH}wO؂]) 7J?c.͛lcҴj -wHB"[x=(ڸ`.],A5$+lM6QuF5צOO:i:©;Zwu8}APx}rCWx$#{z2|q4ޯnΪ>5ЯM-7#VW 6b!8Q/P,_`b+"#kCC W9Mַ[ߺe ~s7K{GCuF?oMKjR -ʘlHⴼLE`.Ni=]gBLLdĹ J$G1L1Jڜz73`_|b&tfD*3gy[2=Zյ-7[4rB{%ҟ#/D>sgO[GRm -y3zw$"7{Vb9 E9#KSВDM9 U2vʀ%ccI"t*t8F "@]ԓc?,MK7o•mvTD>4vz{3{iԃ+x/χ'L}."vtd ZL #$4$.TEqa원v!~jZ(#zVhg% )ΉN4$(#G9L(vjEr-|TC+ʆĖ -0%8%yG1vO>gİW)vP2˥LM%0jY9}xÉG *`nњ V)t'ȫL[֫?ѬZch˰%ΨaݚHuS{ޑDta̙+ӱlS@&hz!PF"8~to2?a^ V. Ο>!}yg.3^G/K_/$_\Uq@.AnŏbOWFX!'5?<؆~dG!!?)ޅA6,zCagumGГ+N_bDPAI`]?J^N-:j `Wcy/Ml:Ihp ֠Q?.ώ ,~ԘcDhCxz1?A3TtAXXC~&@5@>[gb?PQNAŲ1bƲejt (]gOG]63R3'c+?pz7m|݂2g8]z^9,(AUfqzCzABOVjBou5P>D7ΚH`0_aى/ H>KCYu^ `ljXSch_SVj%x^?o&0:Ʒ=DV*@X6MXp> -stream -x]RMo0 W*>B+EHSwĴH#D㪓vَԾn\yfʇ| .cEh){Eq-+Lf5>岆|'9ރ0 }:?0[yΚ[b޿,kt.$3[X|o Ly04 wWHr̵L:y4Le0|E|<%aq' 5:!bI1eY_ #bSa - -5ikJC>yEBjX_K|\s )0VԷhbqG358"9G]GU~'6' -endstream -endobj -133 0 obj - 359 -endobj -134 0 obj -<< /Type /FontDescriptor - /FontName /TENPIV+#0A#EE#80#9F#E5#85#96 - /FontFamily - /Flags 32 - /FontBBox [ -1337 -380 1737 937 ] - /ItalicAngle 0 - /Ascent 937 - /Descent -399 - /CapHeight 937 - /StemV 80 - /StemH 80 - /FontFile2 130 0 R ->> -endobj -6 0 obj -<< /Type /Font - /Subtype /TrueType - /BaseFont /TENPIV+#0A#EE#80#9F#E5#85#96 - /FirstChar 32 - /LastChar 121 - /FontDescriptor 134 0 R - /Encoding /WinAnsiEncoding - /Widths [ 382.8125 0 0 0 0 0 0 0 0 0 0 0 0 0 318.847656 0 574.707031 574.707031 0 0 0 574.707031 0 0 0 574.707031 0 0 0 0 0 0 0 868.652344 0 0 880.859375 754.882812 0 903.808594 0 0 0 0 690.917969 0 0 0 0 0 861.816406 0 799.804688 0 0 0 0 0 0 0 0 0 0 0 0 558.59375 0 510.742188 637.695312 526.855469 0 574.707031 637.695312 318.847656 0 0 0 0 637.695312 574.707031 0 0 472.65625 452.636719 446.777344 637.695312 605.957031 0 0 605.957031 ] - /ToUnicode 132 0 R ->> -endobj -129 0 obj -<< /Type /ObjStm - /Length 137 0 R - /N 3 - /First 19 - /Filter /FlateDecode ->> -stream -xMn0w -CQ6B,a[X0o_0MO2UV*kȏ@vz4! puPY$n#JxF~q)S:z=_lcQlk-zU|'_c)VG=0qI%WhGDM樣vc“jaFd -endstream -endobj -137 0 obj - 194 -endobj -138 0 obj -<< /Type /XRef - /Length 437 - /Filter /FlateDecode - /Size 139 - /W [1 2 2] - /Root 136 0 R - /Info 135 0 R ->> -stream -xOHagPLg[۬m9hV-!HPx+HP' [Au -ѠKJatыb}^^~>1T*12mت -WQQ3,j%q{F8p -wT4^ۢ1$JyAx~G\G/CCqdx8!-'LJ-Q%:nAWIuU$\$ߺ8E7WDt\D8=B5n&={PhIzVDUDZ-9@{qT/-Sb`DZ=unWZBJxiɌNz~r΋'xMKqrHP!Q/טd1ȋ2e iJvJ3*73W{b˻?α;J(~<cV[Y;\ -endstream -endobj -startxref -26585 -%%EOF diff --git a/DSD/journal/ACM/images/metric.svg b/DSD/journal/ACM/images/metric.svg deleted file mode 100644 index e9d6afe..0000000 --- a/DSD/journal/ACM/images/metric.svg +++ /dev/null @@ -1,796 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/DSD/journal/ACM/images/overview.pdf b/DSD/journal/ACM/images/overview.pdf deleted file mode 100644 index 0e8cd19..0000000 Binary files a/DSD/journal/ACM/images/overview.pdf and /dev/null differ diff --git a/DSD/journal/ACM/images/preds.pdf b/DSD/journal/ACM/images/preds.pdf deleted file mode 100644 index f3d8865..0000000 Binary files a/DSD/journal/ACM/images/preds.pdf and /dev/null differ diff --git a/DSD/journal/ACM/images/proof.pdf b/DSD/journal/ACM/images/proof.pdf deleted file mode 100644 index 3d33aa4..0000000 Binary files a/DSD/journal/ACM/images/proof.pdf and /dev/null differ diff --git a/DSD/journal/ACM/images/proof.svg b/DSD/journal/ACM/images/proof.svg deleted file mode 100644 index 7820a73..0000000 --- a/DSD/journal/ACM/images/proof.svg +++ /dev/null @@ -1,41946 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - 2000 - - - - 4000 - - - - 6000 - - - - 8000 - - - - 10000 - - - - 12000 - - - - 14000 - - - - 16000 - - - - 0 - - - - 5 - - - - 10 - - - - 15 - - - - 20 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - 2000 - - - - 4000 - - - - 6000 - - - - 8000 - - - - 10000 - - - - 12000 - - - - 14000 - - - - 16000 - - - - 0 - - - - 5 - - - - 10 - - - - 15 - - - - 20 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - 2000 - - - - 4000 - - - - 6000 - - - - 8000 - - - - 10000 - - - - 12000 - - - - 14000 - - - - 16000 - - - - 0 - - - - 2 - - - - 4 - - - - 6 - - - - - - - - - - - - - - - - - - - - Predictions from 1-NN - - - - Predictions from MAD - - - - Transition Bleeding Error - - - - - Out-of-Phase Error - - Unknown-Edges Error - - - - diff --git a/DSD/journal/ACM/images/rules.pdf b/DSD/journal/ACM/images/rules.pdf deleted file mode 100644 index 3c41344..0000000 Binary files a/DSD/journal/ACM/images/rules.pdf and /dev/null differ diff --git a/DSD/journal/ACM/images/text3272.pdf b/DSD/journal/ACM/images/text3272.pdf deleted file mode 100644 index 13a20a2..0000000 Binary files a/DSD/journal/ACM/images/text3272.pdf and /dev/null differ diff --git a/DSD/journal/ACM/main.tex b/DSD/journal/ACM/main.tex deleted file mode 100644 index 7254207..0000000 --- a/DSD/journal/ACM/main.tex +++ /dev/null @@ -1,936 +0,0 @@ -%% This is file `sample-manuscript.tex', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% samples.dtx (with options: `manuscript') -%% -%% IMPORTANT NOTICE: -%% -%% For the copyright see the source file. -%% -%% Any modified versions of this file must be renamed -%% with new filenames distinct from sample-manuscript.tex. -%% -%% For distribution of the original source see the terms -%% for copying and modification in the file samples.dtx. -%% -%% This generated file may be distributed as long as the -%% original source files, as listed above, are part of the -%% same distribution. (The sources need not necessarily be -%% in the same archive or directory.) -%% -%% Commands for TeXCount -%TC:macro \cite [option:text,text] -%TC:macro \citep [option:text,text] -%TC:macro \citet [option:text,text] -%TC:envir table 0 1 -%TC:envir table* 0 1 -%TC:envir tabular [ignore] word -%TC:envir displaymath 0 word -%TC:envir math 0 word -%TC:envir comment 0 0 -%% -%% -%% The first command in your LaTeX source must be the \documentclass command. This is the generic manuscript mode required for submission and peer review. -\documentclass[manuscript,screen,review]{acmart} -%% To ensure 100% compatibility, please check the white list of -%% approved LaTeX packages to be used with the Master Article Template at -%% https://www.acm.org/publications/taps/whitelist-of-latex-packages -%% before creating your document. The white list page provides -%% information on how to submit additional LaTeX packages for -%% review and adoption. -%% Fonts used in the template cannot be substituted; margin -%% adjustments are not allowed. - -\usepackage{graphicx} -\usepackage{multirow} -\usepackage{xcolor} -\usepackage{booktabs} -\usepackage{tabularx} -\usepackage{algpseudocodex} -\usepackage{algorithm} -\usepackage{amsfonts} -\usepackage{amssymb} -\usepackage{amsthm} -\newtheorem{problem-statement}{Problem Statement} -\usepackage[toc,acronym,abbreviations,nonumberlist,nogroupskip]{glossaries-extra} -\input{acronyms} - - -%% -%% \BibTeX command to typeset BibTeX logo in the docs -\AtBeginDocument{% - \providecommand\BibTeX{{% - \normalfont B\kern-0.5em{\scshape i\kern-0.25em b}\kern-0.8em\TeX}}} - -%% Rights management information. This information is sent to you -%% when you complete the rights form. These commands have SAMPLE -%% values in them; it is your responsibility as an author to replace -%% the commands and values with those provided to you when you -%% complete the rights form. -\setcopyright{acmlicensed} -\copyrightyear{2018} -\acmYear{2018} -\acmDOI{XXXXXXX.XXXXXXX} - -%% These commands are for a PROCEEDINGS abstract or paper. -% \acmConference[Conference acronym 'XX]{Make sure to enter the correct -% conference title from your rights confirmation emai}{June 03--05, -% 2018}{Woodstock, NY} -% -% Uncomment \acmBooktitle if th title of the proceedings is different -% from ``Proceedings of ...''! -% -%\acmBooktitle{Woodstock '18: ACM Symposium on Neural Gaze Detection, -% June 03--05, 2018, Woodstock, NY} - -%% These commands are for a JOURNAL article. -\acmJournal{JACM} -\acmVolume{37} -\acmNumber{4} -\acmArticle{111} -\acmMonth{8} - -\acmISBN{978-1-4503-XXXX-X/18/06} - - -%% -%% Submission ID. -%% Use this when submitting an article to a sponsored event. You'll -%% receive a unique submission ID from the organizers -%% of the event, and this ID should be used as the parameter to this command. -%%\acmSubmissionID{123-A56-BU3} - -%% -%% For managing citations, it is recommended to use bibliography -%% files in BibTeX format. -%% -%% You can then either use BibTeX with the ACM-Reference-Format style, -%% or BibLaTeX with the acmnumeric or acmauthoryear sytles, that include -%% support for advanced citation of software artefact from the -%% biblatex-software package, also separately available on CTAN. -%% -%% Look at the sample-*-biblatex.tex files for templates showcasing -%% the biblatex styles. -%% - -%% -%% The majority of ACM publications use numbered citations and -%% references. The command \citestyle{authoryear} switches to the -%% "author year" style. -%% -%% If you are preparing content for an event -%% sponsored by ACM SIGGRAPH, you must use the "author year" style of -%% citations and references. -%% Uncommenting -%% the next command will enable that style. -%%\citestyle{acmauthoryear} - -%% -%% end of the preamble, start of the body of the document source. -\begin{document} - -%% -%% The "title" command has an optional parameter, -%% allowing the author to define a "short title" to be used in page headers. -\title{This name needs to change to be different from the conference version} - -%% -%% The "author" command and its associated commands are used to define -%% the authors and their affiliations. -%% Of note is the shared affiliation of the first two authors, and the -%% "authornote" and "authornotemark" commands -%% used to denote shared contribution to the research. -\author{Arthur Grisel-Davy} -\email{agriseld@uwaterloo.ca} -\affiliation{% - \institution{University of Waterloo} - \city{Waterloo} - \state{Ontario} - \country{Canada} -} -\author{Sebastian Fischmeister} -\email{sfischme@uwaterloo.ca} -\affiliation{% - \institution{University of Waterloo} - \city{Waterloo} - \state{Ontario} - \country{Canada} -} - - -%% -%% By default, the full list of authors will be used in the page -%% headers. Often, this list is too long, and will overlap -%% other information printed in the page headers. This command allows -%% the author to define a more concise list -%% of authors' names for this purpose. -\renewcommand{\shortauthors}{Grisel-Davy and Fischmeister} - -%% -%% The abstract is a short summary of the work to be presented in the -%% article. -\begin{abstract} -Side channel analysis offers several advantages over traditional machine monitoring methods. -The low intrusiveness, independence with the host, data reliability and difficulty to bypass are compelling arguments for using involuntary emissions as input for enforcing security policies. -However, side-channel information often comes in the form of unlabeled time series of a proxy variable of the activity. -Enabling the definition and enforcement of high-level security policies requires extracting the state or activity of the system from the input data. -We present in this paper a novel time series, one-shot pattern locator and classifier called Machine Activity Detector (MAD) specifically designed and evaluated for side-channel analysis. -We evaluate MAD in two case studies on a variety of machines and datasets where it outperforms other traditional state detection solutions and presents formidable performances for security rules enforcement. -Results of state detection with MAD enable the definition and verification of high-level security rules to detect various attacks without any interaction with the monitored machine. -\end{abstract} - -%% -%% The code below is generated by the tool at http://dl.acm.org/ccs.cfm. -%% Please copy and paste the code instead of the example below. -%% -\begin{CCSXML} - - -10010583.10010662 -Hardware~Power and energy -500 - - -10002978.10002997.10002999 -Security and privacy~Intrusion detection systems -500 - - -10010147.10010257.10010321 -Computing methodologies~Machine learning algorithms -500 - - -\end{CCSXML} - -\ccsdesc[500]{Hardware~Power and energy} -\ccsdesc[500]{Security and privacy~Intrusion detection systems} -\ccsdesc[500]{Computing methodologies~Machine learning algorithms} - -%% -%% Keywords. The author(s) should pick words that accurately describe -%% the work being presented. Separate the keywords with commas. -\keywords{Intrusion Detection, Power Analysis, Embedded Systems, Time Series Analysis} - -%\received{20 February 2007} -%\received[revised]{12 March 2009} -%\received[accepted]{5 June 2009} - -%% -%% This command processes the author and affiliation and title -%% information and builds the first part of the formatted document. -\maketitle - -\section{Introduction} - -\gls{ids}s leverage different types of data to detect intrusions. -On one side, most solutions use labeled and actionable data, often provided by the system to protect. -This data can be the resource usage \cite{1702202}, program source code \cite{9491765} or network traffic \cite{10.1145/2940343.2940348} leveraged by an \gls{hids} or \gls{nids}. -On the other side, some methods consider only information that the system did not intentionally provide. -The system emits these activity by-products through physical mediums called side channels. -Common side-channel information for an embedded system includes power consumption \cite{yang2016power} or electromagnetic fields \cite{chawla2021machine}. - -Side-channel information offers compelling advantages over agent-collected information. -First, the information is difficult to forge. -Because the monitored system is not involved in the data retrieval process, there is no risk that an attacker that compromised the system could easily send forged information. -For example, if an attacker performs any computation on the system, it will unavoidably affect a variety of different side channels. -There are studies focusing on altering the power consumption profile of software, but their goal is to mask the consumption pattern to avoid leaking side-channel information. -These solutions \cite{1253591,6918465} do not offer to change the pattern to an arbitrary target but to make all activities indistinguishable. -These methods still induce changes in the consumption pattern that makes them identifiable by the detection system. -Second, the side-channel information retrieval process is often non-intrusive and non-disruptive for the monitored system. -Measuring the power consumption of a computer does not involve the cooperation or modification of the system \cite{10.1145/2976749.2978353}. -This host independence property is crucial for safety-critical or high-availability applications as the failure of one of the two --- monitored or monitoring --- systems does not affect the other. -These two properties --- reliable data and host independence --- set physics-based monitoring solutions apart with distinct advantages and use cases. - -It is interesting to notice that leveraging side-channel analysis to detect malfunction is not limited to software. -For production machines with high availability requirements, many side-channels provide useful information about the state of the machine. -Common sources of information are vibrations \cite{zhang2019numerical}, the chemical composition of various fluids \cite{4393062}, the shape of a gear \cite{wang2015measurement} or performance metrics like the throughput of a pump \cite{gupta2021novel}. -This is important to keep in mind that other domains outside of software can also benefit from side-channel analysis tools tailored for security enforcement. - -However, using side-channel data introduces new challenges. -One obstacle to overcome when designing a physics-based solution is the interpretation of the data. -Because the data collection consists of measuring a physical phenomenon, the input data is often a discrete time series. -The values in these time series are not directly actionable. -In some cases, a threshold value is enough to assess the integrity of the system. -In such a case, comparing each value of the time series to the threshold is possible \cite{jelali2013statistical}. -However, whenever a simple threshold is not a reliable factor for the decision, a more advanced analysis of the time series is required to make it actionable. -The state of a machine is often represented by a specific pattern. -This pattern could be, for example, a succession of specific amplitudes or a frequency/average pair for periodic processes. -These patterns are impossible to reliably detect with a simple threshold method. -Identifying the occurrence and position of these patterns makes the data actionable and enables higher-level --- i.e., that work at a higher level of abstraction \cite{tongaonkar2007inferring} --- security and monitoring policies. -For example, a computer starting at night or rebooting multiple times in a row should raise an alert for a possible intrusion or malfunction. - -Rule-based \gls{ids}s using side-channel information require an accurate and practical pattern detection solution. -Many data-mining algorithms assume that training data is cheap, meaning that acquiring large --- labeled --- datasets is achievable without significant expense. -Unfortunately, collecting labeled data requires following a procedure and induces downtime for the machine, which can be expensive. -Collecting many training samples during normal operations of the machine is more time-consuming as the machine's activity cannot be controlled. -A more convenient data requirement would be a single sample of each pattern to detect. -Collecting a sample is immediately possible after the installation of the measurement equipment during normal operations of the machine. - -This paper presents \gls{mad}, a distance-based, one-shot pattern detection method for time series. -\gls{mad} focuses on providing pre-defined state detection from only one training sample per class. -This approach enables the analysis of side-channel information in contexts where the collection of large datasets is impractical. -A window selection algorithm lies at the core of \gls{mad} and yields a stable classification of individual samples, essential for the robustness of high-level security rules. -In experiments, \gls{mad} outperforms other approaches in accuracy and the reduced Levenshtein distance on various simulated, lab-captured, and public times-series datasets. - -We will present the current related work on physics-based security and time series pattern detection in Section~\ref{sec:related}. -Then we will introduce the formal and practical definitions of the solution in Section~\ref{sec:statement} and~\ref{sec:solution}. -The two case studies presented in Section~\ref{sec:cs1} and~\ref{sec:cs2} illustrate the performances of the solution in various situations. -Finally, we will discuss some important aspects of the proposed solution in Section~\ref{sec:discussion}. - -\section{Related Work}\label{sec:related} -Side-channel analysis focuses on extracting information from the involuntary emissions of a system. -This topic traces back to the seminal work of Paul C. Kocher. -He introduced power side-channel analysis to extract secrets from several cryptographic protocols \cite{kocher1996timing}. -This led to the new field of side-channel analysis \cite{randolph2020power}. -However, the potential of leveraging side-channel information for defense and security purposes remains mostly untapped. -The information leakage through involuntary emissions through different channels provides insights into the activities of a machine. -Acoustic emissions \cite{belikovetsky2018digital}, heat pattern signature \cite{al2016forensics} or power consumption \cite{10.1145/3571288, gatlin2019detecting, CHOU2014400}, can --- among other side-channels --- reveal information about a machine's activity. -Side-channel information collection generally results in time series objects to analyze. - -There exists a variety of methods for analyzing time series. -For signature-based solutions, a specific extract of the data is compared to known-good references to assess the integrity of the host \cite{9934955, articlemlcs}. -This signature comparison enables the verification of expected and specific sections and requires that the sections of interest can be extracted and synchronized. -Another solution for detecting intrusions is the definition of security policies. -Security policies are sets of rules that describe wanted or unwanted behavior. -These rules are built on input data accessible to the \gls{ids} such as user activity \cite{ilgun1995state} or network traffic \cite{5563714, kumar2020integrated}. -However, the input data requirements must have labels to apply a rule. -This illustrates the gap between the side-channel analysis methods and the rule-based intrusion detection methods. -To apply security policies to side-channel information, it is necessary to first label the data. - -The problem of identifying pre-defined patterns in unlabeled time series is referenced under various names in the literature. -The terms \textit{activity segmentation} or \textit{activity detection} are the most relevant for the problem we are interested in. -The state-of-the-art methods in this domain focus on human activities and leverage various sensors such as smartphones \cite{wannenburg2016physical}, cameras \cite{bodor2003vision} or wearable sensors \cite{uddin2018activity}. -These methods rely on large labeled datasets to train classification models and detect activities \cite{micucci2017unimib}. -For real-life applications, access to large labeled datasets may not be possible. -Another approach, more general than activity detection, uses \gls{cpd}. -\gls{cpd} is a sub-topic of time series analysis that focuses on detecting abrupt changes in a time series \cite{truong2020selective}. -It is assumed in many cases that these change points are representative of state transitions from the observed system. -However, \gls{cpd} is only the first step in state detection as classification of the detected segments remains necessary \cite{aminikhanghahi2017survey}. -Moreover, not all state transitions trigger abrupt changes in time series statistics, and some states include abrupt changes. -Overall, \gls{cpd} only fits a specific type of problem with stable states and abrupt transitions. -Neural networks raised in popularity for time series analysis with \gls{rnn}. -Large \gls{cnn} can perform pattern extraction in long time series, for example, in the context of \gls{nilm} \cite{8598355}. -\gls{nilm} focuses on the problem of signal disaggregation. -In this problem, the signal comprises an aggregate of multiple signals, each with their own patterns \cite{angelis2022nilm}. -This problem shares many terms and core techniques as this paper but the nature of the input data makes \gls{nilm} a distinct area of research. - -The specific problem of classification with only one example of each class is called one-shot --- or few-shot --- classification. -This topic focuses on pre-extracted time series classification with few training samples, often using multi-level neural networks \cite{10.1145/3371158.3371162, 9647357}. -However, in the context of side-channel analysis, a time series contains many patterns that are not extracted. -Moreover, neural-based approaches lack interpretability, which can cause issues in the case of unforeseen time series patterns. -Simpler approaches with novelty detection capabilities are required when the output serves as input for rule-based processing. - -Finally, Duin et. al. investigate the problem of distance-based few-shot classification \cite{duin1997experiments}. -They present an approach based on the similarity between new objects and a dissimilarity matrix between items of the training set. -The similarities are evaluated with Nearest-Neighbor rules or \gls{svm}. -Their approach bears some interesting similarities with the one presented in this paper. -However, they evaluate their work on the recognition of handwritten numerals, which is far from the use case we are interested in. - -\section{Problem Statement}\label{sec:statement} - -%\gls{mad} focuses on detecting the state of a time series at any point in time. -We consider the problem from the point of view of a multi-class, mono-label classification problem \cite{aly2005survey} for every sample in a time series. -The problem is multi-class because multiple states can occur in one-time series, and therefore any sample is assigned one of multiple states. -The problem is mono-label because only one state is assigned to each sample. -The classification is a mapping from the sample space to the state space. - -\begin{problem-statement}[\gls{mad}] -Given a discretized time series $t$ and a set of patterns $P=\{P_1,\dots, P_n\}$, identify a mapping $m:\mathbb{N}\longrightarrow P\cup \lambda$ such that every sample $t[i]$ -maps to a pattern in $P\cup \lambda$ with the condition that the sample matches an occurrence of the pattern in $t$. -\end{problem-statement} - -The time series $t: \mathbb{N} \longrightarrow \mathbb{R}$ is a finite, discretized, mono-variate, real-valued time series. -The patterns (also called training samples) $P_j \in P$ are of the same type as $t$. -Each pattern $P_j$ can take any length denoted $N_j$. -A sample $t[i]$ \textit{matches} a pattern $P_j \in P$ if there exists a substring of $t$, the length of $P_j$, that includes the sample, such that a similarity measure between this substring and $P_j$ is below a pre-defined threshold. -The pattern $\lambda$ is the \textit{unknown} pattern assigned to the samples in $t$ that do not match any of the patterns in $P$. - -\begin{figure} -\centering -\includegraphics[width=0.45\textwidth]{images/overview.pdf} -\caption{Illustration of the sample distance from one sample to each training example in a 2D space.} -\label{fig:overview} -\end{figure} - -\section{Proposed Solution: MAD}\label{sec:solution} -\gls{mad}'s core idea separates it from other traditional sliding window algorithms. -In \gls{mad}, the sample window around the sample to classify dynamically adapts for optimal context selection. -This principle influences the design of the detector and requires the definition of new distance metrics. -Because the lengths of the patterns may differ, our approach requires distance metrics robust to length variations. -%For the following explanation, the pattern set $P$ refers to the provided patterns only $\{P\setminus \lambda\}$ --- unless specified otherwise. -We first define the fundamental distance metric as the normalized Euclidean distance between two-time series $a$ and $b$ of the same length $N_a=N_b$ -\begin{equation} - nd(a,b) = \dfrac{EuclideanDist(a,b)}{N_a} -\end{equation} - -Using this normalized distance $nd$, we define the distance from a sample $t[i]$ to a pattern $P_j \in P$. -This is the sample distance $sd$ defined as -\begin{equation}\label{eq:sd} - sd(i,P_j) = \min_{k\in [i-N_j,i+N_j])}(nd(t[i-k:i+k],P_j)) -\end{equation} - -%with $P_j$ the training sample corresponding to the state $j$, and $t$ the complete time series. -Computing the distance $sd(i,P_j)$ requires to: (1) select every substring of $t$ of length $N_j$ that contains the sample $t[i]$, (2) evaluate their normalized distance to the pattern $P_j$, and (3) consider $sd(i,P_j)$ as the smallest of these distances. -For simplicity, Equation~\ref{eq:sd} omits the border conditions for the range of $k$. -When the sample position $i$ is less than $N_j$ or greater than $N_t-N_j$, the range adapts to only consider valid substrings. - -Our approach uses a threshold-based method to decide what label to assign to a sample. -For each sample in $t$, the algorithm compares the distance $sd(i,P_j)$ to the threshold $T_j$. -The sample receives the label $j$ associated with the pattern $P_j$ that results in the smallest distance $sd(i,P_j)$ with $sd(i,P_j)N_j$. -If $N_l