texlive[72113] Master/texmf-dist: acmart (26aug24)

commits+karl at tug.org commits+karl at tug.org
Mon Aug 26 22:07:21 CEST 2024


Revision: 72113
          https://tug.org/svn/texlive?view=revision&revision=72113
Author:   karl
Date:     2024-08-26 22:07:21 +0200 (Mon, 26 Aug 2024)
Log Message:
-----------
acmart (26aug24)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/acmart/README
    trunk/Master/texmf-dist/doc/latex/acmart/acmart.pdf
    trunk/Master/texmf-dist/doc/latex/acmart/acmguide.pdf
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmcp.pdf
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmcp.tex
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmengage.pdf
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmlarge.pdf
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmlarge.tex
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-biblatex.pdf
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-biblatex.tex
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-conf.pdf
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-conf.tex
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-submission.pdf
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-submission.tex
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall.pdf
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall.tex
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmtog-conf.pdf
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmtog-conf.tex
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmtog.pdf
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmtog.tex
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-manuscript.pdf
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-manuscript.tex
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-authordraft.pdf
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-authordraft.tex
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-biblatex.pdf
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-biblatex.tex
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-i13n.pdf
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-i13n.tex
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-lualatex.tex
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-xelatex.tex
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf.pdf
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf.tex
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigplan.pdf
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigplan.tex
    trunk/Master/texmf-dist/doc/latex/acmart/samples/samples.dtx
    trunk/Master/texmf-dist/doc/latex/acmart/samples/samples.ins
    trunk/Master/texmf-dist/source/latex/acmart/Makefile
    trunk/Master/texmf-dist/source/latex/acmart/acmart.dtx
    trunk/Master/texmf-dist/source/latex/acmart/acmart.ins
    trunk/Master/texmf-dist/tex/latex/acmart/acmart.cls

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-tagged.pdf
    trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-tagged.tex
    trunk/Master/texmf-dist/tex/latex/acmart/acmart-tagged.cls

Modified: trunk/Master/texmf-dist/doc/latex/acmart/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/README	2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/README	2024-08-26 20:07:21 UTC (rev 72113)
@@ -12,6 +12,9 @@
 
 Changes
 
+Version 2.09.  Experimental tagging code is now in the main branch.
+	       Creative Commons license is now allowed for all materials. 
+
 Version 2.08.  Section titles are in lowercase now.
 	       Documentation updates.
 

Modified: trunk/Master/texmf-dist/doc/latex/acmart/acmart.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/acmart/acmguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmcp.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmcp.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmcp.tex	2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmcp.tex	2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
 %TC:envir math 0 word
 %TC:envir comment 0 0
 %%
-%%
 %% The first command in your LaTeX source must be the \documentclass
 %% command.
 %%
@@ -46,7 +45,6 @@
 %%
 %%
 \documentclass[acmcp]{acmart}
-
 %%
 %% \BibTeX command to typeset BibTeX logo in the docs
 \AtBeginDocument{%
@@ -63,7 +61,6 @@
 \acmYear{2018}
 \acmDOI{XXXXXXX.XXXXXXX}
 
-
 %%
 %% These commands are for a JOURNAL article.
 \acmJournal{JDS}

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmengage.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmlarge.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmlarge.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmlarge.tex	2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmlarge.tex	2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
 %TC:envir math 0 word
 %TC:envir comment 0 0
 %%
-%%
 %% The first command in your LaTeX source must be the \documentclass
 %% command.
 %%
@@ -46,7 +45,6 @@
 %%
 %%
 \documentclass[acmlarge]{acmart}
-
 %%
 %% \BibTeX command to typeset BibTeX logo in the docs
 \AtBeginDocument{%
@@ -63,7 +61,6 @@
 \acmYear{2018}
 \acmDOI{XXXXXXX.XXXXXXX}
 
-
 %%
 %% These commands are for a JOURNAL article.
 \acmJournal{POMACS}

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-biblatex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-biblatex.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-biblatex.tex	2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-biblatex.tex	2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
 %TC:envir math 0 word
 %TC:envir comment 0 0
 %%
-%%
 %% The first command in your LaTeX source must be the \documentclass
 %% command.
 %%
@@ -46,7 +45,6 @@
 %%
 %%
 \documentclass[acmsmall,natbib=false]{acmart}
-
 %%
 %% \BibTeX command to typeset BibTeX logo in the docs
 \AtBeginDocument{%
@@ -63,7 +61,6 @@
 \acmYear{2018}
 \acmDOI{XXXXXXX.XXXXXXX}
 
-
 %%
 %% These commands are for a JOURNAL article.
 \acmJournal{JACM}

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-conf.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-conf.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-conf.tex	2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-conf.tex	2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
 %TC:envir math 0 word
 %TC:envir comment 0 0
 %%
-%%
 %% The first command in your LaTeX source must be the \documentclass
 %% command.
 %%
@@ -46,7 +45,6 @@
 %%
 %%
 \documentclass[acmsmall]{acmart}
-
 %%
 %% \BibTeX command to typeset BibTeX logo in the docs
 \AtBeginDocument{%
@@ -62,7 +60,6 @@
 \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,

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-submission.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-submission.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-submission.tex	2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-submission.tex	2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
 %TC:envir math 0 word
 %TC:envir comment 0 0
 %%
-%%
 %% The first command in your LaTeX source must be the \documentclass
 %% command.
 %%
@@ -46,7 +45,6 @@
 %%
 %%
 \documentclass[acmsmall,screen,review]{acmart}
-
 %%
 %% \BibTeX command to typeset BibTeX logo in the docs
 \AtBeginDocument{%
@@ -63,7 +61,6 @@
 \acmYear{2018}
 \acmDOI{XXXXXXX.XXXXXXX}
 
-
 %%
 %% These commands are for a JOURNAL article.
 \acmJournal{JACM}

Added: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-tagged.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-tagged.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-tagged.pdf	2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-tagged.pdf	2024-08-26 20:07:21 UTC (rev 72113)

Property changes on: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-tagged.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-tagged.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-tagged.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-tagged.tex	2024-08-26 20:07:21 UTC (rev 72113)
@@ -0,0 +1,808 @@
+%%
+%% This is file `sample-acmsmall-tagged.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% samples.dtx  (with options: `all,journal,acmsmall,tagged')
+%% 
+%% IMPORTANT NOTICE:
+%% 
+%% For the copyright see the source file.
+%% 
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from sample-acmsmall-tagged.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 tagged file should start with the metadata commands.
+%% We also need currently use lualatex-dev for compilation!
+\ifx\HCode\Undef
+\DocumentMetadata{
+ pdfversion=2.0,pdfstandard=ua-2,
+ testphase={phase-III,firstaid,math,title}}
+\else
+\DocumentMetadata{}
+\fi
+%% The first command in your LaTeX source must be the \documentclass
+%% command.
+%%
+%% For submission and review of your manuscript please change the
+%% command to \documentclass[manuscript, screen, review]{acmart}.
+%%
+%% When submitting camera ready or to TAPS, please change the command
+%% to \documentclass[sigconf]{acmart} or whichever template is required
+%% for your publication.
+%%
+%%
+\documentclass[acmsmall]{acmart-tagged}
+%%
+%% \BibTeX command to typeset BibTeX logo in the docs
+\AtBeginDocument{%
+  \providecommand\BibTeX{{%
+    Bib\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 JOURNAL article.
+\acmJournal{JACM}
+\acmVolume{37}
+\acmNumber{4}
+\acmArticle{111}
+\acmMonth{8}
+
+%%
+%% 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.
+%%
+
+
+
+%%
+%% 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{The Name of the Title Is Hope}
+
+%%
+%% 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{Ben Trovato}
+\authornote{Both authors contributed equally to this research.}
+\email{trovato at corporation.com}
+\orcid{1234-5678-9012}
+\author{G.K.M. Tobin}
+\authornotemark[1]
+\email{webmaster at marysville-ohio.com}
+\affiliation{%
+  \institution{Institute for Clarity in Documentation}
+  \city{Dublin}
+  \state{Ohio}
+  \country{USA}
+}
+
+\author{Lars Th{\o}rv{\"a}ld}
+\affiliation{%
+  \institution{The Th{\o}rv{\"a}ld Group}
+  \city{Hekla}
+  \country{Iceland}}
+\email{larst at affiliation.org}
+
+\author{Valerie B\'eranger}
+\affiliation{%
+  \institution{Inria Paris-Rocquencourt}
+  \city{Rocquencourt}
+  \country{France}
+}
+
+\author{Aparna Patel}
+\affiliation{%
+ \institution{Rajiv Gandhi University}
+ \city{Doimukh}
+ \state{Arunachal Pradesh}
+ \country{India}}
+
+\author{Huifen Chan}
+\affiliation{%
+  \institution{Tsinghua University}
+  \city{Haidian Qu}
+  \state{Beijing Shi}
+  \country{China}}
+
+\author{Charles Palmer}
+\affiliation{%
+  \institution{Palmer Research Laboratories}
+  \city{San Antonio}
+  \state{Texas}
+  \country{USA}}
+\email{cpalmer at prl.com}
+
+\author{John Smith}
+\affiliation{%
+  \institution{The Th{\o}rv{\"a}ld Group}
+  \city{Hekla}
+  \country{Iceland}}
+\email{jsmith at affiliation.org}
+
+\author{Julius P. Kumquat}
+\affiliation{%
+  \institution{The Kumquat Consortium}
+  \city{New York}
+  \country{USA}}
+\email{jpkumquat at consortium.net}
+
+%%
+%% 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}{Trovato et al.}
+
+%%
+%% The abstract is a short summary of the work to be presented in the
+%% article.
+\begin{abstract}
+  A clear and well-documented \LaTeX\ document is presented as an
+  article formatted for publication by ACM in a conference proceedings
+  or journal publication. Based on the ``acmart'' document class, this
+  article presents and explains many of the common variations, as well
+  as many of the formatting elements an author may use in the
+  preparation of the documentation of their work.
+\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}
+<ccs2012>
+ <concept>
+  <concept_id>00000000.0000000.0000000</concept_id>
+  <concept_desc>Do Not Use This Code, Generate the Correct Terms for Your Paper</concept_desc>
+  <concept_significance>500</concept_significance>
+ </concept>
+ <concept>
+  <concept_id>00000000.00000000.00000000</concept_id>
+  <concept_desc>Do Not Use This Code, Generate the Correct Terms for Your Paper</concept_desc>
+  <concept_significance>300</concept_significance>
+ </concept>
+ <concept>
+  <concept_id>00000000.00000000.00000000</concept_id>
+  <concept_desc>Do Not Use This Code, Generate the Correct Terms for Your Paper</concept_desc>
+  <concept_significance>100</concept_significance>
+ </concept>
+ <concept>
+  <concept_id>00000000.00000000.00000000</concept_id>
+  <concept_desc>Do Not Use This Code, Generate the Correct Terms for Your Paper</concept_desc>
+  <concept_significance>100</concept_significance>
+ </concept>
+</ccs2012>
+\end{CCSXML}
+
+\ccsdesc[500]{Do Not Use This Code~Generate the Correct Terms for Your Paper}
+\ccsdesc[300]{Do Not Use This Code~Generate the Correct Terms for Your Paper}
+\ccsdesc{Do Not Use This Code~Generate the Correct Terms for Your Paper}
+\ccsdesc[100]{Do Not Use This Code~Generate the Correct Terms for Your Paper}
+
+%%
+%% Keywords. The author(s) should pick words that accurately describe
+%% the work being presented. Separate the keywords with commas.
+\keywords{Do, Not, Us, This, Code, Put, the, Correct, Terms, for,
+  Your, Paper}
+
+\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}
+ACM's consolidated article template, introduced in 2017, provides a
+consistent \LaTeX\ style for use across ACM publications, and
+incorporates accessibility and metadata-extraction functionality
+necessary for future Digital Library endeavors. Numerous ACM and
+SIG-specific \LaTeX\ templates have been examined, and their unique
+features incorporated into this single new template.
+
+If you are new to publishing with ACM, this document is a valuable
+guide to the process of preparing your work for publication. If you
+have published with ACM before, this document provides insight and
+instruction into more recent changes to the article template.
+
+The ``\verb|acmart|'' document class can be used to prepare articles
+for any ACM publication --- conference or journal, and for any stage
+of publication, from review to final ``camera-ready'' copy, to the
+author's own version, with {\itshape very} few changes to the source.
+
+\section{Template Overview}
+As noted in the introduction, the ``\verb|acmart|'' document class can
+be used to prepare many different kinds of documentation --- a
+double-anonymous initial submission of a full-length technical paper, a
+two-page SIGGRAPH Emerging Technologies abstract, a ``camera-ready''
+journal article, a SIGCHI Extended Abstract, and more --- all by
+selecting the appropriate {\itshape template style} and {\itshape
+  template parameters}.
+
+This document will explain the major features of the document
+class. For further information, the {\itshape \LaTeX\ User's Guide} is
+available from
+\url{https://www.acm.org/publications/proceedings-template}.
+
+\subsection{Template Styles}
+
+The primary parameter given to the ``\verb|acmart|'' document class is
+the {\itshape template style} which corresponds to the kind of publication
+or SIG publishing the work. This parameter is enclosed in square
+brackets and is a part of the {\verb|documentclass|} command:
+\begin{verbatim}
+  \documentclass[STYLE]{acmart}
+\end{verbatim}
+
+Journals use one of three template styles. All but three ACM journals
+use the {\verb|acmsmall|} template style:
+\begin{itemize}
+\item {\texttt{acmsmall}}: The default journal template style.
+\item {\texttt{acmlarge}}: Used by JOCCH and TAP.
+\item {\texttt{acmtog}}: Used by TOG.
+\end{itemize}
+
+The majority of conference proceedings documentation will use the {\verb|acmconf|} template style.
+\begin{itemize}
+\item {\texttt{sigconf}}: The default proceedings template style.
+\item{\texttt{sigchi}}: Used for SIGCHI conference articles.
+\item{\texttt{sigplan}}: Used for SIGPLAN conference articles.
+\end{itemize}
+
+\subsection{Template Parameters}
+
+In addition to specifying the {\itshape template style} to be used in
+formatting your work, there are a number of {\itshape template parameters}
+which modify some part of the applied template style. A complete list
+of these parameters can be found in the {\itshape \LaTeX\ User's Guide.}
+
+Frequently-used parameters, or combinations of parameters, include:
+\begin{itemize}
+\item {\texttt{anonymous,review}}: Suitable for a ``double-anonymous''
+  conference submission. Anonymizes the work and includes line
+  numbers. Use with the \texttt{\acmSubmissionID} command to print the
+  submission's unique ID on each page of the work.
+\item{\texttt{authorversion}}: Produces a version of the work suitable
+  for posting by the author.
+\item{\texttt{screen}}: Produces colored hyperlinks.
+\end{itemize}
+
+This document uses the following string as the first command in the
+source file:
+\begin{verbatim}
+\documentclass[acmsmall]{acmart}
+\end{verbatim}
+
+\section{Modifications}
+
+Modifying the template --- including but not limited to: adjusting
+margins, typeface sizes, line spacing, paragraph and list definitions,
+and the use of the \verb|\vspace| command to manually adjust the
+vertical spacing between elements of your work --- is not allowed.
+
+{\bfseries Your document will be returned to you for revision if
+  modifications are discovered.}
+
+\section{Typefaces}
+
+The ``\verb|acmart|'' document class requires the use of the
+``Libertine'' typeface family. Your \TeX\ installation should include
+this set of packages. Please do not substitute other typefaces. The
+``\verb|lmodern|'' and ``\verb|ltimes|'' packages should not be used,
+as they will override the built-in typeface families.
+
+\section{Title Information}
+
+The title of your work should use capital letters appropriately -
+\url{https://capitalizemytitle.com/} has useful rules for
+capitalization. Use the {\verb|title|} command to define the title of
+your work. If your work has a subtitle, define it with the
+{\verb|subtitle|} command.  Do not insert line breaks in your title.
+
+If your title is lengthy, you must define a short version to be used
+in the page headers, to prevent overlapping text. The \verb|title|
+command has a ``short title'' parameter:
+\begin{verbatim}
+  \title[short title]{full title}
+\end{verbatim}
+
+\section{Authors and Affiliations}
+
+Each author must be defined separately for accurate metadata
+identification.  As an exception, multiple authors may share one
+affiliation. Authors' names should not be abbreviated; use full first
+names wherever possible. Include authors' e-mail addresses whenever
+possible.
+
+Grouping authors' names or e-mail addresses, or providing an ``e-mail
+alias,'' as shown below, is not acceptable:
+\begin{verbatim}
+  \author{Brooke Aster, David Mehldau}
+  \email{dave,judy,steve at university.edu}
+  \email{firstname.lastname at phillips.org}
+\end{verbatim}
+
+The \verb|authornote| and \verb|authornotemark| commands allow a note
+to apply to multiple authors --- for example, if the first two authors
+of an article contributed equally to the work.
+
+If your author list is lengthy, you must define a shortened version of
+the list of authors to be used in the page headers, to prevent
+overlapping text. The following command should be placed just after
+the last \verb|\author{}| definition:
+\begin{verbatim}
+  \renewcommand{\shortauthors}{McCartney, et al.}
+\end{verbatim}
+Omitting this command will force the use of a concatenated list of all
+of the authors' names, which may result in overlapping text in the
+page headers.
+
+The article template's documentation, available at
+\url{https://www.acm.org/publications/proceedings-template}, has a
+complete explanation of these commands and tips for their effective
+use.
+
+Note that authors' addresses are mandatory for journal articles.
+
+\section{Rights Information}
+
+Authors of any work published by ACM will need to complete a rights
+form. Depending on the kind of work, and the rights management choice
+made by the author, this may be copyright transfer, permission,
+license, or an OA (open access) agreement.
+
+Regardless of the rights management choice, the author will receive a
+copy of the completed rights form once it has been submitted. This
+form contains \LaTeX\ commands that must be copied into the source
+document. When the document source is compiled, these commands and
+their parameters add formatted text to several areas of the final
+document:
+\begin{itemize}
+\item the ``ACM Reference Format'' text on the first page.
+\item the ``rights management'' text on the first page.
+\item the conference information in the page header(s).
+\end{itemize}
+
+Rights information is unique to the work; if you are preparing several
+works for an event, make sure to use the correct set of commands with
+each of the works.
+
+The ACM Reference Format text is required for all articles over one
+page in length, and is optional for one-page articles (abstracts).
+
+\section{CCS Concepts and User-Defined Keywords}
+
+Two elements of the ``acmart'' document class provide powerful
+taxonomic tools for you to help readers find your work in an online
+search.
+
+The ACM Computing Classification System ---
+\url{https://www.acm.org/publications/class-2012} --- is a set of
+classifiers and concepts that describe the computing
+discipline. Authors can select entries from this classification
+system, via \url{https://dl.acm.org/ccs/ccs.cfm}, and generate the
+commands to be included in the \LaTeX\ source.
+
+User-defined keywords are a comma-separated list of words and phrases
+of the authors' choosing, providing a more flexible way of describing
+the research being presented.
+
+CCS concepts and user-defined keywords are required for for all
+articles over two pages in length, and are optional for one- and
+two-page articles (or abstracts).
+
+\section{Sectioning Commands}
+
+Your work should use standard \LaTeX\ sectioning commands:
+\verb|section|, \verb|subsection|, \verb|subsubsection|, and
+\verb|paragraph|. They should be numbered; do not remove the numbering
+from the commands.
+
+Simulating a sectioning command by setting the first word or words of
+a paragraph in boldface or italicized text is {\bfseries not allowed.}
+
+\section{Tables}
+
+The ``\verb|acmart|'' document class includes the ``\verb|booktabs|''
+package --- \url{https://ctan.org/pkg/booktabs} --- for preparing
+high-quality tables.
+
+Table captions are placed {\itshape above} the table.
+
+Because tables cannot be split across pages, the best placement for
+them is typically the top of the page nearest their initial cite.  To
+ensure this proper ``floating'' placement of tables, use the
+environment \textbf{table} to enclose the table's contents and the
+table caption.  The contents of the table itself must go in the
+\textbf{tabular} environment, to be aligned properly in rows and
+columns, with the desired horizontal and vertical rules.  Again,
+detailed instructions on \textbf{tabular} material are found in the
+\textit{\LaTeX\ User's Guide}.
+
+Immediately following this sentence is the point at which
+Table~\ref{tab:freq} is included in the input file; compare the
+placement of the table here with the table in the printed output of
+this document.
+
+\begin{table}
+  \caption{Frequency of Special Characters}
+  \label{tab:freq}
+  \begin{tabular}{ccl}
+    \toprule
+    Non-English or Math&Frequency&Comments\\
+    \midrule
+    \O & 1 in 1,000& For Swedish names\\
+    $\pi$ & 1 in 5& Common in math\\
+    \$ & 4 in 5 & Used in business\\
+    $\Psi^2_1$ & 1 in 40,000& Unexplained usage\\
+  \bottomrule
+\end{tabular}
+\end{table}
+
+To set a wider table, which takes up the whole width of the page's
+live area, use the environment \textbf{table*} to enclose the table's
+contents and the table caption.  As with a single-column table, this
+wide table will ``float'' to a location deemed more
+desirable. Immediately following this sentence is the point at which
+Table~\ref{tab:commands} is included in the input file; again, it is
+instructive to compare the placement of the table here with the table
+in the printed output of this document.
+
+\begin{table*}
+  \caption{Some Typical Commands}
+  \label{tab:commands}
+  \begin{tabular}{ccl}
+    \toprule
+    Command &A Number & Comments\\
+    \midrule
+    \texttt{{\char'134}author} & 100& Author \\
+    \texttt{{\char'134}table}& 300 & For tables\\
+    \texttt{{\char'134}table*}& 400& For wider tables\\
+    \bottomrule
+  \end{tabular}
+\end{table*}
+
+Always use midrule to separate table header rows from data rows, and
+use it only for this purpose. This enables assistive technologies to
+recognise table headers and support their users in navigating tables
+more easily.
+
+\section{Math Equations}
+You may want to display math equations in three distinct styles:
+inline, numbered or non-numbered display.  Each of the three are
+discussed in the next sections.
+
+\subsection{Inline (In-text) Equations}
+A formula that appears in the running text is called an inline or
+in-text formula.  It is produced by the \textbf{math} environment,
+which can be invoked with the usual
+\texttt{{\char'134}begin\,\ldots{\char'134}end} construction or with
+the short form \texttt{\$\,\ldots\$}. You can use any of the symbols
+and structures, from $\alpha$ to $\omega$, available in
+\LaTeX~\cite{Lamport:LaTeX}; this section will simply show a few
+examples of in-text equations in context. Notice how this equation:
+\begin{math}
+  \lim_{n\rightarrow \infty}x=0
+\end{math},
+set here in in-line math style, looks slightly different when
+set in display style.  (See next section).
+
+\subsection{Display Equations}
+A numbered display equation---one set off by vertical space from the
+text and centered horizontally---is produced by the \textbf{equation}
+environment. An unnumbered display equation is produced by the
+\textbf{displaymath} environment.
+
+Again, in either environment, you can use any of the symbols and
+structures available in \LaTeX\@; this section will just give a couple
+of examples of display equations in context.  First, consider the
+equation, shown as an inline equation above:
+\begin{equation}
+  \lim_{n\rightarrow \infty}x=0
+\end{equation}
+Notice how it is formatted somewhat differently in
+the \textbf{displaymath}
+environment.  Now, we'll enter an unnumbered equation:
+\begin{displaymath}
+  \sum_{i=0}^{\infty} x + 1
+\end{displaymath}
+and follow it with another numbered equation:
+\begin{equation}
+  \sum_{i=0}^{\infty}x_i=\int_{0}^{\pi+2} f
+\end{equation}
+just to demonstrate \LaTeX's able handling of numbering.
+
+\section{Figures}
+
+The ``\verb|figure|'' environment should be used for figures. One or
+more images can be placed within a figure. If your figure contains
+third-party material, you must clearly identify it as such, as shown
+in the example below.
+\begin{figure}[h]
+  \centering
+  \includegraphics[width=\linewidth]{sample-franklin}
+  \caption{1907 Franklin Model D roadster. Photograph by Harris \&
+    Ewing, Inc. [Public domain], via Wikimedia
+    Commons. (\url{https://goo.gl/VLCRBB}).}
+  \Description{A woman and a girl in white dresses sit in an open car.}
+\end{figure}
+
+Your figures should contain a caption which describes the figure to
+the reader.
+
+Figure captions are placed {\itshape below} the figure.
+
+Every figure should also have a figure description unless it is purely
+decorative. These descriptions convey what’s in the image to someone
+who cannot see it. They are also used by search engine crawlers for
+indexing images, and when images cannot be loaded.
+
+A figure description must be unformatted plain text less than 2000
+characters long (including spaces).  {\bfseries Figure descriptions
+  should not repeat the figure caption – their purpose is to capture
+  important information that is not already provided in the caption or
+  the main text of the paper.} For figures that convey important and
+complex new information, a short text description may not be
+adequate. More complex alternative descriptions can be placed in an
+appendix and referenced in a short figure description. For example,
+provide a data table capturing the information in a bar chart, or a
+structured list representing a graph.  For additional information
+regarding how best to write figure descriptions and why doing this is
+so important, please see
+\url{https://www.acm.org/publications/taps/describing-figures/}.
+
+\subsection{The ``Teaser Figure''}
+
+A ``teaser figure'' is an image, or set of images in one figure, that
+are placed after all author and affiliation information, and before
+the body of the article, spanning the page. If you wish to have such a
+figure in your article, place the command immediately before the
+\verb|\maketitle| command:
+\begin{verbatim}
+  \begin{teaserfigure}
+    \includegraphics[width=\textwidth]{sampleteaser}
+    \caption{figure caption}
+    \Description{figure description}
+  \end{teaserfigure}
+\end{verbatim}
+
+\section{Citations and Bibliographies}
+
+The use of \BibTeX\ for the preparation and formatting of one's
+references is strongly recommended. Authors' names should be complete
+--- use full first names (``Donald E. Knuth'') not initials
+(``D. E. Knuth'') --- and the salient identifying features of a
+reference should be included: title, year, volume, number, pages,
+article DOI, etc.
+
+The bibliography is included in your source document with these two
+commands, placed just before the \verb|\end{document}| command:
+\begin{verbatim}
+  \bibliographystyle{ACM-Reference-Format}
+  \bibliography{bibfile}
+\end{verbatim}
+where ``\verb|bibfile|'' is the name, without the ``\verb|.bib|''
+suffix, of the \BibTeX\ file.
+
+Citations and references are numbered by default. A small number of
+ACM publications have citations and references formatted in the
+``author year'' style; for these exceptions, please include this
+command in the {\bfseries preamble} (before the command
+``\verb|\begin{document}|'') of your \LaTeX\ source:
+\begin{verbatim}
+  \citestyle{acmauthoryear}
+\end{verbatim}
+
+
+  Some examples.  A paginated journal article \cite{Abril07}, an
+  enumerated journal article \cite{Cohen07}, a reference to an entire
+  issue \cite{JCohen96}, a monograph (whole book) \cite{Kosiur01}, a
+  monograph/whole book in a series (see 2a in spec. document)
+  \cite{Harel79}, a divisible-book such as an anthology or compilation
+  \cite{Editor00} followed by the same example, however we only output
+  the series if the volume number is given \cite{Editor00a} (so
+  Editor00a's series should NOT be present since it has no vol. no.),
+  a chapter in a divisible book \cite{Spector90}, a chapter in a
+  divisible book in a series \cite{Douglass98}, a multi-volume work as
+  book \cite{Knuth97}, a couple of articles in a proceedings (of a
+  conference, symposium, workshop for example) (paginated proceedings
+  article) \cite{Andler79, Hagerup1993}, a proceedings article with
+  all possible elements \cite{Smith10}, an example of an enumerated
+  proceedings article \cite{VanGundy07}, an informally published work
+  \cite{Harel78}, a couple of preprints \cite{Bornmann2019,
+    AnzarootPBM14}, a doctoral dissertation \cite{Clarkson85}, a
+  master's thesis: \cite{anisi03}, an online document / world wide web
+  resource \cite{Thornburg01, Ablamowicz07, Poker06}, a video game
+  (Case 1) \cite{Obama08} and (Case 2) \cite{Novak03} and \cite{Lee05}
+  and (Case 3) a patent \cite{JoeScientist001}, work accepted for
+  publication \cite{rous08}, 'YYYYb'-test for prolific author
+  \cite{SaeediMEJ10} and \cite{SaeediJETC10}. Other cites might
+  contain 'duplicate' DOI and URLs (some SIAM articles)
+  \cite{Kirschmer:2010:AEI:1958016.1958018}. Boris / Barbara Beeton:
+  multi-volume works as books \cite{MR781536} and \cite{MR781537}. A
+  couple of citations with DOIs:
+  \cite{2004:ITE:1009386.1010128,Kirschmer:2010:AEI:1958016.1958018}. Online
+  citations: \cite{TUGInstmem, Thornburg01, CTANacmart}.
+  Artifacts: \cite{R} and \cite{UMassCitations}.
+
+\section{Acknowledgments}
+
+Identification of funding sources and other support, and thanks to
+individuals and groups that assisted in the research and the
+preparation of the work should be included in an acknowledgment
+section, which is placed just before the reference section in your
+document.
+
+This section has a special environment:
+\begin{verbatim}
+  \begin{acks}
+  ...
+  \end{acks}
+\end{verbatim}
+so that the information contained therein can be more easily collected
+during the article metadata extraction phase, and to ensure
+consistency in the spelling of the section heading.
+
+Authors should not prepare this section as a numbered or unnumbered {\verb|\section|}; please use the ``{\verb|acks|}'' environment.
+
+\section{Appendices}
+
+If your work needs an appendix, add it before the
+``\verb|\end{document}|'' command at the conclusion of your source
+document.
+
+Start the appendix with the ``\verb|appendix|'' command:
+\begin{verbatim}
+  \appendix
+\end{verbatim}
+and note that in the appendix, sections are lettered, not
+numbered. This document has two appendices, demonstrating the section
+and subsection identification method.
+
+\section{Multi-language papers}
+
+Papers may be written in languages other than English or include
+titles, subtitles, keywords and abstracts in different languages (as a
+rule, a paper in a language other than English should include an
+English title and an English abstract).  Use \verb|language=...| for
+every language used in the paper.  The last language indicated is the
+main language of the paper.  For example, a French paper with
+additional titles and abstracts in English and German may start with
+the following command
+\begin{verbatim}
+\documentclass[sigconf, language=english, language=german,
+               language=french]{acmart}
+\end{verbatim}
+
+The title, subtitle, keywords and abstract will be typeset in the main
+language of the paper.  The commands \verb|\translatedXXX|, \verb|XXX|
+begin title, subtitle and keywords, can be used to set these elements
+in the other languages.  The environment \verb|translatedabstract| is
+used to set the translation of the abstract.  These commands and
+environment have a mandatory first argument: the language of the
+second argument.  See \verb|sample-sigconf-i13n.tex| file for examples
+of their usage.
+
+\section{SIGCHI Extended Abstracts}
+
+The ``\verb|sigchi-a|'' template style (available only in \LaTeX\ and
+not in Word) produces a landscape-orientation formatted article, with
+a wide left margin. Three environments are available for use with the
+``\verb|sigchi-a|'' template style, and produce formatted output in
+the margin:
+\begin{description}
+\item[\texttt{sidebar}:]  Place formatted text in the margin.
+\item[\texttt{marginfigure}:] Place a figure in the margin.
+\item[\texttt{margintable}:] Place a table in the margin.
+\end{description}
+
+%%
+%% The acknowledgments section is defined using the "acks" environment
+%% (and NOT an unnumbered section). This ensures the proper
+%% identification of the section in the article metadata, and the
+%% consistent spelling of the heading.
+\begin{acks}
+To Robert, for the bagels and explaining CMYK and color spaces.
+\end{acks}
+
+%%
+%% The next two lines define the bibliography style to be used, and
+%% the bibliography file.
+\bibliographystyle{ACM-Reference-Format}
+\bibliography{sample-base}
+
+
+%%
+%% If your work has an appendix, this is the place to put it.
+\appendix
+
+\section{Research Methods}
+
+\subsection{Part One}
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi
+malesuada, quam in pulvinar varius, metus nunc fermentum urna, id
+sollicitudin purus odio sit amet enim. Aliquam ullamcorper eu ipsum
+vel mollis. Curabitur quis dictum nisl. Phasellus vel semper risus, et
+lacinia dolor. Integer ultricies commodo sem nec semper.
+
+\subsection{Part Two}
+
+Etiam commodo feugiat nisl pulvinar pellentesque. Etiam auctor sodales
+ligula, non varius nibh pulvinar semper. Suspendisse nec lectus non
+ipsum convallis congue hendrerit vitae sapien. Donec at laoreet
+eros. Vivamus non purus placerat, scelerisque diam eu, cursus
+ante. Etiam aliquam tortor auctor efficitur mattis.
+
+\section{Online Resources}
+
+Nam id fermentum dui. Suspendisse sagittis tortor a nulla mollis, in
+pulvinar ex pretium. Sed interdum orci quis metus euismod, et sagittis
+enim maximus. Vestibulum gravida massa ut felis suscipit
+congue. Quisque mattis elit a risus ultrices commodo venenatis eget
+dui. Etiam sagittis eleifend elementum.
+
+Nam interdum magna at lectus dignissim, ac dignissim lorem
+rhoncus. Maecenas eu arcu ac neque placerat aliquam. Nunc pulvinar
+massa et mattis lacinia.
+
+\end{document}
+\endinput
+%%
+%% End of file `sample-acmsmall-tagged.tex'.


Property changes on: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall-tagged.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall.tex	2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmsmall.tex	2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
 %TC:envir math 0 word
 %TC:envir comment 0 0
 %%
-%%
 %% The first command in your LaTeX source must be the \documentclass
 %% command.
 %%
@@ -46,7 +45,6 @@
 %%
 %%
 \documentclass[acmsmall]{acmart}
-
 %%
 %% \BibTeX command to typeset BibTeX logo in the docs
 \AtBeginDocument{%
@@ -63,7 +61,6 @@
 \acmYear{2018}
 \acmDOI{XXXXXXX.XXXXXXX}
 
-
 %%
 %% These commands are for a JOURNAL article.
 \acmJournal{JACM}

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmtog-conf.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmtog-conf.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmtog-conf.tex	2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmtog-conf.tex	2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
 %TC:envir math 0 word
 %TC:envir comment 0 0
 %%
-%%
 %% The first command in your LaTeX source must be the \documentclass
 %% command.
 %%
@@ -46,7 +45,6 @@
 %%
 %%
 \documentclass[acmtog]{acmart}
-
 %%
 %% \BibTeX command to typeset BibTeX logo in the docs
 \AtBeginDocument{%
@@ -62,7 +60,6 @@
 \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,

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmtog.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmtog.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmtog.tex	2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-acmtog.tex	2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
 %TC:envir math 0 word
 %TC:envir comment 0 0
 %%
-%%
 %% The first command in your LaTeX source must be the \documentclass
 %% command.
 %%
@@ -46,7 +45,6 @@
 %%
 %%
 \documentclass[acmtog]{acmart}
-
 %%
 %% \BibTeX command to typeset BibTeX logo in the docs
 \AtBeginDocument{%
@@ -63,7 +61,6 @@
 \acmYear{2018}
 \acmDOI{XXXXXXX.XXXXXXX}
 
-
 %%
 %% These commands are for a JOURNAL article.
 \acmJournal{TOG}

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-manuscript.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-manuscript.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-manuscript.tex	2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-manuscript.tex	2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
 %TC:envir math 0 word
 %TC:envir comment 0 0
 %%
-%%
 %% The first command in your LaTeX source must be the \documentclass
 %% command.
 %%
@@ -46,7 +45,6 @@
 %%
 %%
 \documentclass[manuscript,screen,review]{acmart}
-
 %%
 %% \BibTeX command to typeset BibTeX logo in the docs
 \AtBeginDocument{%
@@ -62,7 +60,6 @@
 \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,

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-authordraft.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-authordraft.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-authordraft.tex	2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-authordraft.tex	2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
 %TC:envir math 0 word
 %TC:envir comment 0 0
 %%
-%%
 %% The first command in your LaTeX source must be the \documentclass
 %% command.
 %%
@@ -46,7 +45,6 @@
 %%
 %%
 \documentclass[sigconf,authordraft]{acmart}
-
 %%
 %% \BibTeX command to typeset BibTeX logo in the docs
 \AtBeginDocument{%
@@ -62,7 +60,6 @@
 \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,

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-biblatex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-biblatex.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-biblatex.tex	2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-biblatex.tex	2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
 %TC:envir math 0 word
 %TC:envir comment 0 0
 %%
-%%
 %% The first command in your LaTeX source must be the \documentclass
 %% command.
 %%
@@ -46,7 +45,6 @@
 %%
 %%
 \documentclass[sigconf,natbib=false]{acmart}
-
 %%
 %% \BibTeX command to typeset BibTeX logo in the docs
 \AtBeginDocument{%
@@ -62,7 +60,6 @@
 \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,

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-i13n.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-i13n.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-i13n.tex	2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-i13n.tex	2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
 %TC:envir math 0 word
 %TC:envir comment 0 0
 %%
-%%
 %% The first command in your LaTeX source must be the \documentclass
 %% command.
 %%
@@ -47,7 +46,6 @@
 %%
 \documentclass[sigconf, language=french,
 language=german, language=spanish, language=english]{acmart}
-
 %%
 %% \BibTeX command to typeset BibTeX logo in the docs
 \AtBeginDocument{%
@@ -63,7 +61,6 @@
 \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,

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-lualatex.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-lualatex.tex	2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-lualatex.tex	2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
 %TC:envir math 0 word
 %TC:envir comment 0 0
 %%
-%%
 %% The first command in your LaTeX source must be the \documentclass
 %% command.
 %%
@@ -46,7 +45,6 @@
 %%
 %%
 \documentclass[sigconf]{acmart}
-
 %%
 %% \BibTeX command to typeset BibTeX logo in the docs
 \AtBeginDocument{%
@@ -62,7 +60,6 @@
 \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,

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-xelatex.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-xelatex.tex	2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf-xelatex.tex	2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
 %TC:envir math 0 word
 %TC:envir comment 0 0
 %%
-%%
 %% The first command in your LaTeX source must be the \documentclass
 %% command.
 %%
@@ -46,7 +45,6 @@
 %%
 %%
 \documentclass[sigconf]{acmart}
-
 %%
 %% \BibTeX command to typeset BibTeX logo in the docs
 \AtBeginDocument{%
@@ -62,7 +60,6 @@
 \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,

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf.tex	2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigconf.tex	2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
 %TC:envir math 0 word
 %TC:envir comment 0 0
 %%
-%%
 %% The first command in your LaTeX source must be the \documentclass
 %% command.
 %%
@@ -46,7 +45,6 @@
 %%
 %%
 \documentclass[sigconf]{acmart}
-
 %%
 %% \BibTeX command to typeset BibTeX logo in the docs
 \AtBeginDocument{%
@@ -62,7 +60,6 @@
 \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,

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigplan.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigplan.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigplan.tex	2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/sample-sigplan.tex	2024-08-26 20:07:21 UTC (rev 72113)
@@ -33,7 +33,6 @@
 %TC:envir math 0 word
 %TC:envir comment 0 0
 %%
-%%
 %% The first command in your LaTeX source must be the \documentclass
 %% command.
 %%
@@ -46,7 +45,6 @@
 %%
 %%
 \documentclass[sigplan,screen]{acmart}
-
 %%
 %% \BibTeX command to typeset BibTeX logo in the docs
 \AtBeginDocument{%
@@ -62,7 +60,6 @@
 \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,

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/samples.dtx
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/samples.dtx	2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/samples.dtx	2024-08-26 20:07:21 UTC (rev 72113)
@@ -14,7 +14,19 @@
 %TC:envir comment 0 0
 %TCMACROS
 %% 
-%% 
+%</all>
+%<*tagged>
+%% The tagged file should start with the metadata commands.
+%% We also need currently use lualatex-dev for compilation!
+\ifx\HCode\Undef
+\DocumentMetadata{
+ pdfversion=2.0,pdfstandard=ua-2,
+ testphase={phase-III,firstaid,math,title}}
+\else
+\DocumentMetadata{}
+\fi
+%</tagged>
+%<*all>
 %% The first command in your LaTeX source must be the \documentclass
 %% command.
 %%
@@ -27,7 +39,8 @@
 %%
 %%
 %<manuscript>\documentclass[manuscript,screen,review]{acmart}
-%<acmsmall|acmsmall-conf>\documentclass[acmsmall]{acmart}
+%<acmsmall&!tagged>\documentclass[acmsmall]{acmart}
+%<acmsmall-conf>\documentclass[acmsmall]{acmart}
 %<acmsmall-biblatex>\documentclass[acmsmall,natbib=false]{acmart}
 %<acmsmall-submission>\documentclass[acmsmall,screen,review]{acmart}
 %<acmlarge>\documentclass[acmlarge]{acmart}
@@ -41,7 +54,7 @@
 %<sigconf-i13n>\documentclass[sigconf, language=french,
 %<sigconf-i13n>language=german, language=spanish, language=english]{acmart}
 %<acmcp>\documentclass[acmcp]{acmart}
-
+%<acmsmall&tagged>\documentclass[acmsmall]{acmart-tagged}
 %%
 %% \BibTeX command to typeset BibTeX logo in the docs
 \AtBeginDocument{%
@@ -58,7 +71,6 @@
 \copyrightyear{2018}
 \acmYear{2018}
 \acmDOI{XXXXXXX.XXXXXXX}
-
 %</all>
 %<*proceedings>
 %% These commands are for a PROCEEDINGS abstract or paper.

Modified: trunk/Master/texmf-dist/doc/latex/acmart/samples/samples.ins
===================================================================
--- trunk/Master/texmf-dist/doc/latex/acmart/samples/samples.ins	2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/doc/latex/acmart/samples/samples.ins	2024-08-26 20:07:21 UTC (rev 72113)
@@ -24,5 +24,6 @@
   \file{sample-acmtog-conf.tex}{\from{samples.dtx}{all,journal,proceedings,bibtex,acmtog-conf}}
   \file{sample-acmcp.tex}{\from{samples.dtx}{all,journal,acmcp}}          
   \file{sample-acmengage.tex}{\from{acmengage.dtx}{acmengage}}
+  \file{sample-acmsmall-tagged.tex}{\from{samples.dtx}{all,journal,acmsmall,tagged}}
 }
 

Modified: trunk/Master/texmf-dist/source/latex/acmart/Makefile
===================================================================
--- trunk/Master/texmf-dist/source/latex/acmart/Makefile	2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/source/latex/acmart/Makefile	2024-08-26 20:07:21 UTC (rev 72113)
@@ -14,6 +14,7 @@
 PDF = $(PACKAGE).pdf acmguide.pdf
 
 BIBLATEXFILES= $(wildcard *.bbx) $(wildcard *.cbx) $(wildcard *.dbx) $(wildcard *.lbx)
+
 SAMPLEBIBLATEXFILES=$(patsubst %,samples/%,$(BIBLATEXFILES))
 
 ACMCPSAMPLES= \
@@ -21,7 +22,7 @@
 	samples/sample-acmcp-Invited.pdf \
 	samples/sample-acmcp-Position.pdf \
 	samples/sample-acmcp-Research.pdf \
-	samples/sample-acmcp-Review.pdf \
+	samples/sample-acmcp-Review.pdf 
 
 all:  ${PDF} ALLSAMPLES
 
@@ -46,7 +47,10 @@
 %.cls:   %.ins %.dtx
 	pdflatex $<
 
+%-tagged.cls:   %.ins %.dtx
+	pdflatex $<
 
+
 ALLSAMPLES: $(SAMPLEBIBLATEXFILES)
 	cd samples; pdflatex samples.ins; cd ..
 	for texfile in samples/*.tex; do \
@@ -59,6 +63,7 @@
 
 
 samples/$(PACKAGE).cls: $(PACKAGE).cls
+samples/$(PACKAGE)-tagged.cls: $(PACKAGE)-tagged.cls
 samples/ACM-Reference-Format.bst: ACM-Reference-Format.bst
 
 samples/abbrev.bib: ACM-Reference-Format.bst
@@ -116,8 +121,19 @@
 
 samples/sample-acmcp.pdf: samples/acm-jdslogo.png
 
-.PRECIOUS:  $(PACKAGE).cfg $(PACKAGE).cls
 
+samples/sample-acmsmall-tagged.pdf:  samples/sample-acmsmall-tagged.tex   samples/$(PACKAGE)-tagged.cls samples/ACM-Reference-Format.bst
+	cd $(dir $@) && lualatex-dev $(notdir $<)
+	- cd $(dir $@) && bibtex $(notdir $(basename $<))
+	cd $(dir $@) && lualatex-dev $(notdir $<)
+	cd $(dir $@) && lualatex-dev $(notdir $<)
+	while ( grep -q '^LaTeX Warning: Label(s) may have changed' $(basename $<).log) \
+	  do cd $(dir $@) && lualatex-dev $(notdir $<); done
+
+
+
+.PRECIOUS:  $(PACKAGE).cfg $(PACKAGE).cls $(PACKAGE)-tagged.cls
+
 docclean:
 	$(RM)  *.log *.aux \
 	*.cfg *.glo *.idx *.toc \
@@ -124,7 +140,9 @@
 	*.ilg *.ind *.out *.lof \
 	*.lot *.bbl *.blg *.gls *.cut *.hd \
 	*.dvi *.ps *.thm *.tgz *.zip *.rpi \
-	samples/$(PACKAGE).cls samples/ACM-Reference-Format.bst \
+	samples/$(PACKAGE).cls \
+	samples/$(PACKAGE)-tagged.cls \
+	samples/ACM-Reference-Format.bst \
 	samples/*.log samples/*.aux samples/*.out \
 	samples/*.bbl samples/*.blg samples/*.cut \
 	samples/acm-jdslogo.png \
@@ -132,7 +150,7 @@
 
 
 clean: docclean
-	$(RM)  $(PACKAGE).cls \
+	$(RM)  $(PACKAGE).cls $(PACKAGE)-tagged.cls \
 	samples/*.tex
 
 distclean: clean

Modified: trunk/Master/texmf-dist/source/latex/acmart/acmart.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/acmart/acmart.dtx	2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/source/latex/acmart/acmart.dtx	2024-08-26 20:07:21 UTC (rev 72113)
@@ -998,13 +998,7 @@
 %     by IW3C2, when some authors are approved Google employees.\\
 %     \texttt{cc} & Creative Commons license.  If this key is set,
 %     \textsl{doclicense} images are used to typeset the license. See
-%     also \cs{setcctype} command.  Note that at present this license
-%     can be used only either for \texttt{acmengage} format, or for
-%     \texttt{nonacm} publications, or for the authors that meet any
-%     of the following requirements: (a)~part of the ACM Open Program;
-%     (b)~publishing in a Gold Open Access publication;
-%     (c)~paying the Open Access APC;
-%     (d)~part of the Google publishing agreement.\\
+%     also \cs{setcctype} command.  \\
 %     \texttt{acmcopyright} & The authors transfer the copyright to the
 %     ACM.  This choice is no longer available for the
 %     non-commissioned authors and will trigger a warning.\\
@@ -2239,8 +2233,26 @@
 % \item |figure*|: \cs{fulltextwidth}.
 % \end{enumerate}
 %
+%\subsection{Experiments with tagging}
+%\label{sec:ug_tagged}
 %
+% ACM is firmly committed to produce fully tagged PDFs compliant with
+% the accessibility standards.  We use the developmental version of
+% tagging code by \LaTeX3 team, see the details at
+% \url{https://www.latex-project.org/publications/indexbytopic/pdf/}
+% and \url{https://tug.org/twg/accessibility/overview.html}.
 %
+% At present this work is highly experimental.  You may try the
+% experiments by (1)~using the class |acmart-tagged| in the document
+% class line, and (2)~adding the command
+% \cs{DocumentMetadata}\oarg{options} in the preamble, see the file
+% \path{sample-acmsmall-tagged.tex}.  If you do this, please \emph{do
+% not ask ACM for support}.  On the other hand, bug reports at
+% \url{https://github.com/borisveytsman/acmart/issues} will be
+% appreciated.  
+% 
+%
+%
 % \StopEventually{
 % \clearpage
 % \bibliography{acmart}
@@ -2263,8 +2275,9 @@
 %<*gobble>
 \ProvidesFile{acmart.dtx}
 %</gobble>
-%<class>\ProvidesClass{acmart}
-[2024/05/27 v2.08 Typesetting articles for the Association for Computing Machinery]
+%<class&!tagged>\ProvidesClass{acmart}
+%<tagged>\ProvidesClass{acmart-tagged}
+[2024/08/25 v2.09 Typesetting articles for the Association for Computing Machinery]
 %    \end{macrocode}
 %
 % \changes{v1.00}{2016/04/14}{First released version}
@@ -2401,7 +2414,8 @@
 \end{document}
 %</gobble>
 %<*class>
-\def\@classname{acmart}
+%<!tagged>\def\@classname{acmart}
+%<tagged>\def\@classname{acmart-tagged}
 %    \end{macrocode}
 %
 %
@@ -2442,13 +2456,13 @@
 % \changes{1.87}{2022/08/13}{New format: acmcp}
 %   The possible formats
 %    \begin{macrocode}
-\define at choicekey*+{acmart.cls}{format}[\ACM at format\ACM at format@nr]{%
+\define at choicekey*+{\@classname.cls}{format}[\ACM at format\ACM at 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}}}
+\def\@DeclareACMFormat#1{\DeclareOptionX{#1}{\setkeys{\@classname.cls}{format=#1}}}
 \@DeclareACMFormat{manuscript}
 \@DeclareACMFormat{acmsmall}
 \@DeclareACMFormat{acmlarge}
@@ -2468,7 +2482,7 @@
 % \begin{macro}{\if at ACM@screen}
 %   Whether we use screen mode
 %    \begin{macrocode}
-\define at boolkey+{acmart.cls}[@ACM@]{screen}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{screen}[true]{%
   \if at ACM@screen
     \PackageInfo{\@classname}{Using screen mode}%
   \else
@@ -2483,7 +2497,7 @@
 % \begin{macro}{\if at ACM@urlbreakonhyphens}
 % \changes{1.60}{2019/04/22}{introduced macro}
 %    \begin{macrocode}
-\define at boolkey+{acmart.cls}[@ACM@]{urlbreakonhyphens}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{urlbreakonhyphens}[true]{%
   \if at ACM@urlbreakonhyphens
     \PackageInfo{\@classname}{Using breaking urls on hyphens}%
   \else
@@ -2499,7 +2513,7 @@
 % \changes{v1.46}{2017/08/29}{Modified description}
 %   Whether we define theorem-like environments.
 %    \begin{macrocode}
-\define at boolkey+{acmart.cls}[@ACM@]{acmthm}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{acmthm}[true]{%
   \if at ACM@acmthm
     \PackageInfo{\@classname}{Requiring acmthm}%
   \else
@@ -2516,7 +2530,7 @@
 % \changes{v1.48}{2017/09/09}{Review mode now switches on folios}
 %   Whether we use review mode
 %    \begin{macrocode}
-\define at boolkey+{acmart.cls}[@ACM@]{review}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{review}[true]{%
   \if at ACM@review
     \PackageInfo{\@classname}{Using review mode}%
     \AtBeginDocument{\@ACM at printfoliostrue}%
@@ -2533,7 +2547,7 @@
 % \changes{v1.03}{2016/04/22}{Added macro}
 %   Whether we use author's-version mode
 %    \begin{macrocode}
-\define at boolkey+{acmart.cls}[@ACM@]{authorversion}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{authorversion}[true]{%
   \if at ACM@authorversion
     \PackageInfo{\@classname}{Using authorversion mode}%
   \else
@@ -2550,7 +2564,7 @@
 %   Special option for non-ACM publications
 %   using the ACM typesetting options.
 %    \begin{macrocode}
-\define at boolkey+{acmart.cls}[@ACM@]{nonacm}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{nonacm}[true]{%
   \if at ACM@nonacm
     \PackageInfo{\@classname}{Using nonacm mode}%
     \AtBeginDocument{\@ACM at printacmreffalse}%
@@ -2570,7 +2584,7 @@
 % \changes{v1.57}{2018/12/16}{Added macro}
 % Whether to balance the last page
 %    \begin{macrocode}
-\define at boolkey+{acmart.cls}[@ACM@]{balance}[true]{}{%
+\define at boolkey+{\@classname.cls}[@ACM@]{balance}[true]{}{%
   \PackageError{\@classname}{The option balance can be either true or
     false}}
 \ExecuteOptionsX{balance}
@@ -2583,7 +2597,7 @@
 % \changes{v1.76}{2021/03/16}{Added macro}
 % Whether to balance the last page
 %    \begin{macrocode}
-\define at boolkey+{acmart.cls}[@ACM@]{pbalance}[true]{}{%
+\define at boolkey+{\@classname.cls}[@ACM@]{pbalance}[true]{}{%
   \PackageError{\@classname}{The option pbalance can be either true or
     false}}
 \ExecuteOptionsX{pbalance=false}
@@ -2601,7 +2615,7 @@
 % \begin{macro}{\if at ACM@natbib}
 %   Whether we use |natbib| mode
 %    \begin{macrocode}
-\define at boolkey+{acmart.cls}[@ACM@]{natbib}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{natbib}[true]{%
   \if at ACM@natbib
     \PackageInfo{\@classname}{Explicitly selecting natbib mode}%
   \else
@@ -2617,7 +2631,7 @@
 % \begin{macro}{\if at ACM@anonymous}
 %   Whether we use anonymous mode
 %    \begin{macrocode}
-\define at boolkey+{acmart.cls}[@ACM@]{anonymous}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{anonymous}[true]{%
   \if at ACM@anonymous
     \PackageInfo{\@classname}{Using anonymous mode}%
   \else
@@ -2634,7 +2648,7 @@
 % \changes{v1.33}{2017/03/10}{Added macro (Michael D.~Adams)}
 %   Whether we use timestamp mode
 %    \begin{macrocode}
-\define at boolkey+{acmart.cls}[@ACM@]{timestamp}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{timestamp}[true]{%
   \if at ACM@timestamp
     \PackageInfo{\@classname}{Using timestamp mode}%
   \else
@@ -2652,7 +2666,7 @@
 % \changes{v1.36}{2017/05/13}{Corrected typo, thanks to bargteil}
 %   Whether we use author-draft mode
 %    \begin{macrocode}
-\define at boolkey+{acmart.cls}[@ACM@]{authordraft}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{authordraft}[true]{%
   \if at ACM@authordraft
     \PackageInfo{\@classname}{Using authordraft mode}%
     \@ACM at timestamptrue
@@ -2788,13 +2802,13 @@
 \ClassWarning{\@classname}{%
   The format siggraph is now obsolete.\MessageBreak
   I am switching to sigconf.}
-  \setkeys{acmart.cls}{format=sigconf}
+  \setkeys{\@classname.cls}{format=sigconf}
 \fi
 \ifnum\ACM at format@nr=7\relax % sigchi
 \ClassWarning{\@classname}{%
   The format sigchi is now obsolete.\MessageBreak
   I am switching to sigconf.}
-  \setkeys{acmart.cls}{format=sigconf}
+  \setkeys{\@classname.cls}{format=sigconf}
 \fi
 \ifnum\ACM at format@nr=8\relax % sigchi
 \ClassWarning{\@classname}{%
@@ -2861,7 +2875,43 @@
 % \changes{v1.38}{2017/05/13}{Increase default font size for SIGPLAN}
 % \changes{v1.87}{2022/08/27}{Set font sizes for |acmengage| and |acmcp|}
 %
+%<*tagged>
+% \changes{v2.09}{2022/08/25}{Saved the old definitions (Ulrike's
+% code}
+% Before we load the base class we want to save the original
+% definitions of sectioning commands since |acmart| redefines them,
+% and we need the vanilla versions.
+% \begin{macro}{\@startsection at kernel}
+% \changes{v2.00}{2023/11/19}{Added macro}
+%    \begin{macrocode}
+\let\@startsection at kernel\@startsection
+%    \end{macrocode}
+% \end{macro}
 %
+% \begin{macro}{\@xsect at kernel}
+% \changes{v2.00}{2023/11/19}{Added macro}
+%    \begin{macrocode}
+\let\@xsect at kernel\@xsect
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@sect at kernel}
+% \changes{v2.00}{2023/11/19}{Added macro}
+%    \begin{macrocode}
+\let\@sect at kernel\@sect
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@ssect at kernel}
+% \changes{v2.00}{2023/11/19}{Added macro}
+%    \begin{macrocode}
+\let\@ssect at kernel\@ssect
+%    \end{macrocode}
+% \end{macro}
+% 
+%</tagged>
+%
+%
 % At this point we either have \cs{ACM at fontsize} or use defaults
 %    \begin{macrocode}
 \ifx\ACM at fontsize\@empty
@@ -3258,6 +3308,14 @@
 % We need to do this early since we want |hyperref| to have a chance
 % to redefine them again:
 %    \begin{macrocode}
+%</class>
+%<*tagged>
+\let\@startsection\@startsection at kernel
+\let\@sect\@sect at kernel
+\let\@ssect\@ssect at kernel
+\let\@xsect\@xsect at kernel
+%</tagged>
+%<*class&!tagged>
 \def\@startsection#1#2#3#4#5#6{%
   \if at noskipsec \leavevmode \fi
   \par
@@ -3337,7 +3395,6 @@
       \fi}%
   \fi
   \ignorespaces}
-\def\@seccntformat#1{\csname the#1\endcsname\quad}
 \def\@ssect#1#2#3#4#5{%
   \@tempskipa #3\relax
   \ifdim \@tempskipa>\z@
@@ -3350,11 +3407,14 @@
     \def\@svsechd{#4{\hskip #1\relax #5}}%
   \fi
   \@xsect{#3}}
+%</class&!tagged>
+%<*class>
+\def\@seccntformat#1{\csname the#1\endcsname\quad}
 %    \end{macrocode}
 %
 % \end{macro}
 %
-% \begin{macro}{\@startsection}
+% \begin{macro}{\@starttoc}
 % \changes{v1.31}{2017/03/04}{Redefined macro}
 % \changes{v1.43}{2017/07/09}{Added \cs{makeatletter}}
 %   The |amsart| package redefines \cs{startsection}.  Here we redefine
@@ -3365,7 +3425,9 @@
   \par\removelastskip\vskip\z at skip
   \@startsection{section}\@M\z@{\linespacing\@plus\linespacing}%
     {.5\linespacing}{\centering\contentsnamefont}{#2}%
+%<tagged>\@starttoc at cfgpoint@before{#1}%NEW<<<<<<<<<< (name will change)
   \@input{\jobname.#1}%
+%<tagged>\@starttoc at cfgpoint@after{#1}%NEW<<<<<<<<<<<<  (name will change)
   \if at filesw
     \@xp\newwrite\csname tf@#1\endcsname
     \immediate\@xp\openout\csname tf@#1\endcsname \jobname.#1\relax
@@ -5974,29 +6036,9 @@
 %
 % \begin{macro}{\@ACM at copyright@check at cc}
 % \changes{v1.87}{2022/07/30}{Added macro}
-% At present cC licenses can be used only for acmengage format or for
-% non-acm stuff.  This macro checks whether the CC license is
-% applicable and generates an error if not.
 % \changes{v2.00}{2023/10/22}{Moved to warning}
-%    \begin{macrocode}
-\def\@ACM at copyright@check at cc{%
-  \if at ACM@nonacm
-     \ClassInfo{\@classname}{Using CC license with a non-acm
-       material}%
-  \else
-     \if at 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}
-%    \end{macrocode}
-% 
+% \changes{v2.09}{2024/08/25}{Deleted macro}
+% This macro is no longer needed due to the change in ACM policy.  
 % \end{macro}
 %
 % \begin{macro}{\@copyrightpermission}
@@ -6007,8 +6049,8 @@
 % \changes{v1.85}{2022/05/08}{Added CC licenses}
 % \changes{v1.87}{2022/07/30}{CC licenses now are allowed only for
 % non-acm or ACM engage publications}
-% \changes{v2.00}{2023/10/24}{Rewrote wording}
-% \changes{v2.00}{2023/10/24}{Rewrote wording}
+% \changes{v2.09}{2024/08/25}{Deleted checking whether CC licenses are
+% allowed}
 %   The canned permission block.
 %    \begin{macrocode}
 \def\@copyrightpermission{%
@@ -6139,7 +6181,6 @@
    disseminate the work on their personal and corporate Web sites with
    the appropriate attribution.
  \or % CC
-   \@ACM at copyright@check at cc
    \IfEq{\ACM at cc@type}{zero}{%
      \def\ACM at CC@Url{https://creativecommons.org/publicdomain/zero/1.0/legalcode}}{%
   \edef\ACM at CC@Url{https://creativecommons.org/licenses/\ACM@cc@type/\ACM@cc@version/legalcode}}%
@@ -6471,7 +6512,7 @@
     pdfsubject={\@concepts},
     pdfkeywords={\@keywords},
     pdfcreator={LaTeX with acmart
-      \csname ver at acmart.cls\endcsname\space
+      \csname ver@\@classname.cls\endcsname\space
       and hyperref
       \csname ver at hyperref.sty\endcsname}}%
   \andify\authors
@@ -7588,6 +7629,18 @@
 % 
 % \end{macro}
 %
+%<*tagged>
+% We stop tagging inside maketitle for now.  Ulrike's code again.
+%    \begin{macrocode}
+\ExplSyntaxOn
+\AddToHook{cmd/maketitle/before}
+ {\tagstructbegin{tag=Title}\tagmcbegin{} \tag_stop:}
+\AddToHook{cmd/maketitle/after}
+ {\tag_start:\tagmcend\tagstructend }
+\ExplSyntaxOff
+%    \end{macrocode}
+%</tagged>
+%
 %\subsection{Headers and Footers}
 %\label{sec:head_foot}
 %
@@ -8129,28 +8182,33 @@
 % \changes{v1.69}{2020/02/02}{No dots for unindented paragraphs}
 %   Sectioning is different for different levels
 %    \begin{macrocode}
-\renewcommand\section{\@startsection{section}{1}{\z@}%
+\renewcommand\section{\def\@toclevel{1}%
+  \@startsection{section}{1}{\z@}%
   {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}%
   {.25\baselineskip}%
   {\ACM at NRadjust\@secfont}}
-\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
+\renewcommand\subsection{\def\@toclevel{2}%
+  \@startsection{subsection}{2}{\z@}%
   {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}%
   {.25\baselineskip}%
   {\ACM at NRadjust\@subsecfont}}
-\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
+\renewcommand\subsubsection{\def\@toclevel{3}%
+  \@startsection{subsubsection}{3}{\z@}%
   {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
   {-3.5\p@}%
   {\ACM at NRadjust{\@subsubsecfont\@adddotafter}}}
-\renewcommand\paragraph{\@startsection{paragraph}{4}{\parindent}%
+\renewcommand\paragraph{\def\@toclevel{4}%
+  \@startsection{paragraph}{4}{\parindent}%
   {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
   {-3.5\p@}%
   {\ACM at NRadjust{\@parfont\@adddotafter}}}
-\newcommand\noindentparagraph{\@startsection{paragraph}{4}{\z@}%
+\newcommand\noindentparagraph{\def\@toclevel{4}%
+  \@startsection{paragraph}{4}{\z@}%
   {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
   {-3.5\p@}%
   {\ACM at NRadjust{\@parfont}}}
-
-\renewcommand\part{\@startsection{part}{9}{\z@}%
+\renewcommand\part{\def\@toclevel{9}%
+  \@startsection{part}{9}{\z@}%
   {-10\p@ \@plus -4\p@ \@minus -2\p@}%
   {4\p@}%
   {\ACM at NRadjust\@parfont}}

Modified: trunk/Master/texmf-dist/source/latex/acmart/acmart.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/acmart/acmart.ins	2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/source/latex/acmart/acmart.ins	2024-08-26 20:07:21 UTC (rev 72113)
@@ -13,6 +13,7 @@
 
 \generate{%
   \file{acmart.cls}{\from{acmart.dtx}{class}}
+  \file{acmart-tagged.cls}{\from{acmart.dtx}{class,tagged}}
 }
 
 \obeyspaces

Added: trunk/Master/texmf-dist/tex/latex/acmart/acmart-tagged.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/acmart/acmart-tagged.cls	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/acmart/acmart-tagged.cls	2024-08-26 20:07:21 UTC (rev 72113)
@@ -0,0 +1,3492 @@
+%%
+%% This is file `acmart-tagged.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% acmart.dtx  (with options: `class,tagged')
+%% 
+%% IMPORTANT NOTICE:
+%% 
+%% For the copyright see the source file.
+%% 
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from acmart-tagged.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-tagged}
+[2024/08/25 v2.09 Typesetting articles for the Association for Computing Machinery]
+\def\@classname{acmart-tagged}
+\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 at choicekey*+{\@classname.cls}{format}[\ACM at format\ACM at 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{\@classname.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 at boolkey+{\@classname.cls}[@ACM@]{screen}[true]{%
+  \if at 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 at boolkey+{\@classname.cls}[@ACM@]{urlbreakonhyphens}[true]{%
+  \if at 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 at boolkey+{\@classname.cls}[@ACM@]{acmthm}[true]{%
+  \if at 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 at boolkey+{\@classname.cls}[@ACM@]{review}[true]{%
+  \if at ACM@review
+    \PackageInfo{\@classname}{Using review mode}%
+    \AtBeginDocument{\@ACM at printfoliostrue}%
+  \else
+    \PackageInfo{\@classname}{Not using review mode}%
+  \fi}{\PackageError{\@classname}{The option review can be either true or
+    false}}
+\ExecuteOptionsX{review=false}
+\define at boolkey+{\@classname.cls}[@ACM@]{authorversion}[true]{%
+  \if at 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 at boolkey+{\@classname.cls}[@ACM@]{nonacm}[true]{%
+  \if at ACM@nonacm
+    \PackageInfo{\@classname}{Using nonacm mode}%
+    \AtBeginDocument{\@ACM at 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 at boolkey+{\@classname.cls}[@ACM@]{balance}[true]{}{%
+  \PackageError{\@classname}{The option balance can be either true or
+    false}}
+\ExecuteOptionsX{balance}
+\define at boolkey+{\@classname.cls}[@ACM@]{pbalance}[true]{}{%
+  \PackageError{\@classname}{The option pbalance can be either true or
+    false}}
+\ExecuteOptionsX{pbalance=false}
+\define at boolkey+{\@classname.cls}[@ACM@]{natbib}[true]{%
+  \if at 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 at boolkey+{\@classname.cls}[@ACM@]{anonymous}[true]{%
+  \if at 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 at boolkey+{\@classname.cls}[@ACM@]{timestamp}[true]{%
+  \if at 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 at boolkey+{\@classname.cls}[@ACM@]{authordraft}[true]{%
+  \if at ACM@authordraft
+    \PackageInfo{\@classname}{Using authordraft mode}%
+    \@ACM at timestamptrue
+    \@ACM at 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 at fontsize{}
+\DeclareOptionX{8pt}{\edef\ACM at fontsize{\CurrentOption}}
+\DeclareOptionX{9pt}{\edef\ACM at fontsize{\CurrentOption}}
+\DeclareOptionX{10pt}{\edef\ACM at fontsize{\CurrentOption}}
+\DeclareOptionX{11pt}{\edef\ACM at fontsize{\CurrentOption}}
+\DeclareOptionX{12pt}{\edef\ACM at fontsize{\CurrentOption}}
+\def\ACM at languages{}
+\DeclareOptionX{language}{%
+  \ifx\ACM at languages\@empty
+  \gdef\ACM at languages{english}\fi
+  \g at addto@macro\ACM at languages{, #1}}
+\DeclareOptionX{draft}{\PassOptionsToClass{\CurrentOption}{amsart}}
+\DeclareOptionX{*}{\PassOptionsToClass{\CurrentOption}{amsart}}
+\ProcessOptionsX
+\ClassInfo{\@classname}{Using format \ACM at format, number \ACM at format@nr}
+\newif\if at ACM@manuscript
+\newif\if at ACM@journal
+\newif\if at ACM@journal at bibstrip
+\newif\if at ACM@journal at bibstrip@or at tog
+\newif\if at ACM@sigchiamode
+\newif\if at ACM@engage
+\@ACM at engagefalse
+\newif\if at ACM@acmcp
+\@ACM at acmcpfalse
+\ifnum\ACM at format@nr=5\relax % siggraph
+\ClassWarning{\@classname}{%
+  The format siggraph is now obsolete.\MessageBreak
+  I am switching to sigconf.}
+  \setkeys{\@classname.cls}{format=sigconf}
+\fi
+\ifnum\ACM at format@nr=7\relax % sigchi
+\ClassWarning{\@classname}{%
+  The format sigchi is now obsolete.\MessageBreak
+  I am switching to sigconf.}
+  \setkeys{\@classname.cls}{format=sigconf}
+\fi
+\ifnum\ACM at 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 at format@nr=0\relax
+  \@ACM at manuscripttrue
+\else
+  \@ACM at manuscriptfalse
+\fi
+\@ACM at sigchiamodefalse
+\ifcase\ACM at format@nr
+\relax % manuscript
+  \@ACM at journaltrue
+\or % acmsmall
+  \@ACM at journaltrue
+\or % acmlarge
+  \@ACM at journaltrue
+\or % acmtog
+  \@ACM at journaltrue
+  \@ACM at journal@bibstrip at or@togtrue
+\or % sigconf
+  \@ACM at journalfalse
+\or % siggraph
+  \@ACM at journalfalse
+ \or % sigplan
+  \@ACM at journalfalse
+ \or % sigchi
+  \@ACM at journalfalse
+\or % sigchi-a
+  \@ACM at journalfalse
+  \@ACM at sigchiamodetrue
+\or % acmengage
+  \@ACM at journalfalse
+  \@ACM at engagetrue
+\or % acmcp
+  \@ACM at journaltrue
+  \@ACM at acmcptrue
+  \AtBeginDocument{\@ACM at printacmreffalse}%
+\fi
+\if at ACM@journal
+  \@ACM at journal@bibstriptrue
+  \@ACM at journal@bibstrip at or@togtrue
+\else
+ \@ACM at journal@bibstripfalse
+\fi
+\let\@startsection at kernel\@startsection
+\let\@xsect at kernel\@xsect
+\let\@sect at kernel\@sect
+\let\@ssect at kernel\@ssect
+\ifx\ACM at fontsize\@empty
+  \ifcase\ACM at format@nr
+  \relax % manuscript
+    \def\ACM at fontsize{9pt}%
+  \or % acmsmall
+    \def\ACM at fontsize{10pt}%
+  \or % acmlarge
+    \def\ACM at fontsize{10pt}%
+  \or % acmtog
+    \def\ACM at fontsize{9pt}%
+  \or % sigconf
+    \def\ACM at fontsize{9pt}%
+  \or % siggraph
+    \def\ACM at fontsize{9pt}%
+   \or % sigplan
+    \def\ACM at fontsize{10pt}%
+   \or % sigchi
+    \def\ACM at fontsize{9pt}%
+  \or % sigchi-a
+    \def\ACM at fontsize{10pt}%
+  \or % acmengage
+    \def\ACM at fontsize{10pt}%
+  \or % acmcp
+    \def\ACM at fontsize{9pt}%
+  \fi
+\fi
+\ClassInfo{\@classname}{Using fontsize \ACM at fontsize}
+\LoadClass[\ACM at fontsize, reqno]{amsart}
+\RequirePackage{microtype}
+\RequirePackage{etoolbox}
+\RequirePackage{booktabs}
+\RequirePackage{refcount}
+\RequirePackage{totpages}
+\RequirePackage{environ}
+\if at ACM@manuscript
+\RequirePackage{setspace}
+\onehalfspacing
+\fi
+\RequirePackage{textcase}
+\if at ACM@acmcp
+\RequirePackage{framed}
+\RequirePackage{zref-savepos, zref-user}
+\fi
+\newdimen\@ACM at acmcp@delta
+\@ACM at acmcp@delta=0pt\relax
+\if at 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 at open{(}\renewcommand\NAT at close{)}\fi
+   \def\@tempb{square}\ifx\@tempa\@tempb
+     \renewcommand\NAT at open{[}\renewcommand\NAT at close{]}\fi
+   \def\@tempb{angle}\ifx\@tempa\@tempb
+     \renewcommand\NAT at open{$<$}\renewcommand\NAT at close{$>$}\fi
+   \def\@tempb{curly}\ifx\@tempa\@tempb
+     \renewcommand\NAT at open{\{}\renewcommand\NAT at close{\}}\fi
+   \def\@tempb{semicolon}\ifx\@tempa\@tempb
+     \renewcommand\NAT at sep{;}\fi
+   \def\@tempb{colon}\ifx\@tempa\@tempb
+     \renewcommand\NAT at sep{;}\fi
+   \def\@tempb{comma}\ifx\@tempa\@tempb
+     \renewcommand\NAT at sep{,}\fi
+   \def\@tempb{authoryear}\ifx\@tempa\@tempb
+     \NAT at numbersfalse\fi
+   \def\@tempb{numbers}\ifx\@tempa\@tempb
+     \NAT at numberstrue\NAT at superfalse\fi
+   \def\@tempb{super}\ifx\@tempa\@tempb
+     \NAT at numberstrue\NAT at 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 at sort{\@ne}\fi
+   \def\@tempb{nosort}\ifx\@tempa\@tempb
+     \def\NAT at sort{\z@}\fi
+   \def\@tempb{compress}\ifx\@tempa\@tempb
+     \def\NAT at cmprs{\@ne}\fi
+   \def\@tempb{nocompress}\ifx\@tempa\@tempb
+     \def\NAT at cmprs{\z@}\fi
+   \def\@tempb{sort&compress}\ifx\@tempa\@tempb
+     \def\NAT at sort{\@ne}\def\NAT at cmprs{\@ne}\fi
+   \def\@tempb{mcite}\ifx\@tempa\@tempb
+     \let\NAT at merge\@ne\fi
+   \def\@tempb{merge}\ifx\@tempa\@tempb
+     \@ifnum{\NAT at merge<\tw@}{\let\NAT at merge\tw@}{}\fi
+   \def\@tempb{elide}\ifx\@tempa\@tempb
+     \@ifnum{\NAT at merge<\thr@@}{\let\NAT at merge\thr@@}{}\fi
+   \def\@tempb{longnamesfirst}\ifx\@tempa\@tempb
+     \NAT at longnamestrue\fi
+   \def\@tempb{nonamebreak}\ifx\@tempa\@tempb
+     \def\NAT at nmfmt#1{\mbox{\NAT at up#1}}\fi
+   \expandafter\NAT at find@eq\@tempa=\relax\@nil
+   \if\@tempc\relax\else
+     \expandafter\NAT at rem@eq\@tempc
+     \def\@tempb{open}\ifx\@tempa\@tempb
+      \xdef\NAT at open{\@tempc}\fi
+     \def\@tempb{close}\ifx\@tempa\@tempb
+      \xdef\NAT at close{\@tempc}\fi
+     \def\@tempb{aysep}\ifx\@tempa\@tempb
+      \xdef\NAT at aysep{\@tempc}\fi
+     \def\@tempb{yysep}\ifx\@tempa\@tempb
+      \xdef\NAT at yrsep{\@tempc}\fi
+     \def\@tempb{notesep}\ifx\@tempa\@tempb
+      \xdef\NAT at cmt{\@tempc}\fi
+     \def\@tempb{citesep}\ifx\@tempa\@tempb
+      \xdef\NAT at sep{\@tempc}\fi
+   \fi
+  }%
+  \NAT@@setcites
+  }
+  \renewcommand\citestyle[1]{%
+    \ifcsname bibstyle@#1\endcsname%
+    \csname bibstyle@#1\endcsname\let\bibstyle\@gobble%
+    \else%
+    \@latex at error{Undefined `#1' citestyle}%
+    \fi
+  }%
+\fi
+\newcommand{\bibstyle at acmauthoryear}{%
+  \setcitestyle{%
+    authoryear,%
+    open={[},close={]},citesep={;},%
+    aysep={},yysep={,},%
+    notesep={, }}}
+\newcommand{\bibstyle at acmnumeric}{%
+  \setcitestyle{%
+    numbers,sort&compress,%
+    open={[},close={]},citesep={,},%
+    notesep={, }}}
+\if at ACM@natbib
+\citestyle{acmnumeric}
+\fi
+\if at ACM@journal
+  \renewcommand\keywordsname{Additional Key Words and Phrases}%
+\else
+  \renewcommand\keywordsname{Keywords}%
+\fi
+\if at ACM@engage
+   \renewcommand\abstractname{Synopsis}%
+\fi
+\ifx\ACM at languages\@empty
+\else
+  \RequirePackage[\ACM at languages]{babel}%
+  \addto\captionsenglish{%
+      \if at ACM@journal
+        \renewcommand\keywordsname{Additional Key Words and Phrases}%
+      \else
+        \renewcommand\keywordsname{Keywords}%
+      \fi
+      \renewcommand\acksname{Acknowledgements}%
+      \if at ACM@engage
+         \renewcommand\abstractname{Synopsis}%
+      \fi
+  }%
+  \addto\captionsfrench{%
+      \if at ACM@journal
+        \renewcommand\keywordsname{Mots Clés et Phrases Supplémentaires}%
+      \else
+        \renewcommand\keywordsname{Mots clés}%
+      \fi
+      \renewcommand\acksname{Remerciements}%
+  }%
+  \addto\captionsgerman{%
+      \if at ACM@journal
+        \renewcommand\keywordsname{Zusätzliche Schlagwörter und Phrasen}%
+      \else
+        \renewcommand\keywordsname{Schlagwörter}%
+      \fi
+      \renewcommand\acksname{Danksagungen}%
+  }%
+  \addto\captionsspanish{%
+      \if at ACM@journal
+        \renewcommand\keywordsname{Palabras y Frases Claves Adicionales}%
+      \else
+        \renewcommand\keywordsname{Palabras claves}%
+      \fi
+      \renewcommand\acksname{Expresiones de gratitud}%
+  }%
+\fi
+\newcommand\ACM at lang@check[1]{%
+  \ifx\ACM at 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 at lang@check{\translatedtitle}%
+\g at addto@macro\@translatedtitle{\par\foreignlanguage{#1}{#2}}}
+\def\@translatedsubtitle{}
+\newcommand\translatedsubtitle[2]{\ACM at lang@check{\translatedsubtitle}%
+\g at addto@macro\@translatedsubtitle{\par\foreignlanguage{#1}{#2}}}
+\def\@translatedkeywords{}
+\newcommand\translatedkeywords[2]{\ACM at lang@check{\translatedkeywords}%
+\g at addto@macro\@translatedkeywords{\@mktranslatedkeywords{#1}{#2}}}
+\def\@translatedabstracts{}
+\newenvironment{translatedabstract}[1]{\Collect at Body
+  \@savetranslatedabstract\@mktranslatedabstract{#1}}{}
+\long\def\@savetranslatedabstract#1{\if at ACM@maketitle at typeset
+  \ClassError{\@classname}{Abstract must be defined before maketitle
+    command. Please move it!}\fi
+  \ACM at lang@check{translatedabstract}%
+  \g at addto@macro\@translatedabstracts{\bgroup#1\egroup}}
+\let\@startsection\@startsection at kernel
+\let\@sect\@sect at kernel
+\let\@ssect\@ssect at kernel
+\let\@xsect\@xsect at kernel
+\def\@seccntformat#1{\csname the#1\endcsname\quad}
+\def\@starttoc#1#2{\begingroup\makeatletter
+  \setTrue{#1}%
+  \par\removelastskip\vskip\z at skip
+  \@startsection{section}\@M\z@{\linespacing\@plus\linespacing}%
+    {.5\linespacing}{\centering\contentsnamefont}{#2}%
+\@starttoc at cfgpoint@before{#1}%NEW<<<<<<<<<< (name will change)
+  \@input{\jobname.#1}%
+\@starttoc at cfgpoint@after{#1}%NEW<<<<<<<<<<<<  (name will change)
+  \if at 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 at section{\@tocline{1}{0pt}{1pc}{2pc}{}}
+\def\l at subsection{\@tocline{2}{0pt}{1pc}{3pc}{}}
+\def\l at subsubsection{\@tocline{3}{0pt}{1pc}{5pc}{}}
+\def\@makefntext{\noindent\@makefnmark}
+\if at ACM@sigchiamode
+\long\def\@footnotetext#1{\marginpar{%
+    \reset at font\small
+    \interlinepenalty\interfootnotelinepenalty
+    \protected at edef\@currentlabel{%
+       \csname p at footnote\endcsname\@thefnmark
+    }%
+    \color at begingroup
+      \@makefntext{%
+        \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
+    \color at endgroup}}%
+\fi
+\long\def\@mpfootnotetext#1{%
+  \global\setbox\@mpfootins\vbox{%
+    \unvbox\@mpfootins
+    \reset at font\footnotesize
+    \hsize\columnwidth
+    \@parboxrestore
+    \protected at edef\@currentlabel
+         {\csname p at mpfootnote\endcsname\@thefnmark}%
+    \color at begingroup\centering
+      \@makefntext{%
+        \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
+    \color at endgroup}}
+\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}
+\let\@footnotemark at nolink\@footnotemark
+\let\@footnotetext at 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 at 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 at ACM@urlbreakonhyphens
+    \def\do at url@hyp{\do\-}%
+  \fi
+  \if at ACM@screen
+    \hypersetup{colorlinks,
+      linkcolor=ACMPurple,
+      citecolor=ACMPurple,
+      urlcolor=ACMDarkBlue,
+      filecolor=ACMDarkBlue}
+    \else
+    \hypersetup{hidelinks}
+  \fi
+  \hypersetup{pdflang={en},
+    pdfdisplaydoctitle}}
+\if at ACM@natbib
+  \let\citeN\cite
+  \let\cite\citep
+  \let\citeANP\citeauthor
+  \let\citeNN\citeyearpar
+  \let\citeyearNP\citeyear
+  \let\citeNP\citealt
+  \DeclareRobustCommand\citeA
+     {\begingroup\NAT at swafalse
+       \let\NAT at ctype\@ne\NAT at partrue\NAT at fullfalse\NAT at open\NAT at citetp}%
+  \providecommand\newblock{}%
+\else
+  \AtBeginDocument{%
+    \let\shortcite\cite%
+    \providecommand\citename[1]{#1}}
+\fi
+\newcommand\shortcite[2][]{%
+  \ifNAT at numbers\cite[#1]{#2}\else\citeyearpar[#1]{#2}\fi}
+\def\bibliographystyle#1{%
+  \ifx\@begindocumenthook\@undefined\else
+    \expandafter\AtBeginDocument
+  \fi
+    {\if at 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 at ACM@authordraft
+  \RequirePackage{draftwatermark}
+  \SetWatermarkFontSize{0.5in}
+  \SetWatermarkColor[gray]{.9}
+  \SetWatermarkText{\parbox{12em}{\centering
+      Unpublished working draft.\\
+      Not for distribution.}}
+\else
+  \if at ACM@sigchiamode
+    \if at 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 at 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 at 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 at endgroup
+  \egroup
+  \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}}
+\def\@textbottom{\vskip \z@ \@plus 1pt}
+\let\@texttop\relax
+\ifcase\ACM at 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 at ACM@newfonts
+\@ACM at newfontstrue
+\IfFileExists{libertine.sty}{}{\ClassWarning{\@classname}{You do not
+    have the libertine package installed.  Please upgrade your
+    TeX}\@ACM at newfontsfalse}
+\IfFileExists{zi4.sty}{}{\ClassWarning{\@classname}{You do not
+    have the inconsolata (zi4.sty) package installed.  Please upgrade your
+    TeX}\@ACM at newfontsfalse}
+\IfFileExists{newtxmath.sty}{}{\ClassWarning{\@classname}{You do not
+    have the newtxmath package installed.  Please upgrade your
+    TeX}\@ACM at newfontsfalse}
+\if at 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 at ACM@sigchiamode
+  \renewcommand{\familydefault}{\sfdefault}
+\fi
+\newif\if at Description@present
+\@Description at presenttrue
+\newif\if at undescribed@images
+\@undescribed at imagesfalse
+\newcommand\Description[2][]{\global\@Description at presenttrue\ignorespaces}
+\AtEndDocument{\if at undescribed@images
+  \ClassWarningNoLine{\@classname}{Some images may lack descriptions}\fi}
+\AtBeginEnvironment{figure}{\@Description at presentfalse
+  \let\@vspace\@vspace at orig
+  \let\@vspacer\@vspacer at orig}
+\AtBeginEnvironment{figure*}{\@Description at presentfalse
+  \let\@vspace\@vspace at orig
+  \let\@vspacer\@vspacer at orig}
+\AtEndEnvironment{figure}{\if at Description@present\else
+  \global\@undescribed at imagestrue
+  \ClassWarning{\@classname}{A possible image without description}\fi}
+\AtEndEnvironment{figure*}{\if at Description@present\else
+  \global\@undescribed at imagestrue
+  \ClassWarning{\@classname}{A possible image without description}\fi}
+\AtBeginEnvironment{table}{\let\@vspace\@vspace at orig
+  \let\@vspacer\@vspacer at orig}
+\AtBeginEnvironment{table*}{\let\@vspace\@vspace at orig
+  \let\@vspacer\@vspacer at orig}
+\AtBeginEnvironment{algorithm}{\let\@vspace\@vspace at orig
+  \let\@vspacer\@vspacer at orig}
+\AtBeginEnvironment{algorithm*}{\let\@vspace\@vspace at orig
+  \let\@vspacer\@vspacer at orig}
+\AtBeginEnvironment{lstlisting}{\let\@vspace\@vspace at orig
+  \let\@vspacer\@vspacer at orig}
+\AtBeginEnvironment{lstlisting*}{\let\@vspace\@vspace at orig
+  \let\@vspacer\@vspacer at orig}
+\AtBeginEnvironment{minted}{\let\@vspace\@vspace at orig
+  \let\@vspacer\@vspacer at orig}
+\AtBeginEnvironment{minted*}{\let\@vspace\@vspace at orig
+  \let\@vspacer\@vspacer at orig}
+\AtBeginEnvironment{listing}{\let\@vspace\@vspace at orig
+  \let\@vspacer\@vspacer at orig}
+\AtBeginEnvironment{listing*}{\let\@vspace\@vspace at orig
+  \let\@vspacer\@vspacer at orig}
+
+\RequirePackage{caption, float}
+\captionsetup[table]{position=top}
+\if at 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 at 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 at Body\@sidebar}{}
+\long\def\@sidebar#1{\bgroup\let\@vspace\@vspace at orig
+  \let\@vspacer\@vspacer at orig\captionsetup{type=sidebar}%
+  \marginpar{\small#1}\egroup}
+\newenvironment{marginfigure}{\Collect at Body\@marginfigure}{}
+\long\def\@marginfigure#1{\bgroup
+  \let\@vspace\@vspace at orig
+  \let\@vspacer\@vspacer at orig
+  \captionsetup{type=figure}%
+  \marginpar{\@Description at presentfalse\centering
+    \small#1\if at Description@present\else
+      \global\@undescribed at imagestrue
+      \ClassWarning{\@classname}{A possible image without description}
+      \fi}%
+  \egroup}
+\newenvironment{margintable}{\Collect at Body\@margintable}{}
+\long\def\@margintable#1{\bgroup\let\@vspace\@vspace at orig
+  \let\@vspacer\@vspacer at orig\captionsetup{type=table}%
+  \marginpar{\centering\small#1}\egroup}
+\newdimen\fulltextwidth
+\fulltextwidth=\dimexpr(\textwidth+\marginparwidth+\marginparsep)
+\if at ACM@sigchiamode
+\def\@dblfloat{\bgroup\let\@vspace\@vspace at orig
+  \let\@vspacer\@vspacer at orig\columnwidth=\fulltextwidth
+  \let\@endfloatbox\@endwidefloatbox
+  \def\@fpsadddefault{\def\@fps{tp}}%
+  \@float}
+\fi
+\if at ACM@sigchiamode
+\def\end at dblfloat{%
+    \end at float\egroup}
+\fi
+\def\@endwidefloatbox{%
+  \par\vskip\z at skip
+  \@minipagefalse
+  \outer at nobreak
+  \egroup
+  \color at endbox
+  \global\setbox\@currbox=\vbox{\moveleft
+    \dimexpr(\fulltextwidth-\textwidth)\box\@currbox}%
+  \wd\@currbox=\textwidth
+}
+\ifcase\ACM at 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 at labelwidth
+\AtBeginDocument{%
+  \setlength\labelsep{4pt}
+  \setlength{\@ACM at 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 at labelwidth}
+
+  %% Second-level and higher lists.
+  \setlength\leftmarginii{\z@}
+  \addtolength\leftmarginii{0.5\labelsep}
+  \addtolength\leftmarginii{\@ACM at 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 at 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 at labelwidth
+    \let\makelabel\descriptionlabel}%
+}{
+  \endlist
+}
+\let\enddescription=\endlist % for efficiency
+\newif\if at ACM@maketitle at typeset
+\@ACM at maketitle@typesetfalse
+\define at choicekey*+{ACM}{acmJournal}[\@journalCode\@journalCode at 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,%
+  TOPLAS,%
+  TOPML,%
+  TOPS,%
+  TORS,%
+  TOS,%
+  TOSEM,%
+  TOSN,%
+  TQC,%
+  TRETS,%
+  TSAS,%
+  TSC,%
+  TSLP,%
+  TWEB,%
+  FACMP%
+}{%
+\ifcase\@journalCode at nr
+\relax % ACMJCSS
+  \def\@journalName{ACM Journal on Computing and Sustainable Societies}%
+  \def\@journalNameShort{ACM J. Comput. Sustain. Soc.}%
+  \def\@permissionCodeOne{2834-5533}%
+  \def\@permissionCodeTwo{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}%
+  \def\@permissionCodeTwo{1557-7341}%
+\or % DGOV
+  \def\@journalName{Digital Government: Research and Practice}%
+  \def\@journalNameShort{Digit. Gov. Res. Pract.}%
+  \def\@permissionCodeOne{2639-0175}%
+  \def\@permissionCodeTwo{2639-0175}%
+\or % DLT
+  \def\@journalName{Distributed Ledger Technologies: Research and Practice}%
+  \def\@journalNameShort{Distrib. Ledger Technol.}%
+  \def\@permissionCodeOne{2769-6472}%
+  \def\@permissionCodeTwo{2769-6480}%
+\or % DTRAP
+  \def\@journalName{Digital Threats: Research and Practice}%
+  \def\@journalNameShort{Digit. Threat. Res. Pract.}%
+  \def\@permissionCodeOne{2576-5337}%
+  \def\@permissionCodeTwo{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}%
+  \def\@permissionCodeTwo{2832-5516}%
+\or % HEALTH
+  \def\@journalName{ACM Transactions on Computing for Healthcare}%
+  \def\@journalNameShort{ACM Trans. Comput. Healthcare}%
+  \def\@permissionCodeOne{2637-8051}%
+  \def\@permissionCodeTwo{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}%
+  \def\@permissionCodeTwo{2474-9567}%
+  \@ACM at 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}%
+  \def\@permissionCodeTwo{1557-735X}%
+\or % JATS
+  \def\@journalName{Journal on Autonomous Transportation Systems}%
+  \def\@journalNameShort{ACM J. Auton. Transport. Syst.}%
+  \def\@permissionCodeOne{2833-0528}%
+  \def\@permissionCodeTwo{2833-0528}%
+\or % JDIQ
+  \def\@journalName{ACM Journal of Data and Information Quality}%
+  \def\@journalNameShort{ACM J. Data Inform. Quality}%
+  \def\@permissionCodeOne{1936-1955}%
+  \def\@permissionCodeTwo{1936-1963}%
+\or % JDS
+  \def\@journalName{ACM/IMS 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}%
+  \def\@permissionCodeTwo{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}%
+  \def\@permissionCodeTwo{1550-4840}%
+\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}%
+  \def\@permissionCodeTwo{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}%
+  \def\@permissionCodeTwo{2577-6193}%
+  \@ACM at 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}%
+  \def\@permissionCodeTwo{2573-0142}%
+  \@ACM at 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}%
+  \def\@permissionCodeTwo{2836-6573}%
+\or % PACMNET
+  \def\@journalName{Proceedings of the ACM on Networkng}%
+  \def\@journalNameShort{Proc. ACM Netw.}%
+  \def\@permissionCodeOne{2834-5509}%
+  \def\@permissionCodeTwo{2834-5509}%
+\or % PACMPL
+  \def\@journalName{Proceedings of the ACM on Programming Languages}%
+  \def\@journalNameShort{Proc. ACM Program. Lang.}%
+  \def\@permissionCodeOne{2475-1421}%
+  \def\@permissionCodeTwo{2475-1421}%
+  \@ACM at 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}%
+  \def\@permissionCodeTwo{2994-970X}%
+  \@ACM at 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}%
+  \def\@permissionCodeTwo{2476-1249}%
+  \@ACM at 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}%
+  \def\@permissionCodeTwo{1556-4703}%
+\or % TACCESS
+  \def\@journalName{ACM Transactions on Accessible Computing}%
+  \def\@journalNameShort{ACM Trans. Access. Comput.}%
+  \def\@permissionCodeOne{1936-7228}%
+  \def\@permissionCodeTwo{1936-7236}%
+\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}%
+  \def\@permissionCodeTwo{1549-6333}%
+\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}%
+  \def\@permissionCodeTwo{2375-4702}%
+\or % TAP
+  \def\@journalName{ACM Transactions on Applied Perception}%
+  \def\@journalNameShort{ACM Trans. Appl. Percept.}%
+  \def\@permissionCodeOne{1544-3558}%
+  \def\@permissionCodeTwo{1544-3965}%
+\or % TCPS
+  \def\@journalName{ACM Transactions on Cyber-Physical Systems}%
+  \def\@journalNameShort{ACM Trans. Cyber-Phys. Syst.}%
+  \def\@permissionCodeOne{2378-962X}%
+  \def\@permissionCodeTwo{2378-9638}%
+\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}%
+  \def\@permissionCodeTwo{2167-8383}%
+\or % TECS
+  \def\@journalName{ACM Transactions on Embedded Computing Systems}%
+  \def\@journalNameShort{ACM Trans. Embedd. Comput. Syst.}%
+  \def\@permissionCodeOne{1539-9087}%
+  \def\@permissionCodeTwo{1558-3465}%
+\or % TELO
+  \def\@journalName{ACM Transactions on Evolutionary Learning and Optimization}%
+  \def\@journalNameShort{ACM Trans. Evol. Learn. Optim.}%
+  \def\@permissionCodeOne{2688-299X}%
+  \def\@permissionCodeTwo{2688-3007}%
+\or % THRI
+  \def\@journalName{ACM Transactions on Human-Robot Interaction}%
+  \def\@journalNameShort{ACM Trans. Hum.-Robot Interact.}%
+  \def\@permissionCodeOne{2573-9522}%
+  \def\@permissionCodeTwo{2573-9522}%
+\or % TIIS
+  \def\@journalName{ACM Transactions on Interactive Intelligent Systems}%
+  \def\@journalNameShort{ACM Trans. Interact. Intell. Syst.}%
+  \def\@permissionCodeOne{2160-6455}%
+  \def\@permissionCodeTwo{2160-6463}%
+\or % TIOT
+  \def\@journalName{ACM Transactions on Internet of Things}%
+  \def\@journalNameShort{ACM Trans. Internet Things}%
+  \def\@permissionCodeOne{2577-6207}%
+  \def\@permissionCodeTwo{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}%
+  \def\@permissionCodeTwo{2157-6912}%
+\or % TKDD
+  \def\@journalName{ACM Transactions on Knowledge Discovery from Data}%
+  \def\@journalNameShort{ACM Trans. Knowl. Discov. Data.}%
+  \def\@permissionCodeOne{1556-4681}%
+  \def\@permissionCodeTwo{1556-472X}%
+\or % TMIS
+  \def\@journalName{ACM Transactions on Management Information Systems}%
+  \def\@journalNameShort{ACM Trans. Manag. Inform. Syst.}%
+  \def\@permissionCodeOne{2158-656X}%
+  \def\@permissionCodeTwo{2158-6578}%
+\or % TOCE
+  \def\@journalName{ACM Transactions on Computing Education}%
+  \def\@journalNameShort{ACM Trans. Comput. Educ.}%
+  \def\@permissionCodeOne{1946-6226}%
+  \def\@permissionCodeTwo{1946-6226}%
+\or % TOCHI
+  \def\@journalName{ACM Transactions on Computer-Human Interaction}%
+  \def\@journalNameShort{ACM Trans. Comput.-Hum. Interact.}%
+  \def\@permissionCodeOne{1073-0516}%
+  \def\@permissionCodeTwo{1557-7325}%
+\or % TOCL
+  \def\@journalName{ACM Transactions on Computational Logic}%
+  \def\@journalNameShort{ACM Trans. Comput. Logic}%
+  \def\@permissionCodeOne{1529-3785}%
+  \def\@permissionCodeTwo{1557-945X}%
+\or % TOCS
+  \def\@journalName{ACM Transactions on Computer Systems}%
+  \def\@journalNameShort{ACM Trans. Comput. Syst.}%
+  \def\@permissionCodeOne{0734-2071}%
+  \def\@permissionCodeTwo{1557-7333}%
+\or % TOCT
+  \def\@journalName{ACM Transactions on Computation Theory}%
+  \def\@journalNameShort{ACM Trans. Comput. Theory}%
+  \def\@permissionCodeOne{1942-3454}%
+  \def\@permissionCodeTwo{1942-3462}%
+\or % TODAES
+  \def\@journalName{ACM Transactions on Design Automation of Electronic Systems}%
+  \def\@journalNameShort{ACM Trans. Des. Autom. Electron. Syst.}%
+  \def\@permissionCodeOne{1084-4309}%
+  \def\@permissionCodeTwo{1557-7309}%
+\or % TODS
+  \def\@journalName{ACM Transactions on Database Systems}%
+  \def\@journalNameShort{ACM Trans. Datab. Syst.}%
+  \def\@permissionCodeOne{0362-5915}%
+  \def\@permissionCodeTwo{1557-4644}%
+\or % TOG
+  \def\@journalName{ACM Transactions on Graphics}%
+  \def\@journalNameShort{ACM Trans. Graph.}%
+  \def\@permissionCodeOne{0730-0301}%
+  \def\@permissionCodeTwo{1557-7368}%
+\or % TOIS
+  \def\@journalName{ACM Transactions on Information Systems}%
+  \def\@journalNameShort{ACM Trans. Inf. Syst.}%
+  \def\@permissionCodeOne{1046-8188}%
+  \def\@permissionCodeTwo{1558-2868}%
+\or % TOIT
+  \def\@journalName{ACM Transactions on Internet Technology}%
+  \def\@journalNameShort{ACM Trans. Internet Technol.}%
+  \def\@permissionCodeOne{1533-5399}%
+  \def\@permissionCodeTwo{1557-6051}%
+\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}%
+  \def\@permissionCodeTwo{2376-3647}%
+\or % TOMS
+  \def\@journalName{ACM Transactions on Mathematical Software}%
+  \def\@journalNameShort{ACM Trans. Math. Softw.}%
+  \def\@permissionCodeOne{0098-3500}%
+  \def\@permissionCodeTwo{1557-7295}%
+\or % TOPC
+  \def\@journalName{ACM Transactions on Parallel Computing}%
+  \def\@journalNameShort{ACM Trans. Parallel Comput.}%
+  \def\@permissionCodeOne{2329-4949}%
+  \def\@permissionCodeTwo{2329-4957}%
+\or % TOPLAS
+  \def\@journalName{ACM Transactions on Programming Languages and Systems}%
+  \def\@journalNameShort{ACM Trans. Program. Lang. Syst.}%
+  \def\@permissionCodeOne{0164-0925}%
+  \def\@permissionCodeTwo{1558-4593}%
+\or % TOPML
+  \def\@journalName{ACM Transactions on Probabilistic Machine Learning}%
+  \def\@journalNameShort{ACM Trans. Probab. Mach. Learn.}%
+  \def\@permissionCodeOne{2836-8924}%
+  \def\@permissionCodeTwo{2836-8924}%
+\or % TOPS
+  \def\@journalName{ACM Transactions on Privacy and Security}%
+  \def\@journalNameShort{ACM Trans. Priv. Sec.}%
+  \def\@permissionCodeOne{2471-2566}%
+  \def\@permissionCodeTwo{2471-2574}%
+\or % TORS
+  \def\@journalName{ACM Transactions on Recommender Systems}%
+  \def\@journalNameShort{ACM Trans. Recomm. Syst.}%
+  \def\@permissionCodeOne{2770-6699}%
+  \def\@permissionCodeTwo{2770-6699}%
+\or % TOS
+  \def\@journalName{ACM Transactions on Storage}%
+  \def\@journalNameShort{ACM Trans. Storage}%
+  \def\@permissionCodeOne{1553-3077}%
+  \def\@permissionCodeTwo{1553-3093}%
+\or % TOSEM
+  \def\@journalName{ACM Transactions on Software Engineering and Methodology}%
+  \def\@journalNameShort{ACM Trans. Softw. Eng. Methodol.}%
+  \def\@permissionCodeOne{1049-331X}%
+  \def\@permissionCodeTwo{1557-7392}%
+\or % TOSN
+  \def\@journalName{ACM Transactions on Sensor Networks}%
+  \def\@journalNameShort{ACM Trans. Sensor Netw.}%
+  \def\@permissionCodeOne{1550-4859}%
+  \def\@permissionCodeTwo{1550-4867}%
+\or % TQC
+  \def\@journalName{ACM Transactions on Quantum Computing}%
+  \def\@journalNameShort{ACM Trans. Quantum Comput.}%
+  \def\@permissionCodeOne{2643-6817}%
+  \def\@permissionCodeTwo{2643-6817}%
+\or % TRETS
+  \def\@journalName{ACM Transactions on Reconfigurable Technology and Systems}%
+  \def\@journalNameShort{ACM Trans. Reconfig. Technol. Syst.}%
+  \def\@permissionCodeOne{1936-7406}%
+  \def\@permissionCodeTwo{1936-7414}%
+\or % TSAS
+  \def\@journalName{ACM Transactions on Spatial Algorithms and Systems}%
+  \def\@journalNameShort{ACM Trans. Spatial Algorithms Syst.}%
+  \def\@permissionCodeOne{2374-0353}%
+  \def\@permissionCodeTwo{2374-0361}%
+\or % TSC
+  \def\@journalName{ACM Transactions on Social Computing}%
+  \def\@journalNameShort{ACM Trans. Soc. Comput.}%
+  \def\@permissionCodeOne{2469-7818}%
+  \def\@permissionCodeTwo{2469-7826}%
+\or % TSLP
+  \def\@journalName{ACM Transactions on Speech and Language Processing}%
+  \def\@journalNameShort{ACM Trans. Speech Lang. Process.}%
+  \def\@permissionCodeOne{1550-4875}%
+  \def\@permissionCodeTwo{2329-9304}%
+\or % TWEB
+  \def\@journalName{ACM Transactions on the Web}%
+  \def\@journalNameShort{ACM Trans. Web}%
+  \def\@permissionCodeOne{1559-1131}%
+  \def\@permissionCodeTwo{1559-114X}%
+\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 at journal@bibstriptrue
+  \global\@ACM at journal@bibstrip at or@togtrue}
+\def\@journalCode at nr{0}
+\def\@journalName{}%
+\def\@journalNameShort{\@journalName}%
+\def\@permissionCodeOne{XXXX-XXXX}%
+\def\@permissionCodeTwo{\@permissionCodeOne}%
+\newcommand\acmConference[4][]{%
+  \gdef\acmConference at shortname{#1}%
+  \gdef\acmConference at name{#2}%
+  \gdef\acmConference at date{#3}%
+  \gdef\acmConference at venue{#4}%
+  \ifx\acmConference at shortname\@empty
+    \gdef\acmConference at shortname{#2}%
+  \fi
+  \global\@ACM at journal@bibstripfalse
+  \ifx\@acmBooktitle\@empty\relax
+    \acmBooktitle{Proceedings of \acmConference at name
+      \ifx\acmConference at name\acmConference at shortname\else
+      \ (\acmConference at shortname)\fi}%
+  \fi
+}
+\if at ACM@journal\else
+\acmConference[Conference'17]{ACM Conference}{July 2017}{Washington,
+  DC, USA}%
+\fi
+\def\acmBooktitle#1{\gdef\@acmBooktitle{#1}}
+\acmBooktitle{}
+\def\@editorsAbbrev{(Ed.)}
+\def\@acmEditors{}
+\def\editor#1{\ifx\@acmEditors\@empty
+    \gdef\@acmEditors{#1}%
+  \else
+    \gdef\@editorsAbbrev{(Eds.)}%
+    \g at addto@macro\@acmEditors{\and#1}%
+\fi}
+\def\subtitle#1{\def\@subtitle{#1}}
+\subtitle{}
+\newcount\num at authorgroups
+\num at authorgroups=0\relax
+\newcount\num at authors
+\num at authors=0\relax
+\newif\if at 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 at authors by 1\relax
+  \if at insideauthorgroup\else
+    \global\advance\num at authorgroups by 1\relax
+    \global\@insideauthorgrouptrue
+  \fi
+  \ifx\addresses\@empty
+    \if at 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 at author\the\num at authors\endcsname{#2}}}%
+      \gdef\authors{#2}%
+    \fi
+  \else
+    \if at ACM@anonymous\else
+    \expandafter\g at addto@macro\expandafter\addresses\expandafter{%
+      \expandafter\and\expandafter\@author\expandafter{%
+        \csname typeset at author\the\num at authors\endcsname{#2}}}%
+      \g at addto@macro\authors{\and#2}%
+    \fi
+  \fi
+  \if at 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 at addto@macro\shortauthors{\and#2}%
+      \fi
+    \else
+      \ifx\shortauthors\@empty
+        \gdef\shortauthors{#1}%
+      \else
+        \g at addto@macro\shortauthors{\and#1}%
+      \fi
+    \fi
+  \fi}
+\newcommand{\affiliation}[2][]{%
+  \global\@insideauthorgroupfalse
+  \if at ACM@anonymous\else
+    \g at addto@macro\addresses{\affiliation{#1}{#2}}%
+  \fi}
+\define at boolkey+{@ACM at affiliation@}[@ACM at 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\city\position
+  \let\state\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 at ACM@anonymous\else
+    \g at addto@macro\addresses{\email{#1}{#2}}%
+  \fi}
+\def\orcid#1{\unskip\ignorespaces%
+  \IfBeginWith{#1}{http}{%
+    \expandafter\gdef\csname
+        typeset at author\the\num at authors\endcsname##1{%
+          \href{#1}{##1}}}{%
+    \expandafter\gdef\csname
+        typeset at author\the\num at 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 at addto@macro\@title{\footnotemark}%
+  \if at ACM@anonymous
+    \g at addto@macro\@titlenotes{%
+      \stepcounter{footnote}\footnotetext{Title note}}%
+  \else
+    \g at addto@macro\@titlenotes{\stepcounter{footnote}\footnotetext{#1}}%
+  \fi}
+\def\@subtitlenotes{}
+\def\subtitlenote#1{%
+  \g at addto@macro\@subtitle{\footnotemark}%
+  \if at ACM@anonymous
+    \g at addto@macro\@subtitlenotes{%
+      \stepcounter{footnote}\footnotetext{Subtitle note}}%
+  \else
+    \g at addto@macro\@subtitlenotes{%
+      \stepcounter{footnote}\footnotetext{#1}}%
+  \fi}
+\def\@authornotes{}
+\def\authornote#1{%
+  \if at ACM@anonymous\else
+    \g at addto@macro\addresses{\@authornotemark}%
+    \g at addto@macro\@authornotes{%
+      \stepcounter{footnote}\footnotetext{#1}}%
+  \fi}
+\newcommand\authornotemark[1][\relax]{%
+  \ifx#1\relax\relax\relax
+  \g at addto@macro\addresses{\@authornotemark}%
+  \else
+  \g at 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\acmPrice#1{\ClassWarning{\@classname}{The macro \string\acmPrice
+    is obsolete.  ACM no longer prints the price in bibstrip.}}
+\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 at badge@width
+\setlength\@ACM at badge@width{3pc}
+\newlength\@ACM at title@width
+\newlength\@ACM at badge@skip
+\setlength\@ACM at 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 at badge@width]{#2}}}}}%
+  \else
+    \g at addto@macro{\@acmBadgeR}{%
+      \hspace{\@ACM at badge@skip}%
+      \smash{%
+        \raisebox{0.5\height}{%
+          \href{#1}{\includegraphics[width=\@ACM at badge@width]{#2}}}}}%
+  \fi}
+\newcommand\acmBadgeL[2][]{%
+  \ifx\@acmBadgeL\@empty
+    \gdef\@acmBadgeL{%
+      \smash{%
+        \raisebox{0.5\height}{%
+          \href{#1}{\includegraphics[width=\@ACM at badge@width]{#2}}}}}%
+  \else
+    \g at addto@macro{\@acmBadgeL}{%
+      \hspace{\@ACM at badge@skip}%
+      \smash{%
+        \raisebox{0.5\height}{%
+          \href{#1}{\includegraphics[width=\@ACM at 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 at 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 at Body\@saveabstract}{}
+\long\def\@saveabstract#1{\if at ACM@maketitle at typeset
+  \ClassError{\@classname}{Abstract must be defined before maketitle
+    command. Please move it!}\fi
+  \long\gdef\@abstract{#1}}
+\@saveabstract{}
+\long\def\@lempty{}
+\define at boolkey+{@ACM at topmatter@}[@ACM@]{printccs}[true]{%
+  \if at ACM@printccs
+    \ClassInfo{\@classname}{Printing CCS}%
+  \else
+    \ClassInfo{\@classname}{Suppressing CCS}%
+  \fi}{\ClassError{\@classname}{The option printccs can be either true or false}}
+\define at boolkey+{@ACM at topmatter@}[@ACM@]{printacmref}[true]{%
+  \if at 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 at ACM@nonacm\else\if at 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 at boolkey+{@ACM at topmatter@}[@ACM@]{printfolios}[true]{%
+  \if at ACM@printfolios
+    \ClassInfo{\@classname}{Printing folios}%
+  \else
+    \ClassInfo{\@classname}{Suppressing folios}%
+  \fi}{\ClassError{\@classname}{The option printfolios can be either true or false}}
+\define at cmdkey{@ACM at 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 at authorsperrow{0}}}
+\def\settopmatter#1{\setkeys{@ACM at topmatter@}{#1}}
+\settopmatter{printccs=true, printacmref=true}
+\if at ACM@manuscript
+  \settopmatter{printfolios=true}
+\else
+  \if at 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 at addto@macro{\@received}{; revised #2}%
+    \fi
+  \else
+    \ifx\@received\@empty
+      \gdef\@received{#1 #2}%
+    \else
+      \g at addto@macro{\@received}{; #1 #2}%
+    \fi
+  \fi}
+\AtEndDocument{%
+  \ifx\@received\@empty\else
+    \par\bigskip\noindent\small\normalfont\@received\par
+  \fi}
+\define at choicekey+{ACM}{articletype}[\ACM at ArticleType\ACM at ArticleType@nr]{%
+  Research,Review,Discussion,Invited,Position}[Review]{%
+  \ifcase\ACM at ArticleType@nr
+  \relax % Research
+     \colorlet{@ACM at Article@color}{ACMBlue}%
+  \or % Review
+     \colorlet{@ACM at Article@color}{ACMOrange}%
+  \or % Discussion
+     \colorlet{@ACM at Article@color}{ACMGreen}%
+  \or % Invited
+     \colorlet{@ACM at Article@color}{ACMPurple}%
+  \or % Position
+     \colorlet{@ACM at 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 at ACM@acmcp
+\acmArticleType{Research}%
+\fi
+ %    \end{macrocode}
+\newenvironment{@ACM at color@frame}{%
+  \def\FrameCommand{\hspace*{-6.5pc}%
+    \colorbox{@ACM at Article@color!10!white}}%
+  \MakeFramed {\advance\hsize
+    -6.5pc\relax\FrameRestore}}{\zsaveposy{@ACM at acmcpframe@y}%
+  \endMakeFramed}
+\def\acmCodeLink#1{%
+  \ifx\@acmCodeDataLink\@empty
+     \gdef\@acmCodeDataLink{\url{#1}}%
+  \else
+     \g at 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 at parse#1~#2~~\ccsdesc at parse@end}
+\def\textrightarrow{$\rightarrow$}
+\def\ccsdesc at parse#1~#2~#3~{%
+  \stepcounter{@concepts}%
+  \expandafter\ifx\csname CCS at General@#2\endcsname\relax
+    \expandafter\gdef\csname CCS at General@#2\endcsname{\textbullet\
+      \textbf{#2}}%
+    \expandafter\gdef\csname CCS at Punctuation@#2\endcsname{; }%
+    \expandafter\gdef\csname CCS at Specific@#2\endcsname{}%
+  \g at addto@macro{\@concepts}{\csname CCS at General@#2\endcsname
+    \csname CCS at Punctuation@#2\endcsname
+    \csname CCS at Specific@#2\endcsname}%
+  \fi
+  \ifx#3\relax\relax\else
+    \expandafter\gdef\csname CCS at Punctuation@#2\endcsname{
+      \textrightarrow\ }%
+    \expandafter\g at addto@macro\expandafter{\csname CCS at 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 at parse@finish}
+\AtEndDocument{\if at 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 at parse@finish#1\ccsdesc at parse@end{}
+\newif\if at printcopyright
+\@printcopyrighttrue
+\newif\if at printpermission
+\@printpermissiontrue
+\newif\if at acmowned
+\@acmownedtrue
+\define at choicekey*{ACM@}{acmcopyrightmode}[%
+  \acm at copyrightinput\acm at copyrightmode]{none,%
+    acmcopyright,acmlicensed,rightsretained,%
+    usgov,usgovmixed,cagov,cagovmixed,licensedusgovmixed,%
+    licensedcagov,licensedcagovmixed,othergov,licensedothergov,%
+    iw3c2w3,iw3c2w3g,cc}{%
+  \@printpermissiontrue
+  \@printcopyrighttrue
+  \@acmownedtrue
+  \ifnum\acm at copyrightmode=0\relax % none
+   \@printpermissionfalse
+   \@printcopyrightfalse
+   \@acmownedfalse
+  \fi
+  \ifnum\acm at copyrightmode=2\relax % acmlicensed
+   \@acmownedfalse
+  \fi
+  \ifnum\acm at copyrightmode=3\relax % rightsretained
+   \@acmownedfalse
+  \fi
+  \ifnum\acm at copyrightmode=4\relax % usgov
+   \@printpermissiontrue
+   \@printcopyrightfalse
+   \@acmownedfalse
+  \fi
+  \ifnum\acm at copyrightmode=6\relax % cagov
+   \@acmownedfalse
+  \fi
+  \ifnum\acm at copyrightmode=8\relax % licensedusgovmixed
+   \@acmownedfalse
+  \fi
+  \ifnum\acm at copyrightmode=9\relax % licensedcagov
+   \@acmownedfalse
+  \fi
+  \ifnum\acm at copyrightmode=10\relax % licensedcagovmixed
+   \@acmownedfalse
+  \fi
+  \ifnum\acm at copyrightmode=11\relax % othergov
+   \@acmownedtrue
+  \fi
+  \ifnum\acm at copyrightmode=12\relax % licensedothergov
+   \@acmownedfalse
+  \fi
+  \ifnum\acm at copyrightmode=13\relax % iw3c2w3
+   \@acmownedfalse
+  \fi
+  \ifnum\acm at copyrightmode=14\relax % iw3c2w3g
+   \@acmownedfalse
+  \fi
+  \ifnum\acm at copyrightmode=15\relax % cc
+   \@acmownedfalse
+  \fi}
+\def\setcopyright#1{\setkeys{ACM@}{acmcopyrightmode=#1}}
+\setcopyright{acmlicensed}
+\newcommand\setcctype[2][4.0]{%
+  \def\ACM at cc@version{#1}%
+  \def\ACM at cc@type{#2}}
+\setcctype{by}
+\def\@copyrightowner{%
+  \ifcase\acm at 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\@copyrightpermission{%
+  \ifcase\acm at 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 at 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 at acm.org.
+  \or % rightsretained
+   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 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
+   \IfEq{\ACM at cc@type}{zero}{%
+     \def\ACM at CC@Url{https://creativecommons.org/publicdomain/zero/1.0/legalcode}}{%
+  \edef\ACM at CC@Url{https://creativecommons.org/licenses/\ACM@cc@type/\ACM@cc@version/legalcode}}%
+   \href{\ACM at CC@Url}{\includegraphics[height=5ex]{doclicense-CC-\ACM at cc@type-88x31}}\\
+   \href{\ACM at CC@Url}{%
+   This work is licensed under a Creative Commons
+   \IfEq{\ACM at cc@type}{zero}{CC0 1.0 Universal}{%
+     \IfEq{\ACM at cc@type}{by}{Attribution}{}%
+     \IfEq{\ACM at cc@type}{by-sa}{Attribution-ShareAlike}{}%
+     \IfEq{\ACM at cc@type}{by-nd}{Attribution-NoDerivatives}{}%
+     \IfEq{\ACM at cc@type}{by-nc}{Attribution-NonCommercial}{}%
+     \IfEq{\ACM at cc@type}{by-nc-sa}{Attribution-NonCommercial-ShareAlike}{}%
+     \IfEq{\ACM at cc@type}{by-nc-nd}{Attribution-NonCommercial-NoDerivatives}{}%
+     ~\IfEq{\ACM at 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 at Body\@saveteaser}{}
+\long\def\@saveteaser#1{\g at addto@macro\@teaserfigures{\@teaser{#1}}}
+\renewcommand{\thanks}[1]{%
+  \@ifnotempty{#1}{%
+    \if at ACM@anonymous
+      \g at addto@macro\thankses{\thanks{A note}}%
+   \else
+    \g at addto@macro\thankses{\thanks{#1}}%
+   \fi}}
+\newcommand{\anon}[2][ANONYMIZED]{%
+  \if at ACM@anonymous%
+    {\color{ACMOrange}#1}%
+  \else%
+    #2%
+  \fi}
+\ifx\@beginmaketitlehook\@undefined
+  \let\@beginmaketitlehook\@empty
+\fi
+\def\AtBeginMaketitle{\g at addto@macro\@beginmaketitlehook}
+\def\@acmengagemetadata{}
+\def\setengagemetadata#1#2{%
+  \g at addto@macro{\@acmengagemetadata}{%
+    \@setengagemetadata{#1}{#2}}}
+\newbox\mktitle at bx
+\def\maketitle{\@beginmaketitlehook
+  \@ACM at maketitle@typesettrue
+  \if at ACM@anonymous
+    % Anonymize omission of \author-s
+    \ifnum\num at authorgroups=0\author{}\fi
+  \fi
+  \begingroup
+  \let\@vspace\@vspace at orig
+  \let\@vspacer\@vspacer at orig
+  \let\@footnotemark\@footnotemark at nolink
+  \let\@footnotetext\@footnotetext at nolink
+  \renewcommand\thefootnote{\@fnsymbol\c at footnote}%
+  \hsize=\textwidth
+  \def\@makefnmark{\hbox{\@textsuperscript{\@thefnmark}}}%
+  \@mktitle\if at ACM@sigchiamode\else\@mkauthors\fi\@mkteasers
+  \@printtopmatter
+  \if at 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 at ACM@acmcp\else
+    \ifx\@empty\@authorsaddresses\else
+       \if at ACM@anonymous\else
+         \if at ACM@journal at bibstrip@or at tog
+           \footnotetextauthorsaddresses{%
+             \def\par{\let\par\@par}\parindent\z@\@setauthorsaddresses}%
+         \fi
+       \fi
+    \fi
+  \fi
+  \if at ACM@nonacm
+    \ifnum\acm at copyrightmode=15\relax % cc
+       \footnotetextcopyrightpermission{\@copyrightpermission}%
+    \fi
+  \else
+    \if at ACM@acmcp\else
+    \footnotetextcopyrightpermission{%
+    \if at 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 at ACM@authorversion\else
+      \if at printpermission\@copyrightpermission\par\fi
+    \fi
+    \if at ACM@manuscript\else
+       \if at ACM@journal at bibstrip\else % Print the conference information
+         \if at ACM@engage
+            {\itshape \@acmBooktitle, \@acmYear.}\par
+         \else
+         {\itshape \acmConference at shortname, \acmConference at date, \acmConference at venue}\par
+         \fi
+       \fi
+    \fi
+    \if at printcopyright
+      \copyright\ \@copyrightyear\ \@copyrightowner\\
+    \else
+      \@copyrightyear.\
+    \fi
+    \if at ACM@manuscript
+      Manuscript submitted to ACM\\
+    \else
+      \if at 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 at ACM@journal at bibstrip
+            \emph{\@journalName}%
+          \else
+            \emph{\@acmBooktitle}%
+          \fi
+          \ifx\@acmDOI\@empty
+          .
+          \else
+            , \@formatdoi{\@acmDOI}.
+          \fi\\
+        \else
+          \if at ACM@nonacm\else
+            \if at ACM@journal at bibstrip
+              ACM~\@permissionCodeTwo/\@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 at ACM@engage\@typesetengagemetadata\fi
+  \setcounter{footnote}{0}%
+  \@mkabstract
+  \ifx\@translatedabstracts\@empty\else
+  \@translatedabstracts\fi
+  \if at ACM@printccs
+  \ifx\@concepts\@empty\else\bgroup
+      {\@specialsection{CCS Concepts}%
+         \noindent\@concepts\par}\egroup
+     \fi
+   \fi
+   \if at ACM@acmcp\else
+     \ifx\@keywords\@empty\else\bgroup
+        {\@specialsection{\keywordsname}%
+           \noindent\@keywords\par}\egroup
+     \fi
+    \ifx\@translatedkeywords\@empty\else
+       \@translatedkeywords
+    \fi
+  \fi
+  \let\metadata at authors=\authors
+  \nxandlist{, }{, }{, }\metadata at authors
+  \def\@ACM at checkaffil{}%
+  \hypersetup{%
+    pdfauthor={\metadata at authors},
+    pdftitle={\@title},
+    pdfsubject={\@concepts},
+    pdfkeywords={\@keywords},
+    pdfcreator={LaTeX with acmart
+      \csname ver@\@classname.cls\endcsname\space
+      and hyperref
+      \csname ver at hyperref.sty\endcsname}}%
+  \andify\authors
+  \andify\shortauthors
+  \global\let\authors=\authors
+  \global\let\shortauthors=\shortauthors
+  \if at 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 at ACM@acmcp
+    \set at ACM@acmcpbox
+    \AtEndDocument{\end at ACM@color at frame}%
+    \@ACM at color@frame
+  \fi
+}
+\newbox\@ACM at acmcpbox
+\def\set at ACM@acmcpbox{%
+  \bgroup
+  \hsize=5pc
+  \global\setbox\@ACM at acmcpbox=\vbox{%
+    \setlength{\parindent}{\z@}%
+    {\includegraphics[width=\hsize]{acm-jdslogo}\par}%
+    \scriptsize
+    \ifnum\getrefnumber{TotPages}>1\else
+      \zrefused{@ACM at acmcpbox@y}%
+      \zrefused{@ACM at acmcpframe@y}%
+      \@tempdima=\dimexpr\zposy{@ACM at acmcpbox@y}sp -
+      \zposy{@ACM at acmcpframe@y}sp+0.3\FrameSep+
+      \@ACM at acmcp@delta\relax
+      \ifdim\@tempdima>0pt\relax
+         \vspace*{\@tempdima}%
+         \protected at write\@auxout{}%
+         {\string\global\@ACM at 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 at acmcpbox@y}%
+  }
+\egroup}
+\def\@specialsection#1{%
+  \let\@vspace\@vspace at orig
+  \let\@vspacer\@vspacer at orig
+  \ifcase\ACM at 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 at acm
+  \let\@vspacer\@vspacer at acm
+}
+\def\@printtopmatter{%
+  \ifx\@startPage\@empty
+     \gdef\@startPage{1}%
+  \else
+     \setcounter{page}{\@startPage}%
+  \fi
+  \@tempdima=\ht\mktitle at bx
+  \advance\@tempdima by \dp\mktitle at bx
+  \ifdim\@tempdima>0.9\textheight
+    \loop
+      \setbox\@tempboxa=\vsplit \mktitle at bx to 0.9\textheight
+      \thispagestyle{firstpagestyle}%
+      \noindent\unvbox\@tempboxa
+      \clearpage
+      \@tempdima=\ht\mktitle at bx
+      \advance\@tempdima by \dp\mktitle at bx
+    \ifdim\@tempdima>0.9\textheight\repeat
+  \fi
+  \thispagestyle{firstpagestyle}%
+  \noindent
+  \ifcase\ACM at format@nr
+  \relax % manuscript
+    \box\mktitle at bx\par
+  \or % acmsmall
+    \box\mktitle at bx\par
+  \or % acmlarge
+    \box\mktitle at bx\par
+  \or % acmtog
+    \twocolumn[\box\mktitle at bx]%
+  \or % sigconf
+    \twocolumn[\box\mktitle at bx]%
+  \or % siggraph
+    \twocolumn[\box\mktitle at bx]%
+  \or % sigplan
+    \twocolumn[\box\mktitle at bx]%
+  \or % sigchi
+    \twocolumn[\box\mktitle at bx]%
+  \or % sigchi-a
+    \par\box\mktitle at bx\par\bigskip
+  \or % acmengage
+    \twocolumn[\box\mktitle at bx]%
+  \or % acmcp
+     \box\mktitle at bx\par
+  \fi
+}
+\def\@mktitle{%
+  \ifcase\ACM at format@nr
+  \relax % manuscript
+    \@mktitle at i
+  \or % acmsmall
+    \@mktitle at i
+  \or % acmlarge
+    \@mktitle at i
+  \or % acmtog
+    \@mktitle at i
+  \or % sigconf
+    \@mktitle at iii
+  \or % siggraph
+    \@mktitle at iii
+  \or % sigplan
+    \@mktitle at iii
+  \or % sigchi
+    \@mktitle at iii
+  \or % sigchi-a
+    \@mktitle at iv
+  \or % acmengage
+    \@mktitle at iii
+  \or % acmcp
+    \@mktitle at i
+  \fi
+}
+\def\@titlefont{%
+  \ifcase\ACM at 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 at 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 at i{\hsize=\textwidth
+  \if at ACM@acmcp
+    \advance\hsize by -6pc%
+  \fi
+  \@ACM at title@width=\hsize
+  \setbox\mktitle at bx=\vbox{\noindent\@titlefont
+    \parbox[t]{\@ACM at title@width}{\raggedright
+      \@titlefont\noindent
+      \@title\@translatedtitle%
+  \ifx\@subtitle\@empty\else
+    \par\noindent{\@subtitlefont\@subtitle\@translatedsubtitle}%
+  \fi}%
+  \par\bigskip}}%
+\def\@mktitle at iii{\hsize=\textwidth
+    \setbox\mktitle at bx=\vbox{\@titlefont\centering
+      \@ACM at title@width=\hsize
+      \parbox[t]{\@ACM at title@width}{\centering\@titlefont
+        \@title\@translatedtitle%
+        \ifx\@subtitle\@empty\else
+          \par\noindent{\@subtitlefont\@subtitle\@translatedsubtitle}
+        \fi
+      }%
+      \par\bigskip}}%
+\def\@mktitle at iv{\hsize=\textwidth
+    \setbox\mktitle at 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 at commabox
+\def\@ACM at addtoaddress#1{%
+  \ifvmode\else
+    \if at ACM@affiliation at obeypunctuation\else
+    \setbox\@ACM at commabox=\hbox{, }%
+    \unskip\cleaders\copy\@ACM at commabox\hskip\wd\@ACM at commabox
+  \fi\fi
+  #1}
+\def\streetaddress#1{\ClassWarning{\@classname}{ACM no longer collects
+  authors' postal addresses.  I am ignoring your street
+  address}\unskip\ignorespaces}
+\def\postcode#1{\ClassWarning{\@classname}{ACM no longer collects
+  authors' postal addresses.  I am ignoring your postal
+  code}\unskip\ignorespaces}
+\if at ACM@journal
+  \def\position#1{\unskip\ignorespaces}
+  \def\institution#1{\global\@ACM at instpresenttrue
+    \unskip~#1\ignorespaces}
+  \def\city#1{\global\@ACM at 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 at countrypresenttrue\fi
+    \if at ACM@affiliation at obeypunctuation\else, \fi#1\ignorespaces}
+\else
+  \def\position#1{\if at ACM@affiliation at obeypunctuation#1\else#1\par\fi}%
+  \def\institution#1{\global\@ACM at instpresenttrue
+    \if at ACM@affiliation at obeypunctuation#1\else#1\par\fi}%
+  \newcommand\department[2][0]{\if at ACM@affiliation at obeypunctuation
+    #2\else#2\par\fi}%
+  \def\city#1{\global\@ACM at citypresenttrue\@ACM at addtoaddress{#1}}%
+  \let\state\@ACM at addtoaddress
+  \def\country#1{\global\@ACM at countrypresenttrue\@ACM at addtoaddress{#1}}%
+\fi
+\def\@mkauthors{\begingroup
+  \hsize=\textwidth
+  \ifcase\ACM at format@nr
+  \relax % manuscript
+    \@mkauthors at i
+  \or % acmsmall
+    \@mkauthors at i
+  \or % acmlarge
+    \@mkauthors at i
+  \or % acmtog
+    \@mkauthors at i
+  \or % sigconf
+    \@mkauthors at iii
+  \or % siggraph
+    \@mkauthors at iii
+  \or % sigplan
+    \@mkauthors at iii
+  \or % sigchi
+    \@mkauthors at iii
+  \or % sigchi-a
+    \@mkauthors at iv
+  \or % acmengage
+    \@mkauthors at iii
+  \or % acmcp
+    \@mkauthors at i
+  \fi
+  \endgroup
+}
+\def\@authorfont{\Large\sffamily}
+\def\@affiliationfont{\normalsize\normalfont}
+\ifcase\ACM at 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 at author@line{%
+  \andify\@currentauthors\par\noindent
+  \@currentauthors\def\@currentauthors{}%
+  \ifx\@currentaffiliations\@empty\else
+    \andify\@currentaffiliations
+      \unskip, {\@currentaffiliations}\par
+  \fi
+  \def\@currentaffiliations{}}
+\newif\if at ACM@instpresent
+\@ACM at instpresenttrue
+\newif\if at ACM@citypresent
+\@ACM at citypresenttrue
+\newif\if at ACM@countrypresent
+\@ACM at countrypresenttrue
+\def\@ACM at resetaffil{%
+  \global\@ACM at instpresentfalse
+  \global\@ACM at citypresentfalse
+  \global\@ACM at countrypresentfalse
+}
+\def\@ACM at checkaffil{%
+  \if at ACM@instpresent\else
+  \ClassWarningNoLine{\@classname}{No institution present for an affiliation}%
+  \fi
+  \if at ACM@citypresent\else
+  \ClassWarningNoLine{\@classname}{No city present for an affiliation}%
+  \fi
+  \if at 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 at i{%
+  \def\@currentauthors{}%
+  \def\@currentaffiliations{}%
+  \global\let\and\@typeset at author@line
+  \def\@author##1{%
+    \ifx\@currentauthors\@empty
+      \gdef\@currentauthors{\@authorfont\MakeTextUppercase{##1}}%
+    \else
+       \g at 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 at affiliation@}{obeypunctuation=false}%
+            \setkeys{@ACM at affiliation@}{##1}%
+            \@ACM at resetaffil
+            \@affiliationfont##2\@ACM at checkaffil}%
+       \else
+         \g at addto@macro{\@currentaffiliations}{\and
+           \setkeys{@ACM at affiliation@}{obeypunctuation=false}%
+           \setkeys{@ACM at affiliation@}{##1}\@ACM at resetaffil
+           ##2\@ACM at checkaffil}%
+      \fi
+    \fi
+     \global\let\and\@typeset at author@line}%
+  \if at ACM@acmcp
+    \advance\hsize by -6pc%
+  \fi
+  \global\setbox\mktitle at bx=\vbox{\noindent\unvbox\mktitle at bx\par\medskip
+    \noindent\addresses\@typeset at author@line
+   \par\medskip}%
+}
+\newbox\author at bx
+\newdimen\author at bx@wd
+\newskip\author at bx@sep
+\author at bx@sep=1pc\relax
+\def\@typeset at author@bx{\bgroup\hsize=\author at bx@wd
+  \def\and{\par}\normalbaselines
+  \global\setbox\author at bx=\vtop{\if at ACM@sigchiamode\else\centering\fi
+    \@authorfont\@currentauthors\par\@affiliationfont
+    \@currentaffiliation}\egroup
+  \box\author at bx\hspace{\author at bx@sep}%
+  \gdef\@currentauthors{}%
+  \gdef\@currentaffiliation{}}
+\def\@mkauthors at iii{%
+  \author at bx@wd=\textwidth\relax
+  \advance\author at bx@wd by -\author at bx@sep\relax
+  \ifnum\@ACM at authorsperrow>0\relax
+    \divide\author at bx@wd by \@ACM at authorsperrow\relax
+  \else
+    \ifcase\num at authorgroups
+    \relax % 0?
+    \or  % 1=one author per row
+    \or  % 2=two authors per row
+       \divide\author at bx@wd by \num at authorgroups\relax
+    \or  % 3=three authors per row
+       \divide\author at bx@wd by \num at authorgroups\relax
+    \or  % 4=two authors per row (!)
+       \divide\author at bx@wd by 2\relax
+    \else % three authors per row
+       \divide\author at bx@wd by 3\relax
+    \fi
+  \fi
+  \advance\author at bx@wd by -\author at bx@sep\relax
+  \gdef\@currentauthors{}%
+  \gdef\@currentaffiliation{}%
+  \def\@author##1{\ifx\@currentauthors\@empty
+    \gdef\@currentauthors{\par##1}%
+  \else
+    \g at 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 at addto@macro\@currentaffiliation{\par\bgroup
+      \mathchardef\UrlBreakPenalty=10000\nolinkurl{##2}\egroup}%
+  \fi}%
+  \def\affiliation##1##2{\ifx\@currentaffiliation\@empty
+    \gdef\@currentaffiliation{%
+      \setkeys{@ACM at affiliation@}{obeypunctuation=false}%
+      \setkeys{@ACM at affiliation@}{##1}\@ACM at resetaffil
+      ##2\@ACM at checkaffil}%
+  \else
+    \g at addto@macro\@currentaffiliation{\par
+      \setkeys{@ACM at affiliation@}{obeypunctuation=false}%
+      \setkeys{@ACM at affiliation@}{##1}\@ACM at resetaffil
+      ##2\@ACM at checkaffil}%
+  \fi
+  \global\let\and\@typeset at author@bx
+}%
+  \hsize=\textwidth
+  \global\setbox\mktitle at bx=\vbox{\noindent
+    \unvbox\mktitle at bx\par\medskip\leavevmode
+    \lineskip=1pc\relax\centering\hspace*{-1em}%
+    \addresses\let\and\@typeset at author@bx\and\par\bigskip}}
+\def\@mkauthors at iv{%
+  \author at bx@wd=\columnwidth\relax
+  \advance\author at bx@wd by -\author at bx@sep\relax
+  \ifnum\@ACM at authorsperrow>0\relax
+    \divide\author at bx@wd by \@ACM at authorsperrow\relax
+  \else
+    \ifcase\num at authorgroups
+    \relax % 0?
+    \or  % 1=one author per row
+    \else  % 2=two authors per row
+       \divide\author at bx@wd by 2\relax
+    \fi
+  \fi
+  \advance\author at bx@wd by -\author at bx@sep\relax
+  \gdef\@currentauthors{}%
+  \gdef\@currentaffiliation{}%
+  \def\@author##1{\ifx\@currentauthors\@empty
+    \gdef\@currentauthors{\par##1}%
+  \else
+    \g at addto@macro\@currentauthors{\par##1}%
+  \fi
+  \gdef\and{}}%
+  \def\email##1##2{\ifx\@currentaffiliation\@empty
+    \gdef\@currentaffiliation{\nolinkurl{##2}}%
+  \else
+    \g at addto@macro\@currentaffiliation{\par\nolinkurl{##2}}%
+  \fi}%
+  \def\affiliation##1##2{\ifx\@currentaffiliation\@empty
+    \gdef\@currentaffiliation{%
+      \setkeys{@ACM at affiliation@}{obeypunctuation=false}%
+      \setkeys{@ACM at affiliation@}{##1}\@ACM at resetaffil
+      ##2\@ACM at checkaffil}%
+  \else
+    \g at addto@macro\@currentaffiliation{\par
+      \setkeys{@ACM at affiliation@}{obeypunctuation=false}%
+      \setkeys{@ACM at affiliation@}{##1}\@ACM at resetaffil
+      ##2\@ACM at checkaffil}%
+  \fi
+  \global\let\and\@typeset at author@bx}%
+    \bgroup\hsize=\columnwidth
+    \par\raggedright\leftskip=\z@
+    \lineskip=1pc\noindent
+    \addresses\let\and\@typeset at author@bx\and\par\bigskip\egroup}
+\def\@mkauthorsaddresses{%
+  \ifnum\num at authors>1\relax
+  Authors' \else Author's \fi
+  Contact Information:
+  \bgroup
+  \def\streetaddress##1{\ClassWarning{\@classname}{ACM no longer collects
+  authors' postal addresses.  I am ignoring your street
+  address}\unskip\ignorespaces}%
+  \def\postcode##1{\ClassWarning{\@classname}{ACM no longer collects
+  authors' postal addresses.  I am ignoring your postal
+  code}\unskip\ignorespaces}%
+  \def\position##1{\unskip\ignorespaces}%
+  \gdef\@ACM at institution@separator{, }%
+  \def\institution##1{\unskip\@ACM at institution@separator ##1\gdef\@ACM at 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 at institution@separator{, }}%
+  \def\@author##1{##1}%
+  \def\email##1##2{\unskip, \nolinkurl{##2}}%
+  \addresses
+  \egroup}
+\AtEndDocument{\if at ACM@nonacm\else\if at ACM@journal
+  \ifx\@authorsaddresses\@empty
+  \ClassWarningNoLine{\@classname}{Authors'
+    addresses are mandatory for ACM journals}%
+  \fi\fi\fi}
+\def\@setaddresses{}
+\def\@authornotemark{\g at addto@macro\@currentauthors{\footnotemark\relax}}
+\def\@@authornotemark#1{\g at 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 at bx=\vbox{\noindent\unvbox\mktitle at bx\par
+      \noindent\@Description at presentfalse
+      \@teaserfigures\par\if at Description@present\else
+         \global\@undescribed at imagestrue
+         \ClassWarning{\@classname}{A possible image without
+           description}\fi
+    \medskip}%
+  \fi}
+\def\@mkabstract{\bgroup
+  \ifx\@abstract\@lempty\else
+  {\phantomsection\addcontentsline{toc}{section}{\abstractname}%
+    \if at ACM@journal
+       \everypar{\setbox\z@\lastbox\everypar{}}\small
+    \else
+      \section*{\abstractname}%
+    \fi
+   \ignorespaces\@abstract\par}%
+  \fi\egroup}
+\def\@mktranslatedabstract#1{\selectlanguage{#1}%
+    \if at ACM@journal
+       \everypar{\setbox\z@\lastbox\everypar{}}\small
+    \else
+       \section*{\abstractname}%
+    \fi
+   \ignorespaces}
+\def\@mkbibcitation{\bgroup
+  \let\@vspace\@vspace at orig
+  \let\@vspacer\@vspacer at orig
+  \def\@pages at 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 at 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 at 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 at ACM@journal at bibstrip
+       \textit{\@journalNameShort}
+       \@acmVolume, \@acmNumber \@article at string (\@acmPubDate),
+       \ref{TotPages}~\@pages at word.
+    \else
+       In \textit{\@acmBooktitle}%
+       \ifx\@acmEditors\@empty\textit{.}\else
+         \andify\@acmEditors\textit{, }\@acmEditors~\@editorsAbbrev.%
+       \fi\
+       ACM, New York, NY, USA%
+         \@article at string\unskip, \ref{TotPages}~\@pages at word.
+    \fi
+  \fi
+  \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi
+\par\egroup}
+\def\@printendtopmatter{%
+  \let\@vspace\@vspace at orig
+  \let\@vspacer\@vspacer at orig
+  \par\bigskip
+  \let\@vspace\@vspace at acm
+  \let\@vspacer\@vspacer at 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}
+\ExplSyntaxOn
+\AddToHook{cmd/maketitle/before}
+ {\tagstructbegin{tag=Title}\tagmcbegin{} \tag_stop:}
+\AddToHook{cmd/maketitle/after}
+ {\tag_start:\tagmcend\tagstructend }
+\ExplSyntaxOff
+\RequirePackage{fancyhdr}
+\let\ACM at ps@plain\ps at plain
+\let\ACM at ps@myheadings\ps at myheadings
+\let\ACM at ps@headings\ps at headings
+\def\ACM at restore@pagestyle{%
+  \let\ps at plain\ACM at ps@plain
+  \let\ps at myheadings\ACM at ps@myheadings
+  \let\ps at headings\ACM at ps@headings}
+\AtBeginDocument{\ACM at restore@pagestyle}
+\if at ACM@review
+  \newsavebox{\ACM at linecount@bx}
+  \newlength\ACM at linecount@bxht
+  \newcount\ACM at linecount
+  \ACM at linecount\@ne\relax
+  \def\ACM at mk@linecount{%
+    \savebox{\ACM at linecount@bx}[4em][t]{\parbox[t]{4em}{\normalfont
+        \normalsize
+        \setlength{\ACM at linecount@bxht}{0pt}%
+        \loop{\color{red}\scriptsize\the\ACM at linecount}\\
+        \global\advance\ACM at linecount by \@ne
+        \addtolength{\ACM at linecount@bxht}{\baselineskip}%
+        \ifdim\ACM at linecount@bxht<\textheight\repeat
+        {\color{red}\scriptsize\the\ACM at linecount}\hfill
+        \global\advance\ACM at linecount by \@ne}}}
+\fi
+\def\ACM at linecountL{%
+  \if at ACM@review
+  \ACM at mk@linecount
+  \begin{picture}(0,0)%
+    \put(-26,-22){\usebox{\ACM at linecount@bx}}%
+  \end{picture}%
+  \fi}
+\def\ACM at linecountR{%
+  \if at ACM@review
+    \ifcase\ACM at format@nr
+    \relax % manuscript
+         \relax
+       \or % acmsmall
+         \relax
+       \or % acmlarge
+         \relax
+       \or % acmtog
+          \ACM at mk@linecount
+       \or % sigconf
+          \ACM at mk@linecount
+       \or % siggraph
+          \ACM at mk@linecount
+       \or % sigplan
+          \ACM at mk@linecount
+       \or % sigchi
+          \ACM at mk@linecount
+       \or % sigchi-a
+          \ACM at mk@linecount
+       \or % acmengage
+          \ACM at mk@linecount
+       \or % acmcp
+         \relax
+    \fi
+    \begin{picture}(0,0)%
+      \put(20,-22){\usebox{\ACM at linecount@bx}}%
+     \end{picture}%
+  \fi}
+\if at ACM@timestamp
+  % Subtracting 30 from \time gives us the effect of rounding down despite
+  % \numexpr rounding to nearest
+  \newcounter{ACM at time@hours}
+  \setcounter{ACM at time@hours}{\numexpr (\time - 30) / 60 \relax}
+  \newcounter{ACM at time@minutes}
+  \setcounter{ACM at time@minutes}{\numexpr \time - \theACM at time@hours * 60 \relax}
+  \newcommand\ACM at timestamp{%
+    \footnotesize%
+    \ifx\@acmSubmissionID\@empty\relax\else
+    Submission ID: \@acmSubmissionID.{ }%
+    \fi
+    \the\year-\two at digits{\the\month}-\two at digits{\the\day}{ }%
+    \two at digits{\theACM at time@hours}:\two at digits{\theACM at time@minutes}{. }%
+    Page \thepage\ of \@startPage--\pageref*{TotPages}.%
+  }
+\fi
+\def\@shortauthors{%
+  \if at 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 at ACM@printfolios\thepage\fi%
+    \else%
+      \@acmArticle\if at ACM@printfolios:\thepage\fi%
+    \fi%
+  }%
+  \if at ACM@journal at bibstrip@or at tog
+    \ifcase\ACM at format@nr
+    \relax % manuscript
+      \fancyhead[LE]{\ACM at linecountL\if at ACM@printfolios\thepage\fi}%
+      \fancyhead[RO]{\if at ACM@printfolios\thepage\fi}%
+      \fancyhead[RE]{\@shortauthors}%
+      \fancyhead[LO]{\ACM at linecountL\shorttitle}%
+      \if at ACM@nonacm\else%
+        \fancyfoot[RO,LE]{\footnotesize Manuscript submitted to ACM}
+      \fi%
+    \or % acmsmall
+      \fancyhead[LE]{\ACM at linecountL\@headfootfont\@acmArticlePage}%
+      \fancyhead[RO]{\@headfootfont\@acmArticlePage}%
+      \fancyhead[RE]{\@headfootfont\@shortauthors}%
+      \fancyhead[LO]{\ACM at linecountL\@headfootfont\shorttitle}%
+      \if at ACM@nonacm\else%
+        \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
+        \@acmNumber, Article \@acmArticle.  Publication date: \@acmPubDate.}%
+      \fi
+    \or % acmlarge
+      \fancyhead[LE]{\ACM at linecountL\@headfootfont
+      \@acmArticlePage\quad\textbullet\quad\@shortauthors}%
+      \fancyhead[LO]{\ACM at linecountL}%
+      \fancyhead[RO]{\@headfootfont
+        \shorttitle\quad\textbullet\quad\@acmArticlePage}%
+      \if at ACM@nonacm\else%
+        \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
+        \@acmNumber, Article \@acmArticle.  Publication date: \@acmPubDate.}%
+      \fi
+    \or % acmtog
+      \fancyhead[LE]{\ACM at linecountL\@headfootfont
+        \@acmArticlePage\quad\textbullet\quad\@shortauthors}%
+      \fancyhead[LO]{\ACM at linecountL}%
+      \fancyhead[RE]{\ACM at linecountR}%
+      \fancyhead[RO]{\@headfootfont
+        \shorttitle\quad\textbullet\quad\@acmArticlePage\ACM at linecountR}%
+      \if at ACM@nonacm\else
+        \if at ACM@journal at bibstrip
+          \fancyfoot[RO,LE]{\footnotesize \@journalNameShort,
+            Vol. \@acmVolume, No.~\@acmNumber, Article \@acmArticle.
+            Publication date: \@acmPubDate.}%
+        \else
+          \fancyfoot[RO,LE]{\footnotesize \acmConference at shortname,
+            \acmConference at date, \acmConference at venue.}%
+         \fi
+      \fi
+    \else % Proceedings
+      \fancyfoot[C]{\if at ACM@printfolios\footnotesize\thepage\fi}%
+      \fancyhead[LO]{\ACM at linecountL\@headfootfont\shorttitle}%
+      \fancyhead[RE]{\@headfootfont\@shortauthors\ACM at linecountR}%
+      \if at ACM@nonacm
+        \fancyhead[LE]{\ACM at linecountL}%
+        \fancyhead[RO]{\ACM at linecountR}%
+      \else%
+        \if at ACM@engage
+          \fancyhead[LE]{\ACM at linecountL\@headfootfont\footnotesize
+            EngageCSEdu. \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi}%
+          \fancyhead[RO]{\@headfootfont
+            EngageCSEdu. \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi
+            \ACM at linecountR}%
+        \else
+          \fancyhead[LE]{\ACM at linecountL\@headfootfont\footnotesize
+            \acmConference at shortname,
+            \acmConference at date, \acmConference at venue}%
+          \fancyhead[RO]{\@headfootfont
+            \acmConference at shortname,
+            \acmConference at date, \acmConference at venue\ACM at linecountR}%
+         \fi
+      \fi
+    \fi
+  \else % Proceedings
+    \fancyfoot[C]{\if at ACM@printfolios\footnotesize\thepage\fi}%
+    \fancyhead[LO]{\ACM at linecountL\@headfootfont\shorttitle}%
+    \fancyhead[RE]{\@headfootfont\@shortauthors\ACM at linecountR}%
+    \if at ACM@nonacm
+      \fancyhead[LE]{\ACM at linecountL}%
+      \fancyhead[RO]{\ACM at linecountR}%
+    \else%
+      \if at ACM@engage
+        \fancyhead[LE]{\ACM at linecountL\@headfootfont
+          EngageCSEdu. \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi}%
+        \fancyhead[RO]{\@headfootfont
+          EngageCSEdu. \ifx\@acmDOI\@empty\else\@formatdoi{\@acmDOI}\fi
+          \ACM at linecountR}%
+      \else
+        \fancyhead[LE]{\ACM at linecountL\@headfootfont
+          \acmConference at shortname,
+          \acmConference at date, \acmConference at venue}%
+        \fancyhead[RO]{\@headfootfont
+          \acmConference at shortname,
+          \acmConference at date, \acmConference at venue\ACM at linecountR}%
+       \fi
+    \fi
+  \fi
+  \if at ACM@sigchiamode
+     \fancyheadoffset[L]{\dimexpr(\marginparsep+\marginparwidth)}%
+  \fi
+  \if at ACM@timestamp
+     \fancyfoot[LO,RE]{\ACM at timestamp}
+  \fi
+  \if at ACM@acmcp
+  \renewcommand{\footrulewidth}{0.1\p@}%
+  \fancyheadoffset[L]{46pt}%
+  \fancyhead[L]{\makebox[\z@][l]{%
+      \raisebox{-\dimexpr(0.2\textheight*(\ACM at ArticleType@nr-2))}{%
+      \rotatebox{90}{\colorbox{@ACM at Article@color}{\color{white}%
+          \strut\ACM at ArticleType~Article}}}}%
+    \ACM at linecountL}%
+  \fancyhead[R]{\makebox[\z@][r]{\box\@ACM at 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 at ACM@journal at bibstrip@or at tog
+    \ifcase\ACM at format@nr
+    \relax % manuscript
+      \fancyhead[L]{\ACM at linecountL\@acmBadgeL}%
+      \fancyhead[R]{\@acmBadgeR}%
+      \fancyfoot[RO,LE]{\if at ACM@printfolios\small\thepage\fi}%
+      \if at ACM@nonacm\else%
+        \fancyfoot[RE,LO]{\footnotesize Manuscript submitted to ACM}%
+      \fi%
+    \or % acmsmall
+      \if at ACM@nonacm\else%
+        \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
+        \@acmNumber, Article \@acmArticle.  Publication date:
+        \@acmPubDate.}%
+      \fi%
+      \fancyhead[LE]{\ACM at linecountL\@acmBadgeL}%
+      \fancyhead[LO]{\ACM at linecountL\@acmBadgeL}%
+      \fancyhead[RO]{\@acmBadgeR}%
+      \fancyhead[RE]{\@acmBadgeR}%
+    \or % acmlarge
+      \if at 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 at linecountL\@acmBadgeL}%
+      \fancyhead[LO]{\ACM at linecountL\@acmBadgeL}%
+    \or % acmtog
+      \if at ACM@nonacm\else%
+        \if at ACM@journal at bibstrip
+          \fancyfoot[RO,LE]{\footnotesize \@journalNameShort,
+            Vol. \@acmVolume, No.~\@acmNumber, Article \@acmArticle.
+            Publication date: \@acmPubDate.}%
+        \else
+          \fancyfoot[RO,LE]{\footnotesize \acmConference at shortname,
+            \acmConference at date, \acmConference at venue.}%
+         \fi
+      \fi%
+      \fancyhead[L]{\ACM at linecountL\@acmBadgeL}%
+      \fancyhead[R]{\@acmBadgeR\ACM at linecountR}%
+    \else % Conference proceedings
+      \fancyhead[L]{\ACM at linecountL\@acmBadgeL}%
+      \fancyhead[R]{\@acmBadgeR\ACM at linecountR}%
+      \fancyfoot[C]{\if at ACM@printfolios\footnotesize\thepage\fi}%
+    \fi
+  \else
+    \fancyhead[L]{\ACM at linecountL\@acmBadgeL}%
+    \fancyhead[R]{\@acmBadgeR\ACM at linecountR}%
+    \fancyfoot[C]{\if at ACM@printfolios\footnotesize\thepage\fi}%
+  \fi
+  \if at ACM@timestamp
+    \ifnum\ACM at format@nr=0\relax % Manuscript
+    \fancyfoot[LO,RE]{\ACM at timestamp\quad
+      \if at ACM@nonacm\else
+        \footnotesize Manuscript submitted to ACM
+      \fi}
+    \else
+    \fancyfoot[LO,RE]{\ACM at timestamp}
+    \fi
+  \fi
+  \if at ACM@acmcp
+  \renewcommand{\footrulewidth}{0.1\p@}%
+  \fancyheadoffset[L]{46pt}%
+  \fancyhead[L]{\makebox[\z@][l]{%
+      \raisebox{-\dimexpr(0.2\textheight*(\ACM at ArticleType@nr-2))}{%
+      \rotatebox{90}{\colorbox{@ACM at Article@color}{\color{white}%
+          \strut\ACM at ArticleType~Article}}}}%
+    \ACM at linecountL\@acmBadgeL}%
+  \fancyhead[R]{\@acmBadgeR\makebox[\z@][r]{\box\@ACM at 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 at 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 at sect@format@{#1}%
+   \let\Sectionformat\ACM at NR@adjustedSectionformat
+ %%  next lines added 2018-06-17 to ensure section number is styled
+   \let\real at adddotafter\@adddotafter
+   \let\@adddotafter\ACM at adddotafter
+   #1{}% imposes the styles, but nullifies  \MakeUppercase
+   \let\@adddotafter\real at adddotafter
+  }%
+ \fi \next
+}
+\def\ACM at NR@adjustedSectionformat#1#2{%
+ \realSectionformat{\ACM at sect@format{#1}}{#2}%
+ \let\Sectionformat\realSectionformat}
+\DeclareRobustCommand{\ACM at sect@format}{\ACM at sect@format@}
+\def\ACM at sect@format at null#1{#1}
+\let\ACM at sect@format@\ACM at sect@format at null
+\AtBeginDocument{%
+ \expandafter\ifx\csname LTX at adddotafter\endcsname\relax
+  \let\LTX at adddotafter\@adddotafter
+ \fi
+}
+\def\ACM at adddotafter#1{\ifx\relax#1\relax\else\LTX at adddotafter{#1}\fi}
+\renewcommand\section{\def\@toclevel{1}%
+  \@startsection{section}{1}{\z@}%
+  {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}%
+  {.25\baselineskip}%
+  {\ACM at NRadjust\@secfont}}
+\renewcommand\subsection{\def\@toclevel{2}%
+  \@startsection{subsection}{2}{\z@}%
+  {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}%
+  {.25\baselineskip}%
+  {\ACM at NRadjust\@subsecfont}}
+\renewcommand\subsubsection{\def\@toclevel{3}%
+  \@startsection{subsubsection}{3}{\z@}%
+  {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
+  {-3.5\p@}%
+  {\ACM at NRadjust{\@subsubsecfont\@adddotafter}}}
+\renewcommand\paragraph{\def\@toclevel{4}%
+  \@startsection{paragraph}{4}{\parindent}%
+  {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
+  {-3.5\p@}%
+  {\ACM at NRadjust{\@parfont\@adddotafter}}}
+\newcommand\noindentparagraph{\def\@toclevel{4}%
+  \@startsection{paragraph}{4}{\z@}%
+  {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
+  {-3.5\p@}%
+  {\ACM at NRadjust{\@parfont}}}
+\renewcommand\part{\def\@toclevel{9}%
+  \@startsection{part}{9}{\z@}%
+  {-10\p@ \@plus -4\p@ \@minus -2\p@}%
+  {4\p@}%
+  {\ACM at NRadjust\@parfont}}
+\def\section at raggedright{\@rightskip\@flushglue
+  \rightskip\@rightskip
+  \leftskip\z at skip
+  \parindent\z@}
+\def\@secfont{\sffamily\bfseries\section at raggedright}
+\def\@subsecfont{\sffamily\bfseries\section at raggedright}
+\def\@subsubsecfont{\sffamily\itshape}
+\def\@parfont{\itshape}
+\setcounter{secnumdepth}{3}
+\ifcase\ACM at format@nr
+\relax % manuscript
+\or % acmsmall
+\or % acmlarge
+ \def\@secfont{\sffamily\large\section at raggedright}
+ \def\@subsecfont{\sffamily\large\section at raggedright}
+\or % acmtog
+ \def\@secfont{\sffamily\large\section at raggedright}
+ \def\@subsecfont{\sffamily\large\section at raggedright}
+\or % sigconf
+ \def\@secfont{\bfseries\Large\section at raggedright}
+ \def\@subsecfont{\bfseries\Large\section at raggedright}
+\or % siggraph
+ \def\@secfont{\sffamily\bfseries\Large\section at raggedright}
+ \def\@subsecfont{\sffamily\bfseries\Large\section at raggedright}
+\or % sigplan
+ \def\@secfont{\bfseries\Large\section at raggedright}
+ \def\@subsecfont{\bfseries\section at raggedright}
+ \def\@subsubsecfont{\bfseries\section at raggedright}
+ \def\@parfont{\bfseries\itshape}
+ \def\@subparfont{\itshape}
+\or % sigchi
+ \setcounter{secnumdepth}{1}
+ \def\@secfont{\sffamily\bfseries\section at raggedright}
+ \def\@subsecfont{\sffamily\bfseries\section at raggedright}
+\or % sigchi-a
+ \setcounter{secnumdepth}{0}
+ \def\@secfont{\sffamily\bfseries\section at raggedright}
+ \def\@subsecfont{\sffamily\bfseries\section at raggedright}
+\or % acmengage
+ \def\@secfont{\bfseries\Large\section at raggedright}
+ \def\@subsecfont{\bfseries\Large\section at raggedright}
+\or %acmcp
+\fi
+\def\@adddotafter#1{#1\@addpunct{.}}
+\def\@addspaceafter#1{#1\@addpunct{\enspace}}
+\if at ACM@acmcp
+   \setcounter{secnumdepth}{-1}%
+\fi
+\providecommand*\@dotsep{4.5}
+\def\@acmplainbodyfont{\itshape}
+\def\@acmplainindent{\parindent}
+\def\@acmplainheadfont{\scshape}
+\def\@acmplainnotefont{\@empty}
+\ifcase\ACM at 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 at 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 at 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 at 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 at ACM@pbalance
+    \global\@ACM at balancefalse
+    \ifcase\ACM at 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 at ACM@balance
+    \ifcase\ACM at format@nr
+    \relax % manuscript
+         \global\@ACM at balancefalse
+       \or % acmsmall
+         \global\@ACM at balancefalse
+       \or % acmlarge
+         \global\@ACM at 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 at balancefalse
+       \or % acmengage
+          \RequirePackage{balance}%
+       \or % acmcp
+         \global\@ACM at balancefalse
+    \fi
+  \fi
+}
+\AtEndDocument{%
+  \if at ACM@balance
+  \if at 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 at ACM@screen
+  \includecomment{screenonly}
+  \excludecomment{printonly}
+\else
+  \excludecomment{screenonly}
+  \includecomment{printonly}
+\fi
+\if at 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 at 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 at orig=\@vspace
+\let\@vspacer at 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 at acm=\@vspace
+\let\@vspacer at acm=\@vspacer
+\let\ACM at origbaselinestretch\baselinestretch
+\AtEndDocument{\ifx\baselinestretch\ACM at 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-tagged.cls'.


Property changes on: trunk/Master/texmf-dist/tex/latex/acmart/acmart-tagged.cls
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/acmart/acmart.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/acmart/acmart.cls	2024-08-26 20:06:58 UTC (rev 72112)
+++ trunk/Master/texmf-dist/tex/latex/acmart/acmart.cls	2024-08-26 20:07:21 UTC (rev 72113)
@@ -38,7 +38,7 @@
 
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesClass{acmart}
-[2024/05/27 v2.08 Typesetting articles for the Association for Computing Machinery]
+[2024/08/25 v2.09 Typesetting articles for the Association for Computing Machinery]
 \def\@classname{acmart}
 \InputIfFileExists{acmart-preload-hook.tex}{%
   \ClassWarning{\@classname}{%
@@ -47,13 +47,13 @@
 \RequirePackage{xkeyval}
 \RequirePackage{xstring}
 \RequirePackage{iftex}
-\define at choicekey*+{acmart.cls}{format}[\ACM at format\ACM at format@nr]{%
+\define at choicekey*+{\@classname.cls}{format}[\ACM at format\ACM at 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}}}
+\def\@DeclareACMFormat#1{\DeclareOptionX{#1}{\setkeys{\@classname.cls}{format=#1}}}
 \@DeclareACMFormat{manuscript}
 \@DeclareACMFormat{acmsmall}
 \@DeclareACMFormat{acmlarge}
@@ -66,7 +66,7 @@
 \@DeclareACMFormat{acmengage}
 \@DeclareACMFormat{acmcp}
 \ExecuteOptionsX{format}
-\define at boolkey+{acmart.cls}[@ACM@]{screen}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{screen}[true]{%
   \if at ACM@screen
     \PackageInfo{\@classname}{Using screen mode}%
   \else
@@ -74,7 +74,7 @@
   \fi}{\PackageError{\@classname}{The option screen can be either true or
     false}}
 \ExecuteOptionsX{screen=false}
-\define at boolkey+{acmart.cls}[@ACM@]{urlbreakonhyphens}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{urlbreakonhyphens}[true]{%
   \if at ACM@urlbreakonhyphens
     \PackageInfo{\@classname}{Using breaking urls on hyphens}%
   \else
@@ -82,7 +82,7 @@
   \fi}{\PackageError{\@classname}{The option urlbreakonhyphens can be either true or
     false}}
 \ExecuteOptionsX{urlbreakonhyphens=true}
-\define at boolkey+{acmart.cls}[@ACM@]{acmthm}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{acmthm}[true]{%
   \if at ACM@acmthm
     \PackageInfo{\@classname}{Requiring acmthm}%
   \else
@@ -90,7 +90,7 @@
   \fi}{\PackageError{\@classname}{The option acmthm can be either true or
     false}}
 \ExecuteOptionsX{acmthm=true}
-\define at boolkey+{acmart.cls}[@ACM@]{review}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{review}[true]{%
   \if at ACM@review
     \PackageInfo{\@classname}{Using review mode}%
     \AtBeginDocument{\@ACM at printfoliostrue}%
@@ -99,7 +99,7 @@
   \fi}{\PackageError{\@classname}{The option review can be either true or
     false}}
 \ExecuteOptionsX{review=false}
-\define at boolkey+{acmart.cls}[@ACM@]{authorversion}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{authorversion}[true]{%
   \if at ACM@authorversion
     \PackageInfo{\@classname}{Using authorversion mode}%
   \else
@@ -107,7 +107,7 @@
   \fi}{\PackageError{\@classname}{The option authorversion can be either true or
     false}}
 \ExecuteOptionsX{authorversion=false}
-\define at boolkey+{acmart.cls}[@ACM@]{nonacm}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{nonacm}[true]{%
   \if at ACM@nonacm
     \PackageInfo{\@classname}{Using nonacm mode}%
     \AtBeginDocument{\@ACM at printacmreffalse}%
@@ -119,15 +119,15 @@
   \fi}{\PackageError{\@classname}{The option nonacm can be either true or
     false}}
 \ExecuteOptionsX{nonacm=false}
-\define at boolkey+{acmart.cls}[@ACM@]{balance}[true]{}{%
+\define at boolkey+{\@classname.cls}[@ACM@]{balance}[true]{}{%
   \PackageError{\@classname}{The option balance can be either true or
     false}}
 \ExecuteOptionsX{balance}
-\define at boolkey+{acmart.cls}[@ACM@]{pbalance}[true]{}{%
+\define at boolkey+{\@classname.cls}[@ACM@]{pbalance}[true]{}{%
   \PackageError{\@classname}{The option pbalance can be either true or
     false}}
 \ExecuteOptionsX{pbalance=false}
-\define at boolkey+{acmart.cls}[@ACM@]{natbib}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{natbib}[true]{%
   \if at ACM@natbib
     \PackageInfo{\@classname}{Explicitly selecting natbib mode}%
   \else
@@ -135,7 +135,7 @@
   \fi}{\PackageError{\@classname}{The option natbib can be either true or
     false}}
 \ExecuteOptionsX{natbib=true}
-\define at boolkey+{acmart.cls}[@ACM@]{anonymous}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{anonymous}[true]{%
   \if at ACM@anonymous
     \PackageInfo{\@classname}{Using anonymous mode}%
   \else
@@ -143,7 +143,7 @@
   \fi}{\PackageError{\@classname}{The option anonymous can be either true or
     false}}
 \ExecuteOptionsX{anonymous=false}
-\define at boolkey+{acmart.cls}[@ACM@]{timestamp}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{timestamp}[true]{%
   \if at ACM@timestamp
     \PackageInfo{\@classname}{Using timestamp mode}%
   \else
@@ -151,7 +151,7 @@
   \fi}{\PackageError{\@classname}{The option timestamp can be either true or
     false}}
 \ExecuteOptionsX{timestamp=false}
-\define at boolkey+{acmart.cls}[@ACM@]{authordraft}[true]{%
+\define at boolkey+{\@classname.cls}[@ACM@]{authordraft}[true]{%
   \if at ACM@authordraft
     \PackageInfo{\@classname}{Using authordraft mode}%
     \@ACM at timestamptrue
@@ -189,13 +189,13 @@
 \ClassWarning{\@classname}{%
   The format siggraph is now obsolete.\MessageBreak
   I am switching to sigconf.}
-  \setkeys{acmart.cls}{format=sigconf}
+  \setkeys{\@classname.cls}{format=sigconf}
 \fi
 \ifnum\ACM at format@nr=7\relax % sigchi
 \ClassWarning{\@classname}{%
   The format sigchi is now obsolete.\MessageBreak
   I am switching to sigconf.}
-  \setkeys{acmart.cls}{format=sigconf}
+  \setkeys{\@classname.cls}{format=sigconf}
 \fi
 \ifnum\ACM at format@nr=8\relax % sigchi
 \ClassWarning{\@classname}{%
@@ -546,7 +546,6 @@
       \fi}%
   \fi
   \ignorespaces}
-\def\@seccntformat#1{\csname the#1\endcsname\quad}
 \def\@ssect#1#2#3#4#5{%
   \@tempskipa #3\relax
   \ifdim \@tempskipa>\z@
@@ -559,6 +558,7 @@
     \def\@svsechd{#4{\hskip #1\relax #5}}%
   \fi
   \@xsect{#3}}
+\def\@seccntformat#1{\csname the#1\endcsname\quad}
 \def\@starttoc#1#2{\begingroup\makeatletter
   \setTrue{#1}%
   \par\removelastskip\vskip\z at skip
@@ -2001,22 +2001,6 @@
   Copyright held by the owner/author(s).
   \fi}
 \def\@formatdoi#1{\url{https://doi.org/#1}}
-\def\@ACM at copyright@check at cc{%
-  \if at ACM@nonacm
-     \ClassInfo{\@classname}{Using CC license with a non-acm
-       material}%
-  \else
-     \if at 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 at copyrightmode\relax % none
   \or % acmcopyright
@@ -2145,7 +2129,6 @@
    disseminate the work on their personal and corporate Web sites with
    the appropriate attribution.
  \or % CC
-   \@ACM at copyright@check at cc
    \IfEq{\ACM at cc@type}{zero}{%
      \def\ACM at CC@Url{https://creativecommons.org/publicdomain/zero/1.0/legalcode}}{%
   \edef\ACM at CC@Url{https://creativecommons.org/licenses/\ACM@cc@type/\ACM@cc@version/legalcode}}%
@@ -2321,7 +2304,7 @@
     pdfsubject={\@concepts},
     pdfkeywords={\@keywords},
     pdfcreator={LaTeX with acmart
-      \csname ver at acmart.cls\endcsname\space
+      \csname ver@\@classname.cls\endcsname\space
       and hyperref
       \csname ver at hyperref.sty\endcsname}}%
   \andify\authors
@@ -3263,28 +3246,33 @@
  \fi
 }
 \def\ACM at adddotafter#1{\ifx\relax#1\relax\else\LTX at adddotafter{#1}\fi}
-\renewcommand\section{\@startsection{section}{1}{\z@}%
+\renewcommand\section{\def\@toclevel{1}%
+  \@startsection{section}{1}{\z@}%
   {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}%
   {.25\baselineskip}%
   {\ACM at NRadjust\@secfont}}
-\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
+\renewcommand\subsection{\def\@toclevel{2}%
+  \@startsection{subsection}{2}{\z@}%
   {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}%
   {.25\baselineskip}%
   {\ACM at NRadjust\@subsecfont}}
-\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
+\renewcommand\subsubsection{\def\@toclevel{3}%
+  \@startsection{subsubsection}{3}{\z@}%
   {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
   {-3.5\p@}%
   {\ACM at NRadjust{\@subsubsecfont\@adddotafter}}}
-\renewcommand\paragraph{\@startsection{paragraph}{4}{\parindent}%
+\renewcommand\paragraph{\def\@toclevel{4}%
+  \@startsection{paragraph}{4}{\parindent}%
   {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
   {-3.5\p@}%
   {\ACM at NRadjust{\@parfont\@adddotafter}}}
-\newcommand\noindentparagraph{\@startsection{paragraph}{4}{\z@}%
+\newcommand\noindentparagraph{\def\@toclevel{4}%
+  \@startsection{paragraph}{4}{\z@}%
   {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}%
   {-3.5\p@}%
   {\ACM at NRadjust{\@parfont}}}
-
-\renewcommand\part{\@startsection{part}{9}{\z@}%
+\renewcommand\part{\def\@toclevel{9}%
+  \@startsection{part}{9}{\z@}%
   {-10\p@ \@plus -4\p@ \@minus -2\p@}%
   {4\p@}%
   {\ACM at NRadjust\@parfont}}



More information about the tex-live-commits mailing list.