From b1e88ea919576ff2874f610a26fbfad508003de9 Mon Sep 17 00:00:00 2001 From: vassalo Date: Thu, 7 Oct 2021 16:03:00 -0300 Subject: [PATCH 1/6] handling errors when pandoc is missing (#100) --- internal/render/pandoc.go | 2 ++ internal/render/pdf.go | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/internal/render/pandoc.go b/internal/render/pandoc.go index 055d5fb..4f81055 100644 --- a/internal/render/pandoc.go +++ b/internal/render/pandoc.go @@ -87,6 +87,8 @@ func dockerPandoc(outputFilename string, errOutputCh chan error) { errOutputCh <- errors.Wrap(err, "output not generated; verify your Docker image is up to date") return } + + errOutputCh <- nil } // 🐼 diff --git a/internal/render/pdf.go b/internal/render/pdf.go index 122a966..93c1333 100644 --- a/internal/render/pdf.go +++ b/internal/render/pdf.go @@ -26,6 +26,12 @@ func pdf(output string, live bool, errCh chan error, wg *sync.WaitGroup) { } for _, policy := range policies { renderToFilesystem(&pdfWG, errOutputCh, data, policy, live) + err = <-errOutputCh + if err != nil { + errCh <- err + wg.Done() + return + } } narratives, err := model.ReadNarratives() From bc25dae339f9e265054affb19ef3d097e77dfd4b Mon Sep 17 00:00:00 2001 From: vassalo Date: Mon, 11 Oct 2021 10:43:32 -0300 Subject: [PATCH 2/6] fix channel infinite wait (#100) --- internal/render/document.go | 2 +- internal/render/pandoc.go | 6 +++--- internal/render/pdf.go | 6 ++++++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/internal/render/document.go b/internal/render/document.go index c5ab27d..79ce958 100644 --- a/internal/render/document.go +++ b/internal/render/document.go @@ -49,7 +49,7 @@ func renderToFilesystem(wg *sync.WaitGroup, errOutputCh chan error, data *render rel, err := filepath.Rel(config.ProjectRoot(), p.FullPath) if err != nil { - rel = p.FullPath + rel = p.FullPat } fmt.Printf("%s -> %s\n", rel, filepath.Join("output", p.OutputFilename)) }(doc) diff --git a/internal/render/pandoc.go b/internal/render/pandoc.go index 3d5f012..9ba5c3f 100644 --- a/internal/render/pandoc.go +++ b/internal/render/pandoc.go @@ -64,9 +64,11 @@ func dockerPandoc(outputFilename string, errOutputCh chan error) { errOutputCh <- errors.Wrap(err, "unable to remove container") return } + errOutputCh <-nil }() - if err := cli.ContainerStart(ctx, resp.ID, types.ContainerStartOptions{}); err != nil { + err = cli.ContainerStart(ctx, resp.ID, types.ContainerStartOptions{}) + if err != nil { errOutputCh <- errors.Wrap(err, "unable to start Docker container") return } @@ -90,8 +92,6 @@ func dockerPandoc(outputFilename string, errOutputCh chan error) { errOutputCh <- errors.Wrap(err, "output not generated; verify your Docker image is up to date") return } - - errOutputCh <- nil } // 🐼 diff --git a/internal/render/pdf.go b/internal/render/pdf.go index 93c1333..bca2311 100644 --- a/internal/render/pdf.go +++ b/internal/render/pdf.go @@ -42,6 +42,12 @@ func pdf(output string, live bool, errCh chan error, wg *sync.WaitGroup) { for _, narrative := range narratives { renderToFilesystem(&pdfWG, errOutputCh, data, narrative, live) + err = <-errOutputCh + if err != nil { + errCh <- err + wg.Done() + return + } } pdfWG.Wait() From fd4aab67bebe9389c034f71478b4c58fce0bf7ea Mon Sep 17 00:00:00 2001 From: vassalo Date: Mon, 11 Oct 2021 10:44:36 -0300 Subject: [PATCH 3/6] fix typo --- internal/render/document.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/render/document.go b/internal/render/document.go index 79ce958..c5ab27d 100644 --- a/internal/render/document.go +++ b/internal/render/document.go @@ -49,7 +49,7 @@ func renderToFilesystem(wg *sync.WaitGroup, errOutputCh chan error, data *render rel, err := filepath.Rel(config.ProjectRoot(), p.FullPath) if err != nil { - rel = p.FullPat + rel = p.FullPath } fmt.Printf("%s -> %s\n", rel, filepath.Join("output", p.OutputFilename)) }(doc) From f4f46bad4d6af51d7744628b7114fd80b1f292e4 Mon Sep 17 00:00:00 2001 From: wallrony Date: Tue, 19 Oct 2021 16:05:25 -0300 Subject: [PATCH 4/6] Update pandoc dockerfile and latex template and fix infinite build, fix pandoc always pull and fix strikethrough (#100, #103 and #115) --- .env.example | 1 + .gitignore | 4 +- build/Dockerfile | 31 +- comply.go | 12 +- example/templates/default.latex | 522 +++++++++++++----- fixtures/narratives/invalid-control.md | 94 ++++ fixtures/policies/invalid-access.md | 56 ++ fixtures/procedures/invalid-workstation.md | 39 ++ fixtures/standards/invalid-standard.yml | 245 ++++++++ go.mod | 1 + go.sum | 2 + internal/cli/app.go | 45 +- internal/cli/app_test.go | 189 +++++++ internal/config/config.go | 2 +- internal/model/fs.go | 28 +- internal/model/fs_test.go | 238 ++++++++ internal/model/model_test.go | 16 +- internal/path/path.go | 8 +- internal/render/document.go | 9 +- internal/render/pandoc.go | 4 +- internal/theme/themes_bindata.go | 130 ++--- internal/util/test_utils.go | 52 ++ themes/comply-blank/templates/default.latex | 522 +++++++++++++----- themes/comply-soc2/templates/default.latex | 522 +++++++++++++----- vendor/github.com/joho/godotenv/.gitignore | 1 + vendor/github.com/joho/godotenv/LICENCE | 23 + vendor/github.com/joho/godotenv/README.md | 188 +++++++ vendor/github.com/joho/godotenv/godotenv.go | 363 ++++++++++++ vendor/github.com/joho/godotenv/renovate.json | 5 + vendor/modules.txt | 3 + 30 files changed, 2847 insertions(+), 508 deletions(-) create mode 100644 .env.example create mode 100644 fixtures/narratives/invalid-control.md create mode 100644 fixtures/policies/invalid-access.md create mode 100644 fixtures/procedures/invalid-workstation.md create mode 100644 fixtures/standards/invalid-standard.yml create mode 100644 internal/cli/app_test.go create mode 100644 internal/model/fs_test.go create mode 100644 internal/util/test_utils.go create mode 100644 vendor/github.com/joho/godotenv/.gitignore create mode 100644 vendor/github.com/joho/godotenv/LICENCE create mode 100644 vendor/github.com/joho/godotenv/README.md create mode 100644 vendor/github.com/joho/godotenv/godotenv.go create mode 100644 vendor/github.com/joho/godotenv/renovate.json diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..e18c00c --- /dev/null +++ b/.env.example @@ -0,0 +1 @@ +COMPLY_USE_LOCAL_PANDOC= \ No newline at end of file diff --git a/.gitignore b/.gitignore index 7ff1390..3b52329 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,6 @@ output dist .envrc bindata.go -.idea/ \ No newline at end of file +.idea/ + +.env \ No newline at end of file diff --git a/build/Dockerfile b/build/Dockerfile index ec21501..fcd8906 100644 --- a/build/Dockerfile +++ b/build/Dockerfile @@ -1,29 +1,10 @@ -FROM haskell:latest +FROM pandoc/ubuntu -# based on implementation by James Gregory -MAINTAINER Comply - -# install latex packages RUN apt-get update -y \ - && apt-get install -y -o Acquire::Retries=10 --no-install-recommends \ - texlive-latex-base \ - texlive-xetex \ - texlive-fonts-recommended \ - latex-xcolor \ - texlive-latex-extra \ - fontconfig \ - unzip \ - lmodern - -# will ease up the update process -# updating this env variable will trigger the automatic build of the Docker image -ENV PANDOC_VERSION "2.2.1" - -# install pandoc -RUN cabal update && cabal install pandoc-${PANDOC_VERSION} + && DEBIAN_FRONTEND=noninteractive apt-get install -y -o Acquire::Retries=10 --no-install-recommends \ + texlive-latex-base \ + texlive-latex-extra \ + texlive-plain-generic \ + lmodern WORKDIR /source - -ENTRYPOINT ["/root/.cabal/bin/pandoc"] - -CMD ["--help"] diff --git a/comply.go b/comply.go index 6383218..45908db 100644 --- a/comply.go +++ b/comply.go @@ -1,7 +1,17 @@ package main -import "github.com/strongdm/comply/internal/cli" +import ( + "fmt" + "path/filepath" + "runtime" + + "github.com/joho/godotenv" + "github.com/strongdm/comply/internal/cli" +) func main() { + _, b, _, _ := runtime.Caller(0) + basepath := filepath.Dir(b) + godotenv.Load(fmt.Sprintf("%s/.env", basepath)) cli.Main() } diff --git a/example/templates/default.latex b/example/templates/default.latex index 7d14600..c99e87c 100644 --- a/example/templates/default.latex +++ b/example/templates/default.latex @@ -1,7 +1,95 @@ -\documentclass[$if(fontsize)$$fontsize$,$endif$$if(lang)$$babel-lang$,$endif$$if(papersize)$$papersize$paper,$endif$$for(classoption)$$classoption$$sep$,$endfor$]{$documentclass$} +% Options for packages loaded elsewhere +\PassOptionsToPackage{unicode$for(hyperrefoptions)$,$hyperrefoptions$$endfor$}{hyperref} +\PassOptionsToPackage{hyphens}{url} +$if(colorlinks)$ +\PassOptionsToPackage{dvipsnames,svgnames,x11names}{xcolor} +$endif$ +$if(dir)$ +$if(latex-dir-rtl)$ +\PassOptionsToPackage{RTLdocument}{bidi} +$endif$ +$endif$ +$if(CJKmainfont)$ +\PassOptionsToPackage{space}{xeCJK} +$endif$ +% +\documentclass[ +$if(fontsize)$ + $fontsize$, +$endif$ +$if(lang)$ + $babel-lang$, +$endif$ +$if(papersize)$ + $papersize$paper, +$endif$ +$if(beamer)$ + ignorenonframetext, +$if(handout)$ + handout, +$endif$ +$if(aspectratio)$ + aspectratio=$aspectratio$, +$endif$ +$endif$ +$for(classoption)$ + $classoption$$sep$, +$endfor$ +]{$documentclass$} +$if(beamer)$ +$if(background-image)$ +\usebackgroundtemplate{% + \includegraphics[width=\paperwidth]{$background-image$}% +} +$endif$ +\usepackage{pgfpages} +\setbeamertemplate{caption}[numbered] +\setbeamertemplate{caption label separator}{: } +\setbeamercolor{caption name}{fg=normal text.fg} +\beamertemplatenavigationsymbols$if(navigation)$$navigation$$else$empty$endif$ +$for(beameroption)$ +\setbeameroption{$beameroption$} +$endfor$ +% Prevent slide breaks in the middle of a paragraph +\widowpenalties 1 10000 +\raggedbottom +$if(section-titles)$ +\setbeamertemplate{part page}{ + \centering + \begin{beamercolorbox}[sep=16pt,center]{part title} + \usebeamerfont{part title}\insertpart\par + \end{beamercolorbox} +} +\setbeamertemplate{section page}{ + \centering + \begin{beamercolorbox}[sep=12pt,center]{part title} + \usebeamerfont{section title}\insertsection\par + \end{beamercolorbox} +} +\setbeamertemplate{subsection page}{ + \centering + \begin{beamercolorbox}[sep=8pt,center]{part title} + \usebeamerfont{subsection title}\insertsubsection\par + \end{beamercolorbox} +} +\AtBeginPart{ + \frame{\partpage} +} +\AtBeginSection{ + \ifbibliography + \else + \frame{\sectionpage} + \fi +} +\AtBeginSubsection{ + \frame{\subsectionpage} +} +$endif$ +$endif$ $if(beamerarticle)$ \usepackage{beamerarticle} % needs to be loaded first $endif$ +\usepackage{amsmath,amssymb} $if(fontfamily)$ \usepackage[$for(fontfamilyoptions)$$fontfamilyoptions$$sep$,$endfor$]{$fontfamily$} $else$ @@ -9,114 +97,174 @@ $else$ $endif$ $if(linestretch)$ \usepackage{setspace} -\setstretch{$linestretch$} $endif$ -\usepackage{amssymb,amsmath} -\usepackage{ifxetex,ifluatex} -\usepackage{fixltx2e} % provides \textsubscript -\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex +\usepackage{iftex} +\ifPDFTeX \usepackage[$if(fontenc)$$fontenc$$else$T1$endif$]{fontenc} \usepackage[utf8]{inputenc} -$if(euro)$ - \usepackage{eurosym} -$endif$ -\else % if luatex or xelatex - \ifxetex + \usepackage{textcomp} % provide euro and other symbols +\else % if luatex or xetex +$if(mathspec)$ + \ifXeTeX \usepackage{mathspec} \else - \usepackage{fontspec} + \usepackage{unicode-math} \fi - \defaultfontfeatures{Ligatures=TeX,Scale=MatchLowercase} -$for(fontfamilies)$ - \newfontfamily{$fontfamilies.name$}[$fontfamilies.options$]{$fontfamilies.font$} -$endfor$ -$if(euro)$ - \newcommand{\euro}{€} +$else$ + \usepackage{unicode-math} $endif$ + \defaultfontfeatures{Scale=MatchLowercase} + \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1} $if(mainfont)$ - \setmainfont[$for(mainfontoptions)$$mainfontoptions$$sep$,$endfor$]{$mainfont$} + \setmainfont[$for(mainfontoptions)$$mainfontoptions$$sep$,$endfor$]{$mainfont$} $endif$ $if(sansfont)$ - \setsansfont[$for(sansfontoptions)$$sansfontoptions$$sep$,$endfor$]{$sansfont$} + \setsansfont[$for(sansfontoptions)$$sansfontoptions$$sep$,$endfor$]{$sansfont$} $endif$ $if(monofont)$ - \setmonofont[Mapping=tex-ansi$if(monofontoptions)$,$for(monofontoptions)$$monofontoptions$$sep$,$endfor$$endif$]{$monofont$} + \setmonofont[$for(monofontoptions)$$monofontoptions$$sep$,$endfor$]{$monofont$} $endif$ +$for(fontfamilies)$ + \newfontfamily{$fontfamilies.name$}[$for(fontfamilies.options)$$fontfamilies.options$$sep$,$endfor$]{$fontfamilies.font$} +$endfor$ $if(mathfont)$ +$if(mathspec)$ + \ifXeTeX \setmathfont(Digits,Latin,Greek)[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} + \else + \setmathfont[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} + \fi +$else$ + \setmathfont[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} +$endif$ $endif$ $if(CJKmainfont)$ + \ifXeTeX \usepackage{xeCJK} \setCJKmainfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$} + \fi +$endif$ +$if(luatexjapresetoptions)$ + \ifLuaTeX + \usepackage[$for(luatexjapresetoptions)$$luatexjapresetoptions$$sep$,$endfor$]{luatexja-preset} + \fi +$endif$ +$if(CJKmainfont)$ + \ifLuaTeX + \usepackage[$for(luatexjafontspecoptions)$$luatexjafontspecoptions$$sep$,$endfor$]{luatexja-fontspec} + \setmainjfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$} + \fi $endif$ \fi -% use upquote if available, for straight quotes in verbatim environments +$if(zero-width-non-joiner)$ +%% Support for zero-width non-joiner characters. +\makeatletter +\def\zerowidthnonjoiner{% + % Prevent ligatures and adjust kerning, but still support hyphenating. + \texorpdfstring{% + \textormath{\nobreak\discretionary{-}{}{\kern.03em}% + \ifvmode\else\nobreak\hskip\z@skip\fi}{}% + }{}% +} +\makeatother +\ifPDFTeX + \DeclareUnicodeCharacter{200C}{\zerowidthnonjoiner} +\else + \catcode`^^^^200c=\active + \protected\def ^^^^200c{\zerowidthnonjoiner} +\fi +%% End of ZWNJ support +$endif$ +$if(beamer)$ +$if(theme)$ +\usetheme[$for(themeoptions)$$themeoptions$$sep$,$endfor$]{$theme$} +$endif$ +$if(colortheme)$ +\usecolortheme{$colortheme$} +$endif$ +$if(fonttheme)$ +\usefonttheme{$fonttheme$} +$endif$ +$if(mainfont)$ +\usefonttheme{serif} % use mainfont rather than sansfont for slide text +$endif$ +$if(innertheme)$ +\useinnertheme{$innertheme$} +$endif$ +$if(outertheme)$ +\useoutertheme{$outertheme$} +$endif$ +$endif$ +% Use upquote if available, for straight quotes in verbatim environments \IfFileExists{upquote.sty}{\usepackage{upquote}}{} -% use microtype if available -\IfFileExists{microtype.sty}{% -\usepackage[$for(microtypeoptions)$$microtypeoptions$$sep$,$endfor$]{microtype} -\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts +\IfFileExists{microtype.sty}{% use microtype if available + \usepackage[$for(microtypeoptions)$$microtypeoptions$$sep$,$endfor$]{microtype} + \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts }{} -\PassOptionsToPackage{hyphens}{url} % url is loaded by hyperref +$if(indent)$ +$else$ +\makeatletter +\@ifundefined{KOMAClassName}{% if non-KOMA class + \IfFileExists{parskip.sty}{% + \usepackage{parskip} + }{% else + \setlength{\parindent}{0pt} + \setlength{\parskip}{6pt plus 2pt minus 1pt}} +}{% if KOMA class + \KOMAoptions{parskip=half}} +\makeatother +$endif$ $if(verbatim-in-note)$ \usepackage{fancyvrb} $endif$ -\usepackage[unicode=true]{hyperref} -$if(colorlinks)$ -\PassOptionsToPackage{usenames,dvipsnames}{color} % color is loaded by hyperref -$endif$ +\usepackage{xcolor} +\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available +\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}} \hypersetup{ $if(title-meta)$ - pdftitle={$title-meta$}, + pdftitle={$title-meta$}, $endif$ $if(author-meta)$ - pdfauthor={$author-meta$}, -$endif$ -$if(keywords)$ - pdfkeywords={$for(keywords)$$keywords$$sep$, $endfor$}, -$endif$ -$if(colorlinks)$ - colorlinks=true, - linkcolor=$if(linkcolor)$$linkcolor$$else$Maroon$endif$, - citecolor=$if(citecolor)$$citecolor$$else$Blue$endif$, - urlcolor=$if(urlcolor)$$urlcolor$$else$Blue$endif$, -$else$ - pdfborder={0 0 0}, -$endif$ - breaklinks=true} -\urlstyle{same} % don't use monospace font for urls -$if(verbatim-in-note)$ -\VerbatimFootnotes % allows verbatim text in footnotes -$endif$ -$if(geometry)$ -\usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry} + pdfauthor={$author-meta$}, $endif$ $if(lang)$ -\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex - \usepackage[shorthands=off,$for(babel-otherlangs)$$babel-otherlangs$,$endfor$main=$babel-lang$]{babel} -$if(babel-newcommands)$ - $babel-newcommands$ + pdflang={$lang$}, $endif$ -\else - \usepackage{polyglossia} - \setmainlanguage[$polyglossia-lang.options$]{$polyglossia-lang.name$} -$for(polyglossia-otherlangs)$ - \setotherlanguage[$polyglossia-otherlangs.options$]{$polyglossia-otherlangs.name$} -$endfor$ -\fi +$if(subject)$ + pdfsubject={$subject$}, $endif$ -$if(natbib)$ -\usepackage{natbib} -\bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$} +$if(keywords)$ + pdfkeywords={$for(keywords)$$keywords$$sep$, $endfor$}, $endif$ -$if(biblatex)$ -\usepackage[$if(biblio-style)$style=$biblio-style$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$]{biblatex} -$for(bibliography)$ -\addbibresource{$bibliography$} -$endfor$ +$if(colorlinks)$ + colorlinks=true, + linkcolor={$if(linkcolor)$$linkcolor$$else$Maroon$endif$}, + filecolor={$if(filecolor)$$filecolor$$else$Maroon$endif$}, + citecolor={$if(citecolor)$$citecolor$$else$Blue$endif$}, + urlcolor={$if(urlcolor)$$urlcolor$$else$Blue$endif$}, +$else$ + hidelinks, +$endif$ + pdfcreator={LaTeX via pandoc}} +\urlstyle{same} % disable monospaced font for URLs +$if(verbatim-in-note)$ +\VerbatimFootnotes % allow verbatim text in footnotes +$endif$ +$if(geometry)$ +$if(beamer)$ +\geometry{$for(geometry)$$geometry$$sep$,$endfor$} +$else$ +\usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry} +$endif$ +$endif$ +$if(beamer)$ +\newif\ifbibliography $endif$ $if(listings)$ \usepackage{listings} +\newcommand{\passthrough}[1]{#1} +\lstset{defaultdialect=[5.3]Lua} +\lstset{defaultdialect=[x86masm]Assembler} $endif$ $if(lhs)$ \lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{} @@ -125,12 +273,30 @@ $if(highlighting-macros)$ $highlighting-macros$ $endif$ $if(tables)$ -\usepackage{longtable,booktabs} -% Fix footnotes in tables (requires footnote package) -\IfFileExists{footnote.sty}{\usepackage{footnote}\makesavenoteenv{long table}}{} +\usepackage{longtable,booktabs,array} +$if(multirow)$ +\usepackage{multirow} +$endif$ +\usepackage{calc} % for calculating minipage widths +$if(beamer)$ +\usepackage{caption} +% Make caption package work with longtable +\makeatletter +\def\fnum@table{\tablename~\thetable} +\makeatother +$else$ +% Correct order of tables after \paragraph or \subparagraph +\usepackage{etoolbox} +\makeatletter +\patchcmd\longtable{\par}{\if@noskipsec\mbox{}\fi\par}{}{} +\makeatother +% Allow footnotes in longtable head/foot +\IfFileExists{footnotehyper.sty}{\usepackage{footnotehyper}}{\usepackage{footnote}} +\makesavenoteenv{longtable} +$endif$ $endif$ $if(graphics)$ -\usepackage{graphicx,grffile} +\usepackage{graphicx} \makeatletter \def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi} \def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi} @@ -139,55 +305,101 @@ $if(graphics)$ % margins by default, and it is still possible to overwrite the defaults % using explicit options in \includegraphics[width, height, ...]{} \setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio} +% Set default figure placement to htbp +\makeatletter +\def\fps@figure{htbp} +\makeatother $endif$ $if(links-as-notes)$ % Make links footnotes instead of hotlinks: -\renewcommand{\href}[2]{#2\footnote{\url{#1}}} +\DeclareRobustCommand{\href}[2]{#2\footnote{\url{#1}}} $endif$ $if(strikeout)$ +$-- also used for underline \usepackage[normalem]{ulem} -% avoid problems with \sout in headers with hyperref: +% Avoid problems with \sout in headers with hyperref \pdfstringdefDisableCommands{\renewcommand{\sout}{}} $endif$ -$if(indent)$ -$else$ -\IfFileExists{parskip.sty}{% -\usepackage{parskip} -}{% else -\setlength{\parindent}{0pt} -\setlength{\parskip}{6pt plus 2pt minus 1pt} -} -$endif$ -\setlength{\emergencystretch}{3em} % prevent overfull lines +\setlength{\emergencystretch}{3em} % prevent overfull lines \providecommand{\tightlist}{% \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} $if(numbersections)$ \setcounter{secnumdepth}{$if(secnumdepth)$$secnumdepth$$else$5$endif$} $else$ -\setcounter{secnumdepth}{0} +\setcounter{secnumdepth}{-\maxdimen} % remove section numbering $endif$ -$if(subparagraph)$ +$if(beamer)$ $else$ -% Redefines (sub)paragraphs to behave more like sections +$if(block-headings)$ +% Make \paragraph and \subparagraph free-standing \ifx\paragraph\undefined\else -\let\oldparagraph\paragraph -\renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}} + \let\oldparagraph\paragraph + \renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}} \fi \ifx\subparagraph\undefined\else -\let\oldsubparagraph\subparagraph -\renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}} + \let\oldsubparagraph\subparagraph + \renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}} \fi $endif$ -$if(dir)$ -\ifxetex - % load bidi as late as possible as it modifies e.g. graphicx - $if(latex-dir-rtl)$ - \usepackage[RTLdocument]{bidi} - $else$ - \usepackage{bidi} - $endif$ +$endif$ +$if(pagestyle)$ +\pagestyle{$pagestyle$} +$endif$ +$if(csl-refs)$ +\newlength{\cslhangindent} +\setlength{\cslhangindent}{1.5em} +\newlength{\csllabelwidth} +\setlength{\csllabelwidth}{3em} +\newlength{\cslentryspacingunit} % times entry-spacing +\setlength{\cslentryspacingunit}{\parskip} +\newenvironment{CSLReferences}[2] % #1 hanging-ident, #2 entry spacing + {% don't indent paragraphs + \setlength{\parindent}{0pt} + % turn on hanging indent if param 1 is 1 + \ifodd #1 + \let\oldpar\par + \def\par{\hangindent=\cslhangindent\oldpar} + \fi + % set entry spacing + \setlength{\parskip}{#2\cslentryspacingunit} + }% + {} +\usepackage{calc} +\newcommand{\CSLBlock}[1]{#1\hfill\break} +\newcommand{\CSLLeftMargin}[1]{\parbox[t]{\csllabelwidth}{#1}} +\newcommand{\CSLRightInline}[1]{\parbox[t]{\linewidth - \csllabelwidth}{#1}\break} +\newcommand{\CSLIndent}[1]{\hspace{\cslhangindent}#1} +$endif$ +$for(header-includes)$ +$header-includes$ +$endfor$ +$if(lang)$ +\ifXeTeX + % Load polyglossia as late as possible: uses bidi with RTL langages (e.g. Hebrew, Arabic) + \usepackage{polyglossia} + \setmainlanguage[$for(polyglossia-lang.options)$$polyglossia-lang.options$$sep$,$endfor$]{$polyglossia-lang.name$} +$for(polyglossia-otherlangs)$ + \setotherlanguage[$for(polyglossia-otherlangs.options)$$polyglossia-otherlangs.options$$sep$,$endfor$]{$polyglossia-otherlangs.name$} +$endfor$ +\else + \usepackage[$for(babel-otherlangs)$$babel-otherlangs$,$endfor$main=$babel-lang$]{babel} +% get rid of language-specific shorthands (see #6817): +\let\LanguageShortHands\languageshorthands +\def\languageshorthands#1{} +$if(babel-newcommands)$ + $babel-newcommands$ +$endif$ \fi -\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex +$endif$ +\ifLuaTeX + \usepackage{selnolig} % disable illegal ligatures +\fi +$if(dir)$ +\ifXeTeX + % Load bidi as late as possible as it modifies e.g. graphicx + \usepackage{bidi} +\fi +\ifPDFTeX \TeXXeTstate=1 \newcommand{\RL}[1]{\beginR #1\endR} \newcommand{\LR}[1]{\beginL #1\endL} @@ -195,38 +407,60 @@ $if(dir)$ \newenvironment{LTR}{\beginL}{\endL} \fi $endif$ - -% set default figure placement to htbp -\makeatletter -\def\fps@figure{htbp} -\makeatother - -$if(header-includes)$ -\usepackage{fancyhdr} -\pagestyle{fancy} -\fancyhead{} -\fancyhead[RO,RE]{$head-content$} -\fancyfoot[LO,LE]{$foot-content$} +$if(natbib)$ +\usepackage[$natbiboptions$]{natbib} +\bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$} +$endif$ +$if(biblatex)$ +\usepackage[$if(biblio-style)$style=$biblio-style$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$]{biblatex} +$for(bibliography)$ +\addbibresource{$bibliography$} +$endfor$ +$endif$ +$if(nocite-ids)$ +\nocite{$for(nocite-ids)$$it$$sep$, $endfor$} +$endif$ +$if(csquotes)$ +\usepackage{csquotes} $endif$ $if(title)$ \title{$title$$if(thanks)$\thanks{$thanks$}$endif$} $endif$ $if(subtitle)$ -\providecommand{\subtitle}[1]{} +$if(beamer)$ +$else$ +\usepackage{etoolbox} +\makeatletter +\providecommand{\subtitle}[1]{% add subtitle to \maketitle + \apptocmd{\@title}{\par {\large #1 \par}}{}{} +} +\makeatother +$endif$ \subtitle{$subtitle$} $endif$ -$if(author)$ \author{$for(author)$$author$$sep$ \and $endfor$} -$endif$ +\date{$date$} +$if(beamer)$ $if(institute)$ -\providecommand{\institute}[1]{} \institute{$for(institute)$$institute$$sep$ \and $endfor$} $endif$ -\date{$date$} +$if(titlegraphic)$ +\titlegraphic{\includegraphics{$titlegraphic$}} +$endif$ +$if(logo)$ +\logo{\includegraphics{$logo$}} +$endif$ +$endif$ \begin{document} +$if(has-frontmatter)$ +\frontmatter +$endif$ $if(title)$ +$if(beamer)$ +\frame{\titlepage} +$else$ \maketitle $endif$ $if(abstract)$ @@ -234,47 +468,83 @@ $if(abstract)$ $abstract$ \end{abstract} $endif$ +$endif$ $for(include-before)$ $include-before$ $endfor$ $if(toc)$ +$if(toc-title)$ +\renewcommand*\contentsname{$toc-title$} +$endif$ +$if(beamer)$ +\begin{frame}[allowframebreaks] +$if(toc-title)$ + \frametitle{$toc-title$} +$endif$ + \tableofcontents[hideallsubsections] +\end{frame} +$else$ { $if(colorlinks)$ -\hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$black$endif$} +\hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$$endif$} $endif$ \setcounter{tocdepth}{$toc-depth$} \tableofcontents } $endif$ -$if(lot)$ -\listoftables $endif$ $if(lof)$ \listoffigures $endif$ +$if(lot)$ +\listoftables +$endif$ +$if(linestretch)$ +\setstretch{$linestretch$} +$endif$ +$if(has-frontmatter)$ +\mainmatter +$endif$ $body$ +$if(has-frontmatter)$ +\backmatter +$endif$ $if(natbib)$ $if(bibliography)$ $if(biblio-title)$ -$if(book-class)$ +$if(has-chapters)$ \renewcommand\bibname{$biblio-title$} $else$ \renewcommand\refname{$biblio-title$} $endif$ $endif$ -\bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$} +$if(beamer)$ +\begin{frame}[allowframebreaks]{$biblio-title$} + \bibliographytrue +$endif$ + \bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$} +$if(beamer)$ +\end{frame} +$endif$ $endif$ $endif$ $if(biblatex)$ +$if(beamer)$ +\begin{frame}[allowframebreaks]{$biblio-title$} + \bibliographytrue + \printbibliography[heading=none] +\end{frame} +$else$ \printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$ +$endif$ $endif$ $for(include-after)$ $include-after$ $endfor$ -\end{document} +\end{document} \ No newline at end of file diff --git a/fixtures/narratives/invalid-control.md b/fixtures/narratives/invalid-control.md new file mode 100644 index 0000000..20dfc11 --- /dev/null +++ b/fixtures/narratives/invalid-control.md @@ -0,0 +1,94 @@ +name: Control Environment Narrative +acronym: CEN +satisfies: + TSC: +- CC2.1 + - CC2.2 + - CC2.3 + - CC4.1 + - CC4.2 + - CC5.1 + - CC5.2 + - CC5.3 +majorRevisions: + - date: Jun 1 2018 + comment: Initial document +--- + +# Control Environment Narrative + +The following provides a description of the control structure of {{.Name}}. + +The intent of this description is to enumerate the logical, policy, and procedural controls that serve to monitor {{.Name}}'s application and data security. Changes uncovered by these procedures in the logical, policy, procedural, or customer environment are addressed by remediations specific to the noted change. + +# Logical Controls + +{{.Name}} employs several logical controls to protect confidential data and ensure normal operation of its core product. + +- Mandatory data encryption at rest and in motion +- Multi-factor authentication for access to cloud infrastructure +- Activity and anomaly monitoring on production systems +- Vulnerability management program + +# Policy Controls + +{{.Name}} employs several policy controls to protect confidential data and ensure normal operation of its core product. These policies include, but are not limited to: + +- Access Control Policy +- Encryption Policy +- Office Security Policy +- Password Policy +- Policy Training Policy +- Vendor Policy +- Workstation Policy + +# Procedural Controls + +{{.Name}} has numerous scheduled procedures to monitor and tune the effectiveness of ongoing security controls, and a series of event-driven procedures to respond to security-related events. + +TODO: Finalize these lists + +## Scheduled Security and Audit Procedures + +- Review Access [quarterly] +- Review Security Logs [weekly] +- Review Cyber Risk Assessment (enumerate possible compromise scenarios) [quarterly] +- Review Data Classification [quarterly] +- Backup Testing [quarterly] +- Disaster Recovery Testing [semi-annual] +- Review Devices & Workstations [quarterly] +- Review & Clear Low-Priority Alerts [weekly] +- Apply OS Patches [monthly] +- Verify Data Disposal per Retention Policy [quarterly] +- Conduct Security Training [annual] +- Review Security Monitoring and Alerting Configuration [quarterly] +- Penetration Test [annual] +- Whitebox Security Review [annual] +- SOC2 Audit [annual] + +## Event-Driven Security and Audit Procedures + +- Onboard Employee +- Offboard Employee +- Investigate Security Alert +- Investigate Security Incident + +# Remediations + +{{.Name}} uses the outcomes of the aforementioned controls and procedures to identify shortcomings in the existing control environment. Once identified, these shortcomes are remediated by improving existing controls and procedures, and creating new controls and procedures as needed. + +# Communications + +{{.Name}} communicates relevant information regarding the functioning of the above controls with internal and external parties on an as-needed basis and according to statutory requirements. + +## Internal + +{{.Name}} communicates control outcomes, anomalies, and remediations internally using the following channels: + +- Slack +- Email +- Github ticketing + +## External + +{{.Name}} communicates relevant control-related information to external parties including shareholders, customers, contractors, regulators, and government entities as needed according to contractual and regulatory/statutory obligation. diff --git a/fixtures/policies/invalid-access.md b/fixtures/policies/invalid-access.md new file mode 100644 index 0000000..9207c0b --- /dev/null +++ b/fixtures/policies/invalid-access.md @@ -0,0 +1,56 @@ +name: Access Onboarding and Termination Policy +acronym: AOTP +satisfies: +TSC: +- CC6.1 + - CC6.2 + - CC6.3 +majorRevisions: +- date: Jun 1 2018 + comment: Initial document +--- +# Purpose and Scope + +a. The purpose of this policy is to define procedures to onboard and offboard users to technical infrastructure in a manner that minimizes the risk of information loss or exposure. + +a. This policy applies to all technical infrastructure within the organization. + +a. This policy applies to all full-time and part-time employees and contractors. + +# Background + +a. In order to minimize the risk of information loss or exposure (from both inside and outside the organization), the organization is reliant on the principle of least privilege. Account creation and permission levels are restricted to only the resources absolutely needed to perform each person’s job duties. When a user’s role within the organization changes, those accounts and permission levels are changed/revoked to fit the new role and disabled when the user leaves the organization altogether. + +# Policy + +a. *During onboarding:* + + i. Hiring Manager informs HR upon hire of a new employee. + + i. HR emails IT to inform them of a new hire and their role. + + i. IT creates a checklist of accounts and permission levels needed for that role. + + i. The owner of each resource reviews and approves account creation and the +associated permissions. + + i. IT works with the owner of each resource to set up the user. + +a. *During offboarding:* + + i. Hiring Manager notifies HR when an employee has been terminated. + + i. HR sends a weekly email report to IT summarizing list of users terminated and instructs IT to disable their access. + + i. IT terminates access within five business days from receipt of notification. + +a. *When an employee changes roles within the organization:* + + i. Hiring Manager will inform HR of a change in role. + + i. HR and IT will follow the same steps as outlined in the onboarding and offboarding procedures. + +a. *Review of accounts and permissions:* + + i. Each month, IT and HR will review accounts and permission levels for accuracy. + diff --git a/fixtures/procedures/invalid-workstation.md b/fixtures/procedures/invalid-workstation.md new file mode 100644 index 0000000..e62ec73 --- /dev/null +++ b/fixtures/procedures/invalid-workstation.md @@ -0,0 +1,39 @@ +id: "workstation" +name: "Collect Workstation Details"cron: "0 0 0 15 4 *" +--- + +Resolve this ticket by executing the following steps: + +- [ ] Send the communications below +- [ ] For any email replies, attach content to this ticket +- [ ] Validate responses are received from each + + +``` +To: Desktop support +Subject: Annual workstation inventory + +Please attach the current workstation inventory to the following ticket: [REPLACE WITH URL TO THIS TICKET] + +The workstation inventory shall include the following fields: + * Serial number + * Custodian + * Full disk encryption status + * Malware protection status +``` + + +``` +To: Outsourced Call Center IT +Subject: Annual workstation inventory + +As part of our ongoing compliance efforts and per our services agreement, we require a current inventory of workstations in use in the service of our account. + +Please respond to this message with the current inventory. + +The workstation inventory shall include the following fields: + * Serial number + * Custodian + * Full disk encryption status + * Malware protection status +``` \ No newline at end of file diff --git a/fixtures/standards/invalid-standard.yml b/fixtures/standards/invalid-standard.yml new file mode 100644 index 0000000..60491ac --- /dev/null +++ b/fixtures/standards/invalid-standard.yml @@ -0,0 +1,245 @@ +name: TSC +***CC1.1: + family: CC1 + name: Integrity and Ethics + description: The entity demonstrates a commitment to integrity and ethical values +CC1.2: + family: CC1 + name: Board Independence + description: The board of directors demonstrates independence from management and exercises oversight of the development and performance of internal control +CC1.3: + family: CC1 + name: Organizational Structure + description: Management establishes, with board oversight, structures, reporting lines, and appropriate authorities and responsibilities in the pursuit of objectives +CC1.4: + family: CC1 + name: Hiring, Training and Retention + description: The entity demonstrates a commitment to attract, develop, and retain competent individuals in alignment with objectives +CC1.5: + family: CC1 + name: Individual Accountability + description: The entity holds individuals accountable for their internal control responsibilities in the pursuit of objectives. +CC2.1: + family: CC2 + name: Use of Information Systems + description: The entity obtains or generates and uses relevant, quality information to support the functioning of internal control +CC2.2: + family: CC2 + name: Use of Communication Systems, Internal + description: The entity internally communicates information, including objectives and responsibilities for internal control, necessary to support the functioning of internal control +CC2.3: + family: CC2 + name: Use of Communication Systems, External + description: The entity communicates with external parties regarding matters affecting the functioning of internal control +CC3.1: + family: CC3 + name: Objectives + description: The entity specifies objectives with sufficient clarity to enable the identification and assessment of risks relating to objectives +CC3.2: + family: CC3 + name: Risk to Objectives + description: The entity identifies risks to the achievement of its objectives across the entity and analyzes risks as a basis for determining how the risks should be managed +CC3.3: + family: CC3 + name: Fraud Risk to Objectives + description: The entity considers the potential for fraud in assessing risks to the achievement of objectives +CC3.4: + family: CC3 + name: Impact of Changes + description: The entity identifies and assesses changes that could significantly impact the system of internal control +CC4.1: + family: CC4 + name: Monitoring + description: The entity selects, develops, and performs ongoing and/or separate evaluations to ascertain whether the components of internal control are present and functioning +CC4.2: + family: CC4 + name: Remediation + description: The entity evaluates and communicates internal control deficiencies in a timely manner to those parties responsible for taking corrective action, including senior management and the board of directors, as appropriate +CC5.1: + family: CC5 + name: Objective Risk Mitigation + description: The entity selects and develops control activities that contribute to the mitigation of risks to the achievement of objectives to acceptable levels +CC5.2: + family: CC5 + name: Technology Controls + description: The entity also selects and develops general control activities over technology to support the achievement of objectives +CC5.3: + family: CC5 + name: Established Policies + description: The entity deploys control activities through policies that establish what is expected and in procedures that put policies into action +CC6.1: + family: CC6 + name: Logical Access + description: The entity implements logical access security software, infrastructure, and architectures over protected information assets to protect them from security events to meet the entity’s objectives +CC6.2: + family: CC6 + name: User Access + description: Prior to issuing system credentials and granting system access, the entity registers and authorizes new internal and external users whose access is administered by the entity. For those users whose access is administered by the entity, user system credentials are removed when user access is no longer authorized +CC6.3: + family: CC6 + name: Role-Based Access + description: The entity authorizes, modifies, or removes access to data, software, functions, and other protected information assets based on roles, responsibilities, or the system design and changes, giving consideration to the concepts of least privilege and segregation of duties, to meet the entity’s objectives +CC6.4: + family: CC6 + name: Physical Access + description: The entity restricts physical access to facilities and protected information assets (for example, data center facilities, back-up media storage, and other sensitive locations) to authorized personnel to meet the entity’s objectives +CC6.5: + family: CC6 + name: Data Disposal + description: The entity discontinues logical and physical protections over physical assets only after the ability to read or recover data and software from those assets has been diminished and is no longer required to meet the entity’s objectives +CC6.6: + family: CC6 + name: External Threats + description: The entity implements logical access security measures to protect against threats from sources outside its system boundaries +CC6.7: + family: CC6 + name: Data Custody and Transmission + description: The entity restricts the transmission, movement, and removal of information to authorized internal and external users and processes, and protects it during transmission, movement, or removal to meet the entity’s objectives +CC6.8: + family: CC6 + name: Malware Detection + description: The entity implements controls to prevent or detect and act upon the introduction of unauthorized or malicious software to meet the entity’s objectives +CC7.1: + family: CC7 + name: Vulnerability Detection + description: To meet its objectives, the entity uses detection and monitoring procedures to identify (1) changes to configurations that result in the introduction of new vulnerabilities, and (2) susceptibilities to newly discovered vulnerabilities +CC7.2: + family: CC7 + name: Anomaly Detection + description: The entity monitors system components and the operation of those components for anomalies that are indicative of malicious acts, natural disasters, and errors affecting the entity’s ability to meet its objectives; anomalies are analyzed to determine whether they represent security events +CC7.3: + family: CC7 + name: Security Incident Evaluation + description: The entity evaluates security events to determine whether they could or have resulted in a failure of the entity to meet its objectives (security incidents) and, if so, takes actions to prevent or address such failures +CC7.4: + family: CC7 + name: Security Incident Response Plan + description: The entity responds to identified security incidents by executing a defined incident response program to understand, contain, remediate, and communicate security incidents, as appropriate +CC7.5: + family: CC7 + name: Security Incident Response Execution + description: The entity identifies, develops, and implements activities to recover from identified security incidents +CC8.1: + family: CC8 + name: Change Control + description: The entity authorizes, designs, develops or acquires, configures, documents, tests, approves, and implements changes to infrastructure, data, software, and procedures to meet its objectives +CC9.1: + family: CC9 + name: Disruption Risk Mitigation + description: The entity identifies, selects, and develops risk mitigation activities for risks arising from potential business disruptions +CC9.2: + family: CC9 + name: Vendor Risk Management + description: The entity assesses and manages risks associated with vendors and business partners +A1.1: + family: A1 + name: Capacity Planning + description: The entity maintains, monitors, and evaluates current processing capacity and use of system components (infrastructure, data, and software) to manage capacity demand and to enable the implementation of additional capacity to help meet its objectives +A1.2: + family: A1 + name: Backup and Recovery + description: The entity authorizes, designs, develops or acquires, implements, operates, approves, maintains, and monitors environmental protections, software, data back-up processes, and recovery infrastructure to meet its objectives +A1.3: + family: A1 + name: Recovery Testing + description: The entity tests recovery plan procedures supporting system recovery to meet its objectives +C1.1: + family: C1 + name: Confidential Information Identification + description: The entity identifies and maintains confidential information to meet the entity’s objectives related to confidentiality +C1.2: + family: C1 + name: Confidential Information Disposal + description: The entity disposes of confidential information to meet the entity’s objectives related to confidentiality. +PI1.1: + family: PI1 + name: Processing Integrity Monitoring + description: The entity obtains or generates, uses, and communicates relevant, quality information regarding the objectives related to processing, including definitions of data processed and product and service speci cations, to support the use of products and services +PI1.2: + family: PI1 + name: Processing Integrity Accuracy + description: The entity implements policies and procedures over system inputs, including controls over completeness and accuracy, to result in products, services, and reporting to meet the entity’s objectives +PI1.3: + family: PI1 + name: Processing Integrity Operations + description: The entity implements policies and procedures over system processing to result in products, services, and reporting to meet the entity’s objectives +PI1.4: + family: PI1 + name: Processing Integrity Outputs + description: The entity implements policies and procedures to make available or deliver output completely, accurately, and timely in accordance with specifications to meet the entity’s objectives +PI1.5: + family: PI1 + name: Processing Integrity Backups + description: The entity implements policies and procedures to store inputs, items in processing, and outputs completely, accurately, and timely in accordance with system specifications to meet the entity’s objectives +P1.1: + family: P1 + name: Privacy Notification + description: The entity provides notice to data subjects about its privacy practices to meet the entity’s objectives related to privacy. The notice is updated and communicated to data subjects in a timely manner for changes to the entity’s privacy practices, including changes in the use of personal information, to meet the entity’s objectives related to privacy +P2.1: + family: P2 + name: Privacy Consent and Choice + description: The entity communicates choices available regarding the collection, use, retention, disclosure, and disposal of personal information to the data subjects and the consequences, if any, of each choice. Explicit consent for the collection, use, retention, disclosure, and disposal of personal information is obtained from data subjects or other authorized persons, if required. Such consent is obtained only for the intended purpose of the information to meet the entity’s objectives related to privacy. The entity’s basis for determining implicit consent for the collection, use, retention, disclosure, and disposal of personal information is documented +P3.1: + family: P3 + name: Personal Information Collection + description: Personal information is collected consistent with the entity’s objectives related to privacy +P3.2: + family: P3 + name: Explicit Consent + description: For information requiring explicit consent, the entity communicates the need for such consent, as well as the consequences of a failure to provide consent for the request for personal information, and obtains the consent prior to the collection of the information to meet the entity’s objectives related to privacy +P4.1: + family: P4 + name: Proper Use of Personal Information + description: The entity limits the use of personal information to the purposes identified in the entity’s objectives related to privacy +P4.2: + family: P4 + name: Personal Information Retention + description: The entity retains personal information consistent with the entity’s objectives related to privacy +P4.3: + family: P4 + name: Personal Information Disposal + description: The entity securely disposes of personal information to meet the entity’s objectives related to privacy +P5.1: + family: P5 + name: Data Subject Access + description: The entity grants identified and authenticated data subjects the ability to access their stored personal information for review and, upon request, provides physical or electronic copies of that information to data subjects to meet the entity’s objectives related to privacy. If access is denied, data subjects are informed of the denial and reason for such denial, as required, to meet the entity’s objectives related to privacy +P5.2: + family: P5 + name: Data Subject Amendment + description: The entity corrects, amends, or appends personal information based on information provided by data subjects and communicates such information to third parties, as committed or required, to meet the entity’s objectives related to privacy. If a request for correction is denied, data subjects are informed of the denial and reason for such denial to meet the entity’s objectives related to privacy +P6.1: + family: P6 + name: Consent for Third Party Disclosure + description: The entity discloses personal information to third parties with the explicit consent of data subjects, and such consent is obtained prior to disclosure to meet the entity’s objectives related to privacy +P6.2: + family: P6 + name: Authorized Disclosures + description: The entity creates and retains a complete, accurate, and timely record of authorized disclosures of personal information to meet the entity’s objectives related to privacy +P6.3: + family: P6 + name: Unauthorized Disclosures + description: The entity creates and retains a complete, accurate, and timely record of detected or reported unauthorized disclosures (including breaches) of personal information to meet the entity’s objectives related to privacy +P6.4: + family: P6 + name: Appropriate Third Party Disclosure + description: The entity obtains privacy commitments from vendors and other third parties who have access to personal information to meet the entity’s objectives related to privacy. The entity assesses those parties’ compliance on a periodic and as-needed basis and takes corrective action, if necessary +P6.5: + family: P6 + name: Unauthorized Third Party Disclosure + description: The entity obtains commitments from vendors and other third parties with access to personal information to notify the entity in the event of actual or suspected unauthorized disclosures of personal information. Such notifications are reported to appropriate personnel and acted on in accordance with established incident response procedures to meet the entity’s objectives related to privacy +P6.6: + family: P6 + name: Notification of Unauthorized Third Party Disclosure + description: The entity provides notification of breaches and incidents to affected data subjects, regulators, and others to meet the entity’s objectives related to privacy +P6.7: + family: P6 + name: Accounting of Personal Information + description: The entity provides data subjects with an accounting of the personal information held and disclosure of the data subjects’ personal information, upon the data subjects’ request, to meet the entity’s objectives related to privacy +P7.1: + family: P7 + name: Accuracy of Personal Information + description: The entity collects and maintains accurate, up-to-date, complete, and relevant personal information to meet the entity’s objectives related to privacy +P8.1: + family: P8 + name: Personal Information Dispute Resolution + description: The entity implements a process for receiving, addressing, resolving, and communicating the resolution of inquiries, complaints, and disputes from data subjects and others and periodically monitors compliance to meet the entity’s objectives related to privacy. Corrections and other necessary actions related to identified deficiencies are made or taken in a timely manner \ No newline at end of file diff --git a/go.mod b/go.mod index dd02406..87613c5 100644 --- a/go.mod +++ b/go.mod @@ -25,6 +25,7 @@ require ( github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-retryablehttp v0.7.0 // indirect github.com/jcelliott/lumber v0.0.0-20160324203708-dd349441af25 // indirect + github.com/joho/godotenv v1.4.0 github.com/juju/ansiterm v0.0.0-20210929141451-8b71cc96ebdc // indirect github.com/kevinburke/rest v0.0.0-20210506044642-5611499aa33c // indirect github.com/manifoldco/promptui v0.8.0 diff --git a/go.sum b/go.sum index 17a35c4..573022b 100644 --- a/go.sum +++ b/go.sum @@ -598,6 +598,8 @@ github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeY github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= +github.com/joho/godotenv v1.4.0 h1:3l4+N6zfMWnkbPEXKng2o2/MR5mSwTrBih4ZEkkz1lg= +github.com/joho/godotenv v1.4.0/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= diff --git a/internal/cli/app.go b/internal/cli/app.go index cb7ef92..37e424b 100644 --- a/internal/cli/app.go +++ b/internal/cli/app.go @@ -137,10 +137,10 @@ func notifyVersion(c *cli.Context) error { func pandocMustExist(c *cli.Context) error { eitherMustExistErr := fmt.Errorf("\n\nPlease install either Docker or the pandoc package and re-run `%s`. Find OS-specific pandoc installation instructions at: https://pandoc.org/installing.html", c.Command.Name) - pandocExistErr, found, goodVersion, pdfLatex := pandocBinaryMustExist(c) + pandocBinaryExistErr, found, goodVersion, pdfLatex := pandocBinaryMustExist(c) dockerExistErr, inPath, isRunning := dockerMustExist(c) - config.SetPandoc(pandocExistErr == nil, dockerExistErr == nil) + config.SetPandoc(pandocBinaryExistErr == nil, dockerExistErr == nil) check := func(b bool) string { if b { return "✔" @@ -150,7 +150,7 @@ func pandocMustExist(c *cli.Context) error { } - if pandocExistErr != nil && dockerExistErr != nil { + if pandocBinaryExistErr != nil && dockerExistErr != nil { fmt.Printf(` [%s] pandoc binary installed and in PATH @@ -165,14 +165,20 @@ func pandocMustExist(c *cli.Context) error { } // if we don't have pandoc, but we do have docker, execute a pull - if (pandocExistErr != nil && dockerExistErr == nil) || config.WhichPandoc() == config.UseDocker { - dockerPull(c) + if !pandocImageExists(context.Background()) && ((pandocBinaryExistErr != nil && dockerExistErr == nil) || config.WhichPandoc() == config.UseDocker) { + canPullPandoc := strings.TrimSpace(strings.ToLower(os.Getenv("COMPLY_USE_LOCAL_PANDOC"))) != "true" + if canPullPandoc { + fmt.Println("Pulling docker image") + dockerPull(c) + } else { + return fmt.Errorf("Local Pandoc not found. Please set COMPLY_USE_LOCAL_PANDOC to false") + } } return nil } -func pandocBinaryMustExist(c *cli.Context) (e error, found, goodVersion, pdfLatex bool) { +var pandocBinaryMustExist = func(c *cli.Context) (e error, found, goodVersion, pdfLatex bool) { cmd := exec.Command("pandoc", "-v") outputRaw, err := cmd.Output() @@ -230,7 +236,7 @@ func pandocBinaryMustExist(c *cli.Context) (e error, found, goodVersion, pdfLate return e, found, goodVersion, pdfLatex } -func dockerMustExist(c *cli.Context) (e error, inPath, isRunning bool) { +var dockerMustExist = func(c *cli.Context) (e error, inPath, isRunning bool) { dockerErr := fmt.Errorf("Docker must be available in order to run `%s`", c.Command.Name) inPath = true @@ -257,7 +263,26 @@ func dockerMustExist(c *cli.Context) (e error, inPath, isRunning bool) { return nil, inPath, isRunning } -func dockerPull(c *cli.Context) error { +var pandocImageExists = func(ctx context.Context) bool { + cli, err := client.NewEnvClient() + if err != nil { + return false + } + options := types.ImageListOptions{All: true} + imageList, err := cli.ImageList(ctx, options) + if err != nil { + return false + } + for _, image := range imageList { + if strings.Contains(image.RepoTags[0], "strongdm/pandoc") { + return true + } + } + + return false +} + +var dockerPull = func(c *cli.Context) error { dockerErr := fmt.Errorf("Docker must be available in order to run `%s`", c.Command.Name) ctx := context.Background() @@ -275,7 +300,7 @@ func dockerPull(c *cli.Context) error { select { case <-longishPull: - fmt.Print("Pulling strongdm/pandoc:latest Docker image (this will take some time) ") + fmt.Print("Pulling strongdm/pandoc:edge Docker image (this will take some time) ") go func() { for { @@ -294,7 +319,7 @@ func dockerPull(c *cli.Context) error { } }() - r, err := cli.ImagePull(ctx, "strongdm/pandoc:latest", types.ImagePullOptions{}) + r, err := cli.ImagePull(ctx, "strongdm/pandoc:edge", types.ImagePullOptions{}) if err != nil { return dockerErr } diff --git a/internal/cli/app_test.go b/internal/cli/app_test.go new file mode 100644 index 0000000..7e53403 --- /dev/null +++ b/internal/cli/app_test.go @@ -0,0 +1,189 @@ +package cli + +import ( + "context" + "errors" + "os" + "reflect" + "testing" + + "github.com/strongdm/comply/internal/util" + "github.com/urfave/cli" +) + +type PandocMustExist struct{} + +func TestPandocMustExist(t *testing.T) { + util.ExecuteTests(t, reflect.TypeOf(PandocMustExist{}), beforeEach, nil) +} + +func beforeEach() { + util.MockConfig() +} + +func (tg PandocMustExist) WhenBinaryExists(t *testing.T) { + dockerPullCalled := false + + pandocBinaryMustExist = func(c *cli.Context) (e error, found, goodVersion, pdfLatex bool) { + return nil, true, true, true + } + + dockerMustExist = func(c *cli.Context) (e error, inPath bool, isRunning bool) { + return errors.New("docker doesn't exist"), false, false + } + + pandocImageExists = func(ctx context.Context) bool { + return false + } + + dockerPull = func(c *cli.Context) error { + dockerPullCalled = true + return nil + } + + pandocMustExist(&cli.Context{}) + + if dockerPullCalled != false { + t.Fatal("Docker was pulled") + } +} + +func (tg PandocMustExist) WhenImageExists(t *testing.T) { + dockerPullCalled := false + + pandocBinaryMustExist = func(c *cli.Context) (e error, found, goodVersion, pdfLatex bool) { + return errors.New("binary doesn't exist"), false, true, true + } + + dockerMustExist = func(c *cli.Context) (e error, inPath bool, isRunning bool) { + return errors.New("docker doesn't exist"), false, false + } + + pandocImageExists = func(ctx context.Context) bool { + return true + } + + dockerPull = func(c *cli.Context) error { + dockerPullCalled = true + return nil + } + + pandocMustExist(&cli.Context{}) + + if dockerPullCalled != false { + t.Fatal("Docker was pulled") + } +} + +func (tg PandocMustExist) WhenBinaryAndImageDontExists(t *testing.T) { + dockerPullCalled := false + + pandocBinaryMustExist = func(c *cli.Context) (e error, found, goodVersion, pdfLatex bool) { + return errors.New("binary doesn't exist"), false, false, false + } + + dockerMustExist = func(c *cli.Context) (e error, inPath bool, isRunning bool) { + return nil, true, false + } + + pandocImageExists = func(ctx context.Context) bool { + return false + } + + dockerPull = func(c *cli.Context) error { + dockerPullCalled = true + return nil + } + + pandocMustExist(&cli.Context{}) + + if dockerPullCalled != true { + t.Fatal("Docker wasn't pulled") + } +} + +func (tg PandocMustExist) WhenCannotPullPandoc(t *testing.T) { + dockerPullCalled := false + + pandocBinaryMustExist = func(c *cli.Context) (e error, found, goodVersion, pdfLatex bool) { + return errors.New("binary doesn't exist"), false, false, false + } + + dockerMustExist = func(c *cli.Context) (e error, inPath bool, isRunning bool) { + return errors.New("docker doesn't exist"), false, false + } + + pandocImageExists = func(ctx context.Context) bool { + return false + } + + dockerPull = func(c *cli.Context) error { + dockerPullCalled = true + return nil + } + + pandocMustExist(&cli.Context{}) + + if dockerPullCalled != false { + t.Fatal("Docker was pulled") + } +} + +func (tg PandocMustExist) WhenMustUseLocalPandoc(t *testing.T) { + os.Setenv("COMPLY_USE_LOCAL_PANDOC", "true") + dockerPullCalled := false + + pandocBinaryMustExist = func(c *cli.Context) (e error, found, goodVersion, pdfLatex bool) { + return errors.New("binary doesn't exist"), false, false, false + } + + dockerMustExist = func(c *cli.Context) (e error, inPath bool, isRunning bool) { + return errors.New("docker doesn't exist"), false, false + } + + pandocImageExists = func(ctx context.Context) bool { + return true + } + + dockerPull = func(c *cli.Context) error { + dockerPullCalled = true + return nil + } + + pandocMustExist(&cli.Context{}) + + if dockerPullCalled != false { + t.Fatal("Docker was pulled") + } + + os.Clearenv() +} + +func (tg PandocMustExist) WhenPandocDontExistsAndCannotPull(t *testing.T) { + os.Setenv("COMPLY_USE_LOCAL_PANDOC", "true") + dockerPullCalled := false + + pandocBinaryMustExist = func(c *cli.Context) (e error, found, goodVersion, pdfLatex bool) { + return errors.New("binary doesn't exist"), false, false, false + } + + dockerMustExist = func(c *cli.Context) (e error, inPath bool, isRunning bool) { + return nil, true, false + } + + pandocImageExists = func(ctx context.Context) bool { + return false + } + + dockerPull = func(c *cli.Context) error { + dockerPullCalled = true + return nil + } + + pandocMustExist(&cli.Context{}) + + if dockerPullCalled != false { + t.Fatal("Docker was pulled") + } + os.Clearenv() +} diff --git a/internal/config/config.go b/internal/config/config.go index d963c08..693e870 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -82,7 +82,7 @@ func Exists() bool { } // Config is the parsed contents of ProjectRoot()/config.yml. -func Config() *Project { +var Config = func() *Project { p := Project{} cfgBytes, err := ioutil.ReadFile(filepath.Join(ProjectRoot(), "comply.yml")) if err != nil { diff --git a/internal/model/fs.go b/internal/model/fs.go index 32304c1..529f745 100644 --- a/internal/model/fs.go +++ b/internal/model/fs.go @@ -84,6 +84,10 @@ func ReadStandards() ([]*Standard, error) { } yaml.Unmarshal(sBytes, &s) + err = yaml.Unmarshal(sBytes, &s) + if err != nil { + return nil, errors.Wrap(err, "unable to parse "+f.FullPath) + } standards = append(standards, s) } @@ -101,7 +105,10 @@ func ReadNarratives() ([]*Document, error) { for _, f := range files { n := &Document{} - mdmd := loadMDMD(f.FullPath) + mdmd, err := loadMDMD(f.FullPath) + if err != nil { + return nil, err + } err = yaml.Unmarshal([]byte(mdmd.yaml), &n) if err != nil { return nil, errors.Wrap(err, "unable to parse "+f.FullPath) @@ -126,7 +133,10 @@ func ReadProcedures() ([]*Procedure, error) { for _, f := range files { p := &Procedure{} - mdmd := loadMDMD(f.FullPath) + mdmd, err := loadMDMD(f.FullPath) + if err != nil { + return nil, err + } err = yaml.Unmarshal([]byte(mdmd.yaml), &p) if err != nil { return nil, errors.Wrap(err, "unable to parse "+f.FullPath) @@ -151,7 +161,10 @@ func ReadPolicies() ([]*Document, error) { for _, f := range files { p := &Document{} - mdmd := loadMDMD(f.FullPath) + mdmd, err := loadMDMD(f.FullPath) + if err != nil { + return nil, err + } err = yaml.Unmarshal([]byte(mdmd.yaml), &p) if err != nil { return nil, errors.Wrap(err, "unable to parse "+f.FullPath) @@ -171,21 +184,20 @@ type metadataMarkdown struct { body string } -func loadMDMD(path string) metadataMarkdown { +func loadMDMD(path string) (*metadataMarkdown, error) { bytes, err := ioutil.ReadFile(path) if err != nil { panic(err) } - content := string(bytes) components := strings.Split(content, "---") if components[0] == "" && (len(components) > 1) { components = components[1:] } if len(components) == 1 { - panic(fmt.Sprintf("Malformed metadata markdown in %s, must be of the form: YAML\\n---\\nmarkdown content", path)) + return nil, errors.New(fmt.Sprintf("Malformed metadata markdown in %s, must be of the form: YAML\\n---\\nmarkdown content", path)) } - yaml := components[0] + item := components[0] body := strings.Join(components[1:], "---") - return metadataMarkdown{yaml, body} + return &metadataMarkdown{item, body}, nil } diff --git a/internal/model/fs_test.go b/internal/model/fs_test.go new file mode 100644 index 0000000..673f0cb --- /dev/null +++ b/internal/model/fs_test.go @@ -0,0 +1,238 @@ +package model + +import ( + "fmt" + "os" + "reflect" + "testing" + + "github.com/strongdm/comply/internal/path" + "github.com/strongdm/comply/internal/util" +) + +type ReadFiles struct{} + +func beforeEach() { + util.MockConfig() +} + +func TestReadFiles(t *testing.T) { + util.ExecuteTests(t, reflect.TypeOf(ReadFiles{}), beforeEach, nil) +} + +// TestReadNarratives calls model.ReadNarratives checking for a valid return value. +func (tg ReadFiles) TestReadNarratives(t *testing.T) { + filePath := fmt.Sprintf("%s/narratives/control.md", util.GetRootPath()) + fileInfo, _ := os.Lstat(filePath) + path.Narratives = func() ([]path.File, error) { + return []path.File{ + {FullPath: filePath, Info: fileInfo}, + }, nil + } + + documents, err := ReadNarratives() + if err != nil { + t.Fatalf(`ReadNarratives() returned an error %v`, err) + } + if len(documents) != 1 { + t.Fatal(`Invalid number of documents`) + } + if documents[0].FullPath != filePath { + t.Fatalf(`Invalid document path %s`, documents[0].FullPath) + } +} + +// TestReadNarrativesWhenThereAreNoNarratives calls model.ReadNarratives checking for a valid return when +// there are no narratives to process +func (tg ReadFiles) TestReadNarrativesWhenThereAreNoNarratives(t *testing.T) { + path.Narratives = func() ([]path.File, error) { + return []path.File{}, nil + } + + documents, err := ReadNarratives() + if err != nil { + t.Fatalf(`ReadNarratives() returned an error %v`, err) + } + if len(documents) != 0 { + t.Fatal(`Invalid number of documents`) + } +} + +// TestReadNarrativesFailsWhenInvalidNarrative calls model.ReadNarratives checking for an error return when +// there is an invalid narrative +func (tg ReadFiles) TestReadNarrativesFailsWhenInvalidNarrative(t *testing.T) { + path.Narratives = func() ([]path.File, error) { + filePath := fmt.Sprintf("%s/../fixtures/narratives/invalid-control.md", util.GetRootPath()) + fileInfo, _ := os.Lstat(filePath) + return []path.File{ + {FullPath: filePath, Info: fileInfo}, + }, nil + } + + _, err := ReadNarratives() + if err == nil { + t.Fatal(`ReadNarratives() was expected to fail`) + } +} + +// TestReadProcedures calls model.ReadProcedures checking for a valid return value. +func (tg ReadFiles) TestReadProcedures(t *testing.T) { + filePath := fmt.Sprintf("%s/procedures/workstation.md", util.GetRootPath()) + fileInfo, _ := os.Lstat(filePath) + path.Procedures = func() ([]path.File, error) { + return []path.File{ + {FullPath: filePath, Info: fileInfo}, + }, nil + } + + documents, err := ReadProcedures() + if err != nil { + t.Fatalf(`ReadProcedures() returned an error %v`, err) + } + if len(documents) != 1 { + t.Fatal(`Invalid number of documents`) + } + if documents[0].FullPath != filePath { + t.Fatalf(`Invalid document path %s`, documents[0].FullPath) + } +} + +// TestReadProceduresWhenThereAreNoProcedures calls model.ReadProcedures checking for a valid return when +// there are no procedures to process +func (tg ReadFiles) TestReadProceduresWhenThereAreNoProcedures(t *testing.T) { + path.Procedures = func() ([]path.File, error) { + return []path.File{}, nil + } + + documents, err := ReadProcedures() + if err != nil { + t.Fatalf(`ReadProcedures() returned an error %v`, err) + } + if len(documents) != 0 { + t.Fatal(`Invalid number of documents`) + } +} + +// TestReadProceduresFailsWhenInvalidProcedure calls model.ReadProcedures checking for an error return when +// there is an invalid procedure +func (tg ReadFiles) TestReadProceduresFailsWhenInvalidProcedure(t *testing.T) { + path.Procedures = func() ([]path.File, error) { + filePath := fmt.Sprintf("%s/../fixtures/procedures/invalid-workstation.md", util.GetRootPath()) + fileInfo, _ := os.Lstat(filePath) + return []path.File{ + {FullPath: filePath, Info: fileInfo}, + }, nil + } + + _, err := ReadProcedures() + if err == nil { + t.Fatal(`ReadProcedures() was expected to fail`, err) + } +} + +// TestReadPolicies calls model.ReadPolicies checking for a valid return value. +func (tg ReadFiles) TestReadPolicies(t *testing.T) { + filePath := fmt.Sprintf("%s/policies/access.md", util.GetRootPath()) + fileInfo, _ := os.Lstat(filePath) + path.Policies = func() ([]path.File, error) { + return []path.File{ + {FullPath: filePath, Info: fileInfo}, + }, nil + } + + documents, err := ReadPolicies() + if err != nil { + t.Fatalf(`ReadPolicies() returned an error %v`, err) + } + if len(documents) != 1 { + t.Fatal(`Invalid number of documents`) + } + if documents[0].FullPath != filePath { + t.Fatalf(`Invalid document path %s`, documents[0].FullPath) + } +} + +// TestReadPoliciesWhenThereAreNoPolicies calls model.ReadPolicies checking for a valid return when +// there are no policies to process +func (tg ReadFiles) TestReadPoliciesWhenThereAreNoPolicies(t *testing.T) { + path.Policies = func() ([]path.File, error) { + return []path.File{}, nil + } + + documents, err := ReadPolicies() + if err != nil { + t.Fatalf(`ReadPolicies() returned an error %v`, err) + } + if len(documents) != 0 { + t.Fatal(`Invalid number of documents`) + } +} + +// TestReadPoliciesFailsWhenInvalidPolicy calls model.ReadPolicies checking for an error return when +// there is an invalid policy +func (tg ReadFiles) TestReadPoliciesFailsWhenInvalidPolicy(t *testing.T) { + path.Policies = func() ([]path.File, error) { + filePath := fmt.Sprintf("%s/../fixtures/policies/invalid-access.md", util.GetRootPath()) + fileInfo, _ := os.Lstat(filePath) + return []path.File{ + {FullPath: filePath, Info: fileInfo}, + }, nil + } + + _, err := ReadPolicies() + if err == nil { + t.Fatal(`ReadPolicies() was expected to fail`, err) + } +} + +// TestReadStandards calls model.ReadStandards checking for a valid return value. +func (tg ReadFiles) TestReadStandards(t *testing.T) { + filePath := fmt.Sprintf("%s/standards/TSC-2017.yml", util.GetRootPath()) + fileInfo, _ := os.Lstat(filePath) + path.Standards = func() ([]path.File, error) { + return []path.File{ + {FullPath: filePath, Info: fileInfo}, + }, nil + } + + documents, err := ReadStandards() + if err != nil { + t.Fatalf(`ReadStandards() returned an error %v`, err) + } + if len(documents) != 1 { + t.Fatal(`Invalid number of documents`) + } +} + +// TestReadStandardsWhenThereAreNoStandards calls model.ReadStandards checking for a valid return when +// there are no standards to process +func (tg ReadFiles) TestReadStandardsWhenThereAreNoStandards(t *testing.T) { + path.Standards = func() ([]path.File, error) { + return []path.File{}, nil + } + + documents, err := ReadStandards() + if err != nil { + t.Fatalf(`ReadStandards() returned an error %v`, err) + } + if len(documents) != 0 { + t.Fatal(`Invalid number of documents`) + } +} + +// TestReadStandardsFailsWhenInvalidStandard calls model.ReadStandards checking for an error return when +// there is an invalid standard +func (tg ReadFiles) TestReadStandardsFailsWhenInvalidStandard(t *testing.T) { + path.Standards = func() ([]path.File, error) { + filePath := fmt.Sprintf("%s/../fixtures/standards/invalid-standard.yml", util.GetRootPath()) + fileInfo, _ := os.Lstat(filePath) + return []path.File{ + {FullPath: filePath, Info: fileInfo}, + }, nil + } + + _, err := ReadStandards() + if err == nil { + t.Fatal(`ReadStandards() was expected to fail`, err) + } +} diff --git a/internal/model/model_test.go b/internal/model/model_test.go index fd73cc0..3cdaee0 100644 --- a/internal/model/model_test.go +++ b/internal/model/model_test.go @@ -9,36 +9,32 @@ import ( func TestMarshal(t *testing.T) { d := Data{ Tickets: []*Ticket{ - &Ticket{ + { ID: "t1", }, }, Audits: []*Audit{ - &Audit{ + { ID: "a1", }, }, Procedures: []*Procedure{ - &Procedure{ - Code: "pro1", + { + ID: "pro1", }, }, - Policies: []*Policy{ - &Policy{ + Policies: []*Document{ + { Name: "pol1", }, }, } - m, _ := json.Marshal(d) - encoded := string(m) - if !strings.Contains(encoded, "t1") || !strings.Contains(encoded, "a1") || !strings.Contains(encoded, "pro1") || !strings.Contains(encoded, "pol1") { t.Error("identifier not found in marshalled string") } - } diff --git a/internal/path/path.go b/internal/path/path.go index 45bcaf9..a291eb4 100644 --- a/internal/path/path.go +++ b/internal/path/path.go @@ -16,22 +16,22 @@ type File struct { } // Standards lists all standard files. -func Standards() ([]File, error) { +var Standards = func() ([]File, error) { return filesFor("standards", "yml") } // Narratives lists all narrative files. -func Narratives() ([]File, error) { +var Narratives = func() ([]File, error) { return filesFor("narratives", "md") } // Policies lists all policy files. -func Policies() ([]File, error) { +var Policies = func() ([]File, error) { return filesFor("policies", "md") } // Procedures lists all procedure files. -func Procedures() ([]File, error) { +var Procedures = func() ([]File, error) { return filesFor("procedures", "md") } diff --git a/internal/render/document.go b/internal/render/document.go index c5ab27d..38b6029 100644 --- a/internal/render/document.go +++ b/internal/render/document.go @@ -135,9 +135,12 @@ func preprocessDoc(data *renderData, pol *model.Document, fullPath string) error %% %s --- -header-includes: yes -head-content: "%s" -foot-content: "%s confidential %d" +header-includes: | + \usepackage{fancyhdr} + \pagestyle{fancy} + \fancyhead{} + \fancyhead[RO,RE]{%s} + \fancyfoot[LO,LE]{%s confidential %d} --- %s diff --git a/internal/render/pandoc.go b/internal/render/pandoc.go index 9ba5c3f..ad8def0 100644 --- a/internal/render/pandoc.go +++ b/internal/render/pandoc.go @@ -64,7 +64,7 @@ func dockerPandoc(outputFilename string, errOutputCh chan error) { errOutputCh <- errors.Wrap(err, "unable to remove container") return } - errOutputCh <-nil + errOutputCh <- nil }() err = cli.ContainerStart(ctx, resp.ID, types.ContainerStartOptions{}) @@ -78,7 +78,7 @@ func dockerPandoc(outputFilename string, errOutputCh chan error) { if resultValue.StatusCode != 0 { err = <-chanErr - errOutputCh <-errors.Wrap(err, "error awaiting Docker container") + errOutputCh <- errors.Wrap(err, "error awaiting Docker container") return } diff --git a/internal/theme/themes_bindata.go b/internal/theme/themes_bindata.go index fe8cb8c..7473ea4 100644 --- a/internal/theme/themes_bindata.go +++ b/internal/theme/themes_bindata.go @@ -122,7 +122,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _complyBlankReadmeMd = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x54\x41\x8f\xdc\x36\x0f\xbd\xeb\x57\xf0\xc3\x5c\x12\x20\x98\x39\x7c\xb7\xdc\xd2\x2c\x8a\x16\x48\xd3\x45\x67\x6f\x45\x01\xcb\x12\x6d\x13\x23\x4b\x2e\x45\x79\xea\x06\xf9\xef\x05\x65\x7b\xbc\x28\x16\x9d\xd3\xc8\xa2\xc8\xf7\x1e\xf9\x78\x82\x6f\xdf\xce\x5f\xed\x88\xdf\xbf\xc3\xe7\x34\x4e\x81\x6c\x74\x08\xcf\x9c\x7a\xb6\xa3\x31\x2f\x03\x65\x60\x9c\x52\x26\x49\xbc\x80\x4b\x31\xa7\x40\xde\x0a\x66\xb0\x21\x80\x4f\xae\x8c\x18\x45\xa3\x82\x15\xf4\x20\x09\x64\xc0\xff\xcc\x7b\x36\xe6\x04\x57\xe1\xe2\xa4\x30\x1a\xf3\x2a\xe2\xc8\x67\x19\x21\x71\x6f\x23\xfd\x8d\x1e\x6c\x86\x2e\x85\x90\xee\xf9\xa3\x31\x4d\xd3\x98\x68\x99\xad\xd0\x8c\xf9\x02\xfa\xfb\xfa\x38\xc3\xc4\x69\x26\x8f\x60\x23\xa4\x19\x79\x26\xbc\x43\xea\x2a\xaa\x2d\xa1\x15\x4a\x11\x6c\xf4\xf5\xa3\x3b\xca\x63\x9c\x89\x53\x54\x04\x67\x33\xa5\x40\x8e\xf6\x02\x00\xcf\xdb\x19\x7a\x4d\x1b\xeb\xdb\x16\x07\x3b\x53\x62\x2d\x80\xe3\x14\xd2\x82\xaa\x4c\xf4\x2a\x95\xb0\x75\x92\x38\x9f\xcd\xc4\xc9\xa1\x2f\xbc\x27\x7b\x7e\x9c\x61\x62\xcc\x8e\xa9\x45\xc8\x13\x3a\xea\xc8\x41\x16\x9c\x32\xc8\x60\xa5\xaa\x20\xf6\x86\x11\x28\x02\x63\x9e\x52\xcc\xa8\x1a\xdf\x70\x01\x9c\x55\xa9\xb3\xc9\x62\xa3\xb7\xec\x77\xa4\xd7\xfd\xbc\xa5\x5c\x36\x9a\x51\x38\x85\x0c\xd9\x0a\xe5\x8e\xd0\x43\xbb\xfc\x5b\x80\x69\xef\x90\x28\x1b\x6d\xf3\x96\xf3\x65\x3f\xef\x79\x56\x3d\x8b\x4c\x45\xa0\x4b\x3c\x5a\xd9\x45\xfe\xe9\xe5\x97\x2f\xf0\x64\xf3\xd0\x26\xcb\xbe\x8a\xf1\xfc\xf4\x23\xd8\x9c\x51\xd1\x6a\xf7\xcc\x09\x7e\x28\x14\x3c\xc5\xde\x98\x4f\xf5\xa2\x52\x6d\x0b\x05\x81\x92\x29\xf6\xf0\x7b\x53\x71\x2d\xcd\x1f\xef\x06\x91\x29\x7f\xbc\x5c\xd6\x0f\xe7\x2c\x9c\x62\xef\xc7\xb3\x4b\xe3\xfb\x0f\x70\x1f\xc8\x0d\xe0\x6c\x84\x16\x81\x62\x16\x1b\x02\x7a\x98\xc9\x42\xd3\x32\xde\xf7\x6f\xb0\xe5\x83\x77\xa3\x75\xbf\x5e\xdf\x43\x62\x68\xfa\x04\x3d\x0a\xf4\x24\x43\x69\x35\xe1\x65\xcf\xbe\x55\xab\x60\x9f\x4b\x1b\x28\x0f\x15\xee\xcb\x80\xd0\xac\xc4\x2f\x0d\x78\x62\x74\xbb\x37\xc4\x52\x5c\x7d\xd1\x63\x44\xae\x7e\xd8\x68\xc3\x17\x8a\xb7\xac\x5d\x7c\x48\xe4\x0f\x89\x56\xf7\xd0\x8c\x1f\xaa\x5c\xd5\x59\x38\x61\xf4\x18\xeb\xc4\xa9\x36\x14\x5d\x28\x7e\x23\xb6\x96\x85\xcf\x4f\x5f\x81\xb1\x43\xc6\xe8\x30\x9f\x41\xb1\x61\x14\xe2\xb7\x21\xca\x80\x8c\x5d\x62\x84\xd1\x2e\xaa\x56\x99\x42\xb2\x7e\x75\xad\x8d\x70\xfd\x3f\xb4\xc5\xdd\x50\x54\x9a\xa4\xd1\x90\xc5\x0a\xb9\x95\x05\x0c\x29\x0b\xdc\x49\x86\xa4\x4d\x2f\x5c\x23\xc6\xe4\x75\x6a\xab\xa7\xaa\xb3\x8f\xd6\x5f\xc5\x4a\xc9\xc6\x3c\xc6\x1d\xd4\x12\x37\xed\x2e\x65\x28\x93\xaf\x0a\xdd\x07\x8c\x38\x23\xc3\xd6\x70\xc8\x4b\x74\x8d\x46\x50\x9c\xd3\x0d\xfd\x19\x7e\xae\x7f\xc0\xd6\x2b\x98\x58\x1d\x27\xe9\xf1\x40\xc7\xc6\x37\xfa\x65\x13\xa9\x8a\x3c\x2a\x5a\x57\x98\x31\x0a\x08\x55\x5e\xb9\x22\xaa\x30\x0f\x50\x57\x37\xa0\x2f\x01\xd9\x98\x4f\x71\x81\xe6\x95\x5b\x9b\xd5\x86\x7b\x5a\x0b\x8d\xe3\x14\x1b\xc8\xdb\x13\xb8\x53\x08\x60\x8b\xa4\x51\x75\xb2\x21\x2c\xe0\x18\x2b\x2f\x8a\xb0\xa4\xc2\x3a\x18\x1d\xf5\x85\x55\xe6\x8a\x42\xf9\xe7\x25\x0b\x8e\x6f\x70\xdf\xb1\x54\x01\xf0\x2f\x74\x45\x54\x01\xed\xec\xe3\x6e\xad\xda\x5a\x77\xeb\x6a\xf9\xb8\xd4\x4d\xe7\x0b\x6e\x15\x56\x86\x4f\xa8\x0b\x49\x97\x19\xfc\x86\x2e\x8d\x23\x46\x5f\xdb\x64\xcc\x21\xa8\x63\x9a\x04\x32\x8d\x14\x2c\xef\xdb\x7b\xdd\xb5\x8a\xd3\x0a\x04\xb4\x59\x20\xd5\xf5\x80\x0c\xde\x2e\xdb\x0e\x3e\xfd\xef\xd2\x52\xbc\xb4\x36\x0f\xe6\x64\x4e\xba\xca\x18\xff\x2c\x94\x49\x30\x7f\x34\x27\x00\xf5\x15\x58\xe7\x30\xe7\x7a\x3c\xf8\xef\xa2\xac\xab\x98\xe2\x66\xce\xf3\x32\x86\x1a\xb9\x4e\xe6\x39\x0f\x0a\x69\x5a\xed\xb7\x0f\xa3\xe6\x37\x27\x65\xa8\xd6\xad\x5b\x49\x60\xdf\xd6\xd5\x40\x47\x07\x8d\x22\x98\x4a\x08\x1a\xbe\x4e\xdc\xeb\x2e\xac\x03\xfa\x6a\xee\x34\x4c\x98\xfa\x1e\x79\x6d\xa4\xc2\x4b\xdd\x43\xfb\xbd\x87\xc7\xa3\x63\x78\x4e\xeb\x20\x6e\x88\xcc\xeb\xe1\xd4\xcb\x37\x58\x40\xc7\x69\xdc\xb6\xe8\xe5\x30\xaa\x39\xd8\x6f\x77\xaa\xf7\x3f\x01\x00\x00\xff\xff\x61\x8f\x5d\x05\xad\x07\x00\x00") +var _complyBlankReadmeMd = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x54\xc1\x8e\xe3\x36\x0c\xbd\xeb\x2b\x58\xe4\xb2\x0b\x0c\x92\x43\x6f\x73\xdb\xee\xa0\x68\x81\xed\x74\xd0\xcc\xad\x28\x60\x59\x62\x6c\x22\xb2\xe4\x52\x94\x53\x77\xb1\xff\x5e\x50\xb6\xe3\x41\x31\xd8\x9c\x22\x8b\x22\xdf\x7b\xe4\xe3\x01\xbe\x7e\x3d\x3e\xdb\x01\xbf\x7d\x83\xcf\x69\x18\x03\xd9\xe8\x10\x5e\x38\x75\x6c\x07\x63\x5e\x7b\xca\xc0\x38\xa6\x4c\x92\x78\x06\x97\x62\x4e\x81\xbc\x15\xcc\x60\x43\x00\x9f\x5c\x19\x30\x8a\x46\x05\x2b\xe8\x41\x12\x48\x8f\xdf\xcd\x7b\x34\xe6\x00\x67\xe1\xe2\xa4\x30\x1a\xf3\x26\x62\xcf\x67\x19\x21\x71\x67\x23\xfd\x8b\x1e\x6c\x86\x4b\x0a\x21\xdd\xf2\xa3\x31\x4d\xd3\x98\x68\x99\xad\xd0\x84\xf9\x04\xfa\x7b\xbe\x9f\x61\xe4\x34\x91\x47\xb0\x11\xd2\x84\x3c\x11\xde\x20\x5d\x2a\xaa\x35\xa1\x15\x4a\x11\x6c\xf4\xf5\xa3\xdb\xcb\x63\x9c\x88\x53\x54\x04\x47\x33\xa6\x40\x8e\xb6\x02\x00\x2f\xeb\x19\x3a\x4d\x1b\xeb\xdb\x16\x7b\x3b\x51\x62\x2d\x80\xc3\x18\xd2\x8c\xaa\x4c\xf4\x2a\x95\xb0\x75\x92\x38\x1f\xcd\xc8\xc9\xa1\x2f\xbc\x25\x7b\xb9\x9f\x61\x64\xcc\x8e\xa9\x45\xc8\x23\x3a\xba\x90\x83\x2c\x38\x66\x90\xde\x4a\x55\x41\xec\x15\x23\x50\x04\xc6\x3c\xa6\x98\x51\x35\xbe\xe2\x0c\x38\xa9\x52\x47\x93\xc5\x46\x6f\xd9\x6f\x48\xcf\xdb\x79\x4d\x39\xaf\x34\xa3\x70\x0a\x19\xb2\x15\xca\x17\x42\x0f\xed\xfc\x7f\x01\xc6\xad\x43\xa2\x6c\xb4\xcd\x6b\xce\xd7\xed\xbc\xe5\x59\xf4\x2c\x32\x16\x81\x4b\xe2\xc1\xca\x26\xf2\x2f\xaf\xbf\x7d\x81\x27\x9b\xfb\x36\x59\xf6\x55\x8c\x97\xa7\x9f\xc1\xe6\x8c\x8a\x56\xbb\x67\x0e\xf0\x53\xa1\xe0\x29\x76\xc6\x7c\xaa\x17\x95\x6a\x5b\x28\x08\x94\x4c\xb1\x83\x3f\x9b\x8a\x6b\x6e\xfe\xfa\xd0\x8b\x8c\xf9\xf1\x74\x5a\x3e\x1c\xb3\x70\x8a\x9d\x1f\x8e\x2e\x0d\x1f\x1f\xe0\xd6\x93\xeb\xc1\xd9\x08\x2d\x02\xc5\x2c\x36\x04\xf4\x30\x91\x85\xa6\x65\xbc\x6d\xdf\x60\xcd\x07\x1f\x06\xeb\x7e\x3f\x7f\x84\xc4\xd0\x74\x09\x3a\x14\xe8\x48\xfa\xd2\x6a\xc2\xd3\x96\x7d\xad\x56\xc1\xbe\x94\x36\x50\xee\x2b\xdc\xd7\x1e\xa1\x59\x88\x9f\x1a\xf0\xc4\xe8\x36\x6f\x88\xa5\xb8\xf8\xa2\xc3\x88\x5c\xfd\xb0\xd2\x86\x2f\x14\xaf\x59\xbb\x78\x97\xc8\xef\x12\x31\x2e\xfe\xa1\x09\x1f\xaa\x60\xd5\x5b\x38\x62\xf4\x18\xeb\xcc\x69\x08\x45\x17\x8a\x5f\xa9\x2d\x85\xe1\xf3\xd3\x33\x30\x5e\x90\x31\x3a\xcc\x47\x50\x74\x18\x85\xf8\x5d\x90\x0f\x5a\x9d\xf1\x92\x18\x1f\x60\xb0\xb3\x2a\x56\xc6\x90\xac\x5f\x9c\x6b\x23\x9c\x7f\x84\xb6\xb8\x2b\x8a\xca\x63\x63\xd2\x07\x90\xc5\x0a\xb9\x85\x0b\xf4\x29\x0b\xdc\x48\xfa\xa4\xad\x2f\x5c\x23\x86\xe4\x75\x76\xab\xb3\xaa\xbf\xf7\x01\x38\x8b\x95\x92\x8d\xb9\x0f\x3d\xa8\x31\xae\xda\x63\xca\x50\x46\x5f\x75\xba\xf5\x18\x71\x42\x86\xb5\xed\x90\xe7\xe8\x1a\x8d\xa0\x38\xa5\x2b\xfa\x23\xfc\x5a\xff\x80\xad\x57\x30\xb2\xfa\x4e\xd2\xfd\x81\x0e\x8f\x6f\xf4\xcb\x2a\x54\x95\x7a\x50\xb4\xae\x30\x63\x14\x10\xaa\xcc\x72\x45\x54\x61\xee\xa0\xce\xae\x47\x5f\x02\xb2\x31\x9f\xe2\x0c\xcd\x1b\xcf\x36\x8b\x19\xb7\xb4\x16\x1a\xc7\x29\x36\x90\xd7\x27\x70\xa3\x10\xc0\x16\x49\x83\xea\x64\x43\x98\xc1\x31\x56\x5e\x14\x61\x4e\x85\x75\x3c\x2e\xd4\x15\x56\xa1\x2b\x0a\xe5\x9f\xe7\x2c\x38\xbc\xc3\x7d\xc3\x52\x05\xc0\x7f\xd0\x15\x51\x05\xb4\xbb\xf7\xbb\xa5\x6a\x6b\xdd\xf5\x52\xcb\xc7\xb9\xee\x3b\x5f\x70\xad\xb0\x30\x7c\x42\x5d\x4b\xba\xd2\xe0\x0f\x74\x69\x18\x30\xfa\xda\x26\x63\x76\x41\x1d\xd3\x28\x90\x69\xa0\x60\x79\xdb\xe1\xcb\xc6\x55\x9c\x56\x20\xa0\xcd\x02\xa9\x2e\x09\x64\xf0\x76\x5e\x37\xf1\xe1\x87\x53\x4b\xf1\xd4\xda\xdc\x9b\x83\x39\xe8\x42\x63\xfc\xbb\x50\x26\xc1\xfc\x68\x0e\x00\xea\x2e\xb0\xce\x61\xce\xf5\xb8\xf3\xdf\x44\x59\x16\x32\xc5\xd5\xa2\xc7\x79\x08\x35\x72\x99\xcd\x63\xee\x15\xd2\xb8\x98\x70\x1b\x46\xcd\x6f\x0e\xca\x50\x0d\x5c\x77\x93\xc0\xb6\xb3\xab\x89\xf6\x0e\x1a\x45\x30\x96\x10\x34\x7c\x99\xb8\xb7\x5d\x58\x06\xf4\xcd\xdc\x69\x98\x30\x75\x1d\xf2\xd2\x48\x85\x97\x2e\x77\xed\xb7\x1e\xee\x8f\xf6\xe1\x39\x2c\x83\xb8\x22\x32\x6f\x87\x53\x2f\xdf\x61\x01\x17\x4e\xc3\xba\x4b\x4f\xbb\x59\xcd\xce\x7e\xbd\xab\x7a\xff\x17\x00\x00\xff\xff\xc7\x04\x8a\x4e\xb4\x07\x00\x00") func complyBlankReadmeMdBytes() ([]byte, error) { return bindataRead( @@ -137,7 +137,7 @@ func complyBlankReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-blank/README.md", size: 1965, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-blank/README.md", size: 1972, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -157,7 +157,7 @@ func complyBlankTodoMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-blank/TODO.md", size: 1429, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-blank/TODO.md", size: 1429, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -177,7 +177,7 @@ func complyBlankNarrativesGitkeep() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-blank/narratives/.gitkeep", size: 0, mode: os.FileMode(420), modTime: time.Unix(1525909140, 0)} + info := bindataFileInfo{name: "comply-blank/narratives/.gitkeep", size: 0, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -197,7 +197,7 @@ func complyBlankPoliciesGitkeep() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-blank/policies/.gitkeep", size: 0, mode: os.FileMode(420), modTime: time.Unix(1525909140, 0)} + info := bindataFileInfo{name: "comply-blank/policies/.gitkeep", size: 0, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -217,7 +217,7 @@ func complyBlankProceduresGitkeep() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-blank/procedures/.gitkeep", size: 0, mode: os.FileMode(420), modTime: time.Unix(1525909140, 0)} + info := bindataFileInfo{name: "comply-blank/procedures/.gitkeep", size: 0, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -237,7 +237,7 @@ func complyBlankStandardsGitkeep() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-blank/standards/.gitkeep", size: 0, mode: os.FileMode(420), modTime: time.Unix(1525909140, 0)} + info := bindataFileInfo{name: "comply-blank/standards/.gitkeep", size: 0, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -257,12 +257,12 @@ func complyBlankTemplatesGitkeep() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-blank/templates/.gitkeep", size: 0, mode: os.FileMode(420), modTime: time.Unix(1525909140, 0)} + info := bindataFileInfo{name: "comply-blank/templates/.gitkeep", size: 0, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _complyBlankTemplatesDefaultLatex = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x59\xdd\x6e\xec\xb6\x11\xbe\xd7\x53\x10\x88\x8c\x1e\x03\xbb\x86\x7d\x8a\x16\x45\x80\x0d\x82\x9e\xfc\xb4\xc9\x1e\x24\x70\xdc\x22\x80\xe5\x0b\x4a\x1a\xad\x88\xa5\x48\x85\xa4\xec\xdd\x12\xba\xe9\xf3\xf4\xa9\xfa\x24\xc5\xf0\x47\xa2\xb4\xeb\x5e\xb4\xe7\xe2\x2c\x35\x33\x9c\x19\x0e\x87\x9c\x6f\xe8\xa2\x96\xd5\xd0\x81\x30\x15\xa7\x5a\x3f\xe7\xac\xf9\xd0\x48\x61\x34\xfb\x07\xdc\xe6\x79\x1c\xe6\x9b\x1c\x44\xcd\x9a\x1c\xf9\x9c\x8a\xc3\x6d\x9e\x97\xb4\x04\xbe\xc5\x8f\x05\xb7\xa7\x3d\xa8\x30\x7d\x1a\xfb\xd1\x24\xd6\x48\xf5\xc1\xd9\x93\xbd\x61\x52\xdc\xe6\x79\xf2\x95\xe7\x1a\x7a\xaf\xb2\x91\x2a\x7f\xb1\xf9\xc2\xc5\x7c\xcc\xd0\x4c\x09\xb4\x03\x45\x95\x61\x15\x87\xdb\x3c\x2b\x06\x0d\x3d\xad\x8e\xf4\x00\x76\xc1\x1b\xc9\x0d\x11\x00\xb5\x26\x46\x92\x12\x08\x97\xb4\x86\x9a\x34\x4c\x69\x93\x05\x87\xb2\xb8\xec\x86\x76\x8c\x9f\x97\xea\x9e\x9d\xbb\x33\xd7\x7b\xa9\x43\x74\x16\xb4\x4b\xd7\x67\x11\xf4\x1b\xb8\x86\xa5\xab\xbc\x93\x35\x28\x31\x2e\x3c\xe1\x4c\x80\x36\x0a\x4c\xd5\xae\x56\xa6\xc1\xe8\x9e\x56\x30\x66\x05\x0e\xbd\x8c\xcd\x93\x09\xf9\xac\x2a\x9d\x48\x3b\xad\xcf\x5d\xb9\xa1\x9d\xee\xa8\x69\xc7\x05\x93\x35\x27\x30\x70\xda\xb0\x86\x0f\xd4\xc0\x69\xc9\x6d\xd8\x89\x9b\xd3\x47\x17\xc8\x5e\xc9\x57\x56\x83\x26\x85\x81\x93\xd1\x43\xa9\x2b\xc5\x7a\x93\x15\xac\x11\x43\x47\xee\x8b\xa0\x8a\x3c\x14\x0d\x2b\xa2\x3e\xf7\xb5\xbb\x27\x37\x84\x35\xa4\xaf\x1b\x03\xa7\x8c\x90\x45\x88\x43\xfc\x41\x54\x21\xae\x20\xaa\xdc\xc7\xeb\xe9\x21\x2c\xe8\xc5\x06\xc6\xb8\x9a\x3d\x98\xe6\x4f\x2f\x96\x89\x7e\xf0\x5c\xd4\x06\x83\x92\xb7\xf9\x52\xd0\x22\x51\x9f\xbb\x24\x44\x68\xc1\xfb\x15\x5c\x95\x8a\x9c\x80\xd3\xe0\x62\x58\x4e\x46\xc8\x52\x11\xc6\x50\xf7\xe0\x3d\x41\x1d\x17\x12\xee\xe4\x44\x89\x86\xe1\xff\x35\x34\x74\xe0\xc6\xa5\x04\x50\x33\x28\xd0\x76\xcf\x0e\x7e\xb4\x7b\x82\x5f\x37\xbf\x54\x94\xc3\xee\x33\x35\x55\xbb\x97\x6f\xa0\x2a\xaa\x61\xcc\x96\xf9\xc7\x40\xfb\x75\x09\x78\x9b\xb3\x2b\xc9\x34\x06\xfa\x4e\xd0\x0e\xf2\xf1\x79\x49\x8c\x49\xfa\xb2\x12\xc6\x8f\x90\x36\x98\xb5\xab\xf0\x09\x78\xab\x64\xd7\x51\x51\xdb\x02\xa9\xa3\xfd\xf7\x3f\xff\xb5\xcc\xd7\x8e\x32\x81\x4a\xdc\x04\x42\x30\x35\x23\xc9\x1f\x9e\xf8\x35\x1f\x9d\x15\xe5\xf2\xe0\x44\x81\x7c\x69\x4a\x53\xa1\x57\xa6\x22\xc9\x9b\x8a\x5f\xb3\xa9\x15\xe5\xd2\x54\x14\x58\x99\xea\xa4\x90\xeb\x55\x05\xd2\xf3\x67\xda\xf7\x4c\x1c\x76\x06\x4e\x5b\x2a\x34\x4b\xe5\x27\xcb\x1b\xbf\xf6\x35\x39\x5f\x51\x56\x0e\x4d\xc9\x3e\xc9\xad\xfd\xa2\xa6\xbd\x88\xb6\x27\x7d\xf8\x86\x1d\x98\xd1\x9b\x3d\x35\x4c\x6c\xbe\x57\x00\xc7\xdb\xb8\x03\x5e\x22\xdd\x81\x05\xe5\xda\x0e\x78\x81\x95\xf9\x4f\x3f\xfc\xb8\xde\xef\x24\xed\x4f\xf0\xe9\x87\x1f\xc7\xc9\xb1\x44\xd8\xfb\xf1\xe9\x87\x1f\x67\x17\xe6\x8f\x4b\xeb\xc9\xcc\xf4\x4a\x6b\x58\x76\x43\x06\x0d\x64\xe8\x7f\x1b\xa4\x01\x3c\xb9\xf4\x95\x32\x4e\x4b\x0e\x1b\xd2\x48\x45\xb4\x51\x94\x1d\x5a\x43\x9c\x80\x26\x4c\x90\x57\x50\x25\x35\xac\x23\x20\x5e\x99\x92\x02\x8b\x89\xce\x8a\xbf\x36\xdf\x31\x0e\xdf\x9e\x98\x36\xda\x06\x85\x77\xda\x9c\x47\x9b\x2e\x29\x30\xc6\xd1\x8e\xc1\x76\xc7\x2a\x25\xcd\xb9\x5f\x5a\x5f\xe9\x9b\x84\xbc\xc6\x9b\xcb\x92\x32\x49\x24\x9b\xb2\x22\x5d\xc4\x65\x12\x18\xb3\xe2\x6f\x1a\x3e\xc7\xcf\x5f\xc0\x3c\xf7\x4a\x1a\x35\x68\x26\xc5\x8b\x2d\xa9\x66\x95\xbb\xe9\xc9\x0d\xa9\x99\x46\x07\xc9\x2c\xe0\x02\x65\x0c\x71\xb7\x54\x86\x2b\x2b\x7e\xa6\x5a\xff\xe4\xad\x3e\xc9\x9f\xc3\xda\xdb\x73\xdf\x82\xd0\xa3\x1d\x14\x47\x4d\x83\xe2\x84\xe9\x58\x43\xcb\x33\x69\xcf\x3d\x28\x05\x8d\x4b\x8d\x18\xe6\x2d\x13\x5b\x21\xcd\xba\x2c\x37\x54\x54\xe7\x57\x55\x5e\xad\x50\xcf\x83\x60\x95\xac\x61\x67\xd4\x00\x2f\x36\xea\xf5\x97\x79\x25\xb9\x54\x9c\x89\x23\x5e\x7d\xd7\x3d\x1d\x34\xe0\xa5\xa7\x37\xf5\x2b\xeb\xb5\x1b\x8e\xd6\xcd\x43\xbf\xdd\xe0\x3d\xcf\xa3\x33\x8e\xa2\xc1\x0c\xbd\x75\x56\x0d\x33\x1c\xb6\x1d\x18\x1a\x12\x3d\xfe\xc3\x12\x86\xbc\x9d\xcd\x67\x99\x7c\xdc\x2c\xce\x09\x1d\x4c\x2b\xd5\x3b\xd3\x3d\x73\x67\xf3\x44\x6a\xad\xe0\x08\xe7\x37\xa9\x6a\x7d\x39\x3b\x72\x76\xd6\xe5\xd1\x2c\x98\xc7\x61\xc8\x1b\x12\x13\x67\xa5\x7a\x11\xcf\x54\xf9\xcc\x70\xfb\xb0\x59\x30\x91\xee\x04\x76\x01\xa4\xf8\xaf\xdb\x3c\x9f\xc6\xa1\x64\x7f\xa6\x4a\x4a\x11\x2c\x2e\x95\x54\xcc\xc0\xac\x64\xfa\x42\x08\x18\xc7\x41\xc9\x9f\xf9\x00\x57\x55\x0c\x8a\xcf\x1a\xe2\xc7\x6d\x9e\xc7\xe1\xb5\xf9\x01\x7a\xad\x02\x59\x4a\x55\x83\xda\xd9\x7b\x72\x4f\xee\x93\x18\xa5\x62\xa5\x02\x7a\x9c\x43\x82\xd8\x48\x71\x6d\xce\x1c\xac\xa6\x1d\x8c\x04\x0f\x98\x14\xbf\x33\xfe\x6a\x90\x42\x3a\x84\xe6\x8e\x96\x3b\x66\x28\xfe\xee\xf1\xf8\x7b\xa0\x7d\x27\xa5\x11\xee\xba\xba\x21\x94\x73\xf9\xa6\xe7\x4b\x0b\xa1\x16\xde\x62\x4d\x94\x59\xec\xe5\x01\x64\x07\x46\x5d\x05\xad\x33\x2f\x8f\xc3\x8b\x1b\x25\x32\x56\x10\xd4\x61\xfc\xff\x1b\xd7\xe9\x56\x2a\xd3\x52\x51\xeb\x9d\x6c\x1a\x5f\x10\x7d\xdf\x20\x4d\x0b\x0a\xad\xe8\xa9\x95\x98\x49\xb3\x7f\x58\x03\x76\x69\xab\x81\x57\x5b\x09\x3c\x34\x01\x8e\x3e\x23\x14\x9f\xce\xf9\x05\x39\x5f\x02\xbe\x15\x2a\xec\x25\x3f\x1f\xb8\xd4\x9a\x51\x87\xd6\x02\x7c\x41\x73\x83\x0b\x65\x22\xe0\x9c\x48\x91\xd4\x05\xcf\x43\x2f\x0f\xda\x52\x66\xba\xe0\x60\x65\x22\x5d\x9a\x99\xa5\xdf\x33\x96\x48\x44\x93\x11\xc0\x61\x95\x4c\x37\x53\x50\x53\xb2\x72\x75\x1b\x7b\xe2\x98\x15\x25\x2b\x39\x93\x07\x45\xfb\xf6\xec\xf3\xda\x85\xd6\x51\xb7\x8e\x80\x3b\x94\x7c\x86\xf3\xd5\x73\xca\x84\xa0\x26\x58\x5a\xe6\x0f\xca\x63\x8a\xac\xb3\xf2\x42\xb3\xfb\xd9\x2d\xf5\x2f\xfa\xc4\xa8\x69\x2e\x92\x2b\xca\x45\x46\x47\x7e\xd8\x84\x74\x7d\xe8\x0e\xad\xeb\x92\x95\x0a\xb4\x1c\x54\x05\x36\x4f\xf9\x0b\x18\xbc\xe8\xc8\xb4\x61\x7e\xeb\x16\xdd\x5b\x20\xaf\xce\x4e\xeb\xe4\xb8\x36\x02\xde\x12\xc4\x61\xb1\xbe\x8d\x16\x19\x1a\x8c\x8d\x1b\xbf\xfb\x0b\xd5\x47\xe0\x7c\xe3\x6a\xb6\x8f\x47\xa1\x3b\xca\x79\x61\x02\xba\x77\xd8\x23\x35\xd1\xb2\x43\xcb\x11\xe4\x30\x71\xd8\x76\xb4\x52\x12\x4d\xe6\x57\xc8\xcb\x75\x18\xc4\x01\x17\xab\x90\xe2\xe0\x18\x9b\x52\xca\xa3\xa1\xa5\x46\xa0\xf3\x1d\x3b\xcd\x37\x0e\x5e\x3f\x7e\x2e\xf9\xa0\xe0\xb7\x81\x29\xd0\x13\x97\x04\x45\xb7\x2b\x04\x14\xf9\x97\x90\x2a\x72\xc6\xa2\xa3\x47\xd0\xf4\x15\xf0\x0b\xc4\xab\xf3\xc5\x5b\xba\x58\xb3\xdb\x21\x56\xad\xbd\x0f\xe4\xd3\xe6\xa0\x9a\x86\x71\xbc\xa0\x51\x29\x35\x1c\x8c\x01\x95\x61\xdb\x55\x74\xf4\xf4\xc6\x6a\xd3\xda\x82\x35\x35\xeb\x8a\xef\x99\xf8\x5a\x50\xf3\xb5\x23\x7e\x55\x60\xff\xec\x86\xc9\x08\x73\x7c\x29\x57\x34\x6c\x9c\xd4\xb5\x80\x71\x5e\xeb\xf3\xd4\xaf\x5c\x77\xec\xc7\xe9\x70\xa1\x32\xd0\x9c\x4e\xef\xb0\x3b\xd1\xd9\x0d\x71\x5d\x20\x61\x1d\x3d\x60\xe0\x1b\x22\xa0\x02\xad\xa9\x3a\x6f\x88\x96\xc4\xb4\xd4\x10\xd3\xc2\x99\xbc\x31\xce\x89\x90\x86\xc8\x57\x50\x0d\x97\x6f\x48\x26\x3d\x3d\x40\x76\x43\x3a\xaa\x0e\x4c\x68\x44\x3a\xa1\xef\xdc\x10\x2a\x6a\xc2\x0c\xc2\x20\x6d\x70\x6e\x8f\x37\x09\x02\x43\x23\x9d\x8e\x37\xc5\x0c\x38\x25\x61\x8a\x76\x80\x97\x89\x03\x81\x53\xcf\x59\xc5\x0c\x09\x87\x0e\x13\xa2\x60\xa2\xe2\x43\x0d\x71\x63\x9e\x5d\x94\x36\xc4\xaf\x6c\x43\xee\xee\xee\x5e\xac\x7f\xa9\x38\xc2\x59\xdb\xef\x99\x18\xad\x93\xd9\x4d\x1b\xb2\xf1\xc2\xbb\x39\xa4\x9b\x23\x40\x4f\xb1\x75\x36\x8a\x1a\x26\x2f\x9e\x46\x8e\x7a\x4b\xb5\x2b\xa0\x98\x0a\x37\xe4\x33\x3d\x82\xc3\x26\x7a\x91\xaf\xda\x00\xad\x89\x6c\x48\x2b\x8d\xe3\x7e\x99\x15\x0a\xd2\x6e\xb6\x45\x7c\xf9\xfc\xf1\xc5\x7e\xf1\xb1\x88\x33\x2d\x56\x77\xfb\xc5\xc3\x38\xae\xfa\x4e\xa3\xd8\x11\xe4\x60\x56\x17\x9a\x90\xaa\xa3\x1c\xba\x17\x3b\x70\xe8\xf0\xdc\xd0\x57\xc9\x6a\x84\xda\x25\x87\x4e\x93\x37\x66\x5a\x52\x68\x39\xb8\x12\xde\x02\xad\x41\x05\x6a\x44\xa0\x5f\x66\x45\x5f\x37\x68\x41\x1c\x6a\x68\xbe\xf1\x68\xfd\x53\xa8\x5d\x76\xe5\x35\xaa\x1a\xed\xca\x3d\x26\x6a\x70\xfd\x58\x7c\x62\x5a\x1c\xc4\x9e\x2a\x7d\x64\xfd\x95\x46\x24\xb2\xc6\x6c\xb4\x37\xc4\xd5\x46\xdc\x2e\x0e\xe2\x80\x87\xa5\xa7\xca\x6b\x1e\xed\x7d\x6f\xc6\x35\xcf\xcd\xb4\x7f\xec\x0d\xe9\xf9\xa0\xc9\xc7\xde\x90\x8e\x89\x41\x93\x07\x14\x4e\x60\x7e\x32\x0d\x3a\x50\x07\x10\xd5\x39\xbc\x57\x8d\xf6\xf7\xd0\x39\x10\xd5\x2b\x78\x05\x11\xb2\x79\xe0\x9c\xb8\x57\xad\xac\x08\x6f\x4e\x53\x00\x0c\x66\x09\xde\xbc\xb8\x16\x5f\x48\xa3\x72\x66\xa0\xd3\xd0\x7b\x6f\xaf\x3a\x8b\x0c\x8f\x1d\xc4\xd0\x95\x08\xf7\xab\x50\x56\x9c\x97\x95\x1c\x84\x01\x65\x35\x54\x62\xe8\x6a\xe8\x4d\x3b\xba\x72\x98\x10\x6e\xb1\xe0\x4c\x5f\xa1\x18\xfe\x21\xa9\x82\x7e\x07\xde\xd3\x76\xbf\x4a\xac\xa1\xec\xa9\xa2\xee\x0c\xcd\xfb\x77\x43\x1e\xa1\x86\x06\x03\x40\x50\xe4\x76\x92\x09\xcf\x98\x2d\x7d\x45\xb0\xa9\x30\xf3\x8f\x40\xe2\x32\x10\xb0\x9d\x8a\x49\xb8\x18\x84\xd7\x52\x7b\xdc\x53\x70\x30\x85\xe4\xf5\x2c\x30\x8d\xd6\x87\x63\x62\x8c\xcf\x0f\x2f\x76\x31\x09\x8f\x47\xd1\x95\xf2\x84\x59\x88\x58\xc3\x19\x4d\x17\xf2\x9e\xdd\x85\x4c\xfa\xb1\xb6\x9e\xf2\x26\x07\x52\xe2\x85\x0f\x69\x4c\x6b\xa6\x3c\x76\x8d\x8f\x77\x37\xae\xef\x23\x25\xab\x19\xa1\x9a\x20\x3a\xc0\xdf\xe9\xfe\xa3\x1a\xef\xc5\x4e\xd6\xac\x61\xa0\x09\xdc\x1d\xee\x48\xac\x2b\x08\x28\x1d\x20\x36\x70\xda\xd6\x4c\x6d\x95\xe1\xeb\x87\xc5\xe7\xc7\xa7\x7d\x7c\xa4\x46\xfc\x51\x33\x04\x92\x53\xcf\xb1\x78\x9b\x9e\x98\xf3\x8b\xc6\xff\x84\xb2\x9f\xe0\xd7\x5f\xe1\x49\x1b\x6a\x60\xf7\xb0\x7e\xa8\x7b\xdc\xfb\xa8\x95\x70\x60\xe2\x91\x7c\xf1\x50\x80\xa8\x1f\xc7\xb5\xd8\xfe\x31\x11\xdb\x07\xb1\x7d\x14\x4b\xa1\xcb\xe3\xd3\x7e\x8c\xea\x46\xbb\xd0\x96\x8a\xed\x9f\x1e\xa3\xd8\xde\x8b\xed\x97\xdb\x93\xdd\x10\x0d\x26\xd6\x17\xd2\xb0\xc3\xa0\x80\xf4\x9c\x56\x80\x0a\x30\xb9\x5b\x53\xf6\xd7\x6a\x78\xd3\xeb\xaf\xbd\xbc\x45\x91\x55\xd9\xf4\xb0\xc8\x5d\xaf\xdb\x50\x97\xd6\x48\xc1\xbd\x3f\xb4\xb5\x1a\xb3\x02\x8b\xa4\xc7\xba\x8e\x88\x3e\x3a\x26\xd0\xda\xa6\x1f\xcf\x8f\x3f\x6d\x1e\xbf\x7d\xb1\x39\x7e\x6c\x2b\xf7\xfc\x6c\xf2\x28\x81\x45\xe3\x79\xff\xd3\x66\xff\xad\x7b\x52\x95\x26\x91\x98\x16\x3c\xbd\x24\xa0\x37\x6e\x10\x5e\x0d\xdc\x5f\x4b\xb0\x39\xc2\x2e\xbc\xf0\x03\x9b\xfb\xdf\x7c\xbc\x8a\xaa\xf5\x50\x4e\xaa\xd6\xd7\x62\xe4\xb9\x1d\xc5\xab\x3a\x7c\xdb\x3c\x8e\x56\xca\xfc\xd3\x83\x43\xc4\x6e\xe4\x1f\x13\x22\x35\xbc\x4c\x78\x70\x4d\x0a\x84\x0e\xd3\x63\xc2\xaa\xf4\x68\xc3\xcc\x60\xae\x3a\x35\x31\xa3\x57\x13\xc1\x5b\x4b\x26\xe7\xd3\xf8\xbf\xdb\x2c\x6a\x8a\xb3\xf1\xff\x7c\xcc\x32\x9f\x6c\x36\x9e\xbe\x71\x19\x6f\xcc\x10\xf7\xb1\x5c\x79\xa9\x8d\xa2\x95\xab\xe5\x7e\x7a\xa4\x8c\x59\x1e\x87\xd8\x2b\x8a\x3a\xe5\x4c\x3b\xea\x3d\x77\x39\xb6\x2d\xa1\x91\x0a\x6d\xe5\x4b\x0a\xca\xa5\x0f\xea\x46\x56\xb7\x79\x66\xaf\x3c\x67\x25\xcf\x4e\xcb\x17\x16\x23\xab\xf8\xb4\x11\x87\xa1\xda\x94\x9c\x56\xc7\x8b\x0c\x49\x4b\x8e\x91\x55\xac\x5e\x46\x56\x5b\x5f\xaa\xc6\xac\x70\xd0\x5a\x36\x21\x4f\x75\xb6\x42\x57\xd2\xc5\x04\x8b\xab\x6c\x3c\xde\x5f\xf1\x9b\x99\xef\xcf\x62\x22\x50\xca\xfa\x1c\x12\x7e\xea\x38\xe7\x86\x6f\x6a\xc0\x92\x1e\x30\xee\x93\x23\x49\x79\xdc\xba\xbf\xf0\xa1\x89\xb4\x1c\x60\x87\x8a\x2d\x6e\x6c\xd5\xb6\x73\x36\xfb\x52\xbb\x10\x56\xd0\xbc\x23\x1c\xdc\x8c\xd1\x4a\xdd\xb2\x57\x3a\xc5\x65\x63\xb8\x6c\x32\xc7\xec\x42\xdf\xba\xeb\xed\x15\x13\x66\xa1\xe2\x62\xdd\xcf\xfe\x15\x71\xe9\xe9\xcb\x9c\x67\x51\x73\x9a\x6f\xb4\x31\xa0\xd2\x74\x73\x84\x34\xdb\x5c\xda\xce\xe7\xe1\x3f\x01\x00\x00\xff\xff\xd4\x00\x0b\x92\xe1\x1d\x00\x00") +var _complyBlankTemplatesDefaultLatex = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x3b\x6b\x6f\xe4\x36\x92\xdf\xfb\x57\x10\x18\x35\x6e\x7c\xe8\xf6\xd9\x13\x24\x17\x04\xe8\xc5\x4c\x26\x9b\x67\xcf\x6e\xe0\x99\xdc\x05\x67\x39\x38\x4a\x2a\xb5\x18\x53\xa4\x8e\xa4\x6c\x77\x04\xdd\x6f\x5f\x14\x1f\x12\xf5\xf0\x24\xbb\xc8\x17\x37\x59\x2c\x16\x8b\x64\xb1\x9e\xf2\x96\xfc\xbd\x31\x4c\x0a\x4d\x4a\xa9\x48\x43\xf3\x7b\x7a\x02\x4d\xb8\xa4\x05\x14\x04\xb8\x86\xc7\x0a\x14\x6c\xd2\x1f\xa9\xd6\x1e\xf5\x83\xfc\xd1\xe1\x75\xad\x60\xb9\x2c\x20\x29\xa5\x7a\x59\x9d\x1b\x50\x0a\x4a\xe9\x90\x2e\x92\x5d\x32\x03\x25\x09\x88\xa2\x94\x2a\xe9\xbb\x30\xd2\x3f\x43\xb8\x3a\x37\x15\x08\xdd\x77\xad\xe2\xfd\x26\x61\xe5\xcb\x5c\x72\xa9\x38\x13\xf7\xfa\x22\x79\x66\x52\xf1\xc0\x1a\x2d\x68\x0d\x7a\xa7\x1f\x4e\xae\xf1\x74\x7d\x6d\x1b\x7d\xf7\x64\x29\xf4\x1b\x64\x82\x95\x89\x25\x5a\x30\x75\xe1\x5a\x9c\x1a\x78\xda\x17\x4c\xed\x95\xe1\xcf\xae\x70\xf3\xe1\x58\xc8\xbc\xad\x41\x98\xbe\xcb\x58\xc1\x22\x72\x11\xd9\xb7\xdf\xff\x50\x53\x26\x4a\x29\xcc\xb3\xa4\x74\x43\x73\xe8\xbb\x27\x78\xfb\xfd\x0f\x23\x95\xed\x26\x0d\x0b\xe4\x9c\x6a\x7d\x6b\xe9\x21\x21\xcd\x7e\x83\x8b\x64\x43\x48\x12\x7a\xc9\x6e\xb2\x28\xa7\xe2\xe4\x10\x32\x9a\x01\xdf\x63\x7f\x86\xd2\xd0\x06\xd4\x48\x68\xe8\xba\xd6\x14\x37\x03\x5a\x83\xb2\x88\xec\x24\xa4\x02\x21\x45\xa9\x68\x0d\x06\x9e\xcc\xce\xa2\x54\x54\x14\xb2\x35\x16\xc7\xb7\xa7\x34\xa8\x6e\x20\x37\x8a\x1a\x26\x2d\x52\xd4\x3f\x24\x51\x27\x66\x33\xfc\xa2\x48\xd9\x23\x70\xc2\xe3\x38\x8e\x00\x49\xa2\xa1\xf1\x13\x51\xa6\x36\x77\x5d\x32\x39\xba\xa4\x9f\xee\xc3\x76\x68\x7e\x7f\x52\xb2\x15\xc5\x9e\xd5\xf4\x84\xe7\x90\xb6\x1a\x46\xb0\x81\xba\x41\x51\xe8\xb6\x1b\x42\x52\x26\x72\xde\x16\x70\x52\xb4\xa9\x58\xae\x6f\x1f\x59\x61\xaa\x43\x6a\x4f\xcb\xb6\xef\xba\x64\x4e\x32\xe9\xb7\x9b\xf1\x3e\x91\xba\x7f\x54\x5d\x73\x2a\x1b\x7c\x5c\xfd\x26\xd5\x60\x1c\x5f\xc3\x7a\x39\xb5\xbb\xea\x6f\x45\x5b\x67\xa0\xa0\xb8\xfb\x08\x16\xe1\x78\xc3\x04\x49\x2b\x6a\xa4\xea\xbb\x2f\x48\x4c\xd5\x4a\xfa\x80\x8c\xf2\xdf\x77\xe5\xe9\x20\xa4\xaa\x29\x27\x78\x81\x97\xe5\xa9\xdf\xa4\x53\xea\x82\x3e\xb0\x13\xb5\x62\x7a\xae\x33\xc9\x35\x9e\xd8\x08\xbc\x48\x92\xb1\x93\x24\xa8\x1a\x12\xa8\x1b\x73\x9e\x5c\x99\x23\x39\xdc\xd9\xc8\x93\x03\x75\x49\xdc\x4b\xfa\xf1\xfa\xb6\xe4\x47\x05\x0f\x20\x0c\xd1\x9c\x15\x40\x32\x05\xf4\x5e\x13\x26\x88\xa9\x80\xd4\xac\x28\x38\x10\x59\x12\x4a\x70\xd3\xf6\x4a\x36\xe9\x23\x2b\xe4\x63\x03\x82\x72\xc3\x40\x93\x6b\x72\x7d\x75\x75\x75\xb5\x49\x15\x3d\x9d\xa0\xc8\xa4\x31\xb2\xb6\x17\xaf\x21\xc7\x05\xf7\x86\x19\x0e\x7a\xc2\xd8\x70\xb8\x0d\x55\x86\xe0\x0d\xf5\x1d\x5e\x7e\x0e\xc2\x80\x62\xe2\x84\x9d\x0c\x4e\x4c\x74\xd1\xe9\x66\xf2\xa9\xbf\xd5\xd0\x1c\xae\x3f\x6b\xcc\xce\xe1\xde\x39\x12\x76\x8d\x7e\x43\x08\x21\x56\xb8\xec\x24\x7c\xb4\xf1\x70\xca\x84\x06\x65\x10\x92\x36\x54\xe1\x1a\x20\x8a\xf9\x0a\x9b\x55\x59\xf1\x9b\xf9\x17\x78\x7d\xf5\xc7\x79\x0d\x8b\x4c\xd8\xf5\xc0\x7f\x9e\xe3\x36\xfb\x97\x99\xfe\xfc\x9f\xe0\x79\x5c\x66\xca\xf6\x00\xff\x1d\xce\xdf\x98\x2f\x91\x8f\x1f\xa9\x32\x96\x45\xab\xf0\x3a\x9c\x64\x2c\xdf\x11\xce\x7b\x47\xd0\xa2\xb1\x32\x63\x19\x67\xd2\x4a\xe5\xd9\xd2\xe7\x1a\x1c\x87\x9e\x84\x5f\xdf\x51\x41\x30\x8b\x69\x0d\xfc\xc5\xab\x8e\x5c\x87\xb5\xd7\x6c\x8d\xdb\x05\x55\x86\xe5\x3c\xe8\xb3\xa0\x71\x26\x63\x3d\xd9\x12\x01\x50\x68\x62\x24\xc9\x20\x98\xf8\x92\x29\x6d\x56\xf5\x15\xad\x75\x4d\x4d\xb5\xa3\xb5\x46\x85\xd0\x0f\xa6\xa8\xa4\x35\xe3\xe7\xe9\x5a\xb7\xf6\xf5\x8f\xa3\x83\x17\x90\x2c\x60\x5e\x73\x87\x97\x7f\xd7\x45\x28\x56\x23\xa0\x66\x99\x70\xc2\x6b\x59\x80\x12\x53\xdb\xcd\x99\x00\x6d\x14\x98\xbc\x9a\x6d\x5b\x83\x71\xd6\x75\x75\x5b\xac\x34\xf0\xd4\x6f\x52\x56\xfe\xf8\xd5\xd7\x1f\xe0\xe7\x8d\x13\xa3\x61\x1f\x7e\x93\x20\x72\xcf\x3c\x88\xdc\xab\xbb\x0f\xd7\x9e\xe0\x5d\xe7\x07\xfa\xd9\xec\xd6\x94\x9f\xdf\x75\x4c\x34\xed\xca\x68\x87\x9a\x37\x97\x75\x83\x57\xd1\x28\xf9\x80\x7a\x0e\x5a\x25\x09\x15\x05\x91\xa6\x02\x45\xbc\xea\xdd\x58\x09\x22\x5b\xc2\x4a\xc2\x5b\xf4\x4d\x88\x54\xe4\x09\x8d\xaf\xdd\x3c\x5e\x0c\xda\x4f\x6b\x16\x53\x56\xfe\x0c\x6e\x27\xd3\xf5\x02\x56\x3f\x15\xc9\x08\xc3\x3b\x70\x7b\xc4\x0c\x72\xe9\x2f\xe0\x63\x88\xe1\x5c\x09\x49\x0b\x28\x69\xcb\x8d\xbd\x42\xa0\xa6\x55\xa0\xbb\xf7\x39\xe5\x70\x78\x47\x4d\x5e\x1d\xe5\x23\xa8\x9c\x6a\x27\xf5\x2b\xc8\xb7\xa9\xaa\xdd\xdd\xdf\x75\x47\xb4\x2e\x08\x3c\x7c\x80\x9f\x77\x8e\xca\x75\xef\x37\x3c\xf8\x53\x84\xa0\x86\x09\x00\x27\x78\xa1\x37\x8a\xdd\x0c\xb2\x14\xba\x80\x90\x4c\xc5\x4a\x53\xa1\x27\x0b\x05\x80\x5b\x28\xf4\xc6\x85\x66\x90\xe5\x42\x01\x61\xb6\x50\x2d\x85\x9c\xee\xc8\x03\xfc\x8e\x7c\x2f\xda\xd1\x14\xb2\xb2\x23\x8f\x10\x2f\x34\x79\x95\xcc\x9a\x3e\x42\x52\x01\x8f\xe3\x9b\x8b\xde\x1f\x03\x7d\x89\xee\x42\xd2\xdf\x2e\x66\x5e\xae\x3c\xe9\x08\xfc\x91\x57\x8d\x58\x11\x5f\xd6\xdc\x07\x21\xf6\x27\xf0\x3b\x32\x6d\xef\xdb\x21\xbf\xfc\x8a\x9d\x98\xd1\xbb\x23\x35\x4c\xec\xbe\x51\x00\xf7\x17\x41\x06\x1c\x46\x2c\x03\x13\xc8\x9a\x0c\x38\x84\x64\xf6\x42\xa2\xf5\xfe\x24\xda\x93\x77\xf5\x27\x93\xff\xfd\x10\xe4\x23\x3a\xc2\x07\x20\x61\xdb\xd1\x3c\xc7\xda\xdb\xef\x7f\x18\xb9\x1a\x3b\x4b\x86\xa2\x99\xd1\x96\x23\x7d\x6d\xd5\xd8\xaf\xb4\x51\xa0\x61\xdc\xa9\xe3\xed\xd8\xd2\x15\xe6\x1c\x07\xcf\x4c\x4c\x56\xe1\x0b\xbe\x02\xd6\xde\xa1\xad\x71\xb6\x72\x56\x7f\x84\x1f\x1b\x87\x35\x90\x2f\x39\x9a\x8d\x3c\xcf\x53\x40\xec\x23\xb1\x63\xe2\xd7\x3f\xf9\xf4\x6d\x9b\x95\x2f\x7f\x03\x25\xf7\x36\x6e\xd9\x0b\x29\xf6\xbf\x4a\x26\x6c\x64\xb4\xdd\x92\xf7\x6d\xd3\x48\x65\x6c\x12\x60\x44\x23\x23\x1a\xc9\x2b\xaa\x68\x6e\x40\xe9\xcb\x4d\x5a\xd3\x7b\xa0\x86\x83\x31\xa0\x36\xa8\xd5\x53\x9c\x64\xe7\x08\x29\xdc\x0c\x1b\x42\x8d\x5e\x3d\x0f\xba\xdd\x1a\x3b\x5a\xfc\xda\x6a\x43\xee\x41\x09\x26\x4e\x3b\x92\xb5\x86\x68\xc3\x38\x27\xda\x73\xe2\x32\x00\xf8\xc8\x4f\x97\xb8\x1f\x03\x4f\x52\x35\x45\xa9\x0d\xba\x8c\x96\xb8\x83\x1a\x8c\x6a\x4c\xd5\xa5\x42\xda\x98\x21\x2d\x98\xce\x15\xe0\x39\x51\x75\xee\xf6\x7d\xd7\x77\x29\x2e\x74\x79\xf5\x09\xd4\xbd\x9b\x68\x2f\xf9\x01\xdd\x0a\xfb\xea\x87\xb9\x95\xbe\x67\x4d\xfa\xdb\x6b\xfb\x53\xb2\xbe\xb3\xf8\xf6\xa7\x0f\xdb\xb6\x86\x7a\xea\x3f\x7c\x05\x39\xa7\x0a\x7e\x72\x46\xf2\x6d\x38\xaa\xee\xd5\xd5\xd5\xdb\xbe\x5b\x39\x9c\x7e\x13\xb4\x4d\x9a\x53\x83\x93\xfe\xf7\x97\x5f\x7e\xf9\xe5\xd5\xd5\x55\x7e\x48\x69\x6e\xd8\x83\x1d\x6b\x94\x34\x90\x1b\x28\xf0\x8c\x49\xc0\x78\x86\x60\xc9\xf0\x26\xff\x8a\xae\x44\x49\xfe\xe7\xbf\xff\xf6\x7d\x38\xcb\xf5\xb8\x1e\x3b\xa6\x82\x3a\x38\x8d\xb6\xed\xa4\xce\x36\x47\xb9\x8b\xbb\x4b\xc9\xb3\xa3\x33\xdb\x66\x9d\xea\x98\xf8\x08\xe8\x92\xb1\x3d\x9b\x85\xc2\x1b\x4f\x1a\xfa\xce\x96\xac\x4d\x89\xd3\x2c\x93\x19\x1a\x14\x2b\xd1\xcf\x6a\x35\x90\x80\x45\x14\xb5\x4e\x96\xa9\xa8\x20\xc1\x2c\x5b\x99\x77\x31\x27\x4a\xd3\x84\x3c\x13\x02\x26\xfb\x18\x01\x5d\x32\xb6\x67\x4c\xc9\xd6\x4c\x67\x8d\x80\x2e\x19\xdb\x2b\x9a\x7b\x4b\x7e\xd2\x40\xda\xe6\xff\x5a\x69\x00\x7d\x3f\xfa\x40\x19\xa7\x19\x87\x9d\x63\xd3\x28\xca\x4e\x95\x21\x16\xc1\x46\xc7\x0f\xa0\x32\x6a\x58\x4d\x40\x3c\x30\x25\x45\x0d\xc2\xe8\x4d\xfa\x5d\xf9\x35\xe3\xf0\xd7\x27\xa6\x8d\xee\x3c\xc1\x4b\x6d\xce\x7d\x37\xf1\xea\xdc\x40\xdf\x77\xfd\x6c\x4a\xcd\x72\x25\xcd\xb9\xf1\x93\xfc\x39\x06\xe0\x84\xb5\xb9\x03\x6d\x0d\x5a\xc0\x8c\x2c\xda\x0c\xb4\x90\xa4\x01\xc1\xea\xaf\x9f\x34\xbc\x0b\x80\xf7\x60\x6e\xf1\x29\xa8\x56\x33\x29\xee\xba\x8c\x6a\x96\x5b\x4f\x94\x6c\x49\xc1\x34\x72\x41\x46\x04\x7b\x54\x06\x2f\x16\x8f\x02\xf7\xe6\xee\xb2\x00\xe7\x6b\xf8\x00\x63\xaa\xc4\x5e\xb3\xb2\x15\x05\x94\x4c\x40\xd1\xfd\xf0\xf7\x77\x6f\xde\x72\xaa\xf5\xdf\x6c\xee\xc4\xba\xe1\xa8\x0b\x11\x4e\x6c\x76\x09\x59\x9c\x1c\x58\x43\x15\x2a\x0d\x7f\x5c\x0b\x33\xeb\x87\x7b\xab\x4d\xb6\x64\xe2\x6a\x70\x10\x27\x54\x60\x0d\x55\x8e\xc9\xbe\xbb\x6a\x4c\xbf\x36\x6e\x69\x74\x9f\x35\x86\x34\xbc\xd5\xe4\x55\x63\x48\xcd\x44\xab\xc9\x75\x63\xfa\x7e\xe3\x59\x9d\xb2\x89\x3d\x7f\xe6\x81\x8d\x43\x45\x79\xd9\xcf\x34\x5a\x2c\xc2\x41\xaa\xf6\x4c\xec\x85\x34\xf3\xc0\xb2\xa4\x22\x3f\x3f\xa8\x6c\x3d\xc2\x0a\x99\xd6\xe9\x01\x3d\xb5\x8a\x2f\x25\x10\xa1\x28\x7e\x64\x4b\x68\x51\x90\x9f\x6e\x8e\x04\x03\xbb\x21\xfd\x13\xcb\xd9\x94\x5e\x26\xe5\x7d\x4d\xd5\xfd\x92\x66\x18\xe9\xa7\xe0\x21\xe7\xdc\x6f\x52\xdb\xd6\x60\xda\xa6\x73\x8a\x90\x19\x0e\xfb\x1a\x0c\xb5\x1e\x40\x53\x94\x16\x72\xe8\x92\x71\x24\xe9\x67\xd9\xcd\xd6\x54\x52\x4d\x26\x39\xd0\xa1\x4b\xa2\xb1\xf9\xb4\x21\x4f\xdb\x14\x25\xb6\x0f\x5d\x62\x53\xb5\x33\x34\xdd\x66\xbf\x42\x6e\x02\xa6\xef\x1e\xba\xc4\xb7\xe6\xf8\xf7\x70\x7e\x94\xaa\xd0\x61\x42\xe8\x1f\x3a\xfb\x20\xc7\xe1\x24\x34\xfd\x03\x24\x43\x56\x7e\xb7\xd4\xe1\x21\xe1\x4e\xc8\xd8\x3d\x18\xd5\xc2\x6e\x43\xf0\xa2\xee\x2d\xf8\xd0\xf9\x80\xdc\x75\xd1\x13\x0a\x6d\x1f\x39\xbf\xa3\x4a\x4a\xe1\xc9\xf7\x38\xb9\x64\x1c\xa2\xc9\x43\x17\xc3\x8b\xd0\x7e\x76\x72\xce\x4c\x3c\x79\xe8\x5e\x24\xc9\xd0\xf6\x93\xbf\xe4\x2d\xc4\x53\x5b\xc5\xa3\x99\xa1\x77\x91\x24\xa1\xb9\x3a\x6f\xf0\xdd\x2b\x56\x80\x3d\x85\x5d\x14\x04\x37\x45\x99\x2b\x7c\x47\xea\xd0\x1d\xd1\x71\x24\x0f\x8c\x92\x86\x8a\x42\xe6\x28\x6d\xad\xe2\xda\x9c\x39\x74\x1a\xd5\x49\xa4\xb3\x30\x62\xb3\xa9\x8a\x82\x0c\xa6\xe8\xa7\x9b\xa3\x7e\xf6\x0d\xfe\x97\x87\x7d\x2d\xa5\x11\xd6\x04\x6c\x09\xe5\x5c\x3e\x8e\x76\x00\x8d\x18\x1a\x86\x32\xa0\x4c\x6e\xf5\x04\xb2\x06\xa3\xce\x17\x33\x6f\x20\x0d\x03\x4e\x5c\x46\xb4\x24\x34\x67\xfa\x7a\x2d\x51\x73\xfb\x07\xe7\xde\x75\x61\xe0\x63\x39\x2d\xe4\x4a\xc0\x23\x2b\xe7\xf9\xb5\x69\x16\x48\xa3\x8b\xa8\x67\x0a\x2a\x80\x7b\x4b\x22\x97\x75\x4d\x45\x81\x1a\x54\x6b\x53\x29\xd9\x9e\xaa\xfe\xf6\xfa\xae\x7b\x71\xdd\x6f\x52\xae\x8d\x06\xd3\xf9\xdc\x44\xc1\x28\xc7\x87\x76\xfb\xe9\xe5\x27\x77\xc7\x96\x3e\x8f\xf0\xf4\xf9\x67\x35\xd5\xf5\xdd\x1b\xad\xa1\xce\x38\xcc\x6a\x4b\xbc\xb2\x4c\x71\x6d\x04\x3c\x46\xc6\xb9\x43\x6f\xaf\xef\x02\x55\x7c\xfb\x2d\x3d\xc1\xe1\x5b\xaa\xef\x81\xf3\x9d\x35\x6e\x56\x5c\x0e\xa9\xae\x29\xe7\xa9\xf1\x81\xba\x35\xd3\xf1\x12\x15\x3b\x55\x1c\xfd\x01\x26\x4e\xfb\x9a\xe6\x4a\xe2\x92\xc9\x0a\x78\x7a\xbe\x06\x85\x6f\x71\x64\x52\x9c\xec\xc0\x0e\xf5\xa7\xa1\x99\xde\x51\xa5\xe8\xd9\xe7\x5f\x5a\x6e\x98\x92\x8f\xb3\x49\x01\xbc\x6e\x08\x72\xca\x73\x14\x77\x14\x6b\x6c\xb7\xdc\xfa\xf3\x68\xb2\x58\x43\x4f\x40\xac\x0f\xab\x67\x77\x3e\x21\xe0\xaa\x22\x9b\x2d\x79\x47\xef\x81\x84\x92\x86\x1f\x27\x8f\x52\xdd\x93\x47\x66\x2a\x32\x70\xbf\x16\x9c\x94\xa2\xad\x5f\xdb\xd1\x2e\xb5\x3f\x82\xd6\xf0\xff\xa9\xa9\xc0\xf6\x16\x76\xd0\xca\xf5\x96\xbc\x95\x4a\x41\x6e\x88\x54\x05\x28\x74\xaa\xdd\xb9\x11\x5a\x1a\x50\x24\x1d\xea\x10\x44\x2a\x92\xea\x36\x8b\x0a\x13\xd1\x1e\xc0\x48\xc9\x6d\x82\x79\xc6\x59\x43\x4d\x5e\xe5\x75\x91\x0e\xbc\x5b\x13\xdf\x77\x29\x2b\x5f\x0b\x89\x76\x5a\x43\x9e\xd6\x99\x7c\xea\xfa\xb4\x64\x6e\xd0\xba\x6a\x31\xbb\x5b\xf2\xc6\x2a\x80\xe1\xbd\xe3\xe3\x1f\x48\x92\x0a\x68\xf1\x1f\x38\x36\x33\x9f\x01\xdd\x5a\xc2\xa5\x0d\x9d\x0c\xf7\xeb\x63\xc1\x81\xd0\xf4\x01\xb0\x0f\xe2\x61\x94\xa2\xf5\x97\x1d\x4a\x69\xb3\x7b\xf6\xe0\xe5\x19\xe1\xed\xd5\xf4\xc9\xca\x09\x9e\x4b\xc1\xea\xf4\x1b\x26\x5e\x0b\x6a\x5e\x5b\xe0\x5f\x52\x74\x17\x6c\x33\x6a\xd9\x98\x6e\x82\x87\xc1\xdc\x40\xae\x02\x7c\x1d\x73\x7a\x0e\xfa\x17\x1b\x53\xba\x76\xdc\x9c\x90\xf4\x30\x4b\x73\x7a\x17\x36\x69\x49\x6c\x25\xd0\x7a\x2f\x02\x72\xd0\x9a\xaa\xf3\x8e\x68\x89\x81\x87\x21\xa6\x82\x33\x79\xc4\x58\x57\x48\x43\xe4\x03\xa8\x12\xef\xcf\x54\x60\x8b\x23\x9b\x2d\xa9\xa9\x3a\x31\xa1\x49\x76\x26\x5e\xe9\xec\x6c\xd4\xcc\x0c\x61\xda\xc7\xc9\x8d\xd4\x9a\xe1\x05\x1b\x69\x69\x3c\x2a\x66\xc0\x12\xf1\x53\xf4\x06\x9d\x76\x7c\x6e\xf0\xd4\x70\x96\x33\x43\xbc\x17\x88\x02\xb2\x5e\xdb\xdc\x11\xb7\xb3\x1d\xb9\xbc\xbc\xbc\xeb\x5c\x2d\xe7\x1e\xce\xba\xfb\x86\x89\xbe\xf3\xf5\xcf\x70\x21\x3b\x87\x7c\x18\x8f\x74\x77\x0f\xd0\x44\x85\x5d\x7c\xb8\xef\xc1\x04\x96\x48\xc9\x4e\xad\x02\xd2\x70\x9a\x03\xea\x42\x64\xbe\x32\x59\xb3\xfa\x68\x1b\xfd\xda\xe1\x77\x88\xf2\x11\x67\xd5\xda\xe3\x3d\xd5\xd6\x4a\xa2\x68\x79\x6d\x61\xe1\x93\x77\xa1\x0d\x50\x1b\x1e\x57\xd2\xd8\xd1\x2f\x36\x21\x76\xbf\x91\x59\xab\xcd\xdb\x60\x29\x2a\x74\x14\x6f\x5f\xdd\x75\x2f\x5e\xa5\x81\x42\x87\x86\x1c\x6d\x46\x3f\x4b\x19\x1b\xc5\xee\xc1\x55\xc2\x93\xfd\x9e\x50\xae\x25\xc6\x4b\x85\x55\x7c\x18\x55\xa0\xe3\x04\x13\x4b\xe9\x6a\xb1\x50\xdf\x75\x2d\x87\x1a\xcf\xe9\xcd\x83\x64\x05\x46\x31\x19\x87\x5a\x3b\xad\x96\x6a\xd9\x5a\x63\x8e\xaf\x18\x94\x87\x06\x47\x76\x93\x0e\xf9\x90\x02\xca\xaf\x9c\x4f\xe1\x77\xa0\xbb\x54\x41\x6c\xfa\x90\x52\xdf\x45\x9c\xc7\x91\x05\xd4\xa0\x4e\x20\xf2\xb3\x2f\xa8\xf4\xdd\x27\x50\xbb\x2a\x85\xcb\xde\x58\x29\x6d\x39\xb7\xce\xb9\xde\xa4\xbe\x7a\x31\x50\x37\x78\xfb\x68\x74\x5d\xec\x13\xd3\x66\x06\x6a\x0d\x8d\x8b\x69\x56\xc3\x99\x2b\x1b\xbb\xd8\x6a\xb3\x2d\x7e\xfb\xaa\x57\x28\xd3\xe6\xb2\x15\x06\x54\xa7\x21\x17\x6d\x5d\x40\x63\xaa\xbe\xf3\x45\xdd\x00\xb8\x40\x0f\x63\xe8\x79\x17\xee\xd3\xe0\xbf\x0d\xae\xca\x73\xd4\xf6\x28\xc2\x05\xab\x41\xe0\xa6\x15\xd4\xf2\x01\x48\x28\x25\x3a\xa6\x98\x38\x3d\x93\x47\x71\xb4\x2d\x8c\xcb\xfc\x7e\x8f\x77\xe5\x5d\x12\x2f\x88\x91\xa9\xc0\x67\x3c\xb1\x15\xa4\x54\x00\x7b\x6d\xa8\xc0\x49\x9b\x94\x95\x4f\x23\x7a\x3a\x84\xa4\x43\xba\x88\x83\x49\x25\x2f\x46\x94\xd1\xea\x10\x32\xbb\xf3\x61\xc8\x3a\x3b\x93\x69\x28\xc6\xde\xb4\xb8\xd4\x91\x5d\x38\x66\xec\xf9\xb5\x27\x58\x13\xbb\xb7\xe0\x20\x1e\x1d\x98\x88\x81\x0b\x3e\xd6\xac\x86\xfd\x6c\x02\x3d\x22\x94\x88\xa1\xd3\x25\x43\x73\x9e\x7e\xd2\x7c\xaf\xa0\xd4\xde\x83\x0c\x02\x97\x6b\x5e\x51\x71\xf2\x31\xf6\xe4\x01\x4c\x87\xba\xeb\xcb\x4f\xf1\x51\xce\x26\xdb\xaf\x2e\xac\xe6\x5b\x4c\x8e\x86\xec\xd3\x99\x4f\x05\x61\xd4\x19\x3d\x7d\x26\x4e\xad\x60\x06\xc5\xcc\xb0\x1a\x34\xb1\x23\x7b\x3f\x34\x27\xbb\x98\x36\xbe\x1a\xbb\x42\xec\x56\xbe\x7d\x7f\xbc\x81\x12\x14\x88\x1c\x34\xaa\x2e\xb2\x25\x2f\xae\x89\xdb\xd6\x69\xcf\x70\x67\x3b\xf2\xe2\x95\x5b\x91\x84\x15\x49\xb7\x25\x85\x14\xff\x86\x6a\x06\x51\xc6\xcf\x2b\xf4\xe6\xf7\xd2\x13\x5b\x62\x5a\x25\x88\x14\x61\x95\x40\x83\x95\x96\x4c\x4d\xae\xd1\x60\x5d\xbb\x9c\xba\x2c\x0a\xf2\xe2\x7a\x2a\xc3\xa1\x1e\x8f\x0a\xbf\xa1\xaa\x4b\xc7\x5b\x38\x4c\x2f\xc5\x4f\x08\xb9\x6d\x5c\x5c\x83\x99\x6f\x66\x3d\x5f\xf2\xe2\xd5\xea\x61\x6e\x48\xbf\xdd\x10\xb4\x72\x73\x9f\x75\x1a\x35\xbc\x7d\x7f\xfc\x12\x5f\xb6\x0f\x19\xd2\xaa\x64\x9c\xa7\x36\x43\xb1\xc4\x3c\x42\x69\xde\x59\xfb\xed\xe4\xbd\xa1\x2a\x93\x4f\xb7\xe6\x6e\x21\x27\x68\x48\x16\xd3\x6f\x50\x91\x7e\x27\x50\xcd\x2e\xe6\x0f\xfe\x0d\xd9\x93\x15\x62\xcf\x71\xf4\x9d\xbb\x34\x4b\xad\xb2\xd1\xe6\x5c\xde\x31\x0c\x9a\x54\x0c\x9d\xb9\xd9\x7b\x1f\xc1\x05\x15\x53\x50\x32\x2d\xe5\xf9\xa4\x46\x54\x65\xda\x92\xa3\xa4\x05\x69\x24\x3f\x9f\x38\xfa\x2a\x94\x50\x4d\x38\x35\x80\xbf\xc1\x7b\xf9\x02\xed\xa4\x26\x19\x2b\x98\xb3\x6d\x37\x1f\x8e\x04\x89\x59\xff\xe9\x25\x5c\x9e\x2e\xc9\xb7\x90\x29\x78\xdc\x91\x37\x8a\x66\x2c\xbf\x98\x15\xa6\xa3\x05\xfa\xa8\x34\x1c\xc2\x2a\x17\x92\x46\x48\xf6\xbb\xb8\xa8\x96\xf9\xdc\xd0\x32\xd1\xbd\xc0\x74\x95\xd2\xcd\x62\x05\xeb\xa1\x20\x86\x1e\x6a\xbb\x03\x68\x9d\xa7\x71\xc6\x33\x9c\x2d\x11\x3e\xce\x5f\x84\x1f\xb8\x0c\xd7\x35\x68\xf3\x79\xdc\xee\x3e\x1b\x8c\x99\x4f\xe6\xa0\x71\x3d\x3c\xe3\x43\xfc\xa5\xe1\x5d\x67\x3b\xe8\xc9\x9c\xc0\x10\xc5\xac\x9f\x15\xb6\xbc\x47\x9f\x90\x95\x2c\x27\xba\x92\xca\x54\xe8\xa1\x90\x97\x1a\x80\xbc\xf8\xec\xf3\xeb\xff\xbc\xf8\x62\x63\x95\xc2\xd1\xa3\xbf\x47\xa4\x6f\x11\x29\x0d\x14\xc6\x79\xce\x3d\x5c\xc2\x5f\x5c\xfb\x4c\xaf\xe3\x6a\x7c\x05\x3a\xfe\x2c\x32\x02\x27\xd3\x0a\x59\x68\x47\xd5\xbf\xe9\x57\x25\x5c\x48\xce\x4e\x3d\x89\x12\x38\x8c\x73\x38\x51\x3e\x56\xb7\x86\x62\x9b\xfb\xb4\x74\xf9\x20\xac\xa8\xaf\xbc\x04\x6c\x33\x43\x6a\x59\xb0\x92\xa1\x5d\x40\xd1\x0f\x71\xd1\x8c\x15\xf7\xe5\xa9\xb7\xda\x63\x15\xea\x03\xfc\xfc\x33\x7c\xd0\x86\x1a\x38\x5c\xfb\x32\xff\xa0\x08\x6e\x8e\x4e\x03\xd8\x0f\xad\x6e\xc8\x8b\xeb\x14\x44\x71\xd3\xcf\xd1\x8e\x37\x11\xda\xd1\xa3\x1d\x03\x5a\x6c\x6f\x6e\x3e\x1c\xfb\x40\xae\xef\x26\xd4\x62\xb4\xe3\x87\x9b\x80\x76\x74\x68\xc7\x99\xa1\xb7\x5f\x19\x9a\x8c\x65\xf3\x2f\x8a\x1c\x34\xc8\xfb\x5d\xe7\xfa\xfd\x26\x8d\xb3\x41\xde\x15\xc0\x6b\xb7\xd0\xbd\x77\x14\x92\xb8\xeb\x1d\xc2\x86\x53\x26\x04\x35\x91\x5f\x18\x39\x74\x2c\xb3\x1f\x01\xcf\xb9\x58\x50\x76\xb9\x99\x29\xfd\x9d\xa7\xe4\x1e\x92\xa7\x34\x3e\xe5\x19\x64\xf1\x76\xc3\xb8\x57\x26\xf1\xfe\x90\x1d\x5a\x14\x19\xcb\x14\x68\xd9\xaa\x1c\xba\x24\x1e\x9f\x7c\x54\x11\x1f\xa9\xcc\x99\x81\x3d\x2b\x9c\x17\x64\x7b\x2e\xb7\x17\x8f\x24\xcc\x2c\xd2\xc0\x33\x57\xca\x95\x9a\xe6\x89\x19\x0f\x1e\x91\xc7\x34\x3a\xa2\xda\x86\x4f\x9e\x27\xae\xd2\x48\x6d\x26\x39\x75\x8d\x2e\x71\xbf\x49\xbf\x7a\x17\xba\xcd\x02\xa9\x35\x5f\xfb\x8f\xa5\x57\x66\x21\x4a\xa0\x69\xe5\xdb\x55\x1b\x02\x08\xc3\x50\x3b\xdb\xf6\x50\x88\x69\xd3\x18\x99\xd7\x45\x97\xbe\x76\x93\xac\x21\x26\x5d\xca\xa9\x3a\x01\xfa\x55\x36\x1b\xe3\xd2\x31\xcf\x84\xa6\xc3\x8a\x36\x67\xef\x8e\x22\x0a\xbf\x5c\x89\xc0\x5d\x89\x6b\x5f\x24\xbe\x6e\xe0\xae\x84\xa4\x18\x2c\x8c\xd7\x92\x16\x14\xaf\x10\xff\xae\x7d\xdb\x8c\xd1\x2d\x33\xad\xcb\x13\x0f\x1d\x47\x3f\x1a\x4b\x86\xf6\xfa\x2a\x93\x3c\x21\xf2\xec\x75\xd0\x70\xab\xbe\xdf\xcd\x33\x08\xfe\xb6\x7d\x37\x99\xc5\xc8\x5c\x9e\xa4\x4d\x87\xca\x93\x5c\x99\x8a\xe0\xc9\x94\x20\x55\xfe\xc3\xd0\xe1\xab\x7b\xff\xe1\xb9\xde\x97\x4a\x0a\x53\x53\xbc\x6b\xa4\x1b\x75\x97\x5b\x58\x24\xbb\xfd\x17\x96\x76\xd0\x7d\x5c\x19\x17\x05\x9d\x14\x4c\x4a\x3d\x99\x36\x8a\xda\x6a\x8c\x67\x28\x40\xfa\x4d\x12\x9a\x68\x5a\x45\x11\x8f\xcc\x37\xe3\xef\xc2\xee\x7d\x9f\x41\x29\x95\x63\x6d\x02\x41\xbc\xd8\xb5\x32\x32\xbf\x18\x5a\xfb\xe1\x85\xc5\x71\xd6\xbf\xa7\xb9\xfd\x1c\xd1\xd8\xff\x7e\xe8\x92\x01\x71\xae\xe2\x86\x03\x70\x9b\xb0\xc7\xd0\xdf\xda\x02\x82\x6d\xbb\xaa\xdb\xdd\x62\xb5\xf0\x51\x6a\x78\xd6\x2b\xf4\x09\x71\xa9\x55\x59\x06\x5e\x6e\x2b\x56\x00\xe5\x7c\xfc\x8e\x55\xdf\xb9\x23\x72\xeb\x86\x33\xef\x56\xfe\xbf\x23\xaa\xcf\x8d\x55\x26\xcf\x55\x28\xd8\x84\xa6\x57\xee\x0b\x45\x12\x47\xfb\x46\xe6\x21\x71\x80\xcc\xbb\x2c\x41\xbf\x99\xb3\xfc\xcc\x37\xb6\x5c\x96\x56\x76\x99\x36\xb2\x74\x39\x29\x3d\x43\x30\x23\x82\xcb\x12\x7f\xec\x5b\x55\x0d\xc6\xf7\xba\x24\x1a\x9a\xdd\xd6\x8a\x94\xa3\xd7\x35\x17\xf2\x4c\x16\x67\xaf\x7e\x57\x66\x64\x34\xbf\x5f\x79\x16\x83\xc1\x1d\xcd\xdb\x60\x6e\x22\x8b\x17\xbf\x1e\x24\x9e\x57\xb4\x31\xa0\xf4\x5c\x00\xd1\x22\x3b\xd1\x8b\x27\x46\x89\x97\x09\xb2\x82\xf2\x19\xe4\x8f\x95\x82\x3e\x2e\xb2\x0b\x62\x84\x4c\xdc\x04\xa3\x5a\x88\x65\x35\x1e\xeb\x56\x8c\xee\xd4\xc6\x2e\x4a\x5f\x13\xce\x26\x22\x1d\x9e\xfa\xda\x5e\x46\x0f\xe3\x4f\xdf\x9a\xfd\x58\x88\x09\x13\x0f\xdc\xfa\x4c\xd4\x41\x48\x01\xab\x4f\x6f\x39\x67\x79\xf9\xb7\xae\x12\x3e\x65\xe2\x6e\xa9\xdb\xe2\xf8\x31\x68\x34\x5b\x29\x89\x55\x9c\x05\xc4\x1a\xce\x32\x35\x68\xf7\x7f\x04\x00\x00\xff\xff\x6d\xfa\x9b\x61\x8e\x36\x00\x00") func complyBlankTemplatesDefaultLatexBytes() ([]byte, error) { return bindataRead( @@ -277,7 +277,7 @@ func complyBlankTemplatesDefaultLatex() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-blank/templates/default.latex", size: 7649, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-blank/templates/default.latex", size: 13966, mode: os.FileMode(420), modTime: time.Unix(1634559524, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -297,12 +297,12 @@ func complyBlankTemplatesIndexAce() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-blank/templates/index.ace", size: 7596, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-blank/templates/index.ace", size: 7596, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _complySoc2ReadmeMd = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x54\x41\x8f\xdc\x36\x0f\xbd\xeb\x57\xf0\xc3\x5c\x12\x20\x98\x39\x7c\xb7\xdc\xd2\x2c\x8a\x16\x48\xd3\x45\x67\x6f\x45\x01\xcb\x12\x6d\x13\x23\x4b\x2e\x45\x79\xea\x06\xf9\xef\x05\x65\x7b\xbc\x28\x16\x9d\xd3\xc8\xa2\xc8\xf7\x1e\xf9\x78\x82\x6f\xdf\xce\x5f\xed\x88\xdf\xbf\xc3\xe7\x34\x4e\x81\x6c\x74\x08\xcf\x9c\x7a\xb6\xa3\x31\x2f\x03\x65\x60\x9c\x52\x26\x49\xbc\x80\x4b\x31\xa7\x40\xde\x0a\x66\xb0\x21\x80\x4f\xae\x8c\x18\x45\xa3\x82\x15\xf4\x20\x09\x64\xc0\xff\xcc\x7b\x36\xe6\x04\x57\xe1\xe2\xa4\x30\x1a\xf3\x2a\xe2\xc8\x67\x19\x21\x71\x6f\x23\xfd\x8d\x1e\x6c\x86\x2e\x85\x90\xee\xf9\xa3\x31\x4d\xd3\x98\x68\x99\xad\xd0\x8c\xf9\x02\xfa\xfb\xfa\x38\xc3\xc4\x69\x26\x8f\x60\x23\xa4\x19\x79\x26\xbc\x43\xea\x2a\xaa\x2d\xa1\x15\x4a\x11\x6c\xf4\xf5\xa3\x3b\xca\x63\x9c\x89\x53\x54\x04\x67\x33\xa5\x40\x8e\xf6\x02\x00\xcf\xdb\x19\x7a\x4d\x1b\xeb\xdb\x16\x07\x3b\x53\x62\x2d\x80\xe3\x14\xd2\x82\xaa\x4c\xf4\x2a\x95\xb0\x75\x92\x38\x9f\xcd\xc4\xc9\xa1\x2f\xbc\x27\x7b\x7e\x9c\x61\x62\xcc\x8e\xa9\x45\xc8\x13\x3a\xea\xc8\x41\x16\x9c\x32\xc8\x60\xa5\xaa\x20\xf6\x86\x11\x28\x02\x63\x9e\x52\xcc\xa8\x1a\xdf\x70\x01\x9c\x55\xa9\xb3\xc9\x62\xa3\xb7\xec\x77\xa4\xd7\xfd\xbc\xa5\x5c\x36\x9a\x51\x38\x85\x0c\xd9\x0a\xe5\x8e\xd0\x43\xbb\xfc\x5b\x80\x69\xef\x90\x28\x1b\x6d\xf3\x96\xf3\x65\x3f\xef\x79\x56\x3d\x8b\x4c\x45\xa0\x4b\x3c\x5a\xd9\x45\xfe\xe9\xe5\x97\x2f\xf0\x64\xf3\xd0\x26\xcb\xbe\x8a\xf1\xfc\xf4\x23\xd8\x9c\x51\xd1\x6a\xf7\xcc\x09\x7e\x28\x14\x3c\xc5\xde\x98\x4f\xf5\xa2\x52\x6d\x0b\x05\x81\x92\x29\xf6\xf0\x7b\x53\x71\x2d\xcd\x1f\xef\x06\x91\x29\x7f\xbc\x5c\xd6\x0f\xe7\x2c\x9c\x62\xef\xc7\xb3\x4b\xe3\xfb\x0f\x70\x1f\xc8\x0d\xe0\x6c\x84\x16\x81\x62\x16\x1b\x02\x7a\x98\xc9\x42\xd3\x32\xde\xf7\x6f\xb0\xe5\x83\x77\xa3\x75\xbf\x5e\xdf\x43\x62\x68\xfa\x04\x3d\x0a\xf4\x24\x43\x69\x35\xe1\x65\xcf\xbe\x55\xab\x60\x9f\x4b\x1b\x28\x0f\x15\xee\xcb\x80\xd0\xac\xc4\x2f\x0d\x78\x62\x74\xbb\x37\xc4\x52\x5c\x7d\xd1\x63\x44\xae\x7e\xd8\x68\xc3\x17\x8a\xb7\xac\x5d\x7c\x48\xe4\x0f\x89\x56\xf7\xd0\x8c\x1f\xaa\x5c\xd5\x59\x38\x61\xf4\x18\xeb\xc4\xa9\x36\x14\x5d\x28\x7e\x23\xb6\x96\x85\xcf\x4f\x5f\x81\xb1\x43\xc6\xe8\x30\x9f\x41\xb1\x61\x14\xe2\xb7\x21\xca\x80\x8c\x5d\x62\x84\xd1\x2e\xaa\x56\x99\x42\xb2\x7e\x75\xad\x8d\x70\xfd\x3f\xb4\xc5\xdd\x50\x54\x9a\xa4\xd1\x90\xc5\x0a\xb9\x95\x05\x0c\x29\x0b\xdc\x49\x86\xa4\x4d\x2f\x5c\x23\xc6\xe4\x75\x6a\xab\xa7\xaa\xb3\x8f\xd6\x5f\xc5\x4a\xc9\xc6\x3c\xc6\x1d\xd4\x12\x37\xed\x2e\x65\x28\x93\xaf\x0a\xdd\x07\x8c\x38\x23\xc3\xd6\x70\xc8\x4b\x74\x8d\x46\x50\x9c\xd3\x0d\xfd\x19\x7e\xae\x7f\xc0\xd6\x2b\x98\x58\x1d\x27\xe9\xf1\x40\xc7\xc6\x37\xfa\x65\x13\xa9\x8a\x3c\x2a\x5a\x57\x98\x31\x0a\x08\x55\x5e\xb9\x22\xaa\x30\x0f\x50\x57\x37\xa0\x2f\x01\xd9\x98\x4f\x71\x81\xe6\x95\x5b\x9b\xd5\x86\x7b\x5a\x0b\x8d\xe3\x14\x1b\xc8\xdb\x13\xb8\x53\x08\x60\x8b\xa4\x51\x75\xb2\x21\x2c\xe0\x18\x2b\x2f\x8a\xb0\xa4\xc2\x3a\x18\x1d\xf5\x85\x55\xe6\x8a\x42\xf9\xe7\x25\x0b\x8e\x6f\x70\xdf\xb1\x54\x01\xf0\x2f\x74\x45\x54\x01\xed\xec\xe3\x6e\xad\xda\x5a\x77\xeb\x6a\xf9\xb8\xd4\x4d\xe7\x0b\x6e\x15\x56\x86\x4f\xa8\x0b\x49\x97\x19\xfc\x86\x2e\x8d\x23\x46\x5f\xdb\x64\xcc\x21\xa8\x63\x9a\x04\x32\x8d\x14\x2c\xef\xdb\x7b\xdd\xb5\x8a\xd3\x0a\x04\xb4\x59\x20\xd5\xf5\x80\x0c\xde\x2e\xdb\x0e\x3e\xfd\xef\xd2\x52\xbc\xb4\x36\x0f\xe6\x64\x4e\xba\xca\x18\xff\x2c\x94\x49\x30\x7f\x34\x27\x00\xf5\x15\x58\xe7\x30\xe7\x7a\x3c\xf8\xef\xa2\xac\xab\x98\xe2\x66\xce\xf3\x32\x86\x1a\xb9\x4e\xe6\x39\x0f\x0a\x69\x5a\xed\xb7\x0f\xa3\xe6\x37\x27\x65\xa8\xd6\xad\x5b\x49\x60\xdf\xd6\xd5\x40\x47\x07\x8d\x22\x98\x4a\x08\x1a\xbe\x4e\xdc\xeb\x2e\xac\x03\xfa\x6a\xee\x34\x4c\x98\xfa\x1e\x79\x6d\xa4\xc2\x4b\xdd\x43\xfb\xbd\x87\xc7\xa3\x63\x78\x4e\xeb\x20\x6e\x88\xcc\xeb\xe1\xd4\xcb\x37\x58\x40\xc7\x69\xdc\xb6\xe8\xe5\x30\xaa\x39\xd8\x6f\x77\xaa\xf7\x3f\x01\x00\x00\xff\xff\x61\x8f\x5d\x05\xad\x07\x00\x00") +var _complySoc2ReadmeMd = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x54\xc1\x8e\xe3\x36\x0c\xbd\xeb\x2b\x58\xe4\xb2\x0b\x0c\x92\x43\x6f\x73\xdb\xee\xa0\x68\x81\xed\x74\xd0\xcc\xad\x28\x60\x59\x62\x6c\x22\xb2\xe4\x52\x94\x53\x77\xb1\xff\x5e\x50\xb6\xe3\x41\x31\xd8\x9c\x22\x8b\x22\xdf\x7b\xe4\xe3\x01\xbe\x7e\x3d\x3e\xdb\x01\xbf\x7d\x83\xcf\x69\x18\x03\xd9\xe8\x10\x5e\x38\x75\x6c\x07\x63\x5e\x7b\xca\xc0\x38\xa6\x4c\x92\x78\x06\x97\x62\x4e\x81\xbc\x15\xcc\x60\x43\x00\x9f\x5c\x19\x30\x8a\x46\x05\x2b\xe8\x41\x12\x48\x8f\xdf\xcd\x7b\x34\xe6\x00\x67\xe1\xe2\xa4\x30\x1a\xf3\x26\x62\xcf\x67\x19\x21\x71\x67\x23\xfd\x8b\x1e\x6c\x86\x4b\x0a\x21\xdd\xf2\xa3\x31\x4d\xd3\x98\x68\x99\xad\xd0\x84\xf9\x04\xfa\x7b\xbe\x9f\x61\xe4\x34\x91\x47\xb0\x11\xd2\x84\x3c\x11\xde\x20\x5d\x2a\xaa\x35\xa1\x15\x4a\x11\x6c\xf4\xf5\xa3\xdb\xcb\x63\x9c\x88\x53\x54\x04\x47\x33\xa6\x40\x8e\xb6\x02\x00\x2f\xeb\x19\x3a\x4d\x1b\xeb\xdb\x16\x7b\x3b\x51\x62\x2d\x80\xc3\x18\xd2\x8c\xaa\x4c\xf4\x2a\x95\xb0\x75\x92\x38\x1f\xcd\xc8\xc9\xa1\x2f\xbc\x25\x7b\xb9\x9f\x61\x64\xcc\x8e\xa9\x45\xc8\x23\x3a\xba\x90\x83\x2c\x38\x66\x90\xde\x4a\x55\x41\xec\x15\x23\x50\x04\xc6\x3c\xa6\x98\x51\x35\xbe\xe2\x0c\x38\xa9\x52\x47\x93\xc5\x46\x6f\xd9\x6f\x48\xcf\xdb\x79\x4d\x39\xaf\x34\xa3\x70\x0a\x19\xb2\x15\xca\x17\x42\x0f\xed\xfc\x7f\x01\xc6\xad\x43\xa2\x6c\xb4\xcd\x6b\xce\xd7\xed\xbc\xe5\x59\xf4\x2c\x32\x16\x81\x4b\xe2\xc1\xca\x26\xf2\x2f\xaf\xbf\x7d\x81\x27\x9b\xfb\x36\x59\xf6\x55\x8c\x97\xa7\x9f\xc1\xe6\x8c\x8a\x56\xbb\x67\x0e\xf0\x53\xa1\xe0\x29\x76\xc6\x7c\xaa\x17\x95\x6a\x5b\x28\x08\x94\x4c\xb1\x83\x3f\x9b\x8a\x6b\x6e\xfe\xfa\xd0\x8b\x8c\xf9\xf1\x74\x5a\x3e\x1c\xb3\x70\x8a\x9d\x1f\x8e\x2e\x0d\x1f\x1f\xe0\xd6\x93\xeb\xc1\xd9\x08\x2d\x02\xc5\x2c\x36\x04\xf4\x30\x91\x85\xa6\x65\xbc\x6d\xdf\x60\xcd\x07\x1f\x06\xeb\x7e\x3f\x7f\x84\xc4\xd0\x74\x09\x3a\x14\xe8\x48\xfa\xd2\x6a\xc2\xd3\x96\x7d\xad\x56\xc1\xbe\x94\x36\x50\xee\x2b\xdc\xd7\x1e\xa1\x59\x88\x9f\x1a\xf0\xc4\xe8\x36\x6f\x88\xa5\xb8\xf8\xa2\xc3\x88\x5c\xfd\xb0\xd2\x86\x2f\x14\xaf\x59\xbb\x78\x97\xc8\xef\x12\x31\x2e\xfe\xa1\x09\x1f\xaa\x60\xd5\x5b\x38\x62\xf4\x18\xeb\xcc\x69\x08\x45\x17\x8a\x5f\xa9\x2d\x85\xe1\xf3\xd3\x33\x30\x5e\x90\x31\x3a\xcc\x47\x50\x74\x18\x85\xf8\x5d\x90\x0f\x5a\x9d\xf1\x92\x18\x1f\x60\xb0\xb3\x2a\x56\xc6\x90\xac\x5f\x9c\x6b\x23\x9c\x7f\x84\xb6\xb8\x2b\x8a\xca\x63\x63\xd2\x07\x90\xc5\x0a\xb9\x85\x0b\xf4\x29\x0b\xdc\x48\xfa\xa4\xad\x2f\x5c\x23\x86\xe4\x75\x76\xab\xb3\xaa\xbf\xf7\x01\x38\x8b\x95\x92\x8d\xb9\x0f\x3d\xa8\x31\xae\xda\x63\xca\x50\x46\x5f\x75\xba\xf5\x18\x71\x42\x86\xb5\xed\x90\xe7\xe8\x1a\x8d\xa0\x38\xa5\x2b\xfa\x23\xfc\x5a\xff\x80\xad\x57\x30\xb2\xfa\x4e\xd2\xfd\x81\x0e\x8f\x6f\xf4\xcb\x2a\x54\x95\x7a\x50\xb4\xae\x30\x63\x14\x10\xaa\xcc\x72\x45\x54\x61\xee\xa0\xce\xae\x47\x5f\x02\xb2\x31\x9f\xe2\x0c\xcd\x1b\xcf\x36\x8b\x19\xb7\xb4\x16\x1a\xc7\x29\x36\x90\xd7\x27\x70\xa3\x10\xc0\x16\x49\x83\xea\x64\x43\x98\xc1\x31\x56\x5e\x14\x61\x4e\x85\x75\x3c\x2e\xd4\x15\x56\xa1\x2b\x0a\xe5\x9f\xe7\x2c\x38\xbc\xc3\x7d\xc3\x52\x05\xc0\x7f\xd0\x15\x51\x05\xb4\xbb\xf7\xbb\xa5\x6a\x6b\xdd\xf5\x52\xcb\xc7\xb9\xee\x3b\x5f\x70\xad\xb0\x30\x7c\x42\x5d\x4b\xba\xd2\xe0\x0f\x74\x69\x18\x30\xfa\xda\x26\x63\x76\x41\x1d\xd3\x28\x90\x69\xa0\x60\x79\xdb\xe1\xcb\xc6\x55\x9c\x56\x20\xa0\xcd\x02\xa9\x2e\x09\x64\xf0\x76\x5e\x37\xf1\xe1\x87\x53\x4b\xf1\xd4\xda\xdc\x9b\x83\x39\xe8\x42\x63\xfc\xbb\x50\x26\xc1\xfc\x68\x0e\x00\xea\x2e\xb0\xce\x61\xce\xf5\xb8\xf3\xdf\x44\x59\x16\x32\xc5\xd5\xa2\xc7\x79\x08\x35\x72\x99\xcd\x63\xee\x15\xd2\xb8\x98\x70\x1b\x46\xcd\x6f\x0e\xca\x50\x0d\x5c\x77\x93\xc0\xb6\xb3\xab\x89\xf6\x0e\x1a\x45\x30\x96\x10\x34\x7c\x99\xb8\xb7\x5d\x58\x06\xf4\xcd\xdc\x69\x98\x30\x75\x1d\xf2\xd2\x48\x85\x97\x2e\x77\xed\xb7\x1e\xee\x8f\xf6\xe1\x39\x2c\x83\xb8\x22\x32\x6f\x87\x53\x2f\xdf\x61\x01\x17\x4e\xc3\xba\x4b\x4f\xbb\x59\xcd\xce\x7e\xbd\xab\x7a\xff\x17\x00\x00\xff\xff\xc7\x04\x8a\x4e\xb4\x07\x00\x00") func complySoc2ReadmeMdBytes() ([]byte, error) { return bindataRead( @@ -317,7 +317,7 @@ func complySoc2ReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/README.md", size: 1965, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/README.md", size: 1972, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -337,7 +337,7 @@ func complySoc2TodoMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/TODO.md", size: 1429, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/TODO.md", size: 1429, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -357,12 +357,12 @@ func complySoc2NarrativesReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/narratives/README.md", size: 96, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/narratives/README.md", size: 96, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _complySoc2NarrativesControlMd = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x56\x4d\x6f\x1b\xc9\x11\xbd\xcf\xaf\x28\x40\xc0\x26\x01\x44\x26\xf6\xee\x02\x81\x6e\x0a\xa5\x04\x0e\xbc\x96\x60\x09\xde\x83\x91\x43\xb1\xa7\x86\xac\xa8\xa7\x6b\xb6\xab\x9b\xf2\x64\xe1\xff\x1e\x54\xf7\x70\x38\xb4\x2d\x38\x97\x9c\x38\xec\x9e\xa9\x8f\xf7\x5e\x7d\x04\xec\xe9\x0a\x36\x12\x52\x14\x0f\xb7\xe1\xc0\x51\x42\x4f\x21\xc1\x3b\x8c\x11\x13\x1f\xa8\x41\x17\x25\x8c\xfd\x15\x6c\x6e\xdf\x35\x8a\x89\xb5\x63\xd2\xab\x06\xe0\xf1\x61\x63\x3f\x00\x2b\xd8\x6c\x5e\xaf\x5f\x2d\x9e\x5f\x2f\x9e\x7f\x9c\x9f\x7f\x5a\xbc\xf3\xd3\xe2\x9d\x9f\x17\xe7\x3f\x9f\x9d\xff\xd8\xf4\xf8\x6f\x89\xef\xe9\xc0\xca\x12\x8a\xdb\x15\xb4\x98\xe8\x0a\xfe\x99\x03\xbc\x82\xd7\x7f\x79\xf5\xd7\xf2\x81\x93\xde\x22\xbf\x82\x37\x81\x13\xa3\x87\x56\x5c\xb6\x93\x66\xb5\x5a\x35\xcd\xc5\x77\xd2\x6c\x1e\xf7\x04\x9d\x78\x2f\xcf\x1c\x76\x30\x44\x39\x70\x4b\x0a\x08\x2d\xa9\x8b\x3c\x24\x96\x00\xd2\x41\xda\x13\xb8\xc9\x94\xa6\x98\x5d\xca\x91\xec\xe2\xf7\xdf\xd7\xef\xb0\xa7\xcf\x9f\xd7\xd5\x18\x87\x64\x2e\xca\x27\xac\x67\x66\x58\x21\x09\x50\xc8\x3d\x45\x4c\x54\x6c\x7a\xd9\xb1\x43\x7f\x09\x83\x78\x76\xe3\x25\x60\x68\x2d\x0c\x47\x6d\x8e\xe8\x8f\x3e\x15\xd2\x1e\x13\x28\xc5\x03\x99\x91\x5e\x02\x27\x89\x27\xef\x7f\x50\xc0\x61\xf0\xec\xb0\xb8\x32\x2b\x2d\x26\x04\x25\x97\x23\xa7\x71\x0d\x9b\x3d\x86\x1d\x29\xe4\xe0\xe4\x40\x91\x5a\xd8\x8e\x16\x82\xd2\xec\x8f\x14\x38\x7c\x3b\xac\x53\x48\x97\x20\x11\x5c\xd6\x24\x3d\x45\xa0\x05\xac\x18\x09\xb0\x6d\x23\xa9\x56\xeb\x91\x7a\x6a\xb9\x44\xa4\xa0\x03\x39\xee\xd8\x59\xf8\xe6\x22\x48\xa2\x16\x5c\x89\x6a\x6d\x4c\xbd\xad\x3e\x8f\x8c\x69\xd3\xcc\xd9\x01\xf5\x83\x97\x51\x41\xe9\x40\x06\xcb\x14\xdf\x02\x1e\xb1\x10\x13\xb9\x64\x67\x1d\xb7\x14\xaa\x1c\x0c\x04\x43\x83\x82\x1a\x63\x41\x62\x8f\x1e\x64\x30\x0a\x26\x6e\x39\x29\x38\x89\x05\x87\x36\xbb\xb4\x6e\x9a\x15\xfc\x82\xa1\xc5\x24\x71\xac\x26\x28\xb8\x38\x56\x1a\x31\x41\x24\x4d\xc5\x2a\x07\xe8\xc5\x4e\xed\x8b\xec\x13\xaf\x3a\x74\x46\x0c\xe6\xb4\xb7\x10\x26\x3e\x3a\x3b\x72\x8e\xb4\x44\xea\xbc\x64\xfb\xb6\x8b\x38\x6b\xa9\x59\xc1\xb5\x4b\x7c\xe0\x34\x16\xcb\x18\xa4\x47\x3f\x1e\x99\x36\x75\x4a\x38\x46\x68\x26\x75\xd4\x44\xbd\x36\x2b\xf8\x90\x7d\xa0\x88\x5b\xf6\xf6\x71\x8f\x01\x77\x54\x08\x19\xa2\xec\x22\xf6\x06\xee\x7d\xe1\xf1\x7f\xc2\xb6\x52\xfe\x7f\x82\x16\x1e\xab\xe2\xcc\x07\x17\xbd\x39\x9f\x5b\xba\x84\x6d\xae\x02\x0a\x92\xc0\x73\xcf\x26\x8e\x24\x57\x4d\xc1\xa5\x00\x77\xac\xe4\x9a\x4a\xb3\x82\xdb\x13\x27\xf3\xd9\x5d\xd7\xb1\x23\x78\x98\x64\x7f\xba\xb8\x47\xd5\x67\x89\xed\xe2\xa4\xe6\xf9\x18\x91\x83\xc1\x3b\x5f\x7c\xa0\xd0\x4a\x3c\xfd\xff\x55\xe2\x93\x26\x5c\x3a\x32\x44\x4f\x45\xfa\x2d\x54\xf7\xa8\x50\x2a\x5d\xb2\x82\xba\x3d\xb5\xd9\x53\xbb\x2c\xb5\x45\x19\x1b\x8a\x29\x87\xda\x12\xa8\xeb\xc8\x94\x40\xc1\xb2\x96\x0e\x24\xec\xc4\x02\x3c\xd6\xf2\x4c\x4d\xed\x16\x56\xe4\xd1\xb0\x94\x0e\xe8\x40\x21\xad\xda\x68\x5f\x7f\xe1\x2b\x92\x0e\x62\x7e\x64\x36\xb4\x8a\xe4\xd1\x80\x2e\x9f\xa9\x75\xb0\xbb\x9b\xbb\x2b\xf8\x3b\x07\xf4\xfc\x1f\x9a\xda\x83\x67\x4d\xda\x34\x17\x17\xf0\x30\xe7\x31\x03\x6c\x11\x5c\xe7\x96\xd3\x0c\x08\xa9\x91\x66\xcd\x9b\x9e\x8f\xdc\x7d\xfc\x2d\x63\x4c\x14\xfd\xf8\xaf\xd3\xdd\x6c\xe3\xad\xec\x14\x3e\x3e\x13\x3d\x9d\xdd\x6f\xc6\x2d\x45\x78\xcf\xfa\x04\xd7\xaa\xa4\x5a\x44\xfd\xc7\x53\x03\x1d\x44\x95\xb7\xde\x3a\x73\x3f\x44\xe9\x59\x09\xd4\x51\xc0\xc8\xa2\x7f\xfa\xb6\xd3\x1b\x53\xed\xc6\xa3\xaa\x35\xa3\x4a\xea\xf9\x8b\x7f\x43\xf7\x94\x07\x78\x24\x4d\x86\xfa\xf9\xe5\x0d\x2b\x6a\xb2\xb0\xa8\xb4\xd1\xf1\xf4\x9e\x52\xcf\x2b\x0c\x21\xa3\x5f\xfa\xa3\x03\x3b\x52\xf8\x61\x29\xa3\x17\x00\xf9\x01\x36\x9e\x30\xc2\x5b\x79\x5e\xdd\x47\x96\x02\xce\xb5\xa7\x98\xce\xe0\xb9\x1e\x06\x3f\xc2\xdd\x03\xdc\x63\x72\x7b\x52\xf8\xd8\x4b\x48\xfb\x7a\xf9\x81\x22\x77\x63\x4d\xf3\x86\x75\x10\xb5\x92\x2e\x01\xdb\x60\x3a\x69\xf8\x8b\x10\x36\x12\xac\x40\x4f\xa4\xcc\x75\xf1\xf1\xab\x9c\xe6\x77\x7e\x39\x35\xa7\xa2\x03\x0b\xd5\xfe\x6c\xac\x4f\xec\x72\xfc\x16\xbc\xf7\x14\x28\x4d\x37\x86\xdd\xd2\xfe\xaf\x7b\x4e\xb4\x95\x4f\x27\x0f\x93\xc7\xc5\x3b\x0f\x77\x9b\xd7\x93\xe2\xe6\x53\xd3\xe6\x6d\x91\xfe\x4d\x95\xfe\x77\xe5\x79\x17\xb6\x82\xb1\x85\xdb\xd2\xfc\x88\x6a\xeb\xf8\xea\xec\x4d\x38\x18\xbd\x3b\x53\xdb\x6c\xb3\xa4\xf9\xd2\xe5\x9b\xe0\x4a\x87\xb4\x16\xf1\x7e\x31\xff\x96\xbd\x21\xab\x95\xe4\x9e\x40\x72\x72\xd2\xd7\xd2\xb5\xff\xd8\x49\x2c\xad\x9b\x25\xd8\x70\x3c\xb6\xe0\xe5\x52\x50\xab\xb9\x76\xe1\x6e\x04\xdd\x4b\x34\x23\x1c\x76\xf3\xf4\xa6\x4f\x5c\x35\x79\xdc\x58\x16\x53\x7a\x0d\x77\xc1\xd1\xf1\x7b\xa6\xf6\x72\xaa\xf2\xa3\x21\xdb\x7e\x22\xcd\xb3\xbb\x4e\x72\xee\xcb\x6a\x14\x76\x5f\xd9\xfe\x32\xb8\xda\x93\x5c\x24\x2c\x6f\x05\x7a\x7e\x31\x0d\xeb\x90\x44\x2d\xb5\xeb\xba\xa8\xf5\x7d\x0e\x53\x49\x9e\xc1\xe5\xe6\x1b\x52\x88\xe4\xe9\x80\x21\xd9\xf8\xb4\x81\x53\x74\x14\x69\x87\xb1\x35\x7f\x96\x7e\x97\x43\x19\x91\x65\x66\x4e\xc0\x6e\xe5\x40\xa7\x40\x9e\x39\xed\xcb\xa6\x16\x03\xfa\x3a\xc3\x3e\x4d\x7f\x06\x8c\xa9\x34\x53\x5b\xa2\x00\x75\x55\x43\x84\x2d\x2a\xd7\x0c\xd0\x39\x99\x9c\x09\x58\x41\xe7\xb2\x26\x44\xfa\x2d\x73\x65\xcf\x3a\xe9\xc5\x05\xbc\x99\x1c\xbc\x98\xcb\x91\x9e\xa3\x0c\x2e\xa7\xa9\xcf\x47\x18\xcf\x16\xa8\x63\xbc\x7e\x84\xac\x73\xae\xf3\xee\x6a\x9b\x54\x20\xaf\x65\x64\x3e\x78\x74\x4f\x36\x22\x7b\x64\xdf\xac\xe0\x1f\x9c\xf6\x79\x0b\x89\xdd\x13\x19\x2f\xb5\x62\x3e\x7d\x27\xbe\x19\xeb\x29\xd0\x79\x5e\x2c\xb1\xb7\x95\xf6\x4b\xf0\xea\x54\x2f\x33\x6b\x8f\x91\xf6\xe2\x5b\x8a\x7a\x39\xaf\x8d\xf6\x68\x26\xcb\xae\xa4\x97\xc6\x5f\xf6\x58\x9f\x2d\xef\x9d\xb5\xd6\xba\x54\x9a\x4c\x8b\xcd\x59\x2d\xe7\x04\x1c\xed\xe4\x89\xc8\xd9\xd4\xf8\xe7\x13\x37\xb2\xf5\x56\xa6\x2c\x61\xfd\xdf\x00\x00\x00\xff\xff\xd5\x1b\xb6\x85\xfd\x0c\x00\x00") +var _complySoc2NarrativesControlMd = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x56\xdf\x6f\x1b\xc9\x0d\x7e\xdf\xbf\x82\x80\x81\x6b\x0b\x58\x6a\x93\xbb\x03\x0a\xbf\xb9\xb2\xdb\xa6\xc8\xc5\x46\x6c\xe4\x1e\x82\x3e\x50\xb3\x5c\x89\xf5\xec\x70\x6f\x38\x23\x67\x7b\xb8\xff\xbd\xe0\xcc\x6a\xb5\x4a\x62\xa4\x2f\xf7\xa4\xd5\xfc\x20\x39\xdf\x47\x7e\x64\xc0\x9e\xae\x60\x23\x21\x45\xf1\x70\x1b\x0e\x1c\x25\xf4\x14\x12\xbc\xc3\x18\x31\xf1\x81\x1a\x74\x51\xc2\xd8\x5f\xc1\xe6\xf6\x5d\xa3\x98\x58\x3b\x26\xbd\x6a\x00\x1e\x1f\x36\xf6\x03\xb0\x82\xcd\xe6\xf5\xfa\xd5\xe2\xfb\xf5\xe2\xfb\xfb\xf9\xfb\x87\xc5\x99\x1f\x16\x67\x7e\x5c\xac\xff\x78\xb6\xfe\x7d\xd3\xe3\x7f\x24\xbe\xa7\x03\x2b\x4b\x28\x6e\x57\xd0\x62\xa2\x2b\xf8\x57\x0e\xf0\x0a\x5e\xff\xe5\xd5\x5f\xcb\x05\x27\xbd\x45\x7e\x05\x6f\x02\x27\x46\x0f\xad\xb8\x6c\x2b\xcd\x6a\xb5\x6a\x9a\x8b\x6f\x3c\xb3\x79\xdc\x13\x74\xe2\xbd\x3c\x73\xd8\xc1\x10\xe5\xc0\x2d\x29\x20\xb4\xa4\x2e\xf2\x90\x58\x02\x48\x07\x69\x4f\xe0\x26\x53\x9a\x62\x76\x29\x47\xb2\x8d\x5f\x7f\x5d\xbf\xc3\x9e\x7e\xfb\x6d\x5d\x8d\x71\x48\xe6\xa2\x5c\x61\x3d\x33\xc3\x0a\x49\x80\x42\xee\x29\x62\xa2\x62\xd3\xcb\x8e\x1d\xfa\x4b\x18\xc4\xb3\x1b\x2f\x01\x43\x6b\x61\x38\x6a\x73\x44\x7f\xf4\xa9\x90\xf6\x98\x40\x29\x1e\xc8\x8c\xf4\x12\x38\x49\x3c\x79\xff\x83\x02\x0e\x83\x67\x87\xc5\x95\x59\x69\x31\x21\x28\xb9\x1c\x39\x8d\x6b\xd8\xec\x31\xec\x48\x21\x07\x27\x07\x8a\xd4\xc2\x76\xb4\x10\x94\x66\x7f\xa4\xc0\xe1\xeb\x61\x9d\x42\xba\x04\x89\xe0\xb2\x26\xe9\x29\x02\x2d\x60\xc5\x48\x80\x6d\x1b\x49\xb5\x5a\x8f\xd4\x53\xcb\x25\x22\x05\x1d\xc8\x71\xc7\xce\xc2\x37\x17\x41\x12\xb5\xe0\x4a\x54\x6b\x63\xea\x6d\xf5\x79\x64\x4c\x9b\x66\x7e\x1d\x50\x3f\x78\x19\x15\x94\x0e\x64\xb0\x4c\xf1\x2d\xe0\x11\x0b\x31\x91\x4b\xb6\xd6\x71\x4b\xa1\xa6\x83\x81\x60\x68\x50\x50\x63\x2c\x48\xec\xd1\x83\x0c\x46\xc1\xc4\x2d\x27\x05\x27\xb1\xe0\xd0\x66\x97\xd6\x4d\xb3\x82\x9f\x30\xb4\x98\x24\x8e\xd5\x04\x05\x17\xc7\x4a\x23\x26\x88\xa4\xa9\x58\xe5\x00\xbd\xd8\xaa\xdd\xc8\x3e\xf1\xaa\x43\x67\xc4\x60\x4e\x7b\x0b\x61\xe2\xa3\xb3\x25\xe7\x48\x4b\xa4\xce\x4b\xb6\xbb\x5d\xc4\x39\x97\x9a\x15\x5c\xbb\xc4\x07\x4e\x63\xb1\x8c\x41\x7a\xf4\xe3\x91\x69\xcb\x4e\x09\xc7\x08\xcd\xa4\x8e\x9a\xa8\xd7\x66\x05\x1f\xb2\x0f\x14\x71\xcb\xde\x2e\xf7\x18\x70\x47\x85\x90\x21\xca\x2e\x62\x6f\xe0\xde\x17\x1e\xff\x2f\x6c\x2b\xe5\xbf\x13\xb4\xf0\x58\x33\xce\x7c\x70\xc9\x37\xe7\x73\x4b\x97\xb0\xcd\x35\x81\x82\x24\xf0\xdc\xb3\x25\x47\x92\xab\xa6\xe0\x52\x80\x3b\x56\x72\x7d\x4a\xb3\x82\xdb\x13\x27\xf3\xda\x5d\xd7\xb1\x23\x78\x98\xd2\xfe\xb4\x71\x8f\xaa\xcf\x12\xdb\xc5\x4a\x7d\xe7\x63\x44\x0e\x06\xef\xbc\xf1\x81\x42\x2b\xf1\xf4\xff\x67\x89\x4f\x9a\x70\xe9\xc8\x10\x3d\x15\xe9\xd7\x50\xdd\xa3\x42\xa9\x74\xc9\x0a\xea\xf6\xd4\x66\x4f\xed\xb2\xd4\x16\x65\x6c\x28\xa6\x1c\xaa\x24\x50\xd7\x91\x65\x02\x05\x7b\xb5\x74\x20\x61\x27\x16\xe0\xb1\x96\x67\x6a\xaa\x5a\x58\x91\x47\xc3\x52\x3a\xa0\x03\x85\xb4\x6a\xa3\xdd\xfe\xcc\x57\x24\x1d\xc4\xfc\xc8\x6c\x68\x15\xc9\xa3\x01\x5d\xae\xa9\x29\xd8\xdd\xcd\xdd\x15\xfc\x9d\x03\x7a\xfe\x2f\x4d\xf2\xe0\x59\x93\x36\xcd\xc5\x05\x3c\xcc\xef\x98\x01\xb6\x08\xae\x73\xcb\x69\x06\x84\xd4\x48\x33\xf1\xa6\xe7\x23\x77\x1f\x7f\xc9\x18\x13\x45\x3f\xfe\xfb\xb4\x37\xdb\x78\x2b\x3b\x85\x8f\xcf\x44\x4f\x67\xfb\x9b\x71\x4b\x11\xde\xb3\x3e\xc1\xb5\x2a\xa9\x96\xa4\xfe\xe3\x49\x40\x07\x51\xe5\xad\x37\x65\xee\x87\x28\x3d\x2b\x81\x3a\x0a\x18\x59\xf4\x4f\x5f\x77\x7a\x63\x59\xbb\xf1\xa8\x6a\x62\x54\x49\x3d\x3f\xf8\x37\x74\x4f\x79\x80\x47\xd2\x64\xa8\x9f\x6f\xde\xb0\xa2\x26\x0b\x8b\x8a\x8c\x8e\xa7\x73\x4a\x3d\xaf\x30\x84\x8c\x7e\xe9\x8f\x0e\xec\x48\xe1\xbb\x65\x1a\xbd\x00\xc8\x77\xb0\xf1\x84\x11\xde\xca\xf3\xea\x3e\xb2\x14\x70\xae\x3d\xc5\x74\x06\xcf\xf5\x30\xf8\x11\xee\x1e\xe0\x1e\x93\xdb\x93\xc2\xc7\x5e\x42\xda\xd7\xcd\x0f\x14\xb9\x1b\xeb\x33\x6f\x58\x07\x51\x2b\xe9\x12\xb0\x35\xa6\x53\x0e\x7f\x16\xc2\x46\x82\x15\xe8\x89\x94\xb9\x2e\x3e\x7e\xf1\xa6\xf9\xcc\x4f\x27\x71\x2a\x79\x60\xa1\xda\x9f\x8d\xe9\xc4\x2e\xc7\xaf\xc1\x7b\x4f\x81\xd2\xb4\x63\xd8\x2d\xed\xff\xbc\xe7\x44\x5b\xf9\x74\xf2\x30\x79\x5c\x9c\x79\xb8\xdb\xbc\x9e\x32\x6e\x5e\xb5\xdc\xbc\x2d\xa9\x7f\x53\x53\xff\x9b\xe9\x79\x17\xb6\x82\xb1\x85\xdb\x22\x7e\x44\x55\x3a\xbe\x58\x7b\x13\x0e\x46\xef\xce\xb2\x6d\xb6\x59\x9e\xf9\xd2\xe6\x9b\xe0\x8a\x42\x9a\x44\xbc\x5f\xf4\xbf\xa5\x36\x64\xb5\x92\xdc\x13\x48\x4e\x4e\xfa\x5a\xba\xf6\x1f\x3b\x89\x45\xba\x59\x82\x35\xc7\xa3\x04\x2f\x87\x82\x5a\xcd\x55\x85\xbb\x11\x74\x2f\xd1\x8c\x70\xd8\xcd\xdd\x9b\x3e\x71\xcd\xc9\xe3\xc4\xb2\xe8\xd2\x6b\xb8\x0b\x8e\x8e\xf7\x99\xda\xcb\xa9\xca\xcf\x0c\x99\x12\x1f\xbb\x77\xed\xe5\xdc\x97\xe1\x28\xec\xbe\xb0\xfe\x79\x78\x55\x95\x5c\x24\x2c\xa7\x02\x3d\xbf\xf8\x10\xd3\x48\xa2\x96\xda\x75\x1d\xd5\xfa\x3e\x87\xa9\x28\xcf\x00\x73\xf3\x0e\x29\x44\xf2\x74\xc0\x90\xac\x81\x5a\xcb\x29\x99\x14\x69\x87\xb1\x35\x7f\x06\x40\x97\x43\x69\x92\xa5\x6b\x4e\xd0\x6e\xe5\x40\xa7\x40\x9e\x39\xed\xcb\xac\x16\x03\xfa\xda\xc5\x3e\x4d\x7f\x06\x8c\xa9\xc8\xa9\x8d\x51\x80\xba\xaa\x21\xc2\x16\x95\xeb\x0b\xd0\x39\x99\x9c\x09\x58\x49\xe7\x32\x28\x44\xfa\x25\x73\xe5\xcf\xb4\xf4\xe2\x02\xde\x4c\x0e\x5e\x7c\xcb\x91\xa0\x63\x22\x5c\x4e\x7d\x9f\x8f\x30\x9e\x8d\x50\xc7\x78\xfd\x08\x59\xe7\xb7\xce\xd3\xab\xcd\x52\x81\xbc\x96\xa6\xf9\xe0\xd1\x3d\x59\x93\xec\x91\x7d\xb3\x82\x7f\x70\xfa\x67\xde\x42\x62\xf7\x44\xc6\x4b\xad\x99\x4f\xdf\x88\x6f\xc6\x7a\x0a\x74\xee\x18\x4b\xec\x6d\xa8\xfd\x1c\xbc\xda\xd7\x4b\xd7\xda\x63\xa4\xbd\xf8\x96\xa2\x5e\xce\x83\xa3\x7d\x9a\xc9\x32\x2d\xe9\xa5\xf1\x97\x3d\xd6\x6f\x7b\xf7\xce\xc4\xb5\x8e\x95\x96\xa8\xc5\xe6\x9c\x2d\xe7\x04\x1c\xed\xe4\x89\xc8\xd9\xd4\xf8\xe7\x13\x37\xb2\xf5\x56\xa8\x2c\x61\xfd\xbf\x00\x00\x00\xff\xff\x47\x74\x67\x02\xff\x0c\x00\x00") func complySoc2NarrativesControlMdBytes() ([]byte, error) { return bindataRead( @@ -377,7 +377,7 @@ func complySoc2NarrativesControlMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/narratives/control.md", size: 3325, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/narratives/control.md", size: 3327, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -397,7 +397,7 @@ func complySoc2NarrativesOrganizationalMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/narratives/organizational.md", size: 2378, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/narratives/organizational.md", size: 2378, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -417,7 +417,7 @@ func complySoc2NarrativesProductsMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/narratives/products.md", size: 895, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/narratives/products.md", size: 895, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -437,7 +437,7 @@ func complySoc2NarrativesSecurityMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/narratives/security.md", size: 4047, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/narratives/security.md", size: 4047, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -457,7 +457,7 @@ func complySoc2NarrativesSystemMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/narratives/system.md", size: 257, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/narratives/system.md", size: 257, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -477,7 +477,7 @@ func complySoc2PoliciesReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/README.md", size: 71, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/README.md", size: 71, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -497,7 +497,7 @@ func complySoc2PoliciesAccessMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/access.md", size: 2178, mode: os.FileMode(420), modTime: time.Unix(1545087106, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/access.md", size: 2178, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -517,7 +517,7 @@ func complySoc2PoliciesApplicationMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/application.md", size: 8377, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/application.md", size: 8377, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -537,7 +537,7 @@ func complySoc2PoliciesAvailabilityMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/availability.md", size: 7019, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/availability.md", size: 7019, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -557,12 +557,12 @@ func complySoc2PoliciesChangeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/change.md", size: 2793, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/change.md", size: 2793, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _complySoc2PoliciesClassificationMd = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5b\xcb\x8e\x1b\x37\x97\xde\x17\xfe\x87\x38\x40\x80\x19\xbb\xa3\xd6\xc4\x33\x9b\x49\x07\x59\x74\x9c\x18\xe9\x41\x3c\x31\xdc\x1d\xcc\x66\x36\x14\xeb\x94\x8a\x69\x16\x59\x21\x59\x92\x2b\xe8\x85\x5f\x63\x80\xe4\xe5\xfc\x24\x83\x73\xc8\xba\x49\x25\xb5\xd4\xb6\xff\x6c\xd2\x1b\xc3\xc5\xdb\xb9\x7c\xe7\x4a\xca\x88\x0a\xaf\xe0\x7b\x11\x04\xbc\xd4\xc2\x7b\x55\x28\x29\x82\xb2\x06\xde\x58\xad\x64\x9b\x09\xe9\xac\x69\xab\x2b\xf8\xfe\xe5\x9b\xcc\x8b\xa0\x7c\xa1\xd0\x5f\x65\x00\x77\xb7\x2f\xe9\x1f\x80\x4b\x78\xf9\xf2\xeb\xe5\xd7\x59\x25\x7e\xb5\xee\x2d\x6e\x94\x57\xd6\xf0\x94\x4b\xc8\x45\xc0\x2b\xf8\xaf\xc6\xc0\x0b\xf8\xf7\xaf\x5e\xfc\x27\x2f\x90\xb6\xaa\xd0\x84\x2b\xb8\x31\x2a\x28\xa1\x21\xb7\xb2\xa1\x2f\xd9\xe5\xe5\x65\xf6\x05\x5c\xd7\x35\x9a\x5c\x49\xf4\x90\x65\xe9\x3f\xef\xe0\xfa\x0a\x7e\x14\x26\xd7\xca\xac\xc1\x16\x3d\xb9\x98\xc3\x8d\x29\xac\xab\x98\xec\xd1\xfc\xef\xae\xe0\x95\x75\x15\x91\x67\x4d\xa1\x72\x34\x74\x96\x0a\x2d\xdc\x06\x11\x90\xcf\xcb\xbe\x80\x37\x8d\xab\xad\x47\x10\x26\x87\x5b\x69\x6b\xcc\x32\xb1\x84\xbb\x52\x79\x22\x5e\x80\x9c\x8a\xa5\x66\xb1\x40\x8e\x85\x32\xe8\x21\x94\x08\x0e\x7f\x6b\x94\xe3\x0d\x3d\x04\x0b\x68\x7c\xe3\x10\x42\x29\x02\xa8\x81\x34\xd8\xaa\x50\x2a\xc3\x4b\xac\x5b\x0b\xa3\x7e\x8f\xdf\x95\x87\xda\xd9\x80\x32\x60\x0e\x22\x80\x30\x20\xea\xda\xd9\xda\x29\x11\x10\x34\x6e\x50\x2f\x47\x54\x25\x61\xd1\x24\xad\x90\x8f\xa4\x3d\x89\x3f\x87\xe0\x89\x07\x12\xd0\xee\x39\x1f\xde\xff\x9f\x9f\xd0\xe3\x51\x36\x8e\xe4\x51\x3b\xbb\x76\xa2\x5a\xc2\x0d\x11\x2c\x75\x93\xa3\x07\xa1\x35\x84\xb6\x46\x4f\x7b\x8d\x96\x2d\xc0\xe1\x5a\xb8\x5c\xa3\x8f\x43\xc1\x03\x0d\x2e\xc0\x37\xb2\x04\xe1\xa1\x16\x35\x3a\xb0\x0e\x50\xa3\x0c\xce\x1a\x25\x7b\xa2\xfd\x22\x92\x1d\xa5\xe9\x59\xea\x24\xe6\x95\xf0\x48\x63\x26\x87\x7b\x63\xb7\x1a\xf3\x35\x51\x3f\xa1\x37\x0a\xd4\x83\xb1\x01\xb6\x4e\x85\x80\x66\x24\x96\xa4\x98\x91\x50\x88\x03\x65\x72\xb5\x51\x79\x23\x74\x3c\xcb\xb7\x3e\x60\xe5\xe3\x5e\xa5\xd8\x20\x08\x29\x89\x93\x60\x27\x67\xdd\x63\x1d\x60\xd5\xee\x09\x71\x49\x90\xf9\x4e\xc8\xfb\xb5\xb3\x8d\xc9\xf7\x8e\x1f\xe3\xa2\x54\xeb\x32\x6a\x0f\xec\xea\x57\x94\x41\x6d\x30\x52\xa1\xaa\x5a\x33\x5e\x12\x00\x8c\x0f\xae\x91\x51\x22\x85\x75\xf3\xaa\x9b\x43\xa3\x97\x25\x56\x98\x48\xe8\x55\x37\x37\x93\xe9\x20\x09\x7b\xd8\xa2\xd6\xac\x27\x67\x25\xe6\x8d\xc3\xe1\xd0\xe9\xa2\x05\x68\xb1\x42\x36\x38\xa2\xba\x1c\x59\x1f\x1f\x71\x00\xd0\xcb\x3d\x83\xa3\xd5\xc6\x9a\xcb\x5c\x79\xa9\x2d\x5b\x87\x58\x3b\x4c\x26\x53\x09\x65\x82\x50\x06\xf3\x39\x89\x43\xd5\xf8\x00\x0e\x0b\x74\x68\x24\x99\x55\x2f\x6d\x56\xc6\xdb\x6e\xc4\xb3\x32\xde\x2a\x7f\x0f\xd7\xde\xa3\xf7\x6c\x24\xc9\x8d\xd1\xd0\x6d\x87\xf7\x1b\x23\x99\x3a\x78\x2d\x8c\x58\xe3\x64\xde\x17\xe3\x15\x37\x45\x2f\x11\xcc\x27\xf8\x50\x1e\x1c\x4a\x54\x1b\xcc\xa1\x70\xb6\x02\xdb\x04\xaf\x72\xdc\x23\x7f\xc1\x5f\x6a\x74\x9e\x3c\x40\x69\xbb\x65\x11\x22\xe3\x2d\x99\xcf\x74\x5c\x0b\x8a\x4c\x91\xc0\x69\x5d\x2e\x88\x6f\x12\x76\x74\x37\x8d\x46\x52\x1e\x7a\xe9\xd4\x8a\xe9\x9a\x08\x05\xee\x86\x03\x43\x89\x0e\x57\x2d\x6c\x95\xd6\xb0\x42\x69\xab\x44\xe1\xd6\x90\x89\x16\xbb\x44\x2c\x3f\x15\xdb\x03\x60\xc8\xa7\x91\x4f\x70\x81\xce\x5b\x35\x9e\xec\xc3\x83\xad\xd1\x75\x3e\x80\x2c\x43\x05\xb2\xda\x67\xb8\x5c\x2f\x17\x20\x1b\x1f\x6c\x85\x2e\xc2\x8c\xbc\xae\xb3\x1b\x95\x63\x0e\x52\xdb\x26\x07\x8f\x6e\x43\xe1\xe1\xf9\x62\x4f\x8a\xbb\x08\x1e\xe1\x7d\xc2\x38\x3b\xab\x89\x5b\x63\xf9\xaf\x10\x2a\x91\xe3\x21\xd9\xfb\x1a\x65\xbf\xb9\xef\x04\xe8\x90\xbe\x93\x79\x0f\x94\x27\x12\x07\x9c\xb3\x44\x2c\x29\x04\x34\xae\x85\x9e\x84\x8d\x28\xf7\xff\x29\xb1\x67\xa0\x25\x43\x9b\xd0\x47\x27\x25\x6f\x52\x80\xdc\xb1\x30\x8a\x0b\x18\xd0\x55\xc9\x8c\xae\x32\x8e\xb4\x2a\xa2\x61\x23\x74\x83\x33\xea\x5e\x00\xf9\xdd\x9c\x24\xac\xaa\x5a\xc8\xe0\x21\x6e\xca\x8a\xcf\x1b\x47\x44\x30\x87\x64\x55\x62\xb0\x2a\x76\x1d\xde\x2f\xe1\xb5\x75\x53\xf9\x5b\xb3\x3b\xd9\x47\xe2\x0a\xa6\x2c\xb9\x8b\x79\x2b\x85\x67\x83\x99\x3f\x13\xcf\x9f\x2f\x7b\x26\x6e\xd1\x78\xc5\x28\x89\xce\x44\x3a\x15\x94\x8c\xac\x1f\x65\xab\xf3\xc3\x48\x3e\x84\x0e\x95\x42\xcb\x46\x0b\x0a\xb5\xe4\xf4\x50\x4c\x61\x00\x2a\x60\x75\x84\xf3\x81\xa4\x9f\x48\x89\x1c\x0c\x69\x3b\xeb\x12\x61\xd6\x04\x27\x64\x68\x04\x39\x7d\xad\xd6\x11\x29\x4b\xc8\xb2\xec\xcb\xcb\xfd\xbf\x99\x6f\x73\xd3\x4e\x1a\xcb\x1e\x2e\x2e\x76\x3c\xef\xc5\xc5\x03\x5c\x5c\xfc\x44\x5e\xfc\xe2\x02\xd2\xdf\x03\xc0\xc5\xc5\x34\xdb\xeb\x07\x79\xec\x9a\x43\xe2\xb0\xa0\x1b\xcb\x1e\xf8\xdf\x8b\x8b\x9f\x08\x86\x69\xfc\x01\xf6\xfe\x1e\x78\xd2\x4b\xa7\x02\x3a\x25\xa6\xfb\x10\x3d\x6f\xd1\x07\xa7\x62\xbc\x1b\x8f\x3e\x64\x5f\x7e\xbb\xff\x37\xf3\x6d\x6e\xda\x29\x63\xdf\x7e\x99\x3d\xc0\x9b\x66\xa5\x95\x9c\xd2\xf4\xca\xba\xe9\xf7\x07\x78\x2d\xee\x3b\x0c\x8c\xf1\xc1\x63\x37\x53\x97\x28\x36\x42\x69\xb1\xd2\x18\x59\xcf\x66\x44\x02\x0f\xf0\x16\x35\x0a\x8f\xe3\x4f\x75\x3c\x92\xbd\x33\x65\x35\xa5\x70\x55\x37\x96\xb2\xba\x38\x65\x39\xa7\x87\x7d\xa1\xef\x7d\xda\xcf\x35\xcd\xe1\xe9\xfb\x5b\x9d\x7e\x90\x30\x2d\x6c\x45\xbb\x3c\x69\xfa\x30\xf6\x4f\xb0\x89\x53\x39\x38\x42\xe5\x5f\xcd\xc1\x8d\x09\xe8\x8c\xd0\xf0\x4b\x07\x9f\x99\x6f\x0f\xf0\x8b\x11\x4d\x28\xad\x53\xbf\x53\xcc\x8d\x69\xed\x30\xfd\x20\x62\x4f\x17\x51\x25\x5a\x90\xa2\xf1\x08\x95\x32\x96\xa2\x73\x25\xd6\x08\x1d\x5c\x29\xdf\xc6\xaa\xd6\xb6\xc5\x94\xe7\xf6\x5b\x9d\x03\xa4\xfc\xdf\x38\xef\x97\xd6\x6c\xd0\x28\x0e\x06\xdd\xd8\xc0\x5e\x28\x95\xcb\x39\xab\x50\xe8\x97\x4f\x41\x6c\xb2\xaf\x69\xe2\x9a\xc6\xfe\x86\xe5\x29\x1c\x74\x6e\x1c\xf3\x81\xa4\xbd\x6f\xf3\xb0\x0c\x16\x3e\x1d\x2c\x27\x49\x74\x0f\xd1\x5e\xcb\xa2\xcf\xda\x80\x8a\xb6\x9a\x12\x86\xf3\xbc\xa8\xb4\x86\x92\x5c\xc7\x94\x25\xd0\x77\x1c\x4c\x01\x4f\x9c\x76\xac\x9e\xe9\xa6\xfb\xcc\x38\x59\xc0\x30\x36\x41\xfa\x44\xc9\x4f\x8e\x03\xff\xea\x8f\x4c\x7f\xca\x01\x0e\xeb\x26\x8c\x8d\xe8\xd8\xf4\xd9\xb1\xbf\x6d\xee\x14\x0e\xc6\xf9\x5d\x3a\x76\xe6\xd3\x53\x6d\x6e\xac\x8e\x4f\x62\x7e\xd6\xe8\x96\x0e\xee\x2d\x30\xf6\x63\x2e\xcf\x33\x3f\x11\x84\x0f\xce\xd6\xa5\x92\xbb\xe6\x17\x3b\x3b\xa9\xaa\xd8\x51\xc7\xc9\x07\xec\x9a\xde\xb0\xd7\xc3\x5c\x7c\x38\xff\x80\x1d\xd3\x1b\x19\xcb\x5f\x0c\xa8\xec\x8e\x35\xff\x1f\x57\x13\x54\xec\xb6\x6f\x38\xdd\xf7\x59\xf6\x2f\x66\xe5\xeb\x6f\xb2\x2c\x5f\x4e\xa6\x77\x85\xf3\xa8\x67\xd0\xd7\x5f\xbb\x75\x6a\x6c\x43\x51\x35\x3e\xaa\x08\x13\x11\xcb\x2c\xc3\xe9\xce\xdc\x2b\x1b\x77\x2c\xb9\x7b\x17\x8b\x78\x0f\xbe\xb4\x8d\xce\x21\x38\x86\x18\x81\x8e\x4b\x64\xbb\xa5\x62\x6f\xf6\xe0\xd8\xf6\x8b\xfd\x59\xcf\x7d\xd6\x1c\x7f\x6b\xfa\x26\x2b\x45\x86\xd4\x89\xed\x2a\x6e\xee\x9e\x88\x8d\x55\x39\x15\x03\x8d\x31\x48\xb6\x24\x1c\x37\x4d\xf3\xd8\xb3\x03\x69\x3d\x97\xf0\xc5\x94\xfa\x91\x3c\x84\x87\x0f\xef\xff\x18\x82\xe3\x87\xf7\x7f\x82\x75\xf4\x6d\x2c\x6b\xfa\xda\x09\x53\x48\x69\xab\x5a\x18\x15\xbb\x62\x02\xb4\xf2\xdc\x41\x19\x19\x76\x6c\xf2\x30\xfc\xb7\xa5\x92\xe5\x5e\xb1\x12\xbb\x1d\xc9\xf8\x52\xcb\xc9\x88\x0a\x3d\x1d\xfe\xab\x5d\x41\xd1\x18\xd9\xb7\x32\xba\xed\xb6\xa5\x8d\xad\xd1\x58\xff\xae\xcb\xc0\x61\x34\x79\x91\x9d\xae\xf6\x32\xcb\xd6\x8f\xb0\x3d\x4e\x55\x9f\xca\x22\x3b\x12\x55\x4c\xfa\xb9\x07\x7b\x4f\x5c\x4f\xed\x34\x77\x69\x52\xd7\x84\x5e\x66\x59\x79\x0e\xd0\x52\x07\x72\xa3\x70\x1b\xbb\xa4\xb3\xd8\x8a\x7d\x08\x35\xed\x59\x0b\xef\x31\x78\xc0\x0d\xba\x16\x0a\xb5\x41\x68\x51\xb8\x94\x2c\x70\x57\x01\xb6\x25\x72\x57\xe8\xf0\xce\x09\xe8\x64\x62\xa5\x30\x6b\xcc\xb9\x55\xe4\x68\x53\xa8\xad\xf7\x6a\xa5\x71\x71\xc8\xd4\x86\xc5\x64\x19\x0e\xf3\xd8\x6b\xa2\x8a\x97\x9b\x69\x97\xd1\x56\xbd\x2d\xc2\x56\x38\xec\x7b\x6b\x43\xcf\x2d\xd8\xbe\xad\xe5\x17\x3b\xa2\x69\x4c\xde\x93\x4e\xba\x6c\xb9\x55\xcd\x5d\x10\xab\xa3\xe0\x84\xf6\xf6\x89\xd2\xeb\xba\xf5\xa2\x08\xb3\x2d\xb5\x28\x0e\x46\x73\x9c\x22\x7a\x4a\x99\x0e\xde\x89\x4b\xeb\xbe\xd3\x91\x44\x47\xc5\x8a\xdd\x46\xe0\xed\xed\xeb\xcf\x15\xe6\x9c\x37\xe4\xd6\x79\x8c\xbe\xd6\xb1\xf7\x48\x28\x2c\x2c\x1d\xad\xcc\x7a\xe8\xd1\xbd\xe1\x1b\x93\xfe\x8e\xe4\xea\x88\x9c\xb8\xcf\x9f\x13\x33\x43\x83\x2b\xd8\x9a\x01\xb5\xb2\x21\xd8\x8a\x44\xc9\x6d\xad\xfe\xa2\xa8\x16\x6b\xfc\x86\x3b\xca\x3e\x6a\x63\x6f\x87\xc2\x59\x13\xba\x4e\x9a\xb4\x9b\x74\x7f\x63\x36\xa8\x6d\x8d\x20\x85\x73\xdc\x90\x8c\x57\x3c\xa3\x2b\xa8\xa1\xbb\xda\xed\xa4\xf8\x8a\xa0\xb0\x9a\x80\x31\xf1\x4c\xfd\x2a\xe5\xc1\x07\x4b\xd2\x83\x9b\x62\xbc\x5d\xba\xdc\x49\xa2\x5b\xf0\xdd\x52\x8e\x85\x68\x74\xd8\xbd\xcf\x50\x7e\x52\x02\x0f\x7d\xb9\x1f\x66\x2e\x9d\x3e\x87\x40\x3f\x07\xed\x37\xfb\xd8\x3f\x4a\xba\x39\x72\x99\xd6\x03\x71\x8f\xbb\x64\xc1\xc9\x37\x7a\xe9\x10\xa7\x8d\xf2\x6e\x1e\x8f\x90\x7f\x32\x90\x2b\x5f\x6b\x31\x60\x60\x12\x01\x88\xfa\x19\xf1\x57\x42\xe9\x93\x25\xaf\x3a\xf8\x38\x1f\x40\x2b\xd3\xb7\xab\x91\xb6\x81\x95\xcd\x5b\x96\xb8\x3a\x57\xd2\xfb\x01\xe8\x20\xc1\x04\x4a\x4a\x2e\x2b\xcc\x95\x80\x67\xb9\xf2\xf7\x7e\x01\x15\x56\xd6\x51\x5a\xeb\x72\xbf\x00\x0c\x72\xf9\xfc\x18\x57\x07\xc5\x4e\xa0\xf2\x8d\x2b\x84\xec\x79\xe3\x83\x3e\x0f\x5b\x63\x28\x05\x27\x8c\xaf\x54\x60\x62\x9c\xd0\xba\x3d\xc6\xc0\xe0\xe3\x08\xd7\xca\xf2\x85\x02\x16\xd6\x21\xa1\x40\x36\xde\xef\x5c\x4d\x74\xed\x72\xe2\xec\x32\xd8\x4b\xe6\x50\xda\xaa\x6a\x4c\x7f\x0d\xb3\x6a\x21\xa0\xc6\xba\xb4\x06\x17\xec\xaf\x4d\x9b\x6e\x43\x2a\x14\x31\xff\x20\xd2\xa6\xeb\x12\x4b\x62\x09\xd7\x5a\xf7\xb9\x40\x04\x2e\x9d\x78\xe0\x96\x8a\x55\x10\xdd\x2c\xf3\xb9\x6e\x54\x8e\x9a\xef\x65\x29\xc5\x88\x68\x1b\xde\x15\x2c\x48\x98\x8f\x3f\x2d\x58\x7e\x78\xff\x67\xf6\x34\x5a\x28\x36\x6a\x0c\xf1\x91\x81\x6f\x56\x95\x0a\x20\x0e\x3f\x4b\x48\x91\x82\x82\x61\xc5\x10\x09\x08\xbe\xa9\x29\x4c\x79\xcb\x9e\x39\x05\x5b\xa8\xad\x32\xe1\xd2\x16\x97\x14\x71\x85\x0c\x4b\xb8\x06\x2f\xe8\xb0\x23\xbb\xb3\xdd\x0d\xfc\x7f\xd7\xc5\xb0\x78\x29\x4a\xe5\x49\xbc\x1f\x49\xf1\x4a\x55\xb5\xb3\x14\x9f\xc6\xf7\xbf\xc7\xb8\x5d\x21\x55\x38\xd6\x25\x41\xcf\xdd\xa3\x9d\x70\x15\x3b\xb9\x0c\x5a\x3d\x7f\x1e\xb1\xf0\x8f\xec\x7f\xc9\xf9\xae\x1c\x8a\x7b\xc8\x86\xb7\x22\x27\x3f\x0f\x79\x3c\xeb\x1b\x3c\x67\x7f\x7f\x79\x30\x84\x8f\xa0\x75\x71\xc5\x62\x8c\xa1\xfc\xfb\x2e\xf2\xec\xd8\xe4\x60\xb0\xd1\xe7\xd3\xdf\x8b\x25\xfc\x4c\xd9\xed\x4c\xd6\x4b\xe5\xf4\x28\x8f\x5d\xf6\x6b\xc6\x8b\x6f\x0a\xf0\x24\xb6\xe3\x37\xd0\x7d\x9c\xea\x98\xf3\x29\x7e\x3b\x5c\x93\x4d\x38\xcc\xd9\x61\x2f\x27\x84\xf5\x7c\x30\x29\x9c\x84\xaf\x30\x3e\x8e\x50\x06\x9c\xb5\x95\x67\xa5\xda\x26\x74\x97\x19\x1d\xa9\x07\xb6\xe9\x01\x52\xd9\x0d\xe6\x80\xef\x6a\xcc\x55\x50\xb6\xf1\xba\x8d\x57\xca\xb5\x53\x24\xa7\x18\xce\x0a\xf1\x0e\x2a\x21\x4b\x92\xf0\x10\x27\x87\x42\x6a\x72\xcc\xdd\x2c\x9f\x9c\x69\x30\x10\x41\x5b\x79\x8f\x39\x48\xb1\x52\x06\xc3\x31\x56\x57\x18\xbd\x66\x81\x8e\x56\xa7\x97\x0e\x7c\x85\x7b\xa8\xea\x88\x25\x0a\x1d\x23\xb5\xa5\x94\xba\x4b\x9f\xa6\xe7\x3c\x51\x5d\xa4\x9b\x44\x08\x08\x70\x18\x1a\x67\xe2\x5d\x7c\x1d\xba\x0c\xf6\xa8\xd0\x7b\x57\x12\x75\xd8\x29\xe0\x24\x91\x8f\x61\x3a\xa1\x2e\x16\x98\xdc\xf5\xb1\x75\xbb\x5b\x64\x9d\xb8\x34\x27\x6d\xda\xd9\xd5\x6a\xfa\x96\x24\xdb\x47\xff\xa3\x3a\xf7\xa2\xd8\x11\xcc\x74\xc9\x47\x28\x9b\x8b\xd6\xe0\x1a\x1f\xb6\xd6\x85\xb2\xed\x5e\x5d\x8c\x41\xc0\x1e\x1f\x85\x3e\x88\x87\x57\xe2\x5d\x77\xcf\xb8\x9b\x4b\xd6\xe8\x62\xd4\x7e\x9c\xfe\xa8\xc1\xbc\xaf\x93\x69\xbb\x3d\x87\x12\x13\x6f\x61\xd8\x95\x19\x7c\x17\xfa\x4b\xc6\xa8\xff\x18\x08\x46\x09\xd1\xe0\xc6\x3e\x9d\x0b\x1b\x2f\xe2\x07\x0f\x7d\x96\x0e\x54\x7e\xe2\xbb\x54\xe3\xc2\x46\x09\x68\x0c\x1a\xe9\xda\x9a\xaf\xeb\x95\x46\xf0\xa5\xe0\x5c\xa3\xaf\x52\xbb\x47\x67\xaf\xee\xde\xb0\xe5\xb4\x3d\x08\x6a\xe1\xfd\xd6\xba\x7c\x78\x5c\x37\x3d\xfc\x7a\xd2\x1b\x98\xa9\xfe\xb7\x5c\x28\xce\x57\x2e\xc3\x29\xfd\xcb\x3d\x46\x03\x21\xd9\xac\xfb\xb3\xf7\x15\x97\x92\x6a\x7b\xa8\x30\x4a\x89\xf6\xe8\x04\xd1\x04\x4b\x84\x49\x4a\xdc\x3a\x17\x16\xcb\xdd\x17\x5f\x41\xa5\x4c\x13\xba\x47\x7a\xe9\x25\x4d\xfb\xa8\xa7\x64\x6d\xf5\xfd\x1e\xf6\x29\x49\x75\x51\x02\xf1\x3d\xd8\xf8\xb1\x21\xe9\xb1\x6f\x01\x61\xff\x9e\xe7\x11\xd1\x8d\x77\x18\xaa\xbe\xf3\x30\x30\xaf\x77\x5b\x70\x0a\x19\xda\x1a\x77\xf4\xde\x23\xe6\x74\x0f\x84\x4e\x78\x3c\xc5\xff\x9c\xe1\x79\x46\xc0\xb5\xae\x7a\xdc\x82\xd3\x4a\x36\x60\x7e\x9c\xe9\x36\xe4\x91\x23\x4a\x48\x2a\xa9\xa9\xa2\xe7\x9f\xc9\x3d\x72\x40\x17\xba\x49\x8e\x47\xe5\xca\xfd\x3d\x56\x42\x4f\x7f\x67\x62\x3f\xde\xdd\xbd\xb9\x8d\xef\x64\x6f\x7f\x5c\xc2\xab\xc6\x51\xfe\x7e\x20\x5e\x0d\xcb\x69\xc1\x60\x25\x29\x80\x11\x2a\x47\x76\x12\x8b\xcc\x91\x13\xde\xef\xab\xdc\xc6\xe4\xec\x33\x79\xa2\x47\x9d\xc1\x47\xda\xfb\xc7\x1b\xf3\x68\xcf\x39\xf2\x22\x88\x58\xcd\xda\xf6\x25\xf5\x90\xa1\x8d\xe1\x53\x97\xad\x27\x0a\xa6\x92\x38\xec\x2d\x7e\xf1\x7d\x17\x54\xdb\x35\x05\xc5\x23\xa6\x1f\x83\x4f\x12\x75\xc0\xaa\xb6\x4e\x38\x45\xa0\x76\x1c\xd0\x84\x41\x13\x88\x4a\x2c\x02\xef\xb1\xb5\xee\xbe\xd6\x62\x2f\x7d\x11\x41\x0c\x68\x72\xe9\x42\x41\xb7\x09\x41\x06\x84\x5e\x5b\xa7\x42\x59\x4d\xbb\xfa\xfc\xaa\x19\x21\x47\x8d\x23\xbb\x38\x66\xc8\x27\xeb\x7e\x24\xc2\x50\x3a\xdb\xac\x4b\xa8\x1a\x1d\x14\x55\xbc\x81\x6a\xda\x26\x94\xb4\x7f\xaa\xd2\x9f\xbd\x7e\x75\xfd\xfc\x64\xed\x75\x16\xaa\x8c\x0f\x82\xcf\x18\x79\x81\x73\x6d\xff\x91\x33\xce\x45\x48\xac\x94\x58\x76\xa1\xed\xbb\xbb\x7c\x65\x60\xa9\xd6\x1c\xaa\x60\xbe\x32\xb0\xb6\xda\x4b\x25\x5e\x0b\xa5\x3f\x93\xed\xb2\x99\x21\x37\xa2\x63\xb5\x2d\x1c\x16\x0d\xd9\x97\x2c\x51\xde\xa7\x27\x9a\x52\xd5\x6a\x2f\x2d\xa5\x52\x3e\xbe\xa7\xf5\x81\x25\x12\xfb\xd9\x1f\xde\xff\x31\x53\x17\x7e\x78\xff\x27\xf7\xdb\x1e\x0f\xaf\x3f\x70\xcf\x6a\xdf\x15\xaa\x47\x72\xff\x13\xc0\x7a\x60\xeb\x3d\x79\xdf\xa6\x5e\xd6\x6b\x4a\xfa\x3f\x93\xe0\x79\x6f\xb2\x6b\x0a\x25\xfe\xe4\xc4\xeb\xb4\x0a\x88\xaa\x95\xa6\x3a\xaf\x5c\xbd\x1b\xad\x3b\x5a\xaf\x7e\x8c\x37\x8c\x5c\x73\xa5\x34\x61\xfb\x40\xde\x11\xa7\x9f\x5b\x8d\x3e\x49\x46\xe7\xd7\x88\x7d\x52\x94\x76\xda\x4d\x89\xac\x9b\x54\x67\x71\xd6\x09\x28\x3d\xcc\xf4\x7e\x39\x96\xe6\x7e\x86\x3a\x2c\xf6\x77\x1e\xab\xc5\x76\xf2\x8c\xbb\x51\xb3\xf4\x67\x6e\x96\x7e\x32\xeb\xd9\xf9\x91\xc9\x54\x0c\x93\x27\x1b\xfd\x06\x24\x41\x2a\x05\x39\xf3\x40\x86\x44\xea\x94\x13\x98\x53\xda\xb4\xe3\xf0\x95\x1f\x75\x51\x7b\x38\x1e\x6f\x9b\xf0\x6e\xbd\xbe\x6c\x63\xf2\xcb\xda\x59\x5b\xec\xdb\x17\xbf\xcb\x73\x7e\xd4\xef\x4b\xf4\x39\x94\xd6\xe5\xe3\xf3\x0e\xc2\xe3\xe5\x78\x0f\x69\x4d\xde\x70\x46\xd5\x05\xd5\xd1\xef\x86\x62\x73\xf8\x11\x13\xfb\x6f\x1b\x71\x23\x1d\x01\xbd\xbf\xc5\x1a\xd3\x29\x7a\x47\xb0\xcc\xb2\x1b\x33\x2d\x4d\x16\x9d\x3b\x88\xe5\x47\xff\xeb\x1c\x32\xce\xa6\x6a\xb4\x08\x6a\x83\xba\x5d\x30\x35\x31\xca\x89\x30\xac\x29\x52\x3b\xfb\xc0\x2d\x47\x55\x27\x1b\xdb\xf9\xd5\x4f\x7c\xc5\x1f\xb7\xe8\x1e\x43\xd0\x56\x7c\xb3\x78\xe8\x02\xf2\x92\x63\x48\xf7\xc4\x6e\x42\xf6\xe8\x17\x21\x4c\x51\x7c\xf7\x7e\x60\x27\xf6\x1f\xc9\x7c\x38\xbf\x3f\x24\x81\x65\xf6\x8f\x2c\xcb\xb2\xff\x0f\x00\x00\xff\xff\x20\x25\x48\x59\x28\x38\x00\x00") +var _complySoc2PoliciesClassificationMd = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5b\xcb\x8e\x1b\x37\x97\xde\x17\xfe\x87\x38\x40\x80\x19\xbb\xa3\xd6\xc4\x33\x9b\x49\x07\x59\x74\x9c\x18\xe9\x41\x3c\x31\xdc\x1d\xcc\x66\x36\x14\xeb\x94\x8a\x69\x16\x59\x21\x59\x92\x2b\xe8\x85\x5f\x63\x80\xe4\xe5\xfc\x24\x83\x73\xc8\xba\x49\x25\xb5\xd4\xb6\xff\x6c\xd2\x1b\xc3\xc5\xdb\xb9\x7c\xe7\x4a\xca\x88\x0a\xaf\xe0\x7b\x11\x04\xbc\xd4\xc2\x7b\x55\x28\x29\x82\xb2\x06\xde\x58\xad\x64\x9b\x09\xe9\xac\x69\xab\x2b\xf8\xfe\xe5\x9b\xcc\x8b\xa0\x7c\xa1\xd0\x5f\x65\x00\x77\xb7\x2f\xe9\x1f\x80\x4b\x78\xf9\xf2\xeb\xe5\xd7\x59\x25\x7e\xb5\xee\x2d\x6e\x94\x57\xd6\xf0\x94\x4b\xc8\x45\xc0\x2b\xf8\xaf\xc6\xc0\x0b\xf8\xf7\xaf\x5e\xfc\x27\x2f\x90\xb6\xaa\xd0\x84\x2b\xb8\x31\x2a\x28\xa1\x21\xb7\xb2\xa1\x2f\xd9\xe5\xe5\x65\xf6\x05\x5c\xd7\x35\x9a\x5c\x49\xf4\x90\x65\xe9\x3f\xef\xe0\xfa\x0a\x7e\x14\x26\xd7\xca\xac\xc1\x16\x3d\xb9\x98\xc3\x8d\x29\xac\xab\x98\xec\xd1\xfc\xef\xae\xe0\x95\x75\x15\x91\x67\x4d\xa1\x72\x34\x74\x96\x0a\x2d\xdc\x06\x11\x90\xcf\xcb\xbe\x80\x37\x8d\xab\xad\x47\x10\x26\x87\x5b\x69\x6b\xcc\x32\xb1\x84\xbb\x52\x79\x22\x5e\x80\x9c\x8a\xa5\x66\xb1\x40\x8e\x85\x32\xe8\x21\x94\x08\x0e\x7f\x6b\x94\xe3\x0d\x3d\x04\x0b\x68\x7c\xe3\x10\x42\x29\x02\xa8\x81\x34\xd8\xaa\x50\x2a\xc3\x4b\xac\x5b\x0b\xa3\x7e\x8f\xdf\x95\x87\xda\xd9\x80\x32\x60\x0e\x22\x80\x30\x20\xea\xda\xd9\xda\x29\x11\x10\x34\x6e\x50\x2f\x47\x54\x25\x61\xd1\x24\xad\x90\x8f\xa4\x3d\x89\x3f\x87\xe0\x89\x07\x12\xd0\xee\x39\x1f\xde\xff\x9f\x9f\xd0\xe3\x51\x36\x8e\xe4\x51\x3b\xbb\x76\xa2\x5a\xc2\x0d\x11\x2c\x75\x93\xa3\x07\xa1\x35\x84\xb6\x46\x4f\x7b\x8d\x96\x2d\xc0\xe1\x5a\xb8\x5c\xa3\x8f\x43\xc1\x03\x0d\x2e\xc0\x37\xb2\x04\xe1\xa1\x16\x35\x3a\xb0\x0e\x50\xa3\x0c\xce\x1a\x25\x7b\xa2\xfd\x22\x92\x1d\xa5\xe9\x59\xea\x24\xe6\x95\xf0\x48\x63\x26\x87\x7b\x63\xb7\x1a\xf3\x35\x51\x3f\xa1\x37\x0a\xd4\x83\xb1\x01\xb6\x4e\x85\x80\x66\x24\x96\xa4\x98\x91\x50\x88\x03\x65\x72\xb5\x51\x79\x23\x74\x3c\xcb\xb7\x3e\x60\xe5\xe3\x5e\xa5\xd8\x20\x08\x29\x89\x93\x60\x27\x67\xdd\x63\x1d\x60\xd5\xee\x09\x71\x49\x90\xf9\x4e\xc8\xfb\xb5\xb3\x8d\xc9\xf7\x8e\x1f\xe3\xa2\x54\xeb\x32\x6a\x0f\xec\xea\x57\x94\x41\x6d\x30\x52\xa1\xaa\x5a\x33\x5e\x12\x00\x8c\x0f\xae\x91\x51\x22\x85\x75\xf3\xaa\x9b\x43\xa3\x97\x25\x56\x98\x48\xe8\x55\x37\x37\x93\xe9\x20\x09\x7b\xd8\xa2\xd6\xac\x27\x67\x25\xe6\x8d\xc3\xe1\xd0\xe9\xa2\x05\x68\xb1\x42\x36\x38\xa2\xba\x1c\x59\x1f\x1f\x71\x00\xd0\xcb\x3d\x83\xa3\xd5\xc6\x9a\xcb\x5c\x79\xa9\x2d\x5b\x87\x58\x3b\x4c\x26\x53\x09\x65\x82\x50\x06\xf3\x39\x89\x43\xd5\xf8\x00\x0e\x0b\x74\x68\x24\x99\x55\x2f\x6d\x56\xc6\xdb\x6e\xc4\xb3\x32\xde\x2a\x7f\x0f\xd7\xde\xa3\xf7\x6c\x24\xc9\x8d\xd1\xd0\x6d\x87\xf7\x1b\x23\x99\x3a\x78\x2d\x8c\x58\xe3\x64\xde\x17\xe3\x15\x37\x45\x2f\x11\xcc\x27\xf8\x50\x1e\x1c\x4a\x54\x1b\xcc\xa1\x70\xb6\x02\xdb\x04\xaf\x72\xdc\x23\x7f\xc1\x5f\x6a\x74\x9e\x3c\x40\x69\xbb\x65\x11\x22\xe3\x2d\x99\xcf\x74\x5c\x0b\x8a\x4c\x91\xc0\x69\x5d\x2e\x88\x6f\x12\x76\x74\x37\x8d\x46\x52\x1e\x7a\xe9\xd4\x8a\xe9\x9a\x08\x05\xee\x86\x03\x43\x89\x0e\x57\x2d\x6c\x95\xd6\xb0\x42\x69\xab\x44\xe1\xd6\x90\x89\x16\xbb\x44\x2c\x3f\x15\xdb\x03\x60\xc8\xa7\x91\x4f\x70\x81\xce\x5b\x35\x9e\xec\xc3\x83\xad\xd1\x75\x3e\x80\x2c\x43\x05\xb2\xda\x67\xb8\x5c\x2f\x17\x20\x1b\x1f\x6c\x85\x2e\xc2\x8c\xbc\xae\xb3\x1b\x95\x63\x0e\x52\xdb\x26\x07\x8f\x6e\x43\xe1\xe1\xf9\x62\x4f\x8a\xbb\x08\x1e\xe1\x7d\xc2\x38\x3b\xab\x89\x5b\x63\xf9\xaf\x10\x2a\x91\xe3\x21\xd9\xfb\x1a\x65\xbf\xb9\xef\x04\xe8\x90\xbe\x93\x79\x0f\x94\x27\x12\x07\x9c\xb3\x44\x2c\x29\x04\x34\xae\x85\x9e\x84\x8d\x28\xf7\xff\x29\xb1\x67\xa0\x25\x43\x9b\xd0\x47\x27\x25\x6f\x52\x80\xdc\xb1\x30\x8a\x0b\x18\xd0\x55\xc9\x8c\xae\x32\x8e\xb4\x2a\xa2\x61\x23\x74\x83\x33\xea\x5e\x00\xf9\xdd\x9c\x24\xac\xaa\x5a\xc8\xe0\x21\x6e\xca\x8a\xcf\x1b\x47\x44\x30\x87\x64\x55\x62\xb0\x2a\x76\x1d\xde\x2f\xe1\xb5\x75\x53\xf9\x5b\xb3\x3b\xd9\x47\xe2\x0a\xa6\x2c\xb9\x8b\x79\x2b\x85\x67\x83\x99\x3f\x13\xcf\x9f\x2f\x7b\x26\x6e\xd1\x78\xc5\x28\x89\xce\x44\x3a\x15\x94\x8c\xac\x1f\x65\xab\xf3\xc3\x48\x3e\x84\x0e\x95\x42\xcb\x46\x0b\x0a\xb5\xe4\xf4\x50\x4c\x61\x00\x2a\x60\x75\x84\xf3\x81\xa4\x9f\x48\x89\x1c\x0c\x69\x3b\xeb\x12\x61\xd6\x04\x27\x64\x68\x04\x39\x7d\xad\xd6\x11\x29\x4b\xc8\xb2\xec\xcb\xcb\xfd\xbf\x99\x6f\x73\xd3\x4e\x1a\xcb\x1e\x2e\x2e\x76\x3c\xef\xc5\xc5\x03\x5c\x5c\xfc\x44\x5e\xfc\xe2\x02\xd2\xdf\x03\xc0\xc5\xc5\x34\xdb\xeb\x07\x79\xec\x9a\x43\xe2\xb0\xa0\x1b\xcb\x1e\xf8\xdf\x8b\x8b\x9f\x08\x86\x69\xfc\x01\xf6\xfe\x1e\x78\xd2\x4b\xa7\x02\x3a\x25\xa6\xfb\x10\x3d\x6f\xd1\x07\xa7\x62\xbc\x1b\x8f\x3e\x64\x5f\x7e\xbb\xff\x37\xf3\x6d\x6e\xda\x29\x63\xdf\x7e\x99\x3d\xc0\x9b\x66\xa5\x95\x9c\xd2\xf4\xca\xba\xe9\xf7\x07\x78\x2d\xee\x3b\x0c\x8c\xf1\xc1\x63\x37\x53\x97\x28\x36\x42\x69\xb1\xd2\x18\x59\xcf\x66\x44\x02\x0f\xf0\x16\x35\x0a\x8f\xe3\x4f\x75\x3c\x92\xbd\x33\x65\x35\xa5\x70\x55\x37\x96\xb2\xba\x38\x65\x39\xa7\x87\x7d\xa1\xef\x7d\xda\xcf\x35\xcd\xe1\xe9\xfb\x5b\x9d\x7e\x90\x30\x2d\x6c\x45\xbb\x3c\x69\xfa\x30\xf6\x4f\xb0\x89\x53\x39\x38\x42\xe5\x5f\xcd\xc1\x8d\x09\xe8\x8c\xd0\xf0\x4b\x07\x9f\x99\x6f\x0f\xf0\x8b\x11\x4d\x28\xad\x53\xbf\x53\xcc\x8d\x69\xed\x30\xfd\x20\x62\x4f\x17\x51\x25\x5a\x90\xa2\xf1\x08\x95\x32\x96\xa2\x73\x25\xd6\x08\x1d\x5c\x29\xdf\xc6\xaa\xd6\xb6\xc5\x94\xe7\xf6\x5b\x9d\x03\xa4\xfc\xdf\x38\xef\x97\xd6\x6c\xd0\x28\x0e\x06\xdd\xd8\xc0\x5e\x28\x95\xcb\x39\xab\x50\xe8\x97\x4f\x41\x6c\xb2\xaf\x69\xe2\x9a\xc6\xfe\x86\xe5\x29\x1c\x74\x6e\x1c\xf3\x81\xa4\xbd\x6f\xf3\xb0\x0c\x16\x3e\x1d\x2c\x27\x49\x74\x0f\xd1\x5e\xcb\xa2\xcf\xda\x80\x8a\xb6\x9a\x12\x86\xf3\xbc\xa8\xb4\x86\x92\x5c\xc7\x94\x25\xd0\x77\x1c\x4c\x01\x3f\xe2\xf4\x4c\x2f\xdd\x27\xc6\xc9\x00\x86\xb1\x09\xd0\x27\x3a\x7e\x72\x18\xf8\x57\x7f\x64\xfa\x53\x0e\x70\x58\x37\x61\x6c\x43\xc7\xa6\xcf\x8e\xfd\x6d\x72\xa7\x70\x30\x4e\xef\xd2\xb1\x33\x9f\x9e\x6a\x72\x63\x75\x7c\x12\xeb\xb3\x46\xb7\x74\x70\x6f\x80\xb1\x1d\x73\x79\x9e\xf5\x89\x20\x7c\x70\xb6\x2e\x95\xdc\xb5\xbe\xd8\xd8\x49\x45\xc5\x8e\x3a\x4e\x3e\x60\xd7\xf4\x86\xbd\x1e\xe6\xc2\xc3\xf9\x07\xec\x98\xde\xc8\x58\xfe\x62\x40\x65\x77\xac\xf9\xff\xb8\x9a\xa0\x62\xb7\x7b\xc3\xd9\xbe\xcf\xb2\x7f\x31\x2b\x5f\x7f\x93\x65\xf9\x72\x32\xbd\xab\x9b\x47\x2d\x83\xbe\xfc\xda\x2d\x53\x63\x17\x8a\x8a\xf1\x51\x41\x98\x88\x58\x66\x19\x4e\x77\xe6\x56\xd9\xb8\x61\xc9\xcd\xbb\x58\xc3\x7b\xf0\xa5\x6d\x74\x0e\xc1\x31\xc4\x08\x74\x5c\x21\xdb\x2d\xd5\x7a\xb3\x07\xc7\xae\x5f\x6c\xcf\x7a\x6e\xb3\xe6\xf8\x5b\xd3\xf7\x58\x29\x30\xa4\x46\x6c\x57\x70\x73\xf3\x44\x6c\xac\xca\xa9\x16\x68\x8c\x41\xb2\x25\xe1\xb8\x67\x9a\xc7\x96\x1d\x48\xeb\xb9\x82\x2f\xa6\xd4\x8f\xe4\x21\x3c\x7c\x78\xff\xc7\x10\x1b\x3f\xbc\xff\x13\xac\xa3\x6f\x63\x59\xd3\xd7\x4e\x98\x42\x4a\x5b\xd5\xc2\xa8\xd8\x14\x13\xa0\x95\xe7\x06\xca\xc8\xb0\x63\x8f\x87\xe1\xbf\x2d\x95\x2c\xf7\x6a\x95\xd8\xec\x48\xc6\x97\x3a\x4e\x46\x54\xe8\xe9\xf0\x5f\xed\x0a\x8a\xc6\xc8\xbe\x93\xd1\x6d\xb7\x2d\x6d\xec\x8c\xc6\xf2\x77\x5d\x06\x8e\xa2\xc9\x8b\xec\x34\xb5\x97\x59\xb6\x7e\x84\xed\x71\xa6\xfa\x54\x16\xd9\x91\xa8\x62\xd2\xce\x3d\xd8\x7a\xe2\x72\x6a\xa7\xb7\x4b\x93\xba\x1e\xf4\x32\xcb\xca\x73\x80\x96\x1a\x90\x1b\x85\xdb\xd8\x24\x9d\xc5\x56\x6c\x43\xa8\x69\xcb\x5a\x78\x8f\xc1\x03\x6e\xd0\xb5\x50\xa8\x0d\x42\x8b\xc2\xa5\x5c\x81\x9b\x0a\xb0\x2d\x91\x9b\x42\x87\x77\x4e\x40\x27\x13\x2b\x85\x59\x63\xce\x9d\x22\x47\x9b\x42\x6d\xbd\x57\x2b\x8d\x8b\x43\xa6\x36\x2c\x26\xcb\x70\x98\xc7\x56\x13\x15\xbc\xdc\x4b\xbb\x8c\xb6\xea\x6d\x11\xb6\xc2\x61\xdf\x5a\x1b\x5a\x6e\xc1\xf6\x5d\x2d\xbf\xd8\x11\x4d\x63\xf2\x9e\x74\xd2\x65\xcb\x9d\x6a\x6e\x82\x58\x1d\x05\x27\xb4\xb7\x4f\x94\x5e\xd7\xac\x17\x45\x98\xed\xa8\x45\x71\x30\x9a\xe3\x14\xd1\x53\xca\x74\xf0\x4e\x5c\x59\xf7\x8d\x8e\x24\x3a\xaa\x55\xec\x36\x02\x6f\x6f\x5f\x7f\xae\x30\xe7\xbc\x21\x77\xce\x63\xf4\xb5\x8e\xbd\x47\x42\x61\x61\xe9\x68\x65\xd6\x43\x8b\xee\x0d\x5f\x98\xf4\x57\x24\x57\x47\xe4\xc4\x6d\xfe\x9c\x98\x19\xfa\x5b\xc1\xd6\x0c\xa8\x95\x0d\xc1\x56\x24\x4a\xee\x6a\xf5\xf7\x44\xb5\x58\xe3\x37\xdc\x50\xf6\x51\x1b\x7b\x3b\x14\xce\x9a\xd0\x35\xd2\xa4\xdd\xa4\xeb\x1b\xb3\x41\x6d\x6b\x04\x29\x9c\xe3\x7e\x64\xbc\xe1\x19\xdd\x40\x0d\xcd\xd5\x6e\x27\xc5\x37\x04\x85\xd5\x04\x8c\x89\x67\xea\x57\x29\x0f\x3e\x58\x92\x1e\xdc\x14\xe3\xed\xd2\xdd\x4e\x12\xdd\x82\xaf\x96\x72\x2c\x44\xa3\xc3\xee\x75\x86\xf2\x93\x0a\x78\x68\xcb\xfd\x30\x73\xe7\xf4\x39\x04\xfa\x39\x68\xbf\xd9\xc7\xfe\x51\xd2\xcd\x91\xbb\xb4\x1e\x88\x7b\xdc\x25\x0b\x4e\xbe\xd1\x4b\x87\x38\xed\x93\x77\xf3\x78\x84\xfc\x93\x81\x5c\xf9\x5a\x8b\x01\x03\x93\x08\x40\xd4\xcf\x88\xbf\x12\x4a\x9f\x2c\x79\xd5\xc1\xc7\xf9\x00\x5a\x99\xbe\x5b\x8d\xb4\x0d\xac\x6c\xde\xb2\xc4\xd5\xb9\x92\xde\x0f\x40\x07\x09\x26\x50\x52\x72\x59\x61\xae\x04\x3c\xcb\x95\xbf\xf7\x0b\xa8\xb0\xb2\x8e\xd2\x5a\x97\xfb\x05\x60\x90\xcb\xe7\xc7\xb8\x3a\x28\x76\x02\x95\x6f\x5c\x21\x64\xcf\x1b\x1f\xf4\x79\xd8\x1a\x43\x29\x38\x61\x7c\xa5\x02\x13\xe3\x84\xd6\xed\x31\x06\x06\x1f\x47\xb8\x56\x96\xef\x13\xb0\xb0\x0e\x09\x05\xb2\xf1\x7e\xe7\x66\xa2\xeb\x96\x13\x67\x97\xc1\x5e\x32\x87\xd2\x56\x55\x63\xfa\x5b\x98\x55\x0b\x01\x35\xd6\xa5\x35\xb8\x60\x7f\x6d\xda\x74\x19\x52\xa1\x88\xf9\x07\x91\x36\x5d\x97\x58\x12\x4b\xb8\xd6\xba\xcf\x05\x22\x70\xe9\xc4\x03\x97\x54\xac\x82\xe8\x66\x99\xcf\x75\xa3\x72\xd4\x7c\x2d\x4b\x29\x46\x44\xdb\xf0\xac\x60\x41\xc2\x7c\xfc\x65\xc1\xf2\xc3\xfb\x3f\xb3\xa7\xd1\x42\xb1\x51\x63\x88\x6f\x0c\x7c\xb3\xaa\x54\x00\x71\xf8\x55\x42\x8a\x14\x14\x0c\x2b\x86\x48\x40\xf0\x4d\x4d\x61\xca\x5b\xf6\xcc\x29\xd8\x42\x6d\x95\x09\x97\xb6\xb8\xa4\x88\x2b\x64\x58\xc2\x35\x78\x41\x87\x1d\xd9\x9d\xed\x6e\xe0\xff\xbb\x2e\x86\xc5\x3b\x51\x2a\x4f\xe2\xf5\x48\x8a\x57\xaa\xaa\x9d\xa5\xf8\x34\xbe\xfe\x3d\xc6\xed\x0a\xa9\xc2\xb1\x2e\x09\x7a\xee\x1a\xed\x84\x9b\xd8\xc9\x5d\xd0\xea\xf9\xf3\x88\x85\x7f\x64\xff\x4b\xce\x77\xe5\x50\xdc\x43\x36\x3c\x15\x39\xf9\x75\xc8\xe3\x59\xdf\xe0\x39\xfb\xeb\xcb\x83\x21\x7c\x04\xad\x8b\x2b\x16\x63\x0c\xe5\xdf\x77\x91\x67\xc7\x26\x07\x83\x8d\x3e\x9f\xfe\x5e\x2c\xe1\x67\xca\x6e\x67\xb2\x5e\x2a\xa7\x47\x79\xec\xb2\x5f\x33\x5e\x7c\x53\x80\x27\xb1\x1d\xbf\x80\xee\xe3\x54\xc7\x9c\x4f\xf1\xdb\xe1\x9a\x6c\xc2\x61\xce\x0e\x7b\x39\x21\xac\xe7\x83\x49\xe1\x24\x7c\x85\xf1\x6d\x84\x32\xe0\xac\xad\x3c\x2b\xd5\x36\xa1\xbb\xcb\xe8\x48\x3d\xb0\x4d\x0f\x90\xca\x6e\x30\x07\x7c\x57\x63\xae\x82\xb2\x8d\xd7\x6d\xbc\x51\xae\x9d\x22\x39\xc5\x70\x56\x88\x77\x50\x09\x59\x92\x84\x87\x38\x39\x14\x52\x93\x63\xee\x66\xf9\xe4\x4c\x83\x81\x08\xda\xca\x7b\xcc\x41\x8a\x95\x32\x18\x8e\xb1\xba\xc2\xe8\x35\x0b\x74\xb4\x3a\x3d\x74\xe0\x1b\xdc\x43\x55\x47\x2c\x51\xe8\x18\xa9\x2d\xa5\xd4\x5d\xfa\x34\x3d\xe7\x89\xea\x22\xdd\x24\x42\x40\x80\xc3\xd0\x38\x13\xaf\xe2\xeb\xd0\x65\xb0\x47\x85\xde\xbb\x92\xa8\xc3\x4e\x01\x27\x89\x7c\x0c\xd3\x09\x75\xb1\xc0\xe4\xae\x8f\xad\xdb\xdd\x22\xeb\xc4\xa5\x39\x69\xd3\xce\xae\x56\xd3\xa7\x24\xd9\x3e\xfa\x1f\xd5\xb9\x17\xc5\x8e\x60\xa6\x4b\x3e\x42\xd9\x5c\xb4\x06\xd7\xf8\xb0\xb5\x2e\x94\x6d\xf7\xe8\x62\x0c\x02\xf6\xf8\x28\xf4\x41\x3c\xbc\x12\xef\xba\x6b\xc6\xdd\x5c\xb2\x46\x17\xa3\xf6\xe3\xf4\x47\x0d\xe6\x7d\x9d\x4c\xdb\xed\x39\x94\x98\x78\x0b\xc3\xae\xcc\xe0\xbb\xd0\xdf\x31\x46\xfd\xc7\x40\x30\x4a\x88\x06\x37\xf6\xe9\x5c\xd8\x78\x11\xbf\x77\xe8\xb3\x74\xa0\xf2\x13\xdf\xa5\x1a\x17\x36\x4a\x40\x63\xd0\x48\xd7\xd6\x7c\x5b\xaf\x34\x82\x2f\x05\xe7\x1a\x7d\x95\xda\xbd\x39\x7b\x75\xf7\x86\x2d\xa7\xed\x41\x50\x0b\xef\xb7\xd6\xe5\xc3\xdb\xba\xe9\xe1\xd7\x93\xde\xc0\x4c\xf5\xbf\xe5\x42\x71\xbe\x72\x19\x4e\xe9\x1f\xee\x31\x1a\x08\xc9\x66\xdd\x9f\xbd\xaf\xb8\x94\x54\xdb\x43\x85\x51\x4a\xb4\x47\x27\x88\x26\x58\x22\x4c\x52\xe2\xd6\xb9\xb0\x58\xee\xbe\xf8\x0a\x2a\x65\x9a\xd0\xbd\xd1\x4b\x0f\x69\xda\x47\x3d\x25\x6b\xab\xef\xf7\xb0\x4f\x49\xaa\x8b\x12\x88\xcf\xc1\xc6\x6f\x0d\x49\x8f\x7d\x0b\x08\xfb\xe7\x3c\x8f\x88\x6e\xbc\xc3\x50\xf5\x9d\x87\x81\x79\xbd\xdb\x82\x53\xc8\xd0\xd6\xb8\xa3\xf7\x1e\x31\xa7\x7b\x20\x74\xc2\xe3\x29\xfe\xe7\x0c\xcf\x33\x02\xae\x75\xd5\xe3\x16\x9c\x56\xb2\x01\xf3\xdb\x4c\xb7\x21\x8f\x1c\x51\x42\x52\x49\x4d\x15\x3d\xff\x4a\xee\x91\x03\xba\xd0\x4d\x72\x3c\x2a\x57\xee\xef\xb1\x12\x7a\xfa\x3b\x13\xfb\xf1\xee\xee\xcd\x6d\x7c\x26\x7b\xfb\xe3\x12\x5e\x35\x8e\xf2\xf7\x03\xf1\x6a\x58\x4e\x0b\x06\x2b\x49\x01\x8c\x50\x39\xb2\x93\x58\x64\x8e\x9c\xf0\x7e\x5f\xe5\x36\x26\x67\x9f\xc9\x13\x3d\xea\x0c\x3e\xd2\xde\x3f\xde\x98\x47\x7b\xce\x91\x17\x41\xc4\x6a\xd6\xb6\x2f\xa9\x87\x0c\x6d\x0c\x9f\xba\x6c\x3d\x51\x30\x95\xc4\x61\x6f\xf1\x8b\xef\xbb\xa0\xda\xae\x29\x28\x1e\x31\xfd\x18\x7c\x92\xa8\x03\x56\xb5\x75\xc2\x29\x02\xb5\xe3\x80\x26\x0c\x9a\x40\x54\x62\x11\x78\x8f\xad\x75\xf7\xb5\x16\x7b\xe9\x8b\x08\x62\x40\x93\x4b\x17\x0a\xba\x4d\x08\x32\x20\xf4\xda\x3a\x15\xca\x6a\xda\xd5\xe7\x47\xcd\x08\x39\x6a\x1c\xd9\xc5\x31\x43\x3e\x59\xf7\x23\x11\x86\xd2\xd9\x66\x5d\x42\xd5\xe8\xa0\xa8\xe2\x0d\x54\xd3\x36\xa1\xa4\xfd\x53\x95\xfe\xec\xf5\xab\xeb\xe7\x27\x6b\xaf\xb3\x50\x65\x7c\x10\x7c\xc6\xc8\x0b\x9c\x6b\xfb\x8f\x9c\x71\x2e\x42\x62\xa5\xc4\xb2\x0b\x6d\xdf\xdd\xe5\x2b\x03\x4b\xb5\xe6\x50\x05\xf3\x95\x81\xb5\xd5\x5e\x2a\xf1\x5a\x28\xfd\x99\x6c\x97\xcd\x0c\xb9\x11\x1d\xab\x6d\xe1\xb0\x68\xc8\xbe\x64\x89\xf2\x3e\xbd\xd0\x94\xaa\x56\x7b\x69\x29\x95\xf2\xf1\x39\xad\x0f\x2c\x91\xd8\xcf\xfe\xf0\xfe\x8f\x99\xba\xf0\xc3\xfb\x3f\xb9\xdf\xf6\x78\x78\xfd\x81\x7b\x56\xfb\xae\x50\x3d\x92\xfb\x9f\x00\xd6\x03\x5b\xef\xc9\xfb\x36\xf5\xb2\x5e\x53\xd2\xff\x99\x04\xcf\x7b\x93\x5d\x53\x28\xf1\x27\x27\x5e\xa7\x55\x40\x54\xad\x34\xd5\x79\xe5\xea\xdd\x68\xdd\xd1\x7a\xf5\x63\xbc\x61\xe4\x9a\x2b\xa5\x09\xdb\x07\xf2\x8e\x38\xfd\xdc\x6a\xf4\x49\x32\x3a\xbf\x46\xec\x93\xa2\xb4\xd3\x6e\x4a\x64\xdd\xa4\x3a\x8b\xb3\x4e\x40\xe9\x61\xa6\xf7\xcb\xb1\x34\xf7\x33\xd4\x61\xb1\xbf\xf3\x58\x2d\xb6\x93\x67\xdc\x8d\x9a\xa5\x3f\x73\xb3\xf4\x93\x59\xcf\xce\x6f\x4c\xa6\x62\x98\x3c\xd9\xe8\x37\x20\x09\x52\x29\xc8\x99\x07\x32\x24\x52\xa7\x9c\xc0\x9c\xd2\xa6\x1d\x87\xaf\xfc\xa8\x8b\xda\xc3\xf1\x78\xdb\x84\x77\xeb\xf5\x65\x1b\x93\x5f\xd6\xce\xda\x62\xdf\xbe\xf8\x59\x9e\xf3\xa3\x7e\x5f\xa2\xcf\xa1\xb4\x2e\x1f\x9f\x77\x10\x1e\x2f\xc7\x7b\x48\x6b\xf2\x86\x33\xaa\x2e\xa8\x8e\x7e\x36\x14\x9b\xc3\x8f\x98\xd8\x7f\xdb\x88\x1b\xe9\x08\xe8\xfd\x2d\xd6\x98\x4e\xd1\x3b\x82\x65\x96\xdd\x98\x69\x69\xb2\xe8\xdc\x41\x2c\x3f\xfa\x1f\xe7\x90\x71\x36\x55\xa3\x45\x50\x1b\xd4\xed\x82\xa9\x89\x51\x4e\x84\x61\x4d\x91\xda\xd9\x07\x6e\x39\xaa\x3a\xd9\xd8\xce\x8f\x7e\xe2\x23\xfe\xb8\x45\xf7\x18\x82\xb6\xe2\x9b\xc5\x43\x17\x90\x97\x1c\x43\xba\x17\x76\x13\xb2\x47\x3f\x08\x61\x8a\xe2\xb3\xf7\x03\x3b\xb1\xff\x48\xe6\xc3\xf9\xfd\x21\x09\x2c\xb3\x7f\x64\x59\x96\xfd\x7f\x00\x00\x00\xff\xff\xdd\x87\x8c\xb9\x27\x38\x00\x00") func complySoc2PoliciesClassificationMdBytes() ([]byte, error) { return bindataRead( @@ -577,7 +577,7 @@ func complySoc2PoliciesClassificationMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/classification.md", size: 14376, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/classification.md", size: 14375, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -597,7 +597,7 @@ func complySoc2PoliciesConductMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/conduct.md", size: 4492, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/conduct.md", size: 4492, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -617,7 +617,7 @@ func complySoc2PoliciesConfidentialityMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/confidentiality.md", size: 3653, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/confidentiality.md", size: 3653, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -637,7 +637,7 @@ func complySoc2PoliciesContinuityMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/continuity.md", size: 5043, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/continuity.md", size: 5043, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -657,12 +657,12 @@ func complySoc2PoliciesCyberMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/cyber.md", size: 4805, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/cyber.md", size: 4805, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _complySoc2PoliciesDatacenterMd = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x56\xc1\x6e\xdc\x46\x0f\xbe\xef\x53\x10\xc8\xd5\x5e\xfc\xf9\x51\x14\x85\x6f\xa9\xd3\x43\x8a\x02\x35\xea\xa4\x97\xa2\x07\x6a\x86\x92\x18\x8f\x86\x0a\x67\xb4\x8e\x72\xea\x6b\xf4\xf5\xfa\x24\x05\x67\xa4\xd5\xae\xbd\x0e\x72\xe8\xc9\x5e\x2d\x45\xf2\xfb\xf8\xf1\xe3\x46\x1c\xe8\x06\xde\x62\x46\x47\x31\x93\xc2\x9d\x04\x76\xf3\x0e\x9d\x4a\x9c\x87\x1b\x78\x7b\xb7\x4b\x98\x39\xb5\x4c\xe9\x66\x07\xf0\xfe\xfe\xd6\xfe\x00\x5c\xc3\xed\xed\xf7\xfb\xef\x76\x03\x7e\x14\xfd\x8d\x0e\x9c\x58\x62\x09\xb9\x06\x8f\x99\x6e\xe0\xe7\x29\xc2\x6b\xf8\xff\xff\x5e\xff\x50\x5e\x70\x32\x0c\x14\xf3\x0d\xbc\x8b\x9c\x19\x03\x78\x71\x93\x3d\xd9\x5d\x5f\x5f\xef\x76\xaf\xe0\x6e\xd2\x51\x12\x01\x46\x0f\xf7\x4e\x46\xda\xed\x70\x0f\xef\x7b\x82\x71\xf9\x46\x5a\xc8\x3d\x27\x18\x4b\x93\xc0\x09\xb2\x80\xa7\x96\x23\x41\x22\x37\x29\xe7\x19\x46\x15\x47\x7e\x52\x4a\xf0\xc8\xb9\xe7\x08\xb9\x27\x10\xed\x30\xf2\x17\xcc\x2c\xf1\x9f\xbf\xfe\x4e\xd6\x23\x42\x05\x9d\x4a\xc9\x92\x80\x80\x3e\x4d\x3c\x5a\x5b\x80\x4a\x98\xf6\x4b\x13\x5b\x55\x1c\xc7\xc0\x54\x4a\x63\x9c\xc1\x05\x99\x3c\xf4\x92\x32\x79\xab\x7d\x60\xbf\x66\x6c\xd1\x71\xe0\xcc\x2f\x77\x02\xb9\xc7\x52\x08\x02\x36\x14\xc8\x03\x26\x20\xce\x3d\x29\xe0\x69\x8b\x20\xf6\xe0\x62\x8b\x7b\xb8\x9f\x5c\x7f\x5a\xcc\xf2\xd1\xe7\x31\xb0\xe3\x1c\x66\x70\x18\x2c\xb3\x4c\x79\x6b\x83\xd3\x91\xfe\xaf\x23\x0c\x01\x06\x8c\xd8\x91\x85\x5e\x01\x0d\x63\x90\x99\x68\xa1\x6c\x2a\x91\x9a\x2a\x0e\x27\xd1\x4f\x2e\x43\x33\x25\x8e\x94\x12\xc8\x48\x5a\x70\x1e\x09\xd8\xd8\x32\x44\xdf\x3e\x83\x57\xf0\x23\xba\x87\x4e\x65\x8a\xfe\x59\xbf\x55\x01\xa9\xb0\x5b\x1e\xf1\xd2\x9f\x4e\x81\x12\x74\x72\x20\x8d\x1c\xbb\x6f\xad\x07\xad\xca\x00\x8d\xe4\x1e\x10\xc6\x7e\x4e\xec\x30\x94\xf8\x20\x5d\xf9\x7f\x13\x1b\x69\x1a\xc9\x65\x3e\x50\x95\xea\xca\x2a\x04\x4e\x39\x15\xfe\xbe\xb5\x2a\x47\x98\x12\x41\x33\x3f\x93\xc9\x15\x8c\x4a\xc9\x29\x37\x94\xa0\x97\x47\x40\xe7\x8c\x5f\x4e\xc6\x79\x56\x29\x03\xb6\xd4\x14\x5b\x51\x47\xfe\xaa\x7e\x4a\x19\x9b\xc0\xa9\xa7\x74\xba\x16\xad\x89\x29\xce\x60\x3b\x9b\xa5\x68\x2b\xf7\xac\x1e\x46\xd4\x3c\x2f\xc9\x9f\x48\x22\x24\x39\xf2\x3c\xaa\xf4\xdc\xb0\x09\x1e\x0d\xfa\xa2\x3a\x23\xdc\x30\x69\xd1\x4a\x2d\x33\x92\xb2\x78\x76\x90\xb0\x25\xcb\xbd\xc2\x37\xf2\x5c\x4f\xee\xa1\x4e\x77\xb1\x9d\x75\xe1\x5b\x09\x41\x1e\x6d\x64\x41\xdc\xa2\x20\x53\xb5\x0b\x98\x12\xb7\x4c\xfe\x12\x4d\xb6\x3c\x0b\xb7\x95\x51\xab\x66\xaf\x15\x05\x50\x5c\xdf\x3a\xc2\xba\xd9\x15\x67\xe2\x3d\xfc\x61\xe3\x7a\x3a\xad\xd3\xe2\xdb\xd8\x6a\xea\x29\x7a\xd2\xcb\xce\xb2\x8c\xe4\xcf\x82\xe6\x27\x74\xfd\x59\xce\x27\x99\x60\x98\x52\x86\x1e\x0f\x04\xb8\x6c\x9a\x82\x81\xec\x22\xf9\x4a\xc6\xf2\xb4\xe4\x36\xbf\xae\xaf\x34\x9b\xd6\xc8\xc3\x4b\x2e\xa7\xe4\x44\x7d\xda\xc3\xbb\x1a\xe0\xb0\xda\xa8\x8d\x5f\xe2\xf5\xa8\x34\x9c\xe9\xf3\xaa\x44\x5d\xae\x58\x34\xd0\xd8\x8a\xa5\xa5\xa4\x61\x89\x84\x95\x87\x13\x50\xfb\x0d\xfa\x33\xa8\x8d\x4d\x91\x50\xc3\x0c\x03\xea\x83\x81\x7c\x53\xd5\x9c\xe5\x69\x9e\xed\x8d\x4d\xe5\xcd\x0c\x98\x21\x10\x5a\x47\x36\xa1\x07\xf2\xe0\x45\x74\x0f\x6f\x8e\x8a\x5e\xf6\x23\x48\xf7\x42\xd1\xba\x1e\x98\x38\xac\x7a\xe7\x26\x10\x7c\xb4\x60\x8e\x89\x3d\x95\x5e\x4a\xde\x02\xe6\x8e\x34\x15\x1f\xeb\xa5\x48\x2a\x4a\x5e\xcd\xf0\x05\x2d\x6a\x69\xdb\x52\x29\x79\x03\xd7\xd0\xda\x5f\xda\xc3\xef\xcb\x7f\x6b\xf5\xd8\x9d\xeb\x2b\xf5\x18\xc2\xa6\xcf\x5f\x9b\x8c\x46\xf8\x91\xa9\xb3\xe0\xfa\x8d\xa8\xc7\xe8\xa8\x58\x2d\x28\xb5\x26\x79\x47\x60\xd3\x58\xb3\xc4\x30\xc3\x26\x43\xa5\xc1\x92\x72\x3c\xcf\xf6\xd8\x53\x04\x4a\x4e\x34\x2f\x7c\x83\x27\x13\x24\xda\xe7\xf5\x02\x54\x6d\xae\x9f\x2a\xcd\x29\xe3\x5c\xcb\x1b\x1d\xeb\x30\xfc\xa4\x06\x2f\xf7\xc4\x6a\xd5\x59\xa9\x46\x9e\x10\x7d\x2e\x9e\xa5\xdd\x5f\xa4\xab\x9e\xae\xe4\x38\x11\x64\x1e\x8a\x78\x29\x66\xad\x56\x42\x9f\x39\xaf\xda\x7f\x3e\xfb\xfd\x05\x3f\x39\x35\x2c\xa5\x53\x2b\x5b\xba\x39\xa5\x62\xe3\xff\xae\x97\x2c\x9d\xe2\xd8\xcf\x57\xe6\x97\x76\xe5\xa5\x1c\xe5\xc9\xb3\x2c\x6b\xc6\xb1\x4b\xeb\x72\x3d\x70\xf4\x1b\x92\x5b\x89\xd1\xae\x84\xc4\xf5\x7b\x0a\xe4\xb2\x96\x63\xe2\xe9\xc0\x8e\xca\xb5\x85\x51\x1e\x49\xeb\x5d\x9d\xaf\x60\x8a\xc1\xa0\xd8\x85\xe1\xd6\x62\x4d\xad\x53\xee\x45\xf9\xcb\x26\x3b\xa5\x34\x9a\xd0\x4c\xc0\x63\x91\xe9\x56\xf8\x43\x3c\x89\x9f\x12\x76\x85\x40\x33\x7c\x1c\xcc\x9b\x63\x57\xe7\x65\x2d\x71\x4c\xb9\xfe\x54\x38\x5e\xa6\xaf\x21\xd8\xda\xb6\x26\x22\xe5\x47\xd1\x87\xff\xa2\xe7\xfb\x2c\x5a\x1a\x55\x40\x75\x3d\x1f\x30\x58\xcd\x80\xda\x11\xe0\x20\x93\x1d\x17\x69\x61\xc4\x91\x14\x06\xcc\xa4\x8c\x21\x5d\x48\xd0\x42\x1b\x70\x18\xd0\xaa\x1c\xe3\x2c\xef\x05\x80\x1f\xaa\x31\x8e\xa2\xb9\xc4\xf7\x84\xb9\xfc\x66\x28\x30\x4f\xb3\x0f\xf2\xc0\xb1\xbb\x82\x1a\x50\xe4\xe0\x95\xa3\x3d\xac\x8a\xbb\x3f\xdd\xa6\xa3\xff\xd8\xb1\x23\x5f\xae\xa2\x93\x61\x0c\xbc\x2d\xeb\xf1\x22\x96\xe3\x50\x2f\xe5\xd9\x29\x35\x3f\xd9\x4c\xef\xd3\x84\x9a\xc9\xcc\xac\xc1\xc4\x69\xbf\xfb\x37\x00\x00\xff\xff\xe9\xe4\x01\x0f\xc6\x0b\x00\x00") +var _complySoc2PoliciesDatacenterMd = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x56\xc1\x6e\xdc\x46\x0f\xbe\xef\x53\x10\xc8\xd5\x5e\xfc\xf9\x51\x14\x85\x6f\xa9\xd3\x43\x8a\x02\x35\xea\xa4\x97\xa2\x07\x6a\x86\x92\x18\x8f\x86\x0a\x67\xb4\x8e\x72\xea\x6b\xf4\xf5\xfa\x24\x05\x67\xa4\xd5\xae\xbd\x0e\x72\xe8\xc9\x5e\x2d\x45\xf2\xfb\xf8\xf1\xe3\x46\x1c\xe8\x06\xde\x62\x46\x47\x31\x93\xc2\x9d\x04\x76\xf3\x0e\x9d\x4a\x9c\x87\x1b\x78\x7b\xb7\x4b\x98\x39\xb5\x4c\xe9\x66\x07\xf0\xfe\xfe\xd6\xfe\x00\x5c\xc3\xed\xed\xf7\xfb\xef\x76\x03\x7e\x14\xfd\x8d\x0e\x9c\x58\x62\x09\xb9\x06\x8f\x99\x6e\xe0\xe7\x29\xc2\x6b\xf8\xff\xff\x5e\xff\x50\x5e\x70\x32\x0c\x14\xf3\x0d\xbc\x8b\x9c\x19\x03\x78\x71\x93\x3d\xd9\x5d\x5f\x5f\xef\x76\xaf\xe0\x6e\xd2\x51\x12\x01\x46\x0f\xf7\x4e\x46\xda\xed\x70\x0f\xef\x7b\x82\x71\xf9\x46\x5a\xc8\x3d\x27\x18\x4b\x93\xc0\x09\xb2\x80\xa7\x96\x23\x41\x22\x37\x29\xe7\x19\x46\x15\x47\x7e\x52\x4a\xf0\xc8\xb9\xe7\x08\xb9\x27\x10\xed\x30\xf2\x17\xcc\x2c\xf1\x9f\xbf\xfe\x4e\xd6\x23\x42\x05\x9d\x4a\xc9\x92\x80\x80\x3e\x4d\x3c\x5a\x5b\x80\x4a\x98\xf6\x4b\x13\x5b\x55\x1c\xc7\xc0\x54\x4a\x63\x9c\xc1\x05\x99\x3c\xf4\x92\x32\x79\xab\x7d\x60\xbf\x66\x6c\xd1\x71\xe0\xcc\x2f\x77\x02\xb9\xc7\x52\x08\x02\x36\x14\xc8\x03\x26\x20\xce\x3d\x29\xe0\x69\x8b\x20\xf6\xe0\x62\x8b\x7b\xb8\x9f\x5c\x7f\x5a\xcc\xf2\xd1\xe7\x31\xb0\xe3\x1c\x66\x70\x18\x2c\xb3\x4c\x79\x6b\x83\xd3\x91\xfe\xaf\x23\x0c\x01\x06\x8c\xd8\x91\x85\x5e\x01\x0d\x63\x90\x99\x68\xa1\x6c\x2a\x91\x9a\x2a\x0e\x27\xd1\x4f\x2e\x43\x33\x25\x8e\x94\x12\xc8\x48\x5a\x70\x1e\x09\xd8\xd8\x32\x44\xdf\x3e\x83\x57\xf0\x23\xba\x87\x4e\x65\x8a\xfe\x59\xbf\x55\x01\xa9\xb0\x5b\x1e\xf1\xd2\x9f\x4e\x81\x12\x74\x72\x20\x8d\x1c\xbb\x6f\xad\x07\xad\xca\x00\x8d\xe4\x1e\x10\xc6\x7e\x4e\xec\x30\x94\xf8\x20\x5d\xf9\x7f\x13\x1b\x69\x1a\xc9\x65\x3e\x50\x95\xea\xca\x2a\x04\x4e\x39\x15\xfe\xbe\xb5\x2a\x47\x98\x12\x41\x33\x3f\x93\xc9\x15\x8c\x4a\xc9\x29\x37\x94\xa0\x97\x47\x40\xe7\x8c\x5f\x4e\xc6\x79\x56\x29\x03\xb6\xd4\x14\x5b\x51\x47\xfe\xaa\x7e\x4a\x19\x9b\xc0\xa9\xa7\x74\xba\x16\xad\x89\x29\xce\x60\x3b\x9b\xa5\x68\x2b\xf7\xac\x1e\x46\xd4\x3c\x2f\xc9\x9f\x48\x22\x24\x39\xf2\x3c\xaa\xf4\xdc\xb0\x09\x1e\x0d\xfa\xa2\x3a\x23\xdc\x30\x69\xd1\x4a\x2d\x33\x92\xb2\x78\x76\x90\xb0\x25\xcb\xbd\xc2\x37\xf2\x5c\x4f\xee\xa1\x4e\x77\xb1\x9d\x75\xe1\x5b\x09\x41\x1e\x6d\x64\x41\xdc\xa2\x20\x53\xb5\x0b\x98\x12\xb7\x4c\xfe\x12\x4d\xb6\x3c\x0b\xb7\x95\x51\xab\x66\xaf\x55\x05\xac\x2f\x1d\x51\xdd\xec\x8a\x31\xf1\x1e\xfe\xb0\x69\x3d\x1d\xd6\x69\xed\x6d\x6a\x35\xf3\x14\x3d\xe9\x65\x63\x59\x26\xf2\x67\x01\xf3\x13\xba\xfe\x2c\xe7\x93\x4c\x30\x4c\x29\x43\x8f\x07\x02\x5c\x16\x4d\xc1\x30\x76\x91\x7c\xe5\x62\x79\x5a\x72\x9b\x5d\xd7\x57\x9a\x4d\x6a\xe4\xe1\x25\x93\x53\x72\xa2\x3e\xed\xe1\x5d\x0d\x70\x58\x5d\xd4\xa6\x2f\xf1\x7a\x54\x1a\xce\xe4\x79\x55\xa2\x2e\x57\x2c\x12\x68\x6c\xc3\xd2\x52\xd2\xb0\x44\xc2\xca\xc3\x09\xa8\xfd\x06\xfd\x19\xd4\xc6\x86\x48\xa8\x61\x86\x01\xf5\xc1\x40\xbe\xa9\x62\xce\xf2\x34\xcf\xf6\xc6\x26\xf2\x66\x06\xcc\x10\x08\xad\x23\x9b\xd0\x03\x79\xf0\x22\xba\x87\x37\x47\x41\x2f\xeb\x11\xa4\x7b\xa1\x68\xdd\x0e\x4c\x1c\x56\xb9\x73\x13\x08\x3e\x5a\x30\xc7\xc4\x9e\x4a\x2f\x25\x6f\x01\x73\x47\x9a\x8a\x8d\xf5\x52\x14\x15\x25\xaf\x5e\xf8\x82\x14\xb5\xb4\x6d\xa9\x94\xbc\x81\x6b\x68\xed\x2f\xed\xe1\xf7\xe5\xbf\xb5\x7a\xec\xce\xf5\x95\x7a\x0c\x61\xd3\xe7\xaf\x4d\x46\x23\xfc\xc8\xd4\x59\x70\xfd\x46\xd4\x63\x74\x54\x9c\x16\x94\x5a\x52\xb2\x8f\x36\x8d\x35\x4b\x0c\x33\x6c\x32\x54\x1a\x2c\x29\xc7\xf3\x6c\x8f\x3d\x45\xa0\xe4\x44\xf3\xc2\x37\x78\x32\x41\xa2\x7d\x5e\x0f\x40\xd5\xe6\xfa\xa9\xd2\x9c\x32\xce\xb5\xbc\xd1\xb1\x0e\xc3\x4f\x6a\xf0\x72\x4f\xac\x56\x9d\x95\x6a\xe4\x09\xd1\xe7\xe2\x59\xda\xfd\x45\xba\x6a\xe9\x4a\x8e\x13\x41\xe6\xa1\x88\x97\x62\xd6\xea\x24\xf4\x99\xf3\xaa\xfd\xe7\xb3\xdf\x5f\xb0\x93\x53\xbf\x52\x3a\x75\xb2\xa5\x9b\x53\x2a\x36\xfe\xef\x7a\xc9\xd2\x29\x8e\xfd\x7c\x65\x76\x69\x47\x5e\xca\x4d\x9e\x3c\xcb\xb2\x66\x1c\xbb\xb4\x2e\xd7\x03\x47\xbf\x21\xb9\x95\x18\xed\x48\x48\x5c\xbf\xa7\x40\x2e\x6b\xb9\x25\x9e\x0e\xec\xa8\x1c\x5b\x18\xe5\x91\xb4\x9e\xd5\xf9\x0a\xa6\x18\x0c\x8a\x1d\x18\x6e\x2d\xd6\xd4\x3a\xe5\x5e\x94\xbf\x6c\xb2\x53\x4a\xa3\x09\xcd\x04\x3c\x16\x99\x6e\x85\x3f\xc4\x93\xf8\x29\x61\x57\x08\x34\xbf\xc7\xc1\xac\x39\x76\x75\x5e\xd6\x12\xc7\x94\xeb\x2f\x85\xe3\x61\xfa\x1a\x82\xad\x6d\x6b\x22\x52\x7e\x14\x7d\xf8\x2f\x7a\xbe\xcf\xa2\xa5\x51\x05\x54\xd7\xf3\x01\x83\xd5\x0c\xa8\x1d\x01\x0e\x32\xd9\x6d\x91\x16\x46\x1c\x49\x61\xc0\x4c\xca\x18\xd2\x85\x04\x2d\xb4\x01\x87\x01\xad\xca\x31\xce\xf2\x5e\x00\xf8\xa1\x1a\xe3\x28\x9a\x4b\x7c\x4f\x98\xcb\x4f\x86\x02\xf3\x34\xfb\x20\x0f\x1c\xbb\x2b\xa8\x01\x45\x0e\x5e\x39\xda\xc3\xaa\xb8\xfb\xd3\x6d\x3a\xfa\x8f\xdd\x3a\xf2\xe5\x28\x3a\x19\xc6\xc0\xdb\xb2\x1e\x0f\x62\x39\x0e\xf5\x50\x9e\x5d\x52\xf3\x93\xcd\xf4\x3e\x4d\xa8\x99\xcc\xcc\x1a\x4c\x9c\xf6\xbb\x7f\x03\x00\x00\xff\xff\xb1\x0b\x9e\x72\xc5\x0b\x00\x00") func complySoc2PoliciesDatacenterMdBytes() ([]byte, error) { return bindataRead( @@ -677,7 +677,7 @@ func complySoc2PoliciesDatacenterMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/datacenter.md", size: 3014, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/datacenter.md", size: 3013, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -697,12 +697,12 @@ func complySoc2PoliciesDevelopmentMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/development.md", size: 8933, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/development.md", size: 8933, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _complySoc2PoliciesDisasterMd = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5a\xcd\x6e\x1c\xb9\xf1\xbf\xcf\x53\x14\xb0\xc0\x1f\x92\x77\x34\xfa\x7b\x73\x09\x14\xe4\x20\xdb\x8b\x44\x9b\x85\x2d\x48\x02\xf6\xa0\xe8\x50\x4d\x56\x4f\xd3\x62\x93\x1d\x92\x3d\xe3\x31\x7c\xc8\x6b\xe4\xf5\xf2\x24\x41\x91\xdd\xec\xee\xf9\xb0\xe4\x18\x63\x60\x03\xcf\xc5\x23\x0e\x9b\xf5\xf5\xab\x5f\x55\xb1\x6d\xb0\xa6\x0b\x78\xa3\x3c\xfa\x40\x0e\x6e\x48\xd8\x15\xb9\x0d\x5c\x5b\xad\xc4\x66\x86\xc2\x59\xb3\xa9\x2f\xe0\xcd\xcd\xf5\xcc\x63\x50\xbe\x54\xe4\x2f\x66\x00\x77\xb7\xaf\xf9\x1f\x80\x33\xb8\x7c\xb9\xf8\x69\xf8\xfa\x87\x59\x8d\xef\xad\xbb\xa1\x95\xf2\xca\x9a\xb8\xf9\x0c\x24\x06\xba\x80\x5f\x5a\x03\x2f\xe1\xa7\xff\x7f\xf9\xc7\xb8\x5f\xd8\xba\x26\x13\x2e\xe0\xca\xa8\xa0\x50\x83\xb4\xa2\xe5\x95\xd9\xd9\xd9\xd9\xec\x87\xeb\xd6\x35\xd6\x13\xa0\x91\x70\x2b\x6c\x43\x30\x9b\xe1\x02\xee\x2a\x82\xa6\xfb\xc9\x96\x10\x2a\xe5\xa1\x89\xea\x82\xf2\x10\x2c\x48\x2a\x95\x21\x08\x15\x81\x75\x4b\x34\xea\x23\x06\x65\xcd\xbf\xff\xf9\x2f\x0f\x8d\xb3\x82\x64\xeb\x28\xee\x74\xc9\x5c\xb8\x32\xa5\x75\x75\xdc\x05\x77\x24\x2a\x63\xb5\x5d\x6e\xe0\xe4\xea\xee\x14\x94\x29\x1d\xfa\xe0\x5a\x11\x5a\x97\x94\xb9\xba\x03\x4f\x6e\xa5\x04\x79\x58\xab\x50\x29\x03\x9e\x02\x48\x42\xa9\x95\x21\x0f\xca\x44\xe9\x02\x93\x8a\x08\xb2\x77\xb0\x75\x60\x43\x45\x8e\x57\x5c\xdb\x04\xb5\x22\x50\x46\x28\x49\x26\x24\xd3\x6c\xf1\x9e\x44\x5c\xcf\xc6\x69\x34\x9d\x69\xc2\xd6\x8d\xa6\x90\x8c\x73\x7d\xb0\x6c\xc9\x2a\x3d\x4f\x51\x8c\xaa\xe6\x38\xdf\xa9\x9a\xe0\x5d\x16\x79\x72\x73\xf7\xee\x74\xd1\xb9\x79\xe4\x57\x23\x74\x2b\xc9\x03\x6a\x0d\x8e\xbc\x6d\x1d\x1f\xc9\x22\xa2\x43\xbd\x27\x0f\x86\xf8\x0b\xba\x0d\x94\xd6\xf5\x72\xe3\x1e\x89\x01\xb3\xb6\xf3\xb8\x14\xbf\xa7\xf3\xd4\xc8\xf9\x9e\x44\xeb\x54\xd8\x00\xfa\x86\x44\xf0\x6c\x5a\xd1\x7a\x76\xaa\x07\x61\x4d\x50\xa6\xe5\x9f\x6b\x34\xb8\x24\x86\xca\xae\xb2\xd8\x34\x5a\xa5\xf8\xf2\xf1\xc3\xd6\x39\x50\xdd\x68\xbb\xa1\x4e\x75\xdf\xc6\x9d\xce\x43\xa8\x30\x00\x3a\x0e\xc5\xca\xea\x15\xc9\x3e\x82\x4f\xbb\x78\xdb\xbf\xdb\xa8\x9b\xea\x56\xb7\x3e\x40\x41\x50\xa3\xe4\xc3\x51\x2a\xbd\x01\x5c\xa1\xd2\x58\x68\xea\x55\x5e\x57\xb6\x06\x15\x46\x96\x2c\x66\xb3\x1f\xe0\x15\x8a\xc7\xa5\xb3\xad\x91\x3b\x36\x27\xc8\xfb\x24\x7d\x45\x8e\x4f\xc9\x98\xcb\x46\xf8\xe0\x30\xd0\x32\x05\x68\x9f\xa2\x34\x6c\x91\xe4\x85\x53\x45\x7f\xe6\x76\x1e\x7d\x16\x40\x73\x58\x57\x4a\x54\x8c\xd9\xa4\x98\x04\x4c\xe7\xc8\xd6\xa5\x40\x33\xb6\xf9\xc9\x91\x0b\x41\xd3\x8a\x74\xd4\x4d\x38\x15\x94\x40\x3d\xc4\x7e\x80\x59\xb0\xec\x40\x47\x3e\x58\xc7\x07\x97\x6c\xe2\x13\x19\x46\xab\x18\x7e\xf4\xb0\x26\xad\x7b\x65\x06\x2e\x98\xf3\x79\x8d\x35\x5e\x15\x4a\x47\xf8\x19\x09\x81\x89\x20\x6a\xb1\x6c\x95\x44\x23\x58\xea\x3f\x5a\xc5\x52\x83\x85\x9a\x28\xc4\x63\x6e\xee\xde\x6d\x01\x50\x7b\x0b\x5a\xf9\x90\xc4\x30\x6c\x51\x84\x09\xce\xd9\xc8\x86\x9c\xb7\xc6\x90\x9e\x38\xa1\x71\x76\xa5\x64\x06\x65\x8d\x1b\x36\xd7\x10\x49\x92\xec\x3e\x65\x96\x63\x6b\x73\x6c\xa3\x89\x8b\x4c\x90\xa5\xd5\xda\xae\x79\xb3\xb0\x46\x2a\x16\xea\x07\xf4\x51\xe8\x20\xd0\xb3\x4b\x72\xea\x4a\x31\x0a\x2f\x66\x91\x9c\xd5\x02\x2e\xb5\x06\xb6\xb8\x49\xd9\xe3\x6d\x19\xd6\xe8\x46\x39\x7d\x92\x70\xa4\x1c\x14\x28\x1e\xdb\xc6\x9f\x97\xa8\x74\x4c\xed\xd3\x98\x4f\x03\xb4\x99\x23\x6d\xcd\xc8\x37\x86\xdc\x22\xcb\xb8\x2a\x81\xd9\xad\xa3\x40\x08\xf8\x48\x51\x27\xa6\x8e\x70\x80\xc3\xab\x8d\x8f\x71\xd1\x56\xc4\xd5\xf9\x16\x2f\x8d\xb3\x78\x70\x50\x59\x5a\x17\x7c\x52\xab\x4b\xb6\x82\x20\x38\x34\xbe\x24\xd7\x45\x15\x0d\xa0\x0e\xe4\x0c\x06\x82\xb5\x75\x8f\xe0\x55\x20\x38\xf1\xad\xa8\x3a\xdc\x28\x07\x15\x5b\x62\xcb\x52\x09\x3a\xdd\xa6\x65\xe5\x40\xb6\x41\x91\x1f\x6c\xe4\x80\x8c\x4b\xcc\x6d\xcf\x72\xef\xe2\x11\x8e\x13\x25\x03\x50\x53\x4a\x01\x6b\x9d\x54\x06\x43\x0c\x78\x64\x4c\x23\x5b\x91\xfe\x84\x42\x9d\xa1\x31\x2d\x6a\x38\xc1\x00\x9a\xd0\x87\x53\x70\x54\x11\x3a\x8f\x3a\x57\x8e\x11\x63\x72\x98\x17\x30\x22\x0e\x0e\xbb\xb4\xcc\xdb\x36\x24\x3a\x8e\xde\x1e\x80\x13\x36\x0d\x45\x02\xee\x83\xe3\x07\x64\x5c\xf5\x4b\x1d\x75\x96\x25\x89\x00\xa2\xf5\xc1\xd6\x8c\x5d\x86\x37\xba\x60\xf8\x7b\xd1\x06\xa8\x70\x45\x60\x2c\x07\x81\x37\xda\x5d\x9e\x8c\x91\xf5\x1b\x1f\xa8\xf6\x7f\x4a\xf4\xcb\x06\xa0\xa7\x79\xca\xa2\xee\xec\x04\xe2\x44\xe4\x9d\xbb\xed\xda\x4c\x2c\x1d\x53\x45\x8d\x8f\x04\x9e\xc9\x3a\x2a\x1a\x2a\xda\x80\xc0\xbc\x3f\xa2\x40\x99\x40\x8e\x33\x94\x29\x7c\x47\xb1\xe8\x7c\x15\xb2\x72\x8b\xa7\x9c\xa0\x6d\x2b\xb7\x2b\xc5\x50\x6a\x3a\x50\x0b\x1b\xab\xcd\x64\x53\xe4\xbf\x79\x57\x6c\x39\x02\xec\x39\x8e\x8e\x56\xb5\x0a\x09\x9f\x7f\xb1\x76\xa9\x69\x0e\x7f\x25\x67\x1f\xdb\x54\x4b\x2f\x6b\xfc\x68\x0d\xfc\x46\x05\xdc\x76\xd5\xa8\x6b\x25\xc6\x66\x48\x6a\xc8\x48\xcf\xbe\x8f\x60\x1e\x55\x3f\xfb\x3c\x7f\xc6\x22\xd4\x35\x86\x8c\xa3\x17\x37\xd4\x67\xe0\x8b\x71\x3e\x1f\x68\xbc\x54\xcd\xbd\xc1\x90\x53\xca\x43\x6b\x32\x41\xcc\x0f\xa5\x9e\xaf\x38\xb9\x0b\x82\xd6\x93\x84\x22\x56\x26\xb5\xe4\x4d\x72\xa0\xd0\x5d\x7b\xa3\xd0\x7d\xe7\x29\x9f\x78\x83\x6b\x47\x80\x7b\xe6\xe9\xa8\x31\x4a\xe9\xb8\xd2\xd8\x64\xc0\xbe\x47\x7b\x08\x4d\x1d\xbb\x56\x5a\xb3\x72\x0f\xd3\x84\x1f\xe8\x7d\x5c\x35\x1c\x35\xd6\x05\xfe\x76\x48\xc8\x2e\xc7\xe7\xee\x6b\x50\x76\x38\x3c\xa8\xa0\x69\x97\x3e\x92\x9c\x98\xc6\x07\x45\x3d\xa4\x72\xf1\xe2\x75\x5f\x6d\x7b\xf4\xcc\xe1\x6f\xb4\x81\x3b\xf4\x8f\xb1\x51\x9a\xf7\x3f\xc0\xaf\xb1\x42\x5f\x2e\x1d\xc5\x86\xca\xc3\xc9\xed\xaf\x97\xfe\xf4\xc5\xc4\xf0\x81\x41\x72\x6f\x94\xcb\x29\xf7\xd5\xdc\xd1\x30\x09\x0b\xd6\x57\x52\xe7\x98\x82\x86\xaa\xcf\x06\xe4\xca\x6f\x1b\x4a\x3d\x83\x4f\x68\x8f\xf9\xaf\xea\x9a\xa4\xc2\x40\x7a\x33\xe9\x06\x4e\x94\x61\xa4\xd9\xc8\xae\xd6\x49\x72\xa7\x3c\x7f\x44\xf5\xf8\xf3\x72\x31\x72\x62\x96\x77\x58\xcf\x54\x83\x59\xa2\xa3\x1a\xb9\x9c\xb4\xc6\xb0\x69\x3b\x51\x7a\x38\xe0\x83\x47\xda\x40\xe8\x3d\x09\xec\xae\x5c\x86\x47\x0e\x78\xaa\xb0\x33\x2b\x00\x0a\x61\x5d\x6a\x44\xf6\x32\x55\x84\x7c\x1e\x1f\xd8\x5d\x39\x50\xc9\x75\x9a\x96\xa8\xe7\x31\xb7\x99\xef\xb8\x7c\x44\xa8\x2c\x5b\x8d\xc1\x72\x97\x5b\x68\xb5\x4c\xce\xee\xb8\x7e\xe2\x34\x5b\x8e\xcc\x39\x4f\xc6\x0c\x1e\x2a\x08\x1e\xa9\x09\x43\xc0\x58\x56\x54\x94\xc1\xd9\xf5\x87\x79\x46\x7a\xc8\xad\xca\x97\xf5\x96\x9c\xbf\xf7\xbe\x6b\xbd\x6a\xfc\xa0\xea\xb6\x06\xac\x6d\x6b\x42\x6e\x2a\x0b\x2a\x99\x5e\x73\x7c\x87\x8a\xd0\x2b\xda\x03\x66\x9e\xf8\x3f\xe6\x17\xb8\x4c\x67\xd1\x5b\x4b\x0a\x31\x81\x76\x60\x72\x3e\x81\x08\x77\x3e\x60\x0d\x1b\xf5\xb0\x80\x9b\xe9\x19\x49\x4e\x6e\x79\x9f\x81\xb8\x01\x1c\xa9\xa5\x90\xc3\x60\xc1\x23\x20\x9b\xd7\x90\x53\x56\x76\xc9\xfb\xd6\x06\x55\x2a\x91\x45\x5c\x73\x5d\x4f\xf3\xf4\x94\x98\xa7\xb0\x1c\x08\xa4\x17\x68\xe2\x41\x2c\xaf\x22\x33\x1d\x3c\x55\x3a\x8e\x64\x06\x45\x86\x04\x73\xf3\x70\xd6\xc9\x50\xbb\x12\x2f\x9d\x4e\xf1\x91\x65\xd8\xb2\x3b\x3c\x2b\x0a\x43\x02\xdd\xa7\x03\x77\x38\xcd\x8c\x4c\xf5\xe3\x3a\x19\x65\x3d\xec\xeb\xa2\xe2\x23\x9b\xb8\x67\xc2\x9a\xac\x3b\x17\x80\xc2\xae\xa8\x73\x64\x74\xdc\x1b\x42\xc6\xda\x8e\xeb\x7a\x67\x44\x43\xac\x49\xac\x23\xfb\xcd\xa9\x2e\xf5\x6a\xe7\xd6\x3e\xcd\x84\x80\x6d\xa8\x12\x21\xc5\xbb\x89\xfe\x99\xa4\x91\x46\x33\xb6\xe4\xbd\x2d\x3a\x6b\xc6\x6d\x46\x62\xb2\xbd\x2d\xfb\x48\x87\xbe\x0b\x1e\x00\xc8\xbf\xa8\xa0\x3a\x98\x6d\x83\x0f\xce\x07\xe4\xf5\x49\xcd\x2d\xae\xa4\x80\x4a\xf7\xde\xc9\xb1\x2b\x5b\xad\x37\x23\x58\xa2\x91\xe7\x91\x3d\x52\x26\xed\xad\xfc\x1c\x12\x1f\xb8\x3e\x76\xa4\x60\x96\x91\xc8\x0c\xa8\xba\xc1\x58\x13\xbd\x20\x83\x4e\xd9\x79\xf6\x47\x9c\x79\xd2\x53\x3d\xa5\x60\x22\x80\xae\xfa\x4a\xe5\x85\xa3\x1e\xf0\xc7\x72\xfb\x57\xe4\xcb\x28\x28\xfb\x68\xf4\x2b\x73\x66\x40\xe8\x7e\x0e\xed\x3a\x64\x23\x09\x57\x8c\x18\xdb\xc7\x28\x76\xb1\x86\xa7\x10\xdd\xcd\xda\xe3\xdb\x95\xa1\xce\x32\x08\xbc\x65\x00\xf1\x48\xeb\x63\x36\xa5\x24\xb9\x84\xbe\x0e\x38\xd2\xb4\x42\x13\xa0\xb1\xca\xa4\x7b\x9a\x7e\xce\x2d\x6c\xa8\x52\x4f\x6d\x30\xcd\xb6\xf4\xa1\xfb\xa3\xeb\x45\xb6\x21\x42\x46\x68\xeb\xd3\xbc\x76\xd9\x70\x9b\xaa\x3e\xc0\x65\x12\xf9\xa6\xaf\x8c\xc2\x29\xaf\x38\xed\x03\x3f\xb2\x52\xa1\x6b\x14\x04\xb9\x80\xe3\x41\x2f\x21\x39\xa5\x47\x43\x8e\xc7\x2e\x92\xe0\xd4\xb2\x0a\x80\x6b\xdc\x6c\x87\x96\xfd\x19\xad\x76\x3c\x7d\xd3\x59\x07\x9c\x8f\xc3\x2d\x50\x2c\xc1\x5b\x17\x79\xd3\xfa\x3c\x4c\x46\xf7\x03\x96\x52\x20\x78\xa2\x8d\x21\xf7\x81\x1a\x0f\x5c\x09\x53\x3c\x7b\x4e\xdf\x3d\xb2\xa3\xc6\x2e\xed\x47\xf7\x94\x7b\x2b\xfe\xf8\x5e\x61\x94\xd0\x9f\xb9\xab\x5a\x44\x65\xf7\x69\xac\x3c\x8c\xcc\xef\xe7\xa7\xd6\x2d\xd9\x01\x4d\xeb\x44\x85\x3e\x0d\x85\xf9\x5e\x60\x7a\x0b\xd6\x36\xfc\xd4\x7d\x2a\xc8\x0f\x5f\x20\x48\xd8\xba\x6e\x0d\xb3\x7b\xd7\xdd\x08\xad\xb8\x73\xf9\x9a\x23\x62\xaa\xb7\x85\x56\xe2\x6b\x4e\x49\x27\x64\x3e\x61\x3a\xed\x6f\x03\x7c\xe0\x5d\xb1\xb5\xb2\xf1\xa2\x88\xa3\x64\x52\x6b\x1c\x57\x71\x0d\xc4\xe1\x11\xdd\x5d\xe5\x17\x68\x91\xf2\xb1\xd3\xe1\xde\x60\xbc\x71\xc8\x53\xdb\xb9\x6d\x43\xbc\xee\x88\xe4\x94\x46\xed\x6d\x77\xa3\x94\xe7\xb5\x95\xaa\xdc\x9c\x3b\xaa\x99\xcb\x7b\x19\x5d\x9e\xf7\x08\xf4\x24\x52\xc1\x18\x5d\xe2\x26\x6e\xb9\x4d\x68\x15\xe3\x3b\x44\x46\x31\x27\xde\xe4\xde\x36\xcd\xc6\x9f\xbd\x20\x4d\xf9\x15\x6f\xb7\xa6\x99\xfe\x6a\x31\x9b\xfd\xbd\xc1\x25\x15\x8e\xf0\x11\x78\xca\x1c\x58\xe0\x82\x5b\xaa\x44\x35\xd7\x99\x6a\x5e\x27\xaa\x99\xcd\xae\x7a\x9a\xe9\x56\xfc\x6c\xf6\xe3\xd9\xce\x67\xcf\xd2\xbe\xb5\x67\x2d\xfd\x38\xfb\xd4\xf1\xf9\x5b\x0e\x49\xfa\xa4\xa5\x5f\x6c\x01\x77\x1c\xcf\xbc\x76\x5d\x59\x43\xf0\xb6\xad\x0b\x72\x69\xe9\xe7\x1a\x95\x86\xcb\x6e\xd6\x04\xf8\x74\x99\xe7\xb2\xce\x84\x4f\xb3\x1f\xff\xbc\xf3\xd9\xb3\xb4\x6f\xed\x59\x4b\x83\x05\xa3\xcf\x9e\xa5\x7d\x6b\xcf\x5a\xfa\x74\x7c\x01\xdf\x2c\xc8\x47\xb3\xe0\xf7\xef\xa2\xd9\xcf\x1f\xbe\x27\xdf\xf7\xe4\x3b\x62\x90\x8f\x66\xc1\xef\xdf\x45\xa3\x82\x39\xa9\x97\xaf\x2e\x86\xeb\x93\xdb\x5c\xaa\x27\x2f\x1f\xba\x52\x7d\x35\x2d\xd5\xff\x97\x6f\xff\x66\xb3\xdd\xaa\x3f\x7a\x6d\xce\x65\xbc\x7f\x39\x18\xeb\x78\x9a\x17\xa1\x20\x6d\xd7\x17\x7b\x29\xe0\xf3\x4e\x38\xbc\xbc\x6d\x74\xf2\xf4\xf0\x7f\x14\x7a\xa5\xfa\x30\x5c\xa7\x49\xf0\x66\x74\x09\x30\x2c\x9f\xf8\x53\x78\xdb\xcf\x52\xbf\xf1\xcc\xf6\xba\x7f\x6b\x03\x7b\xd3\xfe\xf3\x04\x70\x78\x79\x37\xe1\x93\xcb\xf3\x9b\xcb\xa8\x3e\xc9\x8b\x43\xb0\x3b\xbc\xfc\xc4\xa6\x7d\xb8\x7e\xf2\xcc\xff\x4e\x14\x1c\x37\xce\x3c\xc3\xc1\xcb\x8b\x23\x98\x71\x44\x1f\x1d\xd1\x25\x63\x39\xbd\x7b\x7e\x3a\x86\x7b\xbe\x1d\x86\x8e\x0b\xa0\xef\x29\xf7\xa5\x1e\x3b\x5a\xca\x1d\xd9\x45\xff\x13\x59\xf7\xcd\x70\x74\x44\x6f\xfd\x27\x00\x00\xff\xff\xa3\x09\x5f\x0d\x4b\x28\x00\x00") +var _complySoc2PoliciesDisasterMd = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5a\xcd\x6e\x1c\xb9\x11\xbe\xcf\x53\x14\x10\x20\x90\xbc\xa3\x51\xbc\xb9\x04\x0a\x72\x90\xed\x45\xa2\xcd\xc2\x16\x24\x01\x7b\x50\x74\xa8\x26\xab\xa7\x69\xb1\xc9\x0e\xc9\x9e\xf1\x18\x3e\xe4\x35\xf2\x7a\x79\x92\xa0\xc8\x6e\x76\xf7\xfc\x58\x72\x8c\x31\xb0\x81\xe7\xe2\x11\x87\xcd\xfa\xfb\xea\xab\x2a\xb6\x0d\xd6\x74\x01\x6f\x94\x47\x1f\xc8\xc1\x0d\x09\xbb\x22\xb7\x81\x6b\xab\x95\xd8\xcc\x50\x38\x6b\x36\xf5\x05\xbc\xb9\xb9\x9e\x79\x0c\xca\x97\x8a\xfc\xc5\x0c\xe0\xee\xf6\x35\xff\x03\x70\x06\x97\x2f\x17\x3f\x0e\x5f\xff\x38\xab\xf1\xbd\x75\x37\xb4\x52\x5e\x59\x13\x37\x9f\x81\xc4\x40\x17\xf0\x73\x6b\xe0\x25\xfc\xf8\x87\x97\x7f\x8a\xfb\x85\xad\x6b\x32\xe1\x02\xae\x8c\x0a\x0a\x35\x48\x2b\x5a\x5e\x99\x9d\x9d\x9d\xcd\x66\xbf\x83\xeb\xd6\x35\xd6\x13\xa0\x91\x70\x2b\x6c\x43\xb3\x19\x2e\xe0\xae\x22\x68\xba\x5f\x6c\x09\xa1\x52\x1e\x9a\xa8\x2f\x28\x0f\xc1\x82\xa4\x52\x19\x82\x50\x11\x58\xb7\x44\xa3\x3e\x62\x50\xd6\xfc\xe7\x5f\xff\xf6\xd0\x38\x2b\x48\xb6\x8e\xe2\x4e\x97\xec\x85\x2b\x53\x5a\x57\xc7\x5d\x70\x47\xa2\x32\x56\xdb\xe5\x06\x4e\xae\xee\x4e\x41\x99\xd2\xa1\x0f\xae\x15\xa1\x75\x49\x97\xab\x3b\xf0\xe4\x56\x4a\x90\x87\xb5\x0a\x95\x32\xe0\x29\x80\x24\x94\x5a\x19\xf2\xa0\x4c\x94\x2e\x30\xa9\x88\x20\x7b\x0f\x5b\x07\x36\x54\xe4\x78\xc5\xb5\x4d\x50\x2b\x02\x65\x84\x92\x64\x42\x32\xcd\x16\xef\x49\xc4\xf5\x6c\x9c\x46\xd3\x99\x26\x6c\xdd\x68\x0a\xc9\x38\xd7\x47\xcb\x96\xac\xd2\xf3\x14\xc5\xa8\x6a\x0e\xf4\x9d\xaa\x09\xde\x65\x91\x27\x37\x77\xef\x4e\x17\x9d\x9b\x47\x7e\x35\x42\xb7\x92\x3c\xa0\xd6\xe0\xc8\xdb\xd6\xf1\x91\x2c\x22\x3a\xd4\x7b\xf2\x60\x88\xbf\xa0\xdb\x40\x69\x5d\x2f\x37\xee\x91\x18\x30\x6b\x3b\x8f\x4b\xf1\x7b\x3a\x4f\x8d\x9c\xef\x49\xb4\x4e\x85\x0d\xa0\x6f\x48\x04\xcf\xa6\x15\xad\x67\xa7\x7a\x10\xd6\x04\x65\x5a\xfe\xb9\x46\x83\x4b\x62\xac\xec\x2a\x8b\x4d\xa3\x55\x8a\x2f\x1f\x3f\x6c\x9d\x03\xd5\x8d\xb6\x1b\xea\x54\xf7\x6d\xdc\xe9\x3c\x84\x0a\x03\xa0\xe3\x50\xac\xac\x5e\x91\xec\x23\xf8\xb4\x8b\xb7\xfd\xbb\x8d\xba\xa9\x6e\x75\xeb\x03\x14\x04\x35\x4a\x3e\x1c\xa5\xd2\x1b\xc0\x15\x2a\x8d\x85\xa6\x5e\xe5\x75\x65\x6b\x50\x61\x64\xc9\x82\xd3\xe1\x15\x8a\xc7\xa5\xb3\xad\x91\x3b\x36\x27\xc8\xfb\x24\x7d\x45\x8e\x4f\xc9\x98\xcb\x46\xf8\xe0\x30\xd0\x32\x05\x68\x9f\xa2\x34\x6c\x91\xe4\x85\x53\x45\x7f\xe6\x76\x1e\x7d\x16\x40\x73\x58\x57\x4a\x54\x8c\xd9\xa4\x98\x04\x4c\xe7\xc8\xd6\xa5\x40\x33\xb6\xf9\xc9\x91\x0b\x41\xd3\x8a\x74\xd4\x4d\x38\x15\x94\x40\x3d\xc4\x7e\x80\x59\xb0\xec\x40\x47\x3e\x58\xc7\x07\x97\x6c\xe2\x13\x19\x46\xab\x18\x7e\xf4\xb0\x26\xad\x7b\x65\x06\x2e\x98\xf3\x79\x8d\x35\x5e\x15\x4a\x47\xf8\x19\x09\x81\x89\x20\x6a\xb1\x6c\x95\x44\x23\x58\xea\x3f\x5b\xc5\x52\x83\x85\x9a\x28\xc4\x63\x6e\xee\xde\x6d\x01\x50\x7b\x0b\x5a\xf9\x90\xc4\x30\x6c\x51\x84\x09\xce\xd9\xc8\x86\x9c\xb7\xc6\x90\x9e\x38\xa1\x71\x76\xa5\x64\x06\x65\x8d\x1b\x36\xd7\x10\x49\x92\xec\x3e\x65\x96\x63\x6b\x73\x6c\xa3\x89\x8b\x4c\x90\xa5\xd5\xda\xae\x79\xb3\xb0\x46\x2a\x16\xea\x07\xf4\x51\xe8\x20\xd0\xb3\x4b\x72\xea\x4a\x31\x0a\x2f\x66\x91\x9d\xd5\x02\x2e\xb5\x06\xb6\xb8\x49\xd9\xe3\x6d\x19\xd6\xe8\x46\x39\x7d\x92\x70\xa4\x1c\x14\x28\x1e\xdb\xc6\x9f\x97\xa8\x74\x4c\xed\xd3\x98\x4f\x03\xb4\x99\x23\x6d\xcd\xc8\x37\x86\xdc\x22\xcb\xb8\x2a\x81\xd9\xad\xa3\x40\x08\xf8\x48\x51\x27\xa6\x8e\x70\x80\xc3\xab\x8d\x8f\x71\xd1\x56\xc4\xd5\xf9\x16\x2f\x8d\xb3\x78\x70\x50\x59\x5a\x17\x7c\x52\xab\x4b\xb6\x82\x20\x38\x34\xbe\x24\xd7\x45\x15\x0d\xa0\x0e\xe4\x0c\x06\x82\xb5\x75\x8f\xe0\x55\x20\x38\xf1\xad\xa8\x3a\xdc\x28\x07\x15\x5b\x62\xcb\x52\x09\x3a\xdd\xa6\x65\xe5\x40\xb6\x41\x91\x1f\x6c\xe4\x80\x8c\x4b\xcc\x6d\xcf\x72\xef\xe2\x11\x8e\x13\x25\x03\x50\x53\x4a\x01\x6b\x9d\x54\x06\x43\x0c\x78\x64\x4c\x23\x5b\x91\xfe\x84\x42\x9d\xa1\x31\x2d\x6a\x38\xc1\x00\x9a\xd0\x87\x53\x70\x54\x11\x3a\x8f\x3a\x57\x8e\x11\x63\x72\x98\x17\x30\x22\x0e\x0e\xbb\xb4\xcc\xdb\x36\x24\x3a\x8e\xde\x1e\x80\x13\x36\x0d\x45\x02\xee\x83\xe3\x07\x64\x5c\xf5\x4b\x1d\x75\x96\x25\x89\x00\xa2\xf5\xc1\xd6\x8c\x5d\x86\x37\xba\x60\xf8\x7b\xd1\x06\xa8\x70\x45\x60\x2c\x07\x81\x37\xda\x5d\x9e\x8c\x91\xf5\x1b\x1f\xa8\xf6\x7f\x4e\xf4\xcb\x06\xa0\xa7\x79\xca\xa2\xee\xec\x04\xe2\x44\xe4\x9d\xbb\xed\xda\x4c\x2c\x1d\x53\x45\x8d\x8f\x04\x9e\xc9\x3a\x2a\x1a\x2a\xda\x80\xc0\xbc\x3f\xa2\x40\x99\x40\x8e\x33\x94\x29\x7c\x47\xb1\xe8\x7c\x15\xb2\x72\x8b\xa7\x9c\xa0\x6d\x2b\xb7\x2b\xc5\x50\x6a\x3a\x50\x0b\x1b\xab\xcd\x64\x53\xe4\xbf\x79\x57\x6c\x39\x02\xec\x39\x8e\x8e\x56\xb5\x0a\x09\x9f\x7f\xb5\x76\xa9\x69\x0e\x7f\x23\x67\x1f\xdb\x54\x4b\x2f\x6b\xfc\x68\x0d\xfc\x4a\x05\xdc\x76\xd5\xa8\x6b\x25\xc6\x66\x48\x6a\xc8\x48\xcf\xbe\x8f\x60\x1e\x55\x3f\xfb\x3c\x7f\xc6\x22\xd4\x75\x86\x8c\xa3\x17\x37\xd4\x67\xe0\x8b\x71\x3e\x1f\x68\xbc\x54\xcd\xbd\xc1\x90\x53\xca\x43\x6b\x32\x41\xcc\x0f\xa5\x9e\xaf\x38\xb9\x0b\x82\xd6\x93\x84\x22\x56\x26\xb5\xe4\x4d\x72\xa0\xd0\x5d\x7b\xa3\xd0\x7d\xe7\x29\x9f\x78\x83\x6b\x47\x80\x7b\xe6\xe9\xa8\x31\x4a\xe9\xb8\xd2\xd8\x64\xc0\xbe\x47\x7b\x08\x4d\x1d\xbb\x56\x5a\xb3\x72\x0f\xd3\x84\x1f\xe8\x7d\x5c\x35\x1c\x35\xd6\x05\xfe\x76\x48\xc8\x2e\xc7\xe7\xee\x6b\x50\x76\x38\x3c\xa8\xa0\x69\x97\x3e\x92\x9c\x98\xc6\x07\x45\x3d\xa4\x72\xf1\xe2\x75\x5f\x6d\x7b\xf4\xcc\xe1\xef\xb4\x81\x3b\xf4\x8f\xb1\x51\x9a\xf7\x3f\xc0\x2f\xb1\x42\x5f\x2e\x1d\xc5\x86\xca\xc3\xc9\xed\x2f\x97\xfe\xf4\xc5\xc4\xf0\x81\x41\x72\x6f\x94\xcb\x29\xf7\xd5\xdc\xd1\x30\x09\x0b\xd6\x57\x52\xe7\x98\x82\x86\xaa\xcf\x06\xe4\xca\x6f\x1b\x4a\x3d\x83\x4f\x68\x8f\xf9\xaf\xea\x9a\xa4\xc2\x40\x7a\x33\xe9\x06\x4e\x94\x61\xa4\xd9\xc8\xae\xd6\x49\x72\xa7\x3c\x80\x44\xf5\xf8\xf3\x72\x31\x72\x62\x96\x77\x58\xcf\x54\x83\x59\xa2\xa3\x1a\xb9\x9c\xb4\xc6\xb0\x69\x3b\x51\x7a\x38\xe0\x83\x47\xda\x40\xe8\x3d\x09\xec\xae\x5c\x86\x47\x0e\x78\xaa\xb0\x33\x2b\x00\x0a\x61\x5d\x6a\x44\xf6\x32\x55\x84\x7c\x1e\x1f\xd8\x5d\x39\x50\xc9\x75\x9a\x96\xa8\xe7\x31\xb7\x99\xef\xb8\x7c\x44\xa8\x2c\x5b\x8d\xc1\x72\x97\x5b\x68\xb5\x4c\xce\xee\xb8\x7e\xe2\x34\x5b\x8e\xcc\x39\x4f\xc6\x0c\x1e\x2a\x08\x1e\xa9\x09\x43\xc0\x58\x56\x54\x94\xc1\xd9\xf5\x87\x79\x46\x7a\xc8\xad\xca\x97\xf5\x96\x9c\xbf\xf7\xbe\x6b\xbd\x6a\xfc\xa0\xea\xb6\x06\xac\x6d\x6b\x42\x6e\x2a\x0b\x2a\x99\x5e\x73\x7c\x87\x8a\xd0\x2b\xda\x03\x66\x9e\xf8\x3f\xe6\x17\xb8\x4c\x67\xd1\x5b\x4b\x0a\x31\x81\x76\x60\x72\x3e\x81\x08\x77\x3e\x60\x0d\x1b\xf5\xb0\x80\x9b\xe9\x19\x49\x4e\x6e\x79\x9f\x81\xb8\x01\x1c\xa9\xa5\x90\xc3\x60\xc1\x23\x20\x9b\xd7\x90\x53\x56\x76\xc9\xfb\xd6\x06\x55\x2a\x91\x45\x5c\x73\x5d\x4f\x03\xf5\x94\x98\xa7\xb0\x1c\x08\xa4\x17\x68\xe2\x41\x2c\xaf\x22\x33\x1d\x3c\x55\x3a\x8e\x64\x06\x45\x86\x04\x73\xf3\x70\xd6\xc9\x50\xbb\x12\x2f\x9d\x4e\xf1\x91\x65\xd8\xb2\x3b\x3c\x2b\x0a\x43\x02\xdd\xa7\x03\x77\x38\xcd\x8c\x4c\xf5\xe3\x3a\x19\x65\x3d\xec\xeb\xa2\xe2\x23\x9b\xb8\x67\xc2\x9a\xac\x3b\x17\x80\xc2\xae\xa8\x73\x64\x74\xdc\x1b\x42\xc6\xda\x8e\xeb\x7a\x67\x44\x43\xac\x49\xac\x23\xfb\xcd\xa9\x2e\xf5\x6a\xe7\xd6\x3e\xcd\x84\x80\x6d\xa8\x12\x21\xc5\xbb\x89\xfe\x99\xa4\x91\x46\x33\xb6\xe4\xbd\x2d\x3a\x6b\xc6\x6d\x46\x62\xb2\xbd\x2d\xfb\x48\x87\xbe\x0b\x1e\x00\xc8\xbf\xa8\xa0\x3a\x98\x6d\x83\x0f\xce\x07\xe4\xf5\x49\xcd\x2d\xae\xa4\x80\x4a\xf7\xde\xc9\xb1\x2b\x5b\xad\x37\x23\x58\xa2\x91\xe7\x91\x3d\x52\x26\xed\xad\xfc\x1c\x12\x1f\xb8\x3e\x76\xa4\x60\x96\x91\xc8\x0c\xa8\xba\xc1\x58\x13\xbd\x20\x83\x4e\xd9\x79\xf6\x47\x9c\x79\xd2\x53\x3d\xa5\x60\x22\x80\xae\xfa\x4a\xe5\x85\xa3\x1e\xf0\xc7\x72\xfb\x57\xe4\xcb\x28\x28\xfb\x68\xf4\x2b\x73\x66\x40\xe8\x7e\x0e\xed\x3a\x64\x23\x09\x57\x8c\x18\xdb\xc7\x28\x76\xb1\x86\xa7\x10\xdd\xcd\xda\xe3\xdb\x95\xa1\xce\x32\x08\xbc\x65\x00\xf1\x48\xeb\x63\x36\xa5\x24\xb9\x84\xbe\x0e\x38\xd2\xb4\x42\x13\xa0\xb1\xca\xa4\x7b\x9a\x7e\xce\x2d\x6c\xa8\x52\x4f\x6d\x30\xcd\xb6\xf4\xa1\xfb\xa3\xeb\x45\xb6\x21\x42\x46\x68\xeb\xd3\xbc\x76\xd9\x70\x9b\xaa\x3e\xc0\x65\x12\xf9\xa6\xaf\x8c\xc2\x29\xaf\x38\xed\x03\x3f\xb2\x52\xa1\x6b\x14\x04\xb9\x80\xe3\x41\x2f\x21\x39\xa5\x47\x43\x8e\xc7\x2e\x92\xe0\xd4\xb2\x0a\x80\x6b\xdc\x6c\x87\x96\xfd\x19\xad\x76\x3c\x7d\xd3\x59\x07\x9c\x8f\xc3\x2d\x50\x2c\xc1\x5b\x17\x79\xd3\xfa\x3c\x4c\x46\xf7\x03\x96\x52\x20\x78\xa2\x8d\x21\xf7\x81\x1a\x0f\x5c\x09\x53\x3c\x7b\x4e\xdf\x3d\xb2\xa3\xc6\x2e\xed\x47\xf7\x94\x7b\x2b\xfe\xf8\x5e\x61\x94\xd0\x9f\xb9\xab\x5a\x44\x65\xf7\x69\xac\x3c\x8c\xcc\xef\xe7\xa7\xd6\x2d\xd9\x01\x4d\xeb\x44\x85\x3e\x0d\x85\xf9\x5e\x60\x7a\x0b\xd6\x36\xfc\xd4\x7d\x2a\xc8\x0f\x5f\x20\x48\xd8\xba\x6e\x0d\xb3\x7b\xd7\xdd\x08\xad\xb8\x73\xf9\x9a\x23\x62\xaa\xb7\x85\x56\xe2\x6b\x4e\x49\x27\x64\x3e\x61\x3a\xed\x6f\x03\x7c\xe0\x5d\xb1\xb5\xb2\xf1\xa2\x88\xa3\x64\x52\x6b\x1c\x57\x71\x0d\xc4\xe1\x11\xdd\x5d\xe5\x17\x68\x91\xf2\xb1\xd3\xe1\xde\x60\xbc\x71\xc8\x53\xdb\xb9\x6d\x43\xbc\xee\x88\xe4\x94\x46\xed\x6d\x77\xa3\x94\xe7\xb5\x95\xaa\xdc\x9c\x3b\xaa\x99\xcb\x7b\x19\x5d\x9e\xf7\x08\xf4\x24\x52\xc1\x18\x5d\xe2\x26\x6e\xb9\x4d\x68\x15\xe3\x3b\x44\x46\x31\x27\xde\xe4\xde\x36\xcd\xc6\x9f\xbd\x20\x4d\xf9\x15\x6f\xb7\xa6\x99\xfe\x6a\x31\x9b\xfd\xa3\xc1\x25\x15\x8e\xf0\x11\x78\xca\x1c\x58\xe0\x82\x5b\xaa\x44\x35\xd7\x99\x6a\x5e\x27\xaa\x99\xcd\xae\x7a\x9a\xe9\x56\xfc\x6c\xf6\xc3\xd9\xce\x67\xcf\xd2\xbe\xb5\x67\x2d\xfd\x30\xfb\xd4\xf1\xf9\x5b\x0e\x49\xfa\xa4\xa5\x9f\x6d\x01\x77\x1c\xcf\xbc\x76\x5d\x59\x43\xf0\xb6\xad\x0b\x72\x69\xe9\xa7\x1a\x95\x86\xcb\x6e\xd6\x04\xf8\x74\x99\xe7\xb2\xce\x84\x4f\xb3\x1f\xfe\xb2\xf3\xd9\xb3\xb4\x6f\xed\x59\x4b\x83\x05\xa3\xcf\x9e\xa5\x7d\x6b\xcf\x5a\xfa\x74\x7c\x01\xdf\x2c\xc8\x47\xb3\xe0\xb7\xef\xa2\xd9\x4f\x1f\xbe\x27\xdf\xf7\xe4\x3b\x62\x90\x8f\x66\xc1\x6f\xdf\x45\xa3\x82\x39\xa9\x97\xaf\x2e\x86\xeb\x93\xdb\x5c\xaa\x27\x2f\x1f\xba\x52\x7d\x35\x2d\xd5\xbf\xcf\xb7\x7f\xb3\xd9\x6e\xd5\x1f\xbd\x36\xe7\x32\xde\xbf\x1c\x8c\x75\x3c\xcd\x8b\x50\x90\xb6\xeb\x8b\xbd\x14\xf0\x79\x27\x1c\x5e\xde\x36\x3a\x79\x7a\xf8\x4f\x0a\xbd\x52\x7d\x18\xae\xd3\x24\x78\x33\xba\x04\x18\x96\x4f\xfc\x29\xbc\xed\x67\xa9\x5f\x79\x66\x7b\xdd\xbf\xb5\x81\xbd\x69\xff\x79\x02\x38\xbc\xbc\x9b\xf0\xc9\xe5\xf9\xcd\x65\x54\x9f\xe4\xc5\x21\xd8\x1d\x5e\x7e\x62\xd3\x3e\x5c\x3f\x79\xe6\xff\x26\x0a\x8e\x1b\x67\x9e\xe1\xe0\xe5\xc5\x11\xcc\x38\xa2\x8f\x8e\xe8\x92\xb1\x9c\xde\x3d\x3f\x1e\xc3\x3d\xdf\x0e\x43\xc7\x05\xd0\xf7\x94\xfb\x52\x8f\x1d\x2d\xe5\x8e\xec\xa2\xff\x8b\xac\xfb\x66\x38\x3a\xa2\xb7\xfe\x1b\x00\x00\xff\xff\xf3\xab\x76\xcb\x4c\x28\x00\x00") func complySoc2PoliciesDisasterMdBytes() ([]byte, error) { return bindataRead( @@ -717,7 +717,7 @@ func complySoc2PoliciesDisasterMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/disaster.md", size: 10315, mode: os.FileMode(420), modTime: time.Unix(1545087106, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/disaster.md", size: 10316, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -737,7 +737,7 @@ func complySoc2PoliciesEncryptionMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/encryption.md", size: 5381, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/encryption.md", size: 5381, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -757,7 +757,7 @@ func complySoc2PoliciesIncidentMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/incident.md", size: 8552, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/incident.md", size: 8552, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -777,7 +777,7 @@ func complySoc2PoliciesInformationMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/information.md", size: 5359, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/information.md", size: 5359, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -797,7 +797,7 @@ func complySoc2PoliciesLogMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/log.md", size: 4307, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/log.md", size: 4307, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -817,7 +817,7 @@ func complySoc2PoliciesMediaMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/media.md", size: 8819, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/media.md", size: 8819, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -837,7 +837,7 @@ func complySoc2PoliciesOfficeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/office.md", size: 3927, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/office.md", size: 3927, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -857,7 +857,7 @@ func complySoc2PoliciesPasswordMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/password.md", size: 1796, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/password.md", size: 1796, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -877,7 +877,7 @@ func complySoc2PoliciesPolicyMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/policy.md", size: 892, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/policy.md", size: 892, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -897,7 +897,7 @@ func complySoc2PoliciesPrivacyMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/privacy.md", size: 346, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/privacy.md", size: 346, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -917,7 +917,7 @@ func complySoc2PoliciesProcessingMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/processing.md", size: 210, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/processing.md", size: 210, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -937,12 +937,12 @@ func complySoc2PoliciesRemoteMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/remote.md", size: 4119, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/remote.md", size: 4119, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _complySoc2PoliciesRetentionMd = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x58\xcd\x8e\x1c\xb7\x11\xbe\x0f\xf2\x10\x05\xf8\x22\xd9\xbd\xe3\xc8\xc8\x1f\x36\xc8\x41\xd6\x0a\x81\x83\x04\x5a\x48\x42\x72\xc9\xa5\x86\xac\x99\x2e\x89\x4d\x76\x48\xf6\xcc\xb6\xa1\x83\x5e\x23\x80\xfd\x72\x7a\x92\xa0\x8a\xec\x9e\x9e\x1f\x29\x72\x02\x07\xc8\x1c\xb4\x2d\x76\x93\xac\x9f\xaf\xbe\xaf\x48\x8f\x1d\xdd\xc2\x1d\x66\x84\x97\x94\xc9\x67\x0e\x1e\xee\x83\x63\x33\xae\xd0\xc4\xe0\xc7\xee\x16\x5e\xde\xaf\x12\x66\x4e\x5b\xa6\x74\xbb\x02\x78\xfd\xea\x99\xfc\x01\xb8\x81\x67\xcf\x9e\xac\xbf\x99\x9f\x7f\xb3\xfe\x75\x7d\xbe\xff\xd5\xfa\x9b\x55\x87\x6f\x42\x7c\x49\x7b\x4e\x1c\xbc\xce\xbc\x01\x8b\x99\x6e\xe1\x4f\x83\x87\x27\xf0\xcd\x2f\x9f\xfc\x4e\xbf\x37\xa1\xeb\xc8\xe7\x5b\xf8\xce\x73\x66\x74\x60\x83\x19\x64\x64\x75\x73\x73\xb3\x5a\x7d\xf1\xb4\xef\xc9\x5b\x36\x94\x56\xf5\xf1\x01\x9e\xde\x2e\x2d\xa6\xc8\xc1\xa6\xd5\xea\x0b\xb8\x1f\x62\x1f\x12\x01\x7a\x0b\xaf\x4c\xe8\x69\xb5\xc2\x35\xbc\x6e\x39\xc9\xde\x08\x71\x9e\xd4\xab\x9b\x60\x69\xcb\x9e\x12\xe4\x96\x20\x6c\xde\x90\xc9\xbc\xa7\xa4\xf3\x23\xfd\x63\xe0\x48\x62\x49\x82\x6d\x88\xe7\x2b\x1c\x38\xb7\xec\xcb\xcc\xb8\x43\xcf\xdf\xa3\x8c\xaf\x8f\x5b\xd6\x3d\x4c\xd8\x53\x4c\x80\xce\x95\x25\x3e\x32\xf1\xc3\xfb\x7f\x26\x30\x43\xca\xc1\x8e\x10\x22\x98\xe0\x73\x0c\xae\x01\x8e\x91\x76\x18\xad\xa3\x94\x20\x6c\x75\x62\x47\x96\x87\x4e\x1f\x75\x4d\x4e\x90\x72\x88\x64\x81\x3d\x3c\x22\x47\x26\xc7\xe0\xd9\x88\xe1\x5d\x03\x3d\xf6\x14\xeb\x33\x65\xb3\x7e\x0c\x7f\x9b\x8c\x98\xed\x6c\x96\x0b\x1f\x5a\x36\x2d\xb4\xc1\xd9\x34\x6f\x10\x69\x4b\x51\xb6\xc8\x01\x30\x01\x7b\x59\x4f\x4d\x6f\xc0\x07\xe8\x30\x67\x8a\x70\x68\x31\xeb\x4e\xc0\x59\x66\xf1\x95\x88\x60\xdf\x3b\x96\xa8\x07\x8d\xca\x90\x24\x3e\x61\xbb\x5c\x12\xd2\x98\x32\x75\xe9\xa3\x61\x2e\x0b\xe6\xb1\x67\x83\xce\x8d\xc0\xde\xb8\xc1\x52\x02\xea\x7a\x17\x46\xaa\x59\xd4\x28\xa2\xc9\x21\xa6\x46\xac\x3e\x90\x73\xf2\x17\xfd\x08\xf4\x90\x29\x7a\x74\xd0\x63\xcc\x6a\x8f\xd8\x6e\x42\x47\xc0\x3e\x07\x9d\x8b\x26\xab\x09\xb3\x3d\xb2\xe8\xd2\xce\x73\xc3\x20\x1c\x7c\x5a\xe4\x2f\xc1\xa3\x96\x22\xb1\xc7\xad\x84\xe7\x2c\x88\x1f\xde\xff\xa0\xde\x7f\x78\xff\xe3\xe3\xd3\x18\x75\x43\xca\xb0\x21\xe8\xd0\x12\x44\x42\xcb\x6e\x04\xdc\x23\x3b\xdc\x38\x3a\x09\xdd\x5a\xa0\xff\x2d\x9a\xb7\xbb\x18\x06\x6f\x6b\xb8\xcf\xcc\xe2\x04\x1b\x79\x0b\x1b\x59\xdb\x65\xee\x1d\x81\xa3\x1d\xba\x06\x22\xed\x06\x87\x39\xc4\xf1\x24\x66\x03\x3a\x08\x1b\xc7\x3b\x5d\xa1\xa4\x02\x0a\x16\x65\xff\x23\xf8\xb2\x94\x05\xb2\x4f\xba\x6f\xa2\x93\x59\x29\x73\x2f\xab\x13\xb4\xe1\x00\x2e\xf8\x5d\x99\x65\xd0\x8b\x7f\x65\x26\xd9\x46\xb7\x96\x4f\xf4\xed\xe4\xbe\xa5\x94\x63\x18\xc9\xae\xe1\xf9\x03\x76\xbd\x23\x45\xca\x4f\x33\xbc\x62\x03\x1c\x1e\xa6\xda\xd6\x79\xf5\xa5\x7a\xe2\x82\x41\x07\x6f\x86\xc8\xc9\xb2\x29\x15\x2e\x89\xbb\x4c\xb0\x09\xde\x0e\x26\x27\xd8\x0c\x49\xc8\x23\x35\x27\x9b\xa7\x92\x32\x0d\xd6\x8c\xc5\xa6\x54\x76\x47\x02\xc3\x44\x71\xcf\x86\xa0\x8f\x61\xcf\x56\x87\x04\x81\x5e\x59\xc2\x5b\x08\xb9\x2d\x59\xbd\x96\xc7\x0e\x47\x40\x97\x82\x04\x87\xfd\x3e\xb8\x7d\x29\x7a\xda\x2b\x51\xa5\xc1\xb4\x02\x2c\xc7\xb9\xba\x2f\x58\xb4\x9c\x30\x15\xf8\x29\x1b\x8d\x90\x0c\x79\x8c\x1c\x2a\xe8\x2b\xd9\x49\x2a\x73\x80\x16\xf7\x04\x68\x8c\x10\x4e\x0e\x10\x22\xef\x58\xea\x64\x89\x7b\x96\x85\x2d\x45\xf9\xa0\x8f\x21\x93\xc9\xd7\x29\x8d\x7d\xa6\x48\x29\x6b\x51\xe4\x56\xe8\x59\x4a\x3d\xa7\xff\x2e\x3a\xf0\x34\x81\xd0\x71\x1a\x5c\x6e\x2e\x93\x24\x61\xf2\x54\xeb\x2c\x9a\x96\xf7\x45\x15\x94\x25\x4f\x1c\x11\x6a\x17\x54\x8a\x2b\x12\x0a\xce\x3a\x79\x43\x3a\x9f\x6c\xe5\xfe\xf1\x26\x87\x1b\x8b\x23\x84\x9e\x62\x81\xce\x7a\x05\x2b\xf8\x7b\x8f\x3b\xda\x44\xc2\xb7\xa0\x0a\x54\xe4\x53\x52\xf7\xe5\x77\x8b\x5d\x66\xb9\xfa\x72\xa5\xaa\xc7\xeb\x85\x82\x89\x3c\xa9\x10\x59\x49\x9d\xd2\x30\x4a\xd8\x3c\x7a\x43\xe7\xc4\xc8\x1e\x50\x82\x23\x18\xac\xe9\x75\xe2\x1d\xf9\x3d\xc7\xe0\x45\xaf\x2a\x7d\xd7\x0a\x2b\x89\x24\xad\x7c\xf4\x80\x43\x6e\x43\xe4\xef\xc9\x2a\x7b\xc0\x4c\xae\x96\x3d\x46\x91\xab\x21\x96\x1c\x4d\xf8\x5e\xc3\x6c\xf3\xd2\xa5\x21\x15\xe4\x29\x0f\xd0\x9e\x5c\xe8\x65\xf3\x06\x52\xc6\x1d\xfb\x5d\x29\x8b\x4c\x29\xb3\xdf\xc9\x7a\x13\x85\xa6\x56\xa8\xcb\x87\xbc\xac\x7f\xd8\xd0\x18\xe4\xfb\x96\x38\x02\xaa\x10\xcb\x16\xd0\xab\xbc\x83\x57\x4a\xed\x59\xf7\x2c\x98\xfb\x44\x04\xa4\x7a\xaa\xc9\xdf\xaa\xca\xe3\x0c\x93\x45\x0f\x50\x56\x3e\x17\x1e\xb5\x4e\xe2\xe6\xaf\x98\x11\xb6\x40\x0f\x68\xb2\x1b\x21\x1f\x02\x8c\x84\x31\xc1\x36\x86\x4e\x11\x6d\x22\xd5\xd8\x78\x55\x6b\xf4\x40\x0f\x86\xfa\x29\xcb\x61\x53\x9d\xed\x29\x76\x9c\x35\x30\x38\xa1\x2f\x44\x48\x6d\x88\xa5\x4c\x4f\x6d\x2c\x3c\x30\xe5\x03\x06\xaf\x94\x9b\xfa\xe0\x13\x8b\x1a\x6c\xb5\xb4\x4e\x71\xad\x0c\x2a\x75\x4d\xa9\x54\xe6\x6c\xc9\x31\x36\x4f\x55\x93\xe4\xe5\x55\x4f\x4f\x60\x97\x40\x98\x43\xe1\x67\x4c\x88\x56\xb1\xa9\x2c\x97\x97\xd2\xee\xad\xc8\x7b\x0c\x42\x4b\xf3\x8e\xa9\xb9\x34\x4d\x22\x5c\x0a\xb3\x94\x18\xce\x35\x30\xf9\xfc\x42\x76\x28\xe8\xaa\xc5\x51\x0b\xb9\x5a\x58\x4d\x6a\xae\xbb\x7e\x22\x1e\xb3\xc7\xcf\xd1\xb4\x67\x81\xd4\xd6\xe6\xd3\xb1\xe4\x5c\x52\x2b\x54\x35\x24\xf9\x57\x79\x44\xa8\x29\x06\xad\xae\xc2\x4d\x75\x43\x51\x04\x8d\x91\xe4\xb7\x2a\xe5\x49\x3b\xa9\x5d\xdc\x1c\xb4\x92\xdd\xa5\x0d\x17\x06\x1a\x79\x63\xa9\x36\x0e\x1b\xba\xb0\x30\x1c\x3c\xc5\xa3\x9b\xe7\xb2\xa1\x4c\xac\xa2\x29\xf5\xed\x13\x39\x25\x39\x4e\x69\x20\x41\xe0\x51\x2d\xa4\xe7\x93\x3d\x8e\xc8\x11\x4e\x5c\xec\x14\x49\x94\xb3\x38\xd6\x07\xc5\xa9\xc8\xad\xd6\xac\x08\xef\x71\xad\x06\x30\x6e\x38\xc7\x59\x86\x94\xba\xc1\x38\xe4\x2e\x35\x60\xa9\x43\x6f\xe5\x81\x53\x3f\x64\x52\x81\x58\x2a\x7a\xa9\xee\x25\x47\x5c\x01\x1f\xfb\x94\x63\x21\x82\x5a\x88\xaa\xe6\x4b\x57\xcf\xb2\x3f\xc9\xce\x59\x7f\x08\xb8\xdd\xb2\x63\xcc\x64\x27\x58\x93\x34\x83\xbd\xb4\x8a\xb5\x98\xf2\x10\xfd\x39\x19\x17\xc2\xea\x83\x80\x20\x55\x47\x6b\xef\x37\xe5\xfe\x44\x99\x86\x5e\x48\x86\x7a\xac\x71\x41\x6f\xbf\x56\xc7\x73\x85\xc7\xfa\x2a\xdb\x6a\x82\x53\x31\x84\x64\xbc\xd6\xc6\x4c\x15\x4d\x2d\x0f\xe5\x94\x09\x8b\x13\x43\x6e\x4f\xdb\xf5\xe2\x79\xd7\x0d\x9e\x8d\x74\x66\x59\xbb\xb6\x52\x56\xa9\x64\xdf\xd1\x1e\x7d\x9e\x5a\xe3\xf5\xa5\xa2\x3d\x9d\x76\x3b\x2a\xda\x3c\x74\xa6\x68\x89\xcc\x20\xd0\x95\xa2\xc1\xdd\x85\xa2\x69\xcf\xa2\x38\xbb\xa8\x3b\x29\x4d\x5f\x70\xcf\xbe\x08\x59\x29\x90\xf1\x5c\xc7\xd2\x67\x08\x19\x6c\x86\xbc\xe8\x3b\x23\xd3\xfe\x28\x8b\xb6\x63\xcf\x49\xd0\x2a\x7a\x4f\x89\x77\x5e\xb1\xb0\x19\x8f\x28\x40\x8f\xbb\x65\x8e\xe4\xf7\x64\x0d\xf7\xed\x98\xe4\x18\x02\x8f\x68\xbd\x5b\xd7\xe3\xd6\x63\x6d\xb6\xa2\x4d\x97\x74\xc7\xfe\x22\x24\x8f\xa4\xc0\x33\x69\x95\x6c\xb7\xf2\xf8\xb8\x64\xc9\x11\x46\x37\x82\xc3\x0d\xb9\x5a\x01\x95\x05\x37\xe1\x81\x12\x78\xec\xb4\x18\x3f\xc1\x07\xd5\xca\xe7\xc7\x53\xe1\x47\x2d\x2b\x47\x9d\x1c\xd9\xe4\xa9\x01\x9c\xcf\x31\x89\xb2\x04\xe3\xea\x4e\x47\xde\xef\x23\x2b\xa2\x42\x75\xb1\x96\x91\xdf\xb2\x2d\x54\xc1\x79\x6c\xb4\x29\xdc\x45\xce\x55\x30\x6a\x62\x59\x5e\x4e\x47\xdc\xc5\x1e\xa7\xbc\x56\xd5\x7c\x01\xf7\x7f\x23\xe4\xbf\xad\x32\x7d\x14\xe5\x4b\x85\xaa\x8a\x9c\xae\xca\xf1\x24\x48\xcf\x67\x3d\x9b\x23\x57\x69\xb2\xe0\xe4\x33\x92\xa0\x5d\xeb\x6e\x60\x4b\x8e\x3d\x35\x6a\xcc\x15\x3f\xba\xa0\x91\x43\x3f\x1b\x5f\x7b\xd2\x5d\x44\x9f\xab\x62\x2e\xb7\xd2\xc4\x21\xec\x39\xa3\x83\x96\x05\x56\x8a\xc8\xbe\xde\x88\x4c\xe7\x02\x13\x62\x1f\xa2\x64\xa8\x62\xa0\x39\x1e\x5c\xa6\x86\xcd\xb4\x42\x0b\xee\xeb\x1c\xe5\x20\x93\xc8\x44\x9a\x1b\xaa\x9f\xe6\x86\xc6\xfb\x3f\x70\xc3\x71\xc7\x1a\xd3\xa9\x70\xcf\xdd\xa0\x0e\xd9\x35\x90\x23\xee\xc9\x01\x67\xf6\x14\x31\x72\x51\x64\xba\xc9\x91\x7b\x40\xbb\xe7\x14\xca\x60\xd0\x73\x8a\xd4\xb1\x1b\x2b\xc8\x7b\x32\xbc\x65\x33\x1d\x25\x97\x67\xc7\x99\x92\x67\x2d\x3a\x51\xef\x5a\xe5\xf7\xcf\xbe\x83\xbb\x57\xaf\x1a\xf8\xe3\xdd\xfd\xcb\x7a\xaf\x72\x95\xba\x2f\xda\x11\x78\x34\x91\xe3\x86\x5c\x38\x3c\x86\x4a\x7d\xe4\xed\x84\x7e\x72\xd8\xa7\xb9\xe5\x39\x46\x75\x0d\x70\x49\xc5\x77\x47\xaa\x3f\x92\xf1\x62\xf0\xca\x01\xa3\x9f\x28\x4b\x22\x33\x65\xfc\x44\x33\xd2\xb0\xdd\xb2\x61\x39\x4e\xa8\x20\x78\x4b\x97\x8d\x91\x5e\x91\x4c\xd2\xac\xad\x5a\xbd\xbc\xd3\x5b\x2b\x65\x58\xac\x7c\xbd\xe0\xe5\xae\xa3\x68\x18\x9d\x1b\x6f\x8e\x37\x1a\x1d\xa1\x4f\x1f\xef\x60\x4a\x14\xf5\x5c\x84\xac\xaa\x39\xcb\xa0\x74\x8e\x19\x59\xe8\xd1\x71\xca\x12\xc2\xb9\xc0\x97\x1e\x75\x94\x5b\xd1\xb7\x25\x4f\x09\x00\x49\xba\x82\x3c\xf6\x17\xc2\x34\xd1\x62\x03\x87\x96\xb4\x77\x61\x7f\x8c\xdc\x44\xdd\x1d\x59\xc6\x19\x99\xcf\xee\x6e\x5e\xbe\xf8\x4b\x6a\xe0\xee\xaf\x77\xa9\x81\x0d\x9a\xb7\x43\x0f\x19\x7b\x81\x61\x8b\xd1\x82\x8d\xbc\x97\xff\x74\x61\xc3\x4e\x8f\x4e\x6c\x14\xb8\x21\x66\x8d\x44\xf9\x00\xb4\x34\xf4\x36\x64\x83\x69\xae\x57\x19\xae\x8b\x6e\xd9\x51\x5a\xa8\xcf\x59\x63\x72\xbc\xf4\x9b\x11\x98\xda\x48\xd6\xaa\x62\x96\x36\x61\xa9\xa2\xe5\xa5\x8c\x17\x93\x7e\x0f\x07\x4c\x99\xe6\xc9\x05\x80\xf5\xba\x2d\x52\x17\x26\xf1\x9c\x62\xdd\x53\x4c\xc1\x7b\x6d\xb8\x70\x79\xbe\x55\x8e\xd7\x58\x0a\x23\xd5\x2e\xe3\xbc\xf4\x4b\xa3\x59\xcf\x50\x12\xf3\xa9\xb5\xb6\xcd\x74\xb7\x29\xeb\x0c\xe9\xc8\xb5\xe7\x17\x5c\x13\xc6\xd9\xc3\xf1\xaa\xb8\x81\x0f\xef\x7f\xb8\xb8\x2d\x5e\x7f\x78\xff\x23\xac\x7e\xb1\x3a\x3b\xbe\x7f\xf2\x86\x19\x56\xab\xaf\x6e\x2e\x7e\x57\x86\xae\x8d\x7d\xd6\xd0\x57\xab\x77\x27\xcc\xf1\x5a\x40\x79\x3a\xf4\x42\xe5\xf6\x1d\xbc\xaa\xe8\xfb\x73\x30\xe5\xc5\xbb\x0b\x83\xe1\x5d\xed\xc8\xd0\xcd\x23\xab\xaf\xfe\x70\xf1\xbb\x32\x74\x6d\xec\xb3\x86\xc4\x83\x8b\xdf\x95\xa1\x6b\x63\x9f\x35\xf4\xee\xe7\xdf\xe0\x7f\x90\xe4\x9f\xd9\x83\xff\xfb\x10\xfd\x2b\x00\x00\xff\xff\x8e\x64\x5d\xe4\x9b\x1a\x00\x00") +var _complySoc2PoliciesRetentionMd = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x58\xcb\xae\xdc\xb8\xd1\xde\x37\xfe\x87\x28\xe0\xdf\xd8\x33\x3a\x3d\xf1\x20\x37\x9c\x20\x0b\x8f\x8f\x11\x38\x48\xe0\x03\xdb\x48\x36\xd9\x54\x93\xd5\xad\xb2\x29\x52\x21\xa9\xee\xa3\x81\x17\x7e\x8d\x00\x33\x2f\xe7\x27\x09\xaa\x48\xa9\xd5\x17\x3b\x9e\x04\x13\x20\xbd\xf0\x91\x29\x91\xac\xcb\x57\xdf\x57\xa4\xc7\x8e\x6e\xe1\x0e\x33\xc2\x2b\xca\xe4\x33\x07\x0f\xf7\xc1\xb1\x19\x57\x68\x62\xf0\x63\x77\x0b\xaf\xee\x57\x09\x33\xa7\x2d\x53\xba\x5d\x01\xbc\x79\xfd\x4c\xfe\x00\xdc\xc0\xb3\x67\x4f\xd6\xdf\xce\xcf\xbf\x5e\xff\xaa\x3e\xdf\xff\x72\xfd\xed\xaa\xc3\xb7\x21\xbe\xa2\x3d\x27\x0e\x5e\x67\xde\x80\xc5\x4c\xb7\xf0\xc7\xc1\xc3\x13\xf8\xf6\x17\x4f\x7e\xab\xdf\x9b\xd0\x75\xe4\xf3\x2d\xbc\xf0\x9c\x19\x1d\xd8\x60\x06\x19\x59\xdd\xdc\xdc\xac\x56\xff\x0f\x4f\xfb\x9e\xbc\x65\x43\x69\x55\x1f\x1f\xe0\xe9\xed\xd2\x64\x8a\x1c\x6c\x92\x6f\xef\x87\xd8\x87\x44\x80\xde\xc2\x6b\x13\x7a\x5a\xad\x70\x0d\x6f\x5a\x4e\xb2\x39\x42\x9c\x27\xf5\xea\x27\x58\xda\xb2\xa7\x04\xb9\x25\x08\x9b\xb7\x64\x32\xef\x29\xe9\xfc\x48\x7f\x1f\x38\x92\x98\x92\x60\x1b\xe2\xf9\x0a\x07\xce\x2d\xfb\x32\x33\xee\xd0\xf3\xf7\x28\xe3\xeb\xe3\x96\x75\x0f\x13\xf6\x14\x13\xa0\x73\x65\x89\x4f\x4c\xfc\xf8\xe1\x1f\x09\xcc\x90\x72\xb0\x23\x84\x08\x26\xf8\x1c\x83\x6b\x20\xd2\x0e\xa3\x75\x94\x12\x84\xad\x4e\xeb\xc8\xf2\xd0\xe9\xa3\xae\xc8\x09\x52\x0e\x91\x2c\xb0\x87\x47\xe4\xc8\xe4\x18\x3c\x1b\x31\xbb\x6b\xa0\xc7\x9e\x62\x7d\xa6\x6c\xd6\x8f\xe1\xaf\x93\x09\xb3\x95\xcd\x72\xe1\x43\xcb\xa6\x85\x36\x38\x9b\xe6\x0d\x22\x6d\x29\xca\x16\x39\x00\x26\x60\x2f\xeb\xa9\xe1\x0d\xf8\x00\x1d\xe6\x4c\x11\x0e\x2d\x66\xdd\x09\x38\xcb\x2c\xbe\x12\x0f\xec\x7b\xc7\x12\xf3\xa0\x31\x19\x92\x44\x27\x6c\x97\x4b\x42\x1a\x53\xa6\x2e\x7d\x32\xc8\x65\xc1\x3c\xf6\x6c\xd0\xb9\x11\xd8\x1b\x37\x58\x4a\x40\x5d\xef\xc2\x48\x35\x87\x1a\x43\x34\x39\xc4\xd4\x88\xd5\x07\x72\x4e\xfe\xa2\x1f\x81\x1e\x32\x45\x8f\x0e\x7a\x8c\x59\xed\x11\xdb\x4d\xe8\x08\xd8\xe7\xa0\x73\xd1\x64\x35\x61\xb6\x47\x16\x5d\xda\x79\x6e\x18\x84\x83\x4f\x8b\xec\x25\x78\xd4\x52\x24\xf6\xb8\x95\xf0\x9c\x05\xf1\xe3\x87\x1f\xd4\xfb\x8f\x1f\x7e\x7c\x7c\x1a\xa3\x6e\x48\x19\x36\x04\x1d\x5a\x82\x48\x68\xd9\x8d\x80\x7b\x64\x87\x1b\x47\x27\xa1\x5b\x0b\xf0\xbf\x43\xf3\x6e\x17\xc3\xe0\x6d\x0d\xf7\x99\x59\x9c\x60\x23\x6f\x61\x23\x6b\xbb\xcc\xbd\x23\x70\xb4\xc3\x82\xaf\xc1\x61\x0e\x71\x3c\x89\xd9\x80\x0e\xc2\xc6\xf1\x4e\x57\x28\xa9\xa8\x58\x94\xfd\x8f\xe0\xcb\x52\x14\xc8\x3e\xe9\xbe\x89\x4e\x66\xa5\xcc\xbd\xac\x4e\xd0\x86\x03\xb8\xe0\x77\x65\x96\x41\x2f\xfe\x95\x99\x64\x1b\xdd\x5a\x3e\xd1\xb7\x93\xfb\x96\x52\x8e\x61\x24\xbb\x86\xe7\x0f\xd8\xf5\x8e\x14\x29\x3f\xcd\xf0\x8a\x0d\x70\x78\x98\x2a\x5b\xe7\xd5\x97\xea\x89\x0b\x06\x1d\xbc\x1d\x22\x27\xcb\xa6\xd4\xb7\x24\xee\x32\xc1\x26\x78\x3b\x98\x9c\x60\x33\x24\xa1\x8e\xd4\x9c\x6c\x9e\x4a\xca\x34\x58\x33\x16\x9b\x52\xd7\x1d\x09\x0c\x13\xc5\x3d\x1b\x82\x3e\x86\x3d\x5b\x1d\x12\x04\x7a\xe5\x08\x6f\x21\xe4\xb6\x64\xf5\x5a\x1e\x3b\x1c\x01\x5d\x0a\x12\x1c\xf6\xfb\xe0\xf6\xa5\xe8\x69\xaf\x34\x95\x06\xd3\x0a\xb0\x1c\xe7\xea\xbe\x60\xd1\x72\xc2\x54\xe0\xa7\x5c\x34\x42\x32\xe4\x31\x72\xa8\xa0\xaf\x54\x27\xa9\xcc\x01\x5a\xdc\x13\xa0\x31\x42\x38\x39\x40\x88\xbc\x63\xa9\x93\x25\xee\x59\x16\xb6\x14\xe5\x83\x3e\x86\x4c\x26\x5f\x27\x34\xf6\x99\x22\xa5\xac\x45\x91\x5b\x21\x67\x29\xf5\x9c\xfe\xb3\xe8\xc0\xd3\x04\x42\xc6\x69\x70\xb9\xb9\x4c\x92\x84\xc9\x53\xad\xb3\x68\x5a\xde\x17\x4d\x50\x96\x3c\x71\x44\x88\x5d\x50\x29\xae\x48\x28\x38\xeb\xe4\x0d\xe9\x7c\xb2\x95\xf9\xc7\x9b\x1c\x6e\x2c\x8e\x10\x7a\x8a\x05\x3a\xeb\x15\xac\xe0\x6f\x3d\xee\x68\x13\x09\xdf\x81\xea\x4f\x51\x4f\x49\xdd\x57\x2f\x16\xbb\xcc\x62\xf5\xd5\x4a\x45\x8f\xd7\x0b\xfd\x12\x71\x52\x19\xb2\x92\x3a\xa5\x61\x94\xb0\x79\xf4\x86\xce\x89\x91\x3d\xa0\x04\x47\x30\x58\xd3\xeb\xc4\x3b\xf2\x7b\x8e\xc1\x8b\x5a\x55\xfa\xae\x15\x56\x12\x49\x5a\xf9\xe8\x01\x87\xdc\x86\xc8\xdf\x93\x55\xf6\x80\x99\x5c\x2d\x7b\x8c\x22\x56\x43\x2c\x39\x9a\xf0\xbd\x86\xd9\xe6\xa5\x4b\x43\x2a\xc8\x53\x1e\xa0\x3d\xb9\xd0\xcb\xe6\x0d\xa4\x8c\x3b\xf6\xbb\x52\x16\x99\x52\x66\xbf\x93\xf5\x26\x0a\x4d\xad\x50\x97\x0f\x79\x59\xff\xb0\xa1\x31\xc8\xf7\x2d\x71\x04\x54\x19\x96\x2d\xa0\x57\x71\x07\xaf\x94\xda\xb3\xee\x59\x30\xf7\x99\x08\x48\xf5\x54\x93\xbf\x53\x8d\xc7\x19\x26\x8b\x0e\xa0\xac\x7c\x2e\x3c\x6a\x9d\xc4\xcd\x5f\x31\x23\x6c\x81\x1e\xd0\x64\x37\x42\x3e\x04\x18\x09\x63\x82\x6d\x0c\x9d\x22\xda\x44\xaa\xb1\xf1\xaa\xd6\xe8\x81\x1e\x0c\xf5\x53\x96\xc3\xa6\x3a\xdb\x53\xec\x38\x6b\x60\x70\x42\x5f\x88\x90\xda\x10\x4b\x99\x9e\xda\x58\x78\x60\xca\x07\x0c\x5e\x29\x37\xf5\xc1\x27\x16\x35\xd8\x6a\x69\x9d\xe2\x5a\x19\x54\xea\x9a\x52\xa9\xcc\xd9\x92\x63\x6c\x9e\xaa\x26\xc9\xcb\xab\x9e\x9e\xc0\x2e\x81\x30\x87\xc2\xcf\x98\x10\xad\x62\x53\x59\x2e\x2f\xa5\xdd\x5b\x91\xf7\x18\x84\x96\xe6\x1d\x53\x73\x69\x9a\x44\xb8\x14\x66\x29\x31\x9c\x6b\x60\xf2\xf9\xa5\xec\x50\xd0\x55\x8b\xa3\x16\x72\xb5\xb0\x9a\xd4\x5c\x77\xfd\x44\x3c\x66\x8f\x9f\xa3\x69\xcf\x02\xa9\xad\xcd\xe7\x63\xc9\xb9\xa4\x56\xa8\x6a\x48\xf2\xaf\xf2\x88\x50\x53\x0c\x5a\x5d\x85\x9b\xea\x86\xa2\x08\x1a\x23\xc9\x6f\x55\xca\x93\x66\x52\xbb\xb8\x39\x68\x25\xbb\x4b\x1b\x2e\x0c\x34\xf2\xc6\x52\x6d\x1c\x36\x74\x61\x61\x38\x78\x8a\x47\x37\xcf\x65\x43\x99\x58\x45\x53\xea\xdb\x27\x72\x4a\x72\x9c\xd2\x40\x82\xc0\xa3\x5a\x48\xcf\x27\x7b\x1c\x91\x23\x9c\xb8\xd8\x29\x92\x28\x67\x71\xac\x0f\x8a\x53\x91\x5b\xad\x59\x11\xde\xe3\x5a\x0d\x60\xdc\x70\x8e\xb3\x0c\x29\x75\x83\x71\xc8\x5d\x6a\xc0\x52\x87\xde\xca\x03\xa7\x7e\xc8\xa4\x02\xb1\x54\xf4\x52\xdd\x4b\x8e\xb8\x02\x3e\xf6\x29\xc7\x42\x04\xb5\x10\x55\xcd\x97\xae\x9e\x65\x7f\x92\x9d\xb3\xfe\x10\x70\xbb\x65\xc7\x98\xc9\x4e\xb0\x26\x69\x06\x7b\x69\x15\x6b\x31\xe5\x21\xfa\x73\x32\x2e\x84\xd5\x07\x01\x41\xaa\x8e\xd6\xde\x6f\xca\xfd\x89\x32\x0d\xbd\x90\x0c\xf5\x58\xe3\x82\xde\x7e\xa3\x8e\xe7\x0a\x8f\xf5\x55\xb6\xd5\x04\xa7\x62\x08\xc9\x78\xad\x8d\x99\x2a\x9a\x5a\x1e\xca\x29\x13\x16\x27\x86\xdc\x9e\xb6\xeb\xc5\xf3\xae\x1b\x3c\x1b\xe9\xcc\xb2\x76\x6d\xa5\xac\x52\xc9\xbe\xa3\x3d\xfa\x3c\xb5\xc6\xeb\x4b\x45\x7b\x3a\xed\x76\x54\xb4\x79\xe8\x4c\xd1\x12\x99\x41\xa0\x2b\x45\x83\xbb\x0b\x45\xd3\x9e\x45\x71\x76\x51\x77\x52\x9a\xbe\xe0\x9e\x7d\x11\xb2\x52\x20\xe3\xb9\x8e\xa5\x2f\x10\x32\xd8\x0c\x79\xd1\x77\x46\xa6\xfd\x51\x16\x6d\xc7\x9e\x93\xa0\x55\xf4\x9e\x12\xef\xbc\x62\x61\x33\x1e\x51\x80\x1e\x77\xcb\x1c\xc9\xef\xc9\x1a\xee\xdb\x31\xc9\x31\x04\x1e\xd1\x7a\xb7\xae\xc7\xad\xc7\xda\x6c\x45\x9b\x2e\xe9\x8e\xfd\x45\x48\x1e\x49\x81\x67\xd2\x2a\xd9\x6e\xe5\xf1\x71\xc9\x92\x23\x8c\x6e\x04\x87\x1b\x72\xb5\x02\x2a\x0b\x6e\xc2\x03\x25\xf0\xd8\x69\x31\x7e\x86\x0f\xaa\x95\xcf\x8f\xa7\xc2\x4f\x5a\x56\x8e\x3a\x39\xb2\xc9\x53\x03\x38\x9f\x63\x12\x65\x09\xc6\xd5\x9d\x8e\xbc\xdf\x47\x56\x44\x85\xea\x62\x2d\x23\xbf\x65\x5b\xa8\x82\xf3\xd8\x68\x53\xb8\x8b\x9c\xab\x60\xd4\xc4\xb2\xbc\x9c\x8e\xb8\x8b\x3d\x4e\x79\xad\xaa\xf9\x02\xee\xff\x42\xc8\x7f\x53\x65\xfa\x28\xca\x97\x0a\x55\x15\x39\x5d\x95\xe3\x49\x90\x9e\xcf\x7a\x36\x47\xae\xd2\x64\xc1\xc9\x17\x24\x41\xbb\xd6\xdd\xc0\x96\x1c\x7b\x6a\xd4\x98\x2b\x7e\x74\x41\x23\x87\x7e\x36\xbe\xf6\xa4\xbb\x88\x3e\x57\xc5\x5c\x6e\xa5\x89\x43\xd8\x73\x46\x07\x2d\x0b\xac\x14\x91\x7d\xbd\x0f\x99\xce\x05\x26\xc4\x3e\x44\xc9\x50\xc5\x40\x73\x3c\xb8\x4c\x0d\x9b\x69\x85\x16\xdc\x37\x39\xca\x41\x26\x91\x89\x34\x37\x54\x3f\xcd\x0d\x8d\xf7\xbf\xe1\x86\xe3\x8e\x35\xa6\x53\xe1\x9e\xbb\x41\x1d\xb2\x6b\x20\x47\xdc\x93\x03\xce\xec\x29\x62\xe4\xa2\xc8\x74\x93\x23\xf7\x80\x76\xcf\x29\x94\xc1\xa0\xe7\x14\xa9\x63\x37\x56\x90\xf7\x64\x78\xcb\x66\x3a\x4a\x2e\xcf\x8e\x33\x25\xcf\x5a\x74\xa2\xde\xb5\xca\xef\x9f\xbd\x80\xbb\xd7\xaf\x1b\xf8\xc3\xdd\xfd\xab\x7a\xaf\x72\x95\xba\x2f\xda\x11\x78\x34\x91\xe3\x86\x5c\x38\x3c\x86\x4a\x7d\xe4\xed\x84\x7e\x72\xd8\xa7\xb9\xe5\x39\x46\x75\x0d\x70\x49\xc5\x77\x47\xaa\x3f\x92\xf1\x62\xf0\xca\x01\xa3\x9f\x28\x4b\x22\x33\x65\xfc\x44\x33\xd2\xb0\xdd\xb2\x61\x39\x4e\xa8\x20\x78\x4b\x97\x8d\x91\x5e\x91\x4c\xd2\xac\xad\x5a\xbd\xbb\x03\x8e\x95\x61\xb1\xf2\xf5\x82\x97\xbb\x8e\xa2\x61\x74\x6e\xbc\x39\xde\x68\x74\x84\x3e\x7d\xba\x83\x29\x51\xd4\x73\x11\xb2\xaa\xe6\x2c\x83\xd2\x39\x66\x64\xa1\x47\xc7\x29\x4b\x08\xe7\x02\x5f\x7a\xd4\x51\x6e\x45\xdf\x96\x3c\x25\x00\x24\xe9\x0a\xf2\xd8\x5f\x08\xd3\x44\x8b\x0d\x1c\x5a\xd2\xde\x85\xfd\x31\x72\x13\x75\x77\x64\x19\x67\x64\x3e\xbb\xbb\x79\xf5\xf2\xcf\xa9\x81\xbb\xbf\xdc\xa5\x06\x36\x68\xde\x0d\x3d\x64\xec\x05\x86\x2d\x46\x0b\x36\xf2\x5e\xfe\xd3\x85\x0d\x3b\x3d\x3a\xb1\x51\xe0\x86\x98\x35\x12\xe5\x03\xd0\xd2\xd0\xdb\x90\x0d\xa6\xb9\x5e\x65\xb8\x2e\xba\x65\x47\x69\xa1\x3e\x67\x8d\xc9\xf1\xd2\x6f\x46\x60\x6a\x23\x59\xab\x8a\x59\xda\x84\xa5\x8a\x96\x97\x32\x5e\x4c\xfa\x1d\x1c\x30\x65\x9a\x27\x17\x00\xd6\xeb\xb6\x48\x5d\x98\xc4\x73\x8a\x75\x4f\x31\x05\xef\xb5\xe1\xc2\xe5\xf9\x56\x39\x5e\x63\x29\x8c\x54\xbb\x8c\xf3\xd2\x2f\x8d\x66\x3d\x43\x49\xcc\xa7\xd6\xda\x36\xd3\xdd\xa6\xac\x33\xa4\x23\xd7\x9e\x5f\x70\x4d\x18\x67\x0f\xc7\x8b\xe2\x06\x3e\x7e\xf8\xe1\xe2\xae\x78\xfd\xf1\xc3\x8f\xb0\xfa\xbf\xd5\xd9\xf1\xfd\xb3\xf7\xcb\xb0\x5a\x7d\x7d\x73\xf1\xbb\x32\x74\x6d\xec\x8b\x86\xbe\x5e\xbd\x3f\x61\x8e\x37\x02\xca\xd3\xa1\x97\x2a\xb7\xef\xe1\x75\x45\xdf\x9f\x82\x29\x2f\xde\x5f\x18\x0c\xef\x6b\x47\x86\x6e\x1e\x59\x7d\xfd\xfb\x8b\xdf\x95\xa1\x6b\x63\x5f\x34\x24\x1e\x5c\xfc\xae\x0c\x5d\x1b\xfb\xa2\xa1\xf7\x3f\xff\x06\xff\x85\x24\xff\xcc\x1e\xfc\xcf\x87\xe8\x9f\x01\x00\x00\xff\xff\x8c\xe2\x45\x23\x9a\x1a\x00\x00") func complySoc2PoliciesRetentionMdBytes() ([]byte, error) { return bindataRead( @@ -957,12 +957,12 @@ func complySoc2PoliciesRetentionMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/retention.md", size: 6811, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/retention.md", size: 6810, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _complySoc2PoliciesRiskMd = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5a\xcd\x92\x1b\xb7\x11\xbe\xf3\x29\xba\x2a\x55\x89\xbc\xa6\xc6\x96\xed\x43\xb2\xaa\x1c\x36\x8a\x53\x51\x4a\xb1\x5d\xab\xcd\x03\x80\x98\x1e\x0e\x2c\x0c\x30\x46\x63\xc8\xa5\x4b\x87\xbc\x46\x5e\x2f\x4f\x92\xea\x06\xe6\x97\xdc\x15\xe9\xad\x52\x2e\xcb\x8b\xad\x59\x00\xfd\xf7\xe1\xeb\x06\x1a\x4e\x35\x78\x0d\xb7\x86\x3e\xc0\x0d\x11\x12\x35\xe8\x22\xfc\xe4\xad\xd1\x87\x95\xd2\xc1\xbb\x43\x73\x0d\xb7\x6f\x6f\x7e\x5a\x91\x8a\x86\x2a\x83\x74\xbd\x02\xb8\x7b\xff\x86\xff\x03\xf0\x12\xde\xbc\xf9\x53\xf1\x6a\xd5\xa8\x9f\x7d\xb8\xc5\x9d\x21\xe3\x9d\x0c\x79\x09\xa5\x8a\x78\x0d\xff\xe8\x1c\xbc\x82\x6f\xbe\x7e\xf5\x47\x99\xa0\x7d\xc3\x32\xae\xe1\xad\x33\xd1\x28\x0b\xa5\xd7\x1d\x7f\x59\xbd\x7c\xf9\x72\xb5\xfa\x1d\xfc\xd4\x85\xd6\x13\x82\x72\x25\xbc\xd7\xbe\xc5\xd5\x4a\x15\x70\x57\x23\xb4\xf9\x2f\xbe\x82\x58\x1b\x82\x56\xd4\x04\x43\x10\x3d\x94\x58\x19\x87\x10\x6b\x84\x06\x63\xed\x4b\x6f\xfd\xf6\x00\x95\x0f\xf2\x4d\x8d\xd6\xf1\xc2\x31\xa0\x8a\xf2\x2f\x5f\x81\x71\x95\x0f\x8d\x8a\xc6\x3b\x20\xd4\x5d\x30\xf1\x00\xc1\xd0\x07\x82\xbd\x89\xb5\x71\xb2\x82\x0f\x5b\xe5\xcc\xaf\x32\x6c\x9d\x16\x99\x49\x55\x5a\x63\x1b\xd5\xc6\x22\x58\xdc\xa1\xe5\x95\x79\x11\x50\x04\x84\x11\x36\x87\xa3\x65\xfe\xfb\xef\xff\x10\x58\x54\x25\x06\xaa\x4d\x5b\x88\xa5\xb7\x69\xce\x4c\x5d\x59\x67\xd4\x59\x05\x04\xd5\xb6\xd6\xa0\x28\xc1\xcb\xa2\x8b\x26\x20\x10\x3b\x2c\x39\xe8\x84\xa8\x93\x86\xb6\xc1\x6f\x83\x6a\x06\x93\x94\xb5\x22\x3e\x12\xec\x6b\xa3\x6b\x91\xd6\x11\x96\x0f\x39\x03\x7c\xc8\x23\xb5\xef\x6c\x09\xb5\xda\x71\xf4\xc0\x34\xad\xd2\x11\xbc\x3b\x2d\x37\xaf\x66\x62\x91\x03\x3c\x46\x34\xd9\x46\xbd\x36\xd8\xb4\xd6\x1f\x10\xe9\x94\x61\xb0\xaf\x3d\x44\xf5\x01\xa1\x55\x21\x82\x71\xbd\xd3\x1f\x71\x60\xc1\x38\xfb\x8b\xd2\x1f\xb6\xc1\x77\xae\x14\xf9\x37\xf0\x01\x0f\x80\x16\x7b\x54\x5c\xec\x41\x06\xa2\x82\xda\x5b\x43\xd1\x68\x11\x4b\x07\x8a\xc8\xc3\x35\xdb\x14\xbc\xd2\x35\x1b\x25\xda\x34\xca\xa9\xad\x48\x9b\x1b\x9f\x20\x45\x22\x3f\xe0\x2f\x9d\x09\x32\x88\x64\xc1\x36\x78\x8d\x6c\xda\x00\xec\x99\x2f\xa2\x07\x53\x32\x14\xaa\xc3\x23\xa8\xce\xbb\x29\x2d\x05\xda\x3b\x32\x14\xc5\xb9\x95\xef\x82\xf8\x91\xae\xfb\x85\x8c\xce\x41\x7e\xc0\x23\x09\x2a\x6b\x46\xf9\x1e\x05\x3a\x32\x2e\xd6\xec\xec\xa4\xf4\xae\xb3\x0e\x83\xda\x18\x6b\xa2\x84\xb5\x56\x51\x62\x7c\x78\x3d\x8d\x53\x96\x60\xcd\x07\xb4\xa6\xf6\xbe\x94\xc9\xac\x1e\xfe\xd2\xa1\xd3\x08\x2f\x58\xfd\x2f\xfa\x81\x8f\x89\xd8\xa0\x71\x5b\x08\xa8\xac\xf9\x15\xcb\xf5\x29\x63\x86\xdd\xc4\x9e\x44\x8e\x4c\xe7\x26\x7b\x98\x45\xa5\x3d\x81\x3b\x65\xbb\x99\x13\x02\x92\x29\x3b\x65\x33\xd4\xaa\x88\x61\x01\xae\x5b\xac\x30\xb0\xce\x34\xee\xe9\x09\xc1\xde\x62\xeb\x43\x84\x3b\x46\xb6\x8a\x28\xb4\x97\x38\x97\x47\x5f\x2d\x86\x5f\xad\x84\x39\x4d\x8a\xdb\x12\xde\x7d\x1c\x8d\xd3\xb6\x2b\x33\x70\x4e\x05\xef\x61\x6f\xd5\x6a\xc7\xee\x62\x3e\xf3\xb2\x2f\x99\xa5\x5b\xe5\x0e\x39\xba\xc5\x4c\x81\xca\x04\x8a\x40\x11\x5b\xc8\x6c\xb0\x54\x29\x31\xf2\x80\xc4\x29\xa3\x8c\x14\x32\xa3\xaa\xc7\xf6\xd5\x6b\x16\xe3\x63\x8d\x01\xf6\x3e\x94\x8c\xb5\x25\x45\x35\xea\x00\xaa\xaa\x50\x47\x59\x4d\x7b\x57\x25\xe9\xca\x9a\x78\x58\x83\x71\x11\xb7\x41\xfe\x57\xb9\xf2\x2b\x1f\x40\xed\x94\xb1\xc9\x03\x87\x65\x0e\x38\xc1\x71\x85\x84\x23\x92\x48\xca\x9e\x1e\x32\x17\xfb\x1e\x5a\xd5\x62\x60\x2a\x44\x8b\x3a\x06\xef\x8c\x66\x64\x31\xaf\x32\x9b\xa5\x40\xd0\x9a\x93\xa2\xda\x28\x42\x5a\xcf\x64\x46\xd4\xb5\x4b\x29\x8b\xf7\x7c\xcb\xeb\xca\x88\xa0\x28\x86\x4e\xc7\x2e\x60\x86\xe3\x7d\xc4\xe0\x94\xfd\xca\x77\x91\x7c\x17\x34\x96\x40\x18\x76\x46\xe3\x82\x23\x0a\xf8\x5b\x0f\x6d\xf1\x16\xcf\x07\xbf\x77\x18\xa0\xe9\x28\xc2\x66\xc4\x09\x96\xf3\x18\x3b\xbc\xef\x43\x7c\x1c\xcb\xc7\xa0\xa4\x88\xbc\x36\x2a\xe6\x74\x31\x91\xce\x0b\x3f\x3c\xaf\x57\x88\xc9\x13\x4b\x76\xa8\x3a\x82\x95\x6c\xcc\x02\xbe\x1f\x96\x94\x68\x6c\xf0\x48\x68\xd3\xd9\x68\x5a\x3b\x50\x44\x76\x9c\xb0\xaf\x7c\xf9\xe4\xc4\x85\x7a\x9c\x1e\x48\x35\xad\x3d\xc6\x7a\x62\x0b\xa6\xef\xe0\x77\xa6\xc4\x92\x19\x50\x52\x51\x86\xf6\x27\xf6\x3e\xbc\x08\x3d\x57\xc0\x0b\xf5\xc5\x17\x63\x1c\x86\xe0\xf5\x54\xf4\x70\xec\x46\x62\x48\x43\x24\x95\xe7\xaa\x27\xf6\xd3\x92\xc9\xb2\xf5\x54\xc3\x5b\xae\x34\x3b\xa1\xb1\x51\xe4\x8f\xac\xc5\xb8\x0e\x49\xee\x1f\xe5\xac\x79\xf6\x21\x29\x90\x5c\x70\x9d\xa6\xf2\xef\x55\x01\x6f\x46\xae\xa6\x91\x56\xb5\x6f\x36\xc6\x9d\x45\x44\x3c\x87\x2b\x87\x41\xb5\x6c\x81\xa9\x80\x3a\x8e\x7a\x9f\x3a\x23\x06\x23\xdc\x4e\x05\xcc\x54\x78\x37\x66\x0f\x5f\x81\xd7\xba\x0b\xc9\xb7\x7e\xbe\xc4\x0b\x53\x60\x21\xce\x68\x83\xdf\xf4\x44\x90\x32\x53\x0f\x92\xbd\xe1\xe2\xe3\xbe\xb5\xde\x24\x5e\x99\xaa\x7b\x98\x24\x83\x16\x75\x34\xbb\xec\xee\x3e\x82\xbd\x4f\x82\x11\x65\xc5\xb6\x12\x23\x86\xc6\x38\x66\xdb\x69\x62\x63\x5f\x4c\xf3\x5e\xc0\x5c\x06\xc8\x4e\xb8\x63\x88\x11\x7c\x2b\xc3\xbe\x2b\x64\xf5\xa3\x8c\x90\x6a\x4e\x43\xa0\x95\xd5\x9d\x15\x4c\x6f\x0e\xa0\xca\x52\xa8\x3d\xb1\xe2\x20\x90\xb4\x0f\x38\xc0\x64\x22\x5a\xfe\x50\xac\x56\x5f\xbe\x5c\xfe\xce\xf9\x72\xd1\xef\xcb\xd5\x47\xb8\xba\x9a\x60\xe6\xea\x0a\x4e\x7f\xf9\x2b\x92\x0e\xa6\x65\x04\x5d\x5d\xc1\x45\xbf\x8f\x20\x52\xde\xb1\x77\x86\xb9\xfc\xe5\x3d\x1b\x3a\xf9\xf2\xa4\xdf\xc7\xd5\x97\x7f\x5e\xfe\xce\xf9\x72\xd1\x8f\xfd\xf5\xce\xef\x17\xe6\x7d\x7d\x64\xf0\x3b\x4f\x52\xcc\x3d\x96\x05\x97\x19\x50\xa0\xee\x7c\xcc\x8e\x58\x1d\xfb\xe3\xd4\x97\x49\xca\x9d\x26\xcb\x3f\x30\x08\xa9\x86\xca\xfa\xfd\x1a\x2c\x6e\x95\x15\x89\xda\xbb\x18\x94\x8e\xbc\xaf\x1f\x70\xf9\x99\x82\xfd\xc6\x9a\x6d\x9f\x51\x7d\x80\x80\x6d\x17\x73\xa2\x3e\x27\x58\x9f\x07\xdc\xe7\x58\xf2\xa4\xdf\x47\x80\xcf\x65\xcb\x3f\x7d\x89\x81\xd3\xd5\x20\xfa\xd5\x91\x32\xbf\x05\x78\xb9\x9e\xea\xc2\x45\xc0\xab\x8c\x53\x4e\x1b\x65\x41\x7b\x4a\x27\xbc\x5a\x11\x58\xbf\x67\x01\x4d\xaf\xeb\x78\x02\x65\x88\x3e\xea\xf4\x73\x81\x37\x87\xb9\x60\x7b\x09\xed\x09\x38\xfb\x6a\x33\x4f\x3f\x53\xc8\x45\x68\x3e\x9a\xfe\x8c\xee\xcb\x6d\xf9\xbb\xd9\xd6\x73\xd1\xdf\x1c\x29\xf3\x9b\x69\xb5\x56\x3b\xbc\x08\xdd\xa6\x69\xb0\xe4\xaa\x54\x80\xed\xc3\x57\x72\x44\x67\x4c\x4b\xa9\x39\x03\xf5\x02\x90\x4f\x43\xf7\x84\xb5\x7d\xcb\x5b\x28\x11\x6c\x42\x79\x3e\x8c\x9f\x82\xf9\x9a\x61\x7e\x2e\xba\x2f\xa5\xeb\xf9\xf4\x67\x74\x5f\x6a\xcb\x4a\xca\x47\xf8\xf6\x1a\x26\x65\x14\x03\x79\x52\x67\x81\xd4\x47\xa9\x26\xef\x0b\xd6\xcf\x58\x03\x8e\x45\x3b\x17\x64\xa7\xbf\x3c\xd7\x80\x97\xd4\x80\xdf\x1b\xb9\x2f\xc1\x7b\x43\x91\xeb\xff\xe1\x4e\x45\x76\xb0\xb7\xe9\x64\x47\x31\x78\xb7\xcd\xe9\x73\x87\x40\x1e\x2a\x15\x2e\xab\x01\xc7\x63\xaf\x03\x55\xe2\x2f\x1d\xf3\xd6\x70\x01\xde\x06\x1f\xf9\x70\xe4\x9d\x90\xe3\xf2\xbc\xf5\xa4\x54\x5c\x8d\x77\x4f\xf3\xeb\x3e\x3e\x05\xe1\x7d\x0c\xd8\xa0\x3d\x70\x51\x50\xc0\x0f\x1e\x1c\xee\xb9\xd2\x10\xea\xa6\x73\xc9\x8a\xbd\x84\xf7\x7c\xbe\x4b\x47\x31\x96\x58\x75\xb1\x0b\xf8\x5c\x68\xfe\xff\x0a\xcd\x4f\xa3\x5b\xe0\xdc\x70\x6d\x38\xc5\xe7\xc4\x15\xe7\xc6\xff\x11\x44\x9f\x02\xf4\x14\x94\x4f\x42\xf7\x31\xa2\xfb\xaa\xb6\x80\xf7\xbe\x41\x68\x8c\xf3\x61\x04\xb4\x14\xd2\x62\xf5\x05\x85\xa6\x5c\x8f\x60\x59\xc0\x0f\xd3\xbd\x21\xa0\x6f\x3d\x91\xd9\x58\x5c\xc3\xa6\x8b\x72\x32\xac\xcd\xb6\xe6\xed\xc4\xcc\x7c\x28\x9e\xd1\xfd\x9b\x6c\x39\xa7\xd0\x3c\x8f\xbb\x39\x24\xc6\x41\x6b\x95\xe6\x2a\x70\x98\x7e\x6e\x8d\xe9\x50\x0e\xef\x66\x87\xaf\x19\xb2\x01\x73\xfb\x8a\x15\x7c\x08\xd1\x09\x94\x4f\x03\x76\x0f\xe9\x02\xde\x0e\x80\x4b\x1d\xc3\x24\xdb\x1e\x5f\xe0\xb1\xd0\xc4\xbd\xe7\x5a\x77\x36\x45\x4f\x67\x3d\xe3\xf9\x52\x5b\x72\x69\xf9\xdd\x51\x69\x39\xb9\x85\x3d\x59\x59\xfe\xde\x6d\xa8\x7d\xbd\x5a\x6d\x86\x66\x57\x6a\xbc\x71\x29\xda\x8f\x1a\xbb\x5e\x32\x62\xa7\x6c\x87\x04\x5f\x43\xac\x83\xef\xb6\x35\x7c\x23\xdb\xa0\x3f\x1a\xa5\x4e\xf8\x66\xd6\x86\x4f\xcd\xce\x93\xcb\xe4\xbb\xd4\xd3\x4b\x1c\xf5\x01\xa9\x80\x7f\x1d\x7d\x1b\xee\xe1\xa5\xf3\x27\x0d\x14\xdd\x9b\x73\xd7\x37\x03\x17\x46\x8c\x4d\x47\x43\x7c\x90\x4b\xdd\x66\x16\x9c\x8d\x1a\x1a\x06\xc3\x0a\xe9\xf6\xb7\x80\x1b\x6b\xb3\xdc\x2a\xf8\xe6\x64\x67\x21\x45\xa3\x57\x4b\xfb\x76\xf2\x3e\xe0\xd4\xa2\xe9\x4a\xda\x50\xeb\xc9\xe4\x57\x0d\x96\xeb\x41\x69\x85\x4c\x5e\x48\xb4\xc3\x5d\xc6\xbc\xf3\x39\xe9\x8a\x9c\x5c\x7e\xda\x14\x31\x0e\x66\x7d\x8e\x31\x2c\x37\xd3\x76\x89\xa1\xe5\x5b\x87\xdc\xcd\x92\xd6\x03\xbc\xf9\xfe\xc7\xfe\x4a\x25\x35\x04\xfb\x3e\x65\x6a\xa6\x07\x02\xaa\x95\xb5\xc3\x3d\x3b\x82\xdf\xfc\x9c\x58\x2e\x35\x17\x1a\x13\xe5\xd0\xea\xb6\x92\xbd\x59\x8a\xe4\xd9\x14\x64\xf6\xf1\x71\xf0\x8f\x02\x2d\x9d\x19\x26\x63\xe3\x3a\xdf\x49\x20\x83\xdf\xa5\x87\x03\xf9\x8d\x0a\xad\x8f\x55\x93\x26\xa5\x25\xcf\x0e\x95\xb0\x48\x93\x21\xd9\x91\x23\xeb\xc3\xa2\xf3\xba\x06\xdc\xa1\x03\x23\x24\x6c\xd2\xb8\x7c\x79\x6f\x08\x4a\xc4\xe6\x04\xf0\x27\xad\xbc\xa3\x20\xb2\x88\x24\xac\xef\x62\x4a\x49\xeb\xad\xf5\x7b\xf1\x4a\x1a\x37\xef\xeb\xbc\x97\x9e\x66\x2e\x79\x4a\xde\xd0\xbe\xed\x5b\xf6\xcb\xec\xf4\x82\x16\x0d\x90\xbb\xa0\x1c\x55\x18\x42\xdf\x87\x48\xe2\xa3\x97\x46\x8b\x09\xa5\x84\xff\xf0\x3a\x35\x8c\xee\x05\x4f\x6b\xd8\x1c\xd8\x95\xba\x56\x64\xe4\x84\x02\xc6\x51\x17\x84\x20\xf2\x3b\x09\x1f\x80\xcc\x56\x5a\x29\x6a\xb8\x98\x48\xd8\xa5\x4e\x1e\x90\x04\xe2\x41\xbc\xba\xc3\x40\x73\xad\x6e\x76\xde\x94\x53\x8d\x58\x62\x69\x28\x87\xb5\xff\xcb\xa6\x23\xe3\x90\x08\x14\x83\x68\x68\x11\x69\xd5\x11\x52\x6a\x28\xc9\x4e\x98\xaf\x2d\x91\x98\x2e\xfe\x3a\x41\x3b\x39\x57\xf6\x05\xc3\x33\xf2\xce\xf7\xce\x1e\x72\x7c\x81\x46\x3f\x57\x13\x60\x9c\xd8\x8b\x7b\x79\x69\x23\x97\x9f\x0d\x83\x21\xd6\x2a\x1d\x4e\x5a\x1f\xd3\xd5\xd4\x70\x4f\xf4\xe0\x31\x69\xb2\x05\xe5\x05\x43\x96\x2e\xfe\x5c\x4a\x5c\x8f\x8b\xa4\x6e\x22\xd5\xa2\x01\x52\x34\x0d\xd7\xc7\x51\x9a\xc6\xfb\xc7\xba\x5a\x99\x7a\xf3\x73\x09\xd6\xd5\x2a\xe7\xb0\x9c\xd7\x35\x13\x56\x2c\xf2\x6b\x08\xdc\x76\x56\x05\xb8\xc5\x9d\xc1\xbd\xdc\xc1\x2d\x99\x8f\x25\x3d\x44\xbc\x77\x0f\x32\xe5\xf1\xac\x05\x85\x76\x6d\x99\x7a\xc3\x35\x3a\xb6\x8e\x23\x35\x34\x43\x33\x8e\xe7\x1d\xd2\x02\x6e\x22\x28\x2e\xce\x4d\xd3\x35\xeb\x14\xf6\xb4\x4c\xe6\x4f\xb6\x21\xb3\x94\x90\xb4\x2b\x3b\x9d\x70\xc0\xd0\xc6\x00\x07\x54\xa1\x80\xb7\x92\x22\x72\xcd\x1d\x30\xbd\x9a\x2b\x25\x53\xa8\x78\x92\xfd\x1f\xb4\x66\x69\x88\xec\x9a\xca\x68\xe5\x22\xe8\x5a\xb9\x2d\x52\xaa\xb3\xfa\x5c\x31\x7f\xe9\x36\xbe\x4c\x58\x8f\xdb\x61\xa4\x55\x39\xd7\x0f\xdf\xd1\xed\x4c\xf0\x2e\xbf\x83\x49\xd1\x6b\x7d\x60\x54\x2d\x5e\xb1\x20\x75\x36\x3d\x3a\xfa\xf4\x7b\xad\xd4\xbf\x67\x97\x51\xb7\x49\xf0\x8a\xd9\x95\xb4\x1e\x9d\xd9\xbf\xc7\xe8\xdf\x0f\x9c\xee\xbc\x17\xab\xd5\xff\x02\x00\x00\xff\xff\x01\x6b\x63\xbb\xf6\x28\x00\x00") +var _complySoc2PoliciesRiskMd = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5a\xcd\x92\x1b\xb7\x11\xbe\xf3\x29\xba\x2a\x55\x89\xbc\xa6\xc6\x96\xed\x43\xb2\xaa\x1c\x36\x8a\x53\x51\x4a\xb1\x5d\xab\xcd\x03\x80\x98\x1e\x0e\x2c\x0c\x30\x46\x63\xc8\xa5\x4b\x87\xbc\x46\x5e\x2f\x4f\x92\xea\x06\xe6\x97\xdc\x15\xe9\xad\x52\x2e\xcb\x8b\xad\x59\x00\xfd\xf7\xe1\xeb\x06\x1a\x4e\x35\x78\x0d\xb7\x86\x3e\xc0\x0d\x11\x12\x35\xe8\x22\xfc\xe4\xad\xd1\x87\x95\xd2\xc1\xbb\x43\x73\x0d\xb7\x6f\x6f\x7e\x5a\x91\x8a\x86\x2a\x83\x74\xbd\x02\xb8\x7b\xff\x86\xff\x03\xf0\x12\xde\xbc\xf9\x53\xf1\x6a\xd5\xa8\x9f\x7d\xb8\xc5\x9d\x21\xe3\x9d\x0c\x79\x09\xa5\x8a\x78\x0d\xff\xe8\x1c\xbc\x82\x6f\xbe\x7e\xf5\x47\x99\xa0\x7d\xc3\x32\xae\xe1\xad\x33\xd1\x28\x0b\xa5\xd7\x1d\x7f\x59\xbd\x7c\xf9\x72\xb5\xfa\x1d\xfc\xd4\x85\xd6\x13\x82\x72\x25\xbc\xd7\xbe\xc5\xd5\x4a\x15\x70\x57\x23\xb4\xf9\x2f\xbe\x82\x58\x1b\x82\x56\xd4\x04\x43\x10\x3d\x94\x58\x19\x87\x10\x6b\x84\x06\x63\xed\x4b\x6f\xfd\xf6\x00\x95\x0f\xf2\x4d\x8d\xd6\xf1\xc2\x31\xa0\x8a\xf2\x2f\x5f\x81\x71\x95\x0f\x8d\x8a\xc6\x3b\x20\xd4\x5d\x30\xf1\x00\xc1\xd0\x07\x82\xbd\x89\xb5\x71\xb2\x82\x0f\x5b\xe5\xcc\xaf\x32\x6c\x9d\x16\x99\x49\x55\x5a\x63\x1b\xd5\xc6\x22\x58\xdc\xa1\xe5\x95\x79\x11\x50\x04\x84\x11\x36\x87\xa3\x65\xfe\xfb\xef\xff\x10\x58\x54\x25\x06\xaa\x4d\x5b\x88\xa5\xb7\x69\xce\x4c\x5d\x59\x67\xd4\x59\x05\x04\xd5\xb6\xd6\xa0\x28\xc1\xcb\xa2\x8b\x26\x20\x10\x3b\x2c\x39\xe8\x84\xa8\x93\x86\xb6\xc1\x6f\x83\x6a\x06\x93\x94\xb5\x22\x3e\x12\xec\x6b\xa3\x6b\x91\xd6\x11\x96\x0f\x39\x03\x7c\xc8\x23\xb5\xef\x6c\x09\xb5\xda\x71\xf4\xc0\x34\xad\xd2\x11\xbc\x3b\x2d\x37\xaf\x66\x62\x91\x03\x3c\x46\x34\xd9\x46\xbd\x36\xd8\xb4\xd6\x1f\x10\xe9\x94\x61\xb0\xaf\x3d\x44\xf5\x01\xa1\x55\x21\x82\x71\xbd\xd3\x1f\x71\x60\xc1\x38\xfb\x8b\xd2\x1f\xb6\xc1\x77\xae\x14\xf9\x37\xf0\x01\x0f\x80\x16\x7b\x54\x5c\xec\x41\x06\xa2\x82\xda\x5b\x43\xd1\x68\x11\x4b\x07\x8a\xc8\xc3\x35\xdb\x14\xbc\xd2\x35\x1b\x25\xda\x34\xca\xa9\xad\x48\x9b\x1b\x9f\x20\x45\x22\x3f\xe0\x2f\x9d\x09\x32\x88\x64\xc1\x36\x78\x8d\x6c\xda\x00\xec\x99\x2f\xa2\x07\x53\x32\x14\xaa\xc3\x23\xa8\xce\xbb\x29\x2d\x05\xda\x3b\x32\x14\xc5\xb9\x95\xef\x82\xf8\x91\xae\xfb\x85\x8c\xce\x41\x7e\xc0\x23\x09\x2a\x6b\x46\xf9\x1e\x05\x3a\x32\x2e\xd6\xec\xec\xa4\xf4\xae\xb3\x0e\x83\xda\x18\x6b\xa2\x84\xb5\x56\x51\x62\x7c\x78\x3d\x8d\x53\x96\x60\xcd\x07\xb4\xa6\xf6\xbe\x94\xc9\xac\x1e\xfe\xd2\xa1\xd3\x08\x2f\x58\xfd\x2f\xfa\x81\x8f\x89\xd8\xa0\x71\x5b\x08\xa8\xac\xf9\x15\xcb\xf5\x29\x63\x86\xdd\xc4\x9e\x44\x8e\x4c\xe7\x26\x7b\x98\x45\xa5\x3d\x81\x3b\x65\xbb\x99\x13\x02\x92\x29\x3b\x65\x33\xd4\xaa\x88\x61\x01\xae\x5b\xac\x30\xb0\xce\x34\xee\xe9\x09\xc1\xde\x62\xeb\x43\x84\x3b\x46\xb6\x8a\x28\xb4\x97\x38\x97\x47\x5f\x2d\x86\x5f\xad\x84\x39\x4d\x8a\xdb\x12\xde\x7d\x1c\x8d\xd3\xb6\x2b\x33\x70\x4e\x05\xef\x61\x6f\xd5\x6a\xc7\xee\x62\x3e\xf3\xb2\x2f\x99\xa5\x5b\xe5\x0e\x39\xba\xc5\x4c\x81\xca\x04\x8a\x40\x11\x5b\xc8\x6c\xb0\x54\x29\x31\xf2\x80\xc4\x29\xa3\x8c\x14\x32\xa3\xaa\xc7\xf6\xd5\x6b\x16\xe3\x63\x8d\x01\xf6\x3e\x94\x8c\xb5\x25\x45\x35\xea\x00\xaa\xaa\x50\x47\x59\x4d\x7b\x57\x25\xe9\xca\x9a\x78\x58\x83\x71\x11\xb7\x41\xfe\x57\xb9\xf2\x2b\x1f\x40\xed\x94\xb1\xc9\x03\x87\x65\x0e\x38\xc1\x71\x85\x84\x23\x92\x48\xca\x9e\x1e\x32\x17\xfb\x1e\x5a\xd5\x62\x60\x2a\x44\x8b\x3a\x06\xef\x8c\x66\x64\x31\xaf\x32\x9b\xa5\x40\xd0\x9a\x93\xa2\xda\x28\x42\x5a\xcf\x64\x46\xd4\xb5\x4b\x29\x8b\xf7\x7c\xcb\xeb\xca\x88\xa0\x28\x86\x4e\xc7\x2e\x60\x86\xe3\x7d\xc4\xe0\x94\xfd\xca\x77\x91\x7c\x17\x34\x96\x40\x18\x76\x46\xe3\x82\x23\x0a\xf8\x5b\x0f\x6d\xf1\x16\xcf\x07\xbf\x77\x18\xa0\xe9\x28\xc2\x66\xc4\x09\x96\xf3\x18\x3b\xbc\xef\x43\x7c\x1c\xcb\xc7\xa0\xa4\x88\xbc\x36\x2a\xe6\x74\x31\x91\xce\x0b\x3f\x3c\xaf\x57\x88\xc9\x13\x4b\x76\xa8\x3a\x82\x95\x6c\xcc\x02\xbe\x1f\x96\x94\x68\x6c\xf0\x48\x68\xd3\xd9\x68\x5a\x3b\x50\x44\x76\x9c\xb0\xaf\x7c\xf9\xe4\xc4\x85\x7a\x9c\x1e\x48\x35\xad\x3d\xc6\x7a\x62\x0b\xa6\xef\xe0\x77\xa6\xc4\x92\x19\x50\x52\x51\x86\xf6\x27\xf6\x3e\xbc\x08\x3d\x57\xc0\x0b\xf5\xc5\x17\x63\x1c\x86\xe0\xf5\x54\xf4\x70\xec\x46\x62\x48\x43\x24\x95\xe7\xaa\x27\xf6\xd3\x92\xc9\xb2\xf5\x54\xc3\x5b\xae\x34\x3b\xa1\xb1\x51\xe4\x8f\xac\xc5\xb8\x0e\x49\xee\x1f\xe5\xac\x79\xf6\x21\x29\x90\x5c\x70\x9d\xa6\xf2\xef\x55\x01\x6f\x46\xae\xa6\x91\x56\xb5\x6f\x36\xc6\x9d\x45\x44\x3c\x87\x2b\x87\x41\xb5\x6c\x81\xa9\x80\x3a\x8e\x7a\x9f\x3a\x23\x06\x23\xdc\x4e\x05\xcc\x54\x78\x37\x66\x0f\x5f\x81\xd7\xba\x0b\xc9\xb7\x7e\xbe\xc4\x0b\x53\x60\x21\xce\x68\x83\xdf\xf4\x44\x90\x32\x53\x0f\x92\xbd\xe1\xe2\xe3\xbe\xb5\xde\x24\x5e\x99\xaa\x7b\x98\x24\x83\x16\x75\x34\xbb\xec\xee\x3e\x82\xbd\x4f\x82\x11\x65\xc5\xb6\x12\x23\x86\xc6\x38\x66\xdb\x69\x62\x63\x5f\x4c\xf3\x5e\xc0\x5c\x06\xc8\x4e\xb8\x63\x88\x11\x7c\x2b\xc3\xbe\x2b\x64\xf5\xa3\x8c\x90\x6a\x4e\x43\xa0\x95\xd5\x9d\x15\x4c\x6f\x0e\xa0\xca\x52\xa8\x3d\xb1\xe2\x20\x90\xb4\x0f\x38\xc0\x64\x22\x5a\xfe\x50\xac\x56\x5f\xbe\x5c\xfe\xce\xf9\x72\xd1\xef\xcb\xd5\x47\xb8\xba\x9a\x60\xe6\xea\x0a\x4e\x7f\xf9\x2b\x92\x0e\xa6\x65\x04\x5d\x5d\xc1\x45\xbf\x8f\x20\x52\xde\xb1\x77\x86\xb9\xfc\xe5\x3d\x1b\x3a\xf9\xf2\xa4\xdf\xc7\xd5\x97\x7f\x5e\xfe\xce\xf9\x72\xd1\x8f\xfd\xf5\xce\xef\x17\xe6\x7d\x7d\x64\xf0\x3b\x4f\x52\xcc\x3d\x96\x05\x97\x19\x50\xa0\xee\x7c\xcc\x8e\x58\x1d\xfb\xe3\xd4\x97\x49\xca\x9d\x26\xcb\x3f\x30\x08\xa9\x86\xca\xfa\xfd\x1a\x2c\x6e\x95\x15\x89\xda\xbb\x18\x94\x8e\xbc\xaf\x1f\x70\xf9\x99\x82\xfd\xc6\x9a\x6d\x9f\x51\x7d\x80\x80\x6d\x17\x73\xa2\x3e\x27\x58\x9f\x07\xdc\xe7\x58\xf2\xa4\xdf\x47\x80\xcf\x65\xcb\x3f\x7d\x89\x81\xd3\xd5\x20\xfa\xd5\x91\x32\xbf\x05\x78\xb9\x9e\xea\xc2\x45\xc0\xab\x8c\x53\x4e\x1b\x65\x41\x7b\x4a\x27\xbc\x5a\x11\x58\xbf\x67\x01\x4d\xaf\xeb\x78\x02\x65\x88\x3e\xea\xf4\x73\x81\x37\x87\xb9\x60\x7b\x09\xed\x09\x38\xfb\x6a\x33\x4f\x3f\x53\xc8\x45\x68\x3e\x9a\xfe\x8c\xee\xcb\x6d\xf9\xbb\xd9\xd6\x73\xd1\xdf\x1c\x29\xf3\x9b\x69\xb5\x56\x3b\xbc\x08\xdd\xa6\x69\xb0\xe4\xaa\x54\x80\xed\xc3\x57\x72\x44\x67\x4c\x4b\xa9\x39\x03\xf5\x02\x90\x4f\x43\xf7\x84\xb5\x7d\xcb\x5b\x28\x11\x6c\x42\x79\x3e\x8c\x9f\x82\xf9\x9a\x61\x7e\x2e\xba\x2f\xa5\xeb\xf9\xf4\x67\x74\x5f\x6a\xcb\x4a\xca\x47\xf8\xf6\x1a\x26\x65\x14\x03\x79\x52\x67\x81\xd4\x47\xa9\x26\xef\x0b\xd6\xcf\x58\x03\x8e\x45\x3b\x17\x64\xa7\xbf\x3c\xd7\x80\x97\xd4\x80\xdf\x1b\xb9\x2f\xc1\x7b\x43\x91\xeb\xff\xe1\x4e\x45\x76\xb0\xb7\xe9\x64\x47\x31\x78\xb7\xcd\xe9\x73\x87\x40\x1e\x2a\x15\x2e\xab\x01\xc7\x63\xaf\x03\x55\xe2\x2f\x1d\xf3\xd6\x70\x01\xde\x06\x1f\xf9\x70\xe4\x9d\x90\xe3\xf2\xbc\xf5\xa4\x54\x5c\x8d\x77\x4f\xf3\xeb\x3e\x3e\x05\xe1\x7d\x0c\xd8\xa0\x3d\x70\x51\x50\xc0\x0f\x1e\x1c\xee\xb9\xd2\x10\xea\xa6\x73\xc9\x8a\xbd\x84\xf7\x7c\xbe\x4b\x47\x31\x96\x58\x75\xb1\x0b\xf8\x5c\x68\xfe\xff\x0a\xcd\x4f\xa3\x5b\xe0\xdc\x70\x6d\x38\xc5\xe7\xc4\x15\xe7\xc6\xff\x11\x44\x9f\x02\xf4\x14\x94\x4f\x42\xf7\x31\xa2\xfb\xaa\xb6\x80\xf7\xbe\x41\x68\x8c\xf3\x61\x04\xb4\x14\xd2\x62\xf5\x05\x85\x66\xbe\x1e\x29\x0b\xf8\x61\xba\x39\x04\xf5\xad\x27\x32\x1b\x8b\x6b\xd8\x74\x51\x8e\x86\xb5\xd9\xd6\xbc\x9f\x98\x9a\x0f\xc5\x33\xbc\x7f\x93\x2d\xe7\x54\x9a\xe7\x91\x37\x87\xc4\x38\x68\xad\xd2\x5c\x06\x0e\xd3\xcf\x2d\x32\x1d\xca\xe9\xdd\xec\xf0\x35\x63\x36\x60\xee\x5f\xb1\x82\x0f\x41\x3a\xa1\xf2\x69\xc8\xee\x31\x5d\xc0\xdb\x01\x70\xa9\x65\x98\x64\xdb\x13\x37\x78\x2c\x35\xb1\xef\xb9\xe6\x9d\x4d\xd2\xd3\x59\xcf\x80\xbe\xd4\x96\x5c\x5c\x7e\x77\x54\x5c\x4e\xee\x61\x4f\xd6\x96\xbf\x77\x1b\x6a\x5f\xaf\x56\x9b\xa1\xdd\x95\x5a\x6f\x5c\x8c\xf6\xa3\xc6\xbe\x97\x8c\xd8\x29\xdb\x21\xc1\xd7\x10\xeb\xe0\xbb\x6d\x0d\xdf\xc8\x3e\xe8\x0f\x47\xa9\x17\xbe\x99\x35\xe2\x53\xbb\xf3\xe4\x32\xf9\x36\xf5\xf4\x12\x47\x9d\x40\x2a\xe0\x5f\x47\xdf\x86\x9b\x78\xe9\xfd\x49\x0b\x45\xf7\xe6\xdc\xf5\xed\xc0\x85\x11\x63\xdb\xd1\x10\x1f\xe5\x52\xbf\x99\x05\x67\xa3\x86\x96\xc1\xb0\x42\xba\xff\x2d\xe0\xc6\xda\x2c\xb7\x0a\xbe\x39\xd9\x5b\x48\xd1\xe8\xd5\xd2\xbe\x9d\xbc\x10\x38\xb5\x68\xba\x94\x36\xd4\x7a\x32\xf9\x5d\x83\xe5\x8a\x50\x9a\x21\x93\x37\x12\xed\x70\x9b\x31\xef\x7d\x4e\xfa\x22\x27\x97\x9f\xb6\x45\x8c\x83\x59\xa7\x63\x0c\xcb\xcd\xb4\x61\x62\x68\xf9\xda\x21\xf7\xb3\xa4\xf9\x00\x6f\xbe\xff\xb1\xbf\x54\x49\x2d\xc1\xbe\x53\x99\xda\xe9\x81\x80\x6a\x65\xed\x70\xd3\x8e\xe0\x37\x3f\x27\x9a\x4b\xed\x85\xc6\x44\x39\xb6\xba\xad\xe4\x6f\x96\x22\x99\x36\x05\x99\x7d\x7c\x1c\xfc\xa3\x40\x4b\x6f\x86\xd9\xd8\xb8\xce\x77\x12\xc8\xe0\x77\xe9\xe9\x40\x7e\xa5\x42\xeb\x63\xd5\xa4\x4d\x69\xc9\xb3\x43\x25\x2c\xd2\x66\x48\x76\xe4\xc8\xfa\xb0\xe8\xbd\xae\x01\x77\xe8\xc0\x08\x0b\x9b\x34\x2e\x5f\xdf\x1b\x82\x12\xb1\x39\x01\xfc\x49\x33\xef\x28\x88\x2c\x22\x09\xeb\xfb\x98\x52\xd4\x7a\x6b\xfd\x5e\xbc\x92\xc6\xcd\x3b\x3b\xef\xa5\xab\x99\x8b\x9e\x92\x37\xb4\x6f\xfb\xa6\xfd\x32\x3d\xbd\xa0\x45\x0b\xe4\x2e\x28\x47\x15\x26\x1a\xef\x73\x49\x7a\xdd\xc1\x01\x0f\xa5\x84\xff\xf0\x3a\xb5\x8c\xee\x05\x4f\x6b\xd8\x1c\xd8\x95\xba\x56\x64\xe4\x8c\x02\xc6\x51\x17\x84\x20\xf2\x4b\x09\x1f\x80\xcc\x56\x9a\x29\x6a\xb8\x9a\x48\xd8\xa5\x4e\x9e\x90\x04\xe2\x41\xbc\xba\xc3\x40\x73\xad\x6e\x76\xde\x94\x53\x8d\x58\x62\x69\x28\x87\xb5\xff\xcb\xa6\x23\xe3\x90\x08\x14\x83\x68\x68\x12\x69\xd5\x11\x52\x6a\x29\xc9\x4e\x98\xaf\x2d\x91\x98\x2e\xfe\x3a\x41\x3b\x39\x57\xf6\x05\xc3\x33\xf2\xce\xf7\xce\x1e\x72\x7c\x81\x46\x3f\x57\x13\x60\x9c\xd8\x8b\x7b\x79\x6b\x23\xd7\x9f\x0d\x83\x21\xd6\x2a\x1d\x4f\x5a\x1f\xd3\xe5\xd4\x70\x53\xf4\xe0\x41\x69\xb2\x05\xe5\x0d\x43\x96\x2e\xfe\x5c\x4a\x5c\x8f\x8b\xa4\x7e\x22\xd5\xa2\x01\x52\x34\x0d\x57\xc8\x51\xda\xc6\xfb\xc7\xfa\x5a\x99\x7a\xf3\x83\x09\xd6\xd5\x2a\xe7\xb0\x9c\x17\x36\x13\x56\x2c\xf2\x7b\x08\xdc\x76\x56\x05\xb8\xc5\x9d\xc1\xbd\xdc\xc2\x2d\x99\x8f\x25\x3d\x44\xbc\x77\x0f\x32\xe5\xf1\xac\x05\x85\x76\x6d\x99\xba\xc3\x35\x3a\xb6\x8e\x23\x35\xb4\x43\x33\x8e\xe7\x3d\xd2\x02\x6e\x22\x28\x2e\xcf\x4d\xd3\x35\xeb\x14\xf6\xb4\x4c\xe6\x4f\xb6\x21\xb3\x94\x90\xb4\x2b\x3b\x9d\x70\xc0\xd0\xc6\x00\x07\x54\xa1\x80\xb7\x92\x22\x72\xd1\x1d\x30\xbd\x9b\x2b\x25\x53\xa8\x78\x92\xfd\x1f\xb4\x66\x69\x88\xec\x9a\xca\x68\xe5\x22\xe8\x5a\xb9\x2d\x52\x2a\xb4\xfa\x5c\x31\x7f\xeb\x36\xbe\x4d\x58\x8f\xdb\x61\xa4\x55\x39\xd9\x0f\xdf\xd1\xed\x4c\xf0\x2e\xbf\x84\x49\xd1\x6b\x7d\x60\x54\x2d\xde\xb1\x20\x75\x36\x3d\x3b\xfa\xf4\x8b\xad\xd4\xc1\x67\x97\x51\xb7\x49\xf0\x8a\xd9\x95\xb4\x1e\x9d\xd9\xbf\xc8\xe8\x5f\x10\x9c\xee\xbd\x17\xab\xd5\xff\x02\x00\x00\xff\xff\x5b\x0c\x99\x9b\xf8\x28\x00\x00") func complySoc2PoliciesRiskMdBytes() ([]byte, error) { return bindataRead( @@ -977,7 +977,7 @@ func complySoc2PoliciesRiskMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/risk.md", size: 10486, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/risk.md", size: 10488, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -997,7 +997,7 @@ func complySoc2PoliciesVendorMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/vendor.md", size: 3139, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/vendor.md", size: 3139, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1017,7 +1017,7 @@ func complySoc2PoliciesWorkstationMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/workstation.md", size: 1791, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/workstation.md", size: 1791, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1037,7 +1037,7 @@ func complySoc2ProceduresReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/procedures/README.md", size: 92, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/procedures/README.md", size: 92, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1057,7 +1057,7 @@ func complySoc2ProceduresOffboardingMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/procedures/offboarding.md", size: 358, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/procedures/offboarding.md", size: 358, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1077,7 +1077,7 @@ func complySoc2ProceduresOnboardingMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/procedures/onboarding.md", size: 495, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/procedures/onboarding.md", size: 495, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1097,7 +1097,7 @@ func complySoc2ProceduresPatchMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/procedures/patch.md", size: 380, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/procedures/patch.md", size: 380, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1117,7 +1117,7 @@ func complySoc2ProceduresWorkstationMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/procedures/workstation.md", size: 1081, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/procedures/workstation.md", size: 1081, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1137,12 +1137,12 @@ func complySoc2StandardsReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/standards/README.md", size: 282, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/standards/README.md", size: 282, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _complySoc2StandardsTsc2017Yml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5b\xcd\x72\xdc\x38\x92\xbe\xeb\x29\x70\xb4\x23\x68\x6f\xb4\x24\xdb\x3d\xbd\x27\x75\xb5\x3b\x56\x11\xeb\x9d\x0a\x5b\x33\x77\x08\xc8\xaa\xc2\x1a\x04\xd8\xf8\x29\xb9\xe6\x34\xaf\x31\xaf\x37\x4f\x32\x91\x09\x80\x04\x59\x64\xa9\x4a\xf6\xcc\xc9\x92\x4c\x02\x99\x5f\xfe\xff\xd0\xf0\x16\x7e\x61\x0f\x5f\x56\x57\xab\xd5\x4f\x6f\x7f\xfa\xe5\x8a\xb1\x0d\x6f\x95\x3e\xfc\xc2\x56\xab\x9f\xae\x18\x4b\x0f\xdc\x9b\x00\x5b\xa7\xc2\x81\x71\x23\xd9\xc7\xb0\x53\xc2\x5f\x31\x26\xc1\x0b\xa7\xba\xa0\xac\xf9\x85\x3d\xec\x80\x81\x09\xf8\x90\x84\xd6\x1a\x1f\x1c\x0f\xe0\x19\x67\xc2\xb6\xad\x0a\x2d\x98\xc0\x82\x65\x6a\x74\x16\xe0\x59\x5c\xb3\x3d\xd7\x11\x3c\x51\x71\xbd\x44\xc5\xaf\x96\x3b\xc9\xee\x8d\x84\x0e\x8c\x04\x23\x60\x8e\x86\x47\x7a\xca\x6e\x98\x54\x0e\x44\xb0\xce\x8f\xe9\x51\xd5\xfb\x6c\xe3\x6c\xcb\x5a\x6e\xf8\x16\x88\x3e\x22\xe9\x1b\x38\xa1\x3c\x78\x66\xf7\xe0\xbc\xda\xee\x02\x1e\x17\x76\xc0\x24\xec\x41\xdb\xae\x7f\xb4\x03\xb7\xb1\xae\xe5\x78\x94\xdd\x10\x6b\xce\x70\xcd\x84\x35\xc1\x59\x4d\xec\xdc\x2c\xb1\xf3\x67\xb7\xe5\x46\xfd\x8d\x23\xe9\x5c\xb3\x2f\xc1\x45\x11\xa2\x3b\x62\xea\xd3\x40\x1e\xf8\xc0\x1f\xb5\xf2\x3b\xf0\x0d\x7b\x52\x61\x57\xb8\x2d\x84\x36\xcc\x97\x63\x7c\xc3\x1c\x74\xd6\x05\x65\xb6\x4c\x2b\x83\x7f\x40\x9a\x79\xd7\x39\xdb\x39\xc5\x03\x30\x1e\xc3\xce\x3a\x15\x14\xca\xc9\x48\xe6\xc0\x77\xd6\x78\xf5\xa8\x74\xfa\xa3\x32\xc4\x77\x17\x9d\x8f\x8a\x60\xb0\x8f\xff\x0f\x22\xa8\x7d\x16\xd6\xed\x12\x77\xff\xa3\x9c\x32\xdb\x86\x3d\x38\xae\x0c\x92\x80\xe7\x7f\x86\x80\x2a\x62\xcd\x4b\x95\x87\x87\xe0\xb8\x08\x4d\x91\x44\x93\xc9\x0e\x5c\x19\x7c\xb4\xa3\x0b\x50\xc6\x6a\xaf\x64\xe4\x9a\x58\xe0\x5a\x6d\x0d\x1d\x41\x98\x4d\x58\x78\xb7\xac\xf5\xe5\x14\x76\x27\x84\x8d\x26\x70\x02\xe6\x70\x82\xfa\x9d\xd5\xd2\x8f\xee\xe7\xe5\x55\x0d\x6c\x63\x1d\xe2\xa9\xdc\x91\xaa\x5c\x06\xfd\xdb\xab\xd5\xea\x7a\x6a\xae\xd7\x3d\xe1\x7f\xf1\xa4\x8e\xf7\x86\x94\x13\x69\x64\x5f\x0e\x3e\x40\x7b\xca\x68\xed\x23\x82\xe8\x99\x75\x6c\x0b\x06\x32\xfe\x46\xb2\x88\xa6\xe0\x40\xc3\x9e\x9b\xd0\xb0\x3f\x22\x47\x0c\x98\xaa\x4e\x0f\x96\xf9\xd8\xa1\xb2\x11\xcd\x9b\x68\x04\xfe\x1d\xc5\x3e\x6f\x16\xd7\x53\x2b\x3f\x22\x7e\x65\xdb\x36\x1a\x25\x46\xe4\x37\xe4\x89\xf0\xac\x13\x8c\x94\xeb\xf4\x81\x94\x27\x1d\x42\x80\xf6\x04\x37\x4c\x19\xa1\xa3\x24\x02\x7b\x54\xe7\x4d\x00\x65\x36\xe5\xa0\x61\x06\x04\x78\xcf\xdd\xe1\x25\xbc\xdf\xbc\x8c\xf7\x8f\xdf\x9e\xe5\x7d\xc4\x30\x29\x3b\xe4\x97\x58\xc7\x1d\xf1\xe3\x60\xcb\x1d\x71\xde\xf2\x10\xc0\x79\xc6\x37\x1b\x44\xc0\x6c\xcf\x64\xe0\x66\xaa\x79\x37\x83\x4f\x1b\x4c\x6b\x99\x48\xdf\x81\x50\x1b\xa4\xa5\xc2\x9e\x88\xf5\x71\xb3\x51\x42\xa1\xa5\x0a\xcd\x29\x48\x04\xcb\xc0\x90\xf1\x20\x71\x4a\xe2\x19\x9b\x02\x0d\xf9\x33\xef\xc1\x7b\xb2\x6e\xbb\x61\x4e\xf9\xaf\xa4\xad\x3c\x31\x64\xc7\xd6\x7e\x33\xd5\xbb\x81\xf4\xcf\xca\x7f\xc5\xe7\xcf\x62\xa1\xd0\x81\x78\xd2\x8d\xc1\x12\x7d\x5c\xec\x14\xec\xa1\x50\xa3\xc2\x88\x47\x2e\x9c\xf5\x9e\x1e\xcc\xe7\x10\x03\x86\xeb\xc3\xdf\xfa\x93\x38\x7a\xbd\x47\xee\x55\x52\x3d\x09\x01\x5c\x9b\x5c\xe8\xce\x3e\xd1\xcb\xe9\x41\xbf\xb3\x51\x4b\xf6\x08\x39\x80\x49\xe2\xef\x66\x89\xbf\xdf\x1d\x8f\xf2\x32\x2e\x05\x1a\x82\x44\x15\x21\x4f\x64\xc9\x79\x73\x4d\x74\x6d\xe8\x38\x74\xae\x84\x3f\x92\x77\x0a\x89\x89\x14\x6e\x97\xa8\xbc\x6f\x3b\x2e\xe8\x8d\xd5\x8e\x9b\xed\xb9\x42\x18\x14\x01\x3c\x13\xe9\x4d\x16\x76\x3c\x30\x41\x20\x79\xb5\x35\xa4\x36\x26\xe8\x03\x53\xe9\x12\x24\xd3\x93\x71\x2d\x28\xfa\xed\x54\xd1\x6f\x7b\x3a\x3f\x59\xa3\x82\xc5\x10\x77\x4a\xd1\x41\x83\x08\xbe\x8f\x56\x39\x02\xe7\xac\xc1\x33\x6b\xb6\x36\x87\xc6\xff\xb2\x8e\x79\xe8\x38\xba\x5d\x06\x98\x0d\x91\x86\x13\x9c\xdc\x0b\x70\x14\xe1\x9e\x76\x10\x76\x40\x31\x84\xa2\x9d\x35\x60\x50\xc5\x8e\xa9\x67\xdc\x01\xeb\x1c\xf8\x92\xaa\x54\x66\x4d\x9c\x5d\x2f\x71\xf6\x19\x5a\x90\x8a\x3f\x13\xa5\x33\x89\x19\xfa\x89\x9f\x9d\x90\x22\x21\x19\xb5\xc8\x61\x8d\xb3\xa0\x5a\xd0\x07\xd4\x5b\x83\xdc\xa0\xc6\x58\x0f\x95\x8b\xca\x3e\xb8\x84\x4c\xfe\x15\x61\x12\xd6\xb9\xa4\x44\x8c\x8b\xa9\x1b\xf7\x60\x94\x75\xd3\x5c\x2e\xcc\x26\x84\x0d\x19\xd9\x90\x07\x5d\xad\x56\xef\xa6\xa2\x7e\x77\xec\xd3\x92\xf1\x7c\x52\x41\x6d\x9f\x83\x27\x4b\x9e\x68\x28\xc2\x1f\x44\x83\xa7\xa5\xe0\x92\x55\xd4\x04\xa7\x1e\x63\x80\x62\x3c\x6d\x7f\xc7\xe0\xd3\x9e\xb3\x2b\xd2\x14\x21\xa0\x4b\xa9\x86\xc6\x5b\x3d\x71\x76\xbd\xc4\xd9\x03\x88\x9d\xb1\xda\x6e\x0f\x6c\x95\x68\x3b\x65\x6e\x5c\x7b\x3b\xcf\x58\xca\x17\xf4\x1c\x83\x98\x99\xb2\x30\xdc\x33\x89\x96\xa7\xbc\xc4\xbb\xa9\x2f\x1b\x08\xff\xd8\xe7\xc1\x92\xad\xad\x46\xed\x3a\x5d\x8f\x74\xda\x1e\x16\x04\xe0\x6c\xdc\xee\x58\x97\x4f\x49\x12\xe9\xf3\x6c\xf6\x84\xbf\x2a\xcf\xe0\x5b\x07\x22\x80\x24\xc6\x95\x61\x9d\xb3\x02\x24\xa6\xd9\xe9\x8d\x2e\x86\xe1\x0c\x65\x48\x16\xa4\x23\xab\xd5\xfb\xa9\x6a\xbd\xef\xf9\xf8\x5f\xbb\xa5\xea\xe7\x4e\x60\x36\x71\xca\xd5\xb5\x9d\x26\x94\x3c\xd3\xf9\x1d\x4e\xef\x30\x0f\x22\x52\xa0\xf4\x76\x13\x9e\xb8\x03\x34\x8a\x8d\xe3\x7d\x1d\x90\xb3\x7e\x27\x76\x2a\x40\xaa\x0c\x92\x54\x3a\x67\x43\xe2\xa9\x4e\xe5\xd0\x8b\x06\x52\xa6\xfc\xff\x28\xa7\x36\x15\x4a\xfd\x5d\xb0\x27\x52\x82\x65\x2d\x40\xa8\x02\xda\x3f\xff\xfe\x0f\x3f\x96\xe2\xfb\xa9\xfa\xbd\xaf\xb3\x1d\xb7\xc0\xfa\xda\xa1\x31\x63\xb5\xe8\x7d\x24\xf3\x4e\x7e\x5a\x38\x90\x29\x08\x25\x15\xdc\x3a\x6e\x42\xf5\xff\x09\x94\xa6\x0e\xb1\x0e\xb6\xca\xa7\x3c\x07\x71\x48\x15\x0f\x86\x5b\x03\x4f\x83\xaf\x4a\x85\x5f\xfe\x25\x7a\x7c\xfc\x89\x7c\x52\x86\x59\x79\xc6\x25\x86\x61\x3c\x0a\x24\x7b\x3c\x54\x77\xbc\x65\xbf\x53\x62\x8f\xcf\x5f\xfa\x6e\x43\x6f\xcc\xf2\xe7\x80\x39\x68\xed\x1e\x24\x3a\x7e\x93\x1e\x1c\xce\x34\x96\x69\x6b\xb6\xf8\xb7\xc2\x94\x24\xc0\x6f\x96\x00\xff\x6c\x35\xbc\xf9\x95\x7b\x90\xcf\x6b\xdc\x00\x54\xc3\x5a\x2b\x29\xcc\x36\x58\x1c\x24\x92\x7c\x21\x24\x58\x26\x79\xe0\x4d\xa5\x7f\x25\xd4\xe4\x70\x67\x29\x64\x9d\xd4\xb6\x47\xa2\xc9\x1a\xe6\xac\x4e\x85\xeb\x38\x09\xa7\x8b\xab\x70\x2d\x01\x03\x7a\x0a\x3d\x29\xd8\x37\x6c\xab\xf6\x29\x48\xa4\x9c\xa5\x2f\x4c\x52\xac\x34\xe8\x18\x29\x52\x6a\xe0\x3e\xb0\xce\xa9\xbd\xd2\xb0\x05\x3a\xc4\xc3\x16\xd3\xe2\xe2\x70\x65\x4c\x97\x9e\xa7\xdf\xb7\x4b\x70\xaf\x77\x07\x7f\x9e\x79\x3b\xf0\xc1\x29\xf4\xab\x5d\x79\x67\x80\x77\xc3\x45\xa9\x45\x28\x7b\x38\x05\xe4\x2b\x0c\x97\xf0\x8d\xa3\xbb\x68\x48\x30\x4c\x00\xea\x78\x75\x4a\xc3\x1e\xb9\xf8\xfa\x26\x76\x8c\x02\x3d\xf3\xc1\x3a\xbe\x85\x5a\x58\x1e\x8c\x57\x14\xf2\xb4\x4d\xa9\xb6\x7f\x4d\xf1\xa5\x57\x34\x4c\x62\xbc\x35\x06\xf4\x99\x28\xbd\x5b\x42\xe9\x37\x24\xf2\x37\xe5\x3b\xeb\x4f\x96\x36\x52\x79\xf4\xdf\xca\x44\xa8\x9c\x20\x02\x52\x20\xcb\xc8\x50\xda\x94\x3c\x5c\x0f\x66\x42\xc7\x1a\x7d\x60\x7c\x13\x72\x06\x95\xab\x79\x64\xc0\x01\x97\x49\xb9\x05\xbd\x49\xc8\x91\x66\x64\xad\x4e\x0e\x30\x99\x78\x3e\x6d\xc7\x3d\x7b\x04\x30\x4c\x2a\x32\xee\x5d\x89\x0e\xb5\x69\x3a\xf8\x23\x2a\x34\xfa\xf3\x50\x7a\xbf\x84\x52\xa9\xfd\xd8\xc3\xce\x01\x0f\xdf\x19\x2b\x5a\xe0\x3e\xc5\xae\xc1\xcd\xf3\x2d\x96\xff\x48\x20\x5d\x90\x3d\xbe\x8d\x4e\x60\xc0\x88\x01\xad\x8a\x0a\x9a\x6c\x83\x8f\x36\x1a\xc9\x9d\xca\x94\x7f\x38\x29\xdf\x55\xf4\xc1\xca\x54\xef\x3c\x38\x6e\x7c\xab\xbc\x3f\x9d\x42\x0d\x36\x81\x90\x85\xea\x25\x74\x48\x29\x67\x28\xed\x9f\xd6\xee\xb9\x4e\x69\xf0\xa8\x29\x51\xe9\xeb\x29\x4f\x9f\xcd\x4a\x50\xf9\xd0\xd4\x56\xe6\x99\x0a\x4c\x46\x47\xb5\xe4\x02\x09\xc5\x27\xf2\x73\x4d\xe1\xe7\x25\xa8\x3e\x71\x4d\xba\xf6\x1b\x64\x3d\x3e\x4f\xca\x39\xad\xc9\xd2\xa4\xd8\xcc\x72\xe5\x28\x52\x1a\x8c\xd5\x4e\xec\x6c\xea\x28\x29\x7c\x5a\x46\x51\xbc\x5d\x34\x15\x4c\x94\x42\x63\x1a\x63\xa3\x1f\x94\xff\x1c\xbe\x3e\x4c\xd3\x9c\x0f\x3d\x5f\x7f\x8d\x1a\x13\xc4\x6c\x6e\xcb\xdc\xe5\x5b\xc6\x55\xf3\x28\x98\x53\x2f\x4a\x96\x03\x88\xb7\xb6\xaf\xc4\x46\x49\x99\x2d\xe5\xe1\x81\xbd\xfa\xe9\xf5\x50\x13\x5a\x84\x6b\xa3\xb6\xd1\x95\x02\x0b\xd3\x37\x07\x3e\xea\x50\x7a\x6e\x53\x84\x30\x53\xd8\x57\x3c\xa8\xa2\x25\xaf\xae\x5f\x33\x1f\x3d\xc6\x96\xa1\x61\x14\x2c\xbe\xa0\xb3\xc7\xda\x53\xc8\x9f\xbc\x4d\x70\x5d\x2f\xc1\x75\x67\x6c\xcb\xf5\x29\xa0\x06\x40\x32\xf7\xbd\x55\x56\x55\x61\xa9\x7f\x6c\x57\xa2\x21\x75\xb1\xd1\x83\x55\x4f\x61\xc0\xe0\x74\x61\x9f\xfd\xa2\xc4\x95\x91\xd4\x64\xd9\x53\x43\x6a\x50\x09\x4e\xf5\xac\xe1\x21\x62\xc2\x2f\x95\xe7\x94\x5b\x25\x38\xc0\x39\x7b\xd4\x4f\xaa\xf4\xa5\x72\xb8\x33\x82\xfe\xef\x8a\x0e\x24\x21\xf7\x45\xc8\x75\x96\x2e\x08\xd4\x25\x30\xfa\x88\x52\xe2\x4e\x52\x53\x02\xf8\x66\x09\xe0\x2f\xe5\xe1\x7b\x23\x48\x4b\xd8\xc7\xbe\xe2\x3e\xab\xe6\x9d\x49\x84\x17\x28\x4c\xed\x07\xeb\xd8\x8e\xef\x21\xab\x19\xa4\xbe\x09\xdb\x70\xa5\xa3\x83\x32\x5c\xc8\xb7\xcc\x83\xc3\x5e\xf5\x77\xaa\x4c\xb4\x7f\x8d\xa0\x37\x4c\x6d\x98\xb7\x0d\x16\xc9\x94\x95\xf5\x6d\x83\xca\x15\x70\x29\x1d\x05\x80\x28\x76\xe5\xda\x84\xd1\xed\xf9\x18\x7d\x4e\x49\x19\xb0\xb5\xe6\xcf\x38\xee\xce\x1a\x59\xdb\xa0\x02\xc9\x8e\xe9\xc7\x44\x18\xbe\x81\x88\xa4\x2b\x9c\xfa\x04\x86\xc0\xc9\x37\xba\x72\x63\xe7\xec\xd6\xf1\x16\x4f\x8c\x46\x82\xf3\x81\x38\x47\xc7\xc7\x95\xc1\x7c\x31\xf5\x2c\x72\x12\x53\xb5\x23\x66\xae\x9d\xa9\xfe\x3f\x4c\xd3\x93\xb3\x70\xf8\x98\x68\x3f\xed\xa6\xfb\x1e\xd5\xb4\x0b\x54\x39\xf0\xba\x1e\xb5\x7d\x0e\x42\x01\xf8\x24\x80\x57\xab\xd5\xcf\x53\xaf\xfb\x73\x4f\x79\x6a\xa0\x95\xca\xfe\xcc\x54\x3f\x65\xd6\x15\xb1\xa4\x3e\x82\x92\x18\xdf\xf4\xbe\x93\x1e\xb5\x22\xb6\x09\xd0\x00\x9e\x70\x45\x50\xf7\x70\xcc\x60\xe5\x7d\xa7\xc5\xe9\xb4\x78\xe8\x63\x71\xef\xc7\x67\xac\xe1\x6a\xb5\xfa\xd3\x94\xf1\x3f\x0d\x19\x87\xf2\x2e\x12\x9b\x17\x74\x6c\x6a\x41\xf5\x7d\xbb\x51\x97\xc3\xe1\x59\x55\x67\xa6\x92\x1a\x3a\xd1\xdc\xbd\x75\x8a\x7a\xa1\x24\xbc\xa1\x63\xfa\x18\xbd\x32\x68\x81\xb2\xa7\x2d\x31\x71\xbd\xc4\xc4\x5f\xc1\x48\xeb\x32\x03\x7d\x53\xeb\x94\x14\x4b\xfb\x93\x82\x22\xbd\x31\xb4\x94\xbd\x15\xa8\xea\x32\xb5\xd9\xf7\x74\x76\x7a\xb2\xa7\xac\xe3\x2e\x18\x70\xfe\xea\x6e\x32\x08\xbe\x1b\x26\x62\x2b\xde\x71\x81\x97\xa1\x0b\x30\xa7\x9b\x9f\x2d\x57\x64\x9d\x54\x3f\xa6\x20\x95\xa3\x44\xef\x46\x45\x74\x0e\x2d\x2a\xe7\x5e\x54\xbe\x95\x1b\xf2\xe4\x09\x9d\xe3\x71\x68\x7b\x35\xaf\x45\x75\xc2\x4e\xf5\x4a\x82\x61\x38\x54\x42\x9b\x3a\xee\x72\x3a\x57\x28\xba\xda\x07\x4a\x2e\xa5\xca\x93\xd9\xfe\xf5\x60\xd9\x0e\x74\x37\xab\x91\x77\x93\xc1\x75\x85\xda\xaf\x5c\x7c\x8d\x5d\x1e\x80\x92\x6d\x9f\x9a\x20\x5e\x60\x8d\x83\x85\x35\x39\xca\xc3\xc8\x0a\x2b\x11\x54\x99\x92\x67\x60\xf6\xca\x59\x9a\x88\x8e\xcb\xa6\xda\x10\xa9\x04\x2a\x95\xe2\x24\x3b\xce\x2e\xea\x30\xb1\xe6\x25\x6b\xbd\x9b\x4c\xc1\x2b\x6c\x0a\x20\xec\x01\x7c\x38\xad\x50\xe4\x64\x86\xab\x3b\xcd\x47\x6d\xb8\xdc\x56\xac\x9a\x41\xfd\xa3\x4b\x4e\x64\xba\xf1\x50\x29\x3a\xfa\xb9\xdc\x89\x19\xcd\x51\xef\x47\x03\xa8\xf3\x87\x13\xbd\x28\x92\x0b\x2d\x47\x4f\xea\x95\xd3\x49\x76\x1a\x6b\xa5\x84\xa8\x3e\x45\x85\xc3\xd5\xd1\xde\xc4\x19\xbc\x9c\x57\x74\x77\x96\x56\x21\x36\xff\x1e\xc2\xdf\x5e\xad\xef\x27\x62\x58\xdf\x0f\xb4\xaf\x07\xcf\x30\xec\xa0\x9c\x35\x7b\x99\x1b\x67\x53\xaf\xcd\x1f\xe5\x08\xcf\x4d\xb7\x87\x89\x29\xa5\xd3\xb3\x6c\x0d\x2e\xac\x1e\x4a\x48\x60\x46\xe5\x86\xc4\x26\x59\x54\xb1\x24\x59\x22\x1d\xd6\x19\xb9\x09\xe5\xf6\x4a\x40\x1a\x8f\xb2\xdc\x76\x69\xa6\x1d\xf3\xec\x13\xf3\x8b\xbe\x7e\xd3\x13\x96\xd7\x17\x61\x79\x27\x44\x74\x5c\x9c\x72\x48\x55\x1c\xef\x3b\xdc\x93\x28\x4d\xf9\x4a\xb6\x3a\x65\xba\x88\x0e\x69\x40\xa1\xaf\x4f\xe9\x31\x74\xe3\x1a\x02\x50\xd0\x49\xc5\x69\x22\xa1\x49\xc9\x4f\x29\xc4\x0a\x87\x4d\xcf\x5e\xf1\x3d\xc5\xcc\x9f\xaf\x4a\x11\x8f\x9b\x8b\xf0\xf8\x73\x29\x96\xce\xec\xb0\x9c\x83\x48\x15\xde\xfe\x2d\x1c\xde\x5e\xc6\x61\x0c\x28\xa0\xef\x63\x8f\x62\xeb\x57\x60\x7c\xcf\x95\xa6\x28\x4a\x0d\x07\xad\x90\x6d\x4b\x37\xf4\x82\xd6\x87\x26\xcb\x38\xff\x8c\xd1\x37\x0d\x00\xb1\x0c\x12\xc2\x3a\x49\x1b\x54\x69\x05\xa0\xd6\xfe\x33\x01\x78\x77\x11\x00\x29\x1c\x7f\x3f\x00\x3e\x58\x2a\x94\xb3\xba\x07\x68\x7d\x3f\x19\xca\x9e\x80\x3a\xaa\x09\xef\x97\xc2\x91\x54\xe8\x62\x54\xa6\x3e\xb5\xc6\x44\xed\xb9\x38\xb0\xff\xb3\x67\xc5\x31\xcc\x25\x94\x04\xcf\x8c\x0d\xe8\x9d\x72\xbf\x9f\xf9\x48\xb7\x61\x51\x6f\x63\x0a\xad\x5d\x3e\xb9\x73\x98\x1a\x0b\x38\x83\xd0\xb1\x0b\xa5\xd7\xdf\xd2\xed\xf9\x36\xe5\x59\xec\x24\x2f\x83\xb7\xca\x69\xcb\x63\x4a\x66\x46\xcb\x98\x98\x57\xc5\xc7\x84\x8e\x23\x82\x47\x5e\x2b\xbf\x96\x7b\x42\xc5\xef\x52\xdb\x7b\x1c\x00\xcf\x18\x14\xcc\xf0\x79\xb5\x9e\x6c\x70\xad\xaf\x8f\x64\xb4\xc2\x3a\x33\x8f\xb2\x57\x3b\xab\xe6\x37\x1e\xe7\x76\x7f\x04\x3d\xed\x2b\x03\x1d\x47\x31\x61\xb5\x86\x3c\x44\x8f\x1e\xb0\x84\xce\xab\x79\x0d\xf5\xad\xb4\xf5\xfd\xec\x50\xe6\x3c\x61\x89\xff\x82\xec\x44\x2f\x72\xfb\x49\x20\x0f\x7f\x44\x30\x09\xdf\x0d\xe3\xe6\xd0\xe0\x51\xc0\xc5\x2e\xd3\xf9\x96\x7d\xfc\xd6\xa1\xa1\x85\xf4\xb8\x09\x65\x55\xee\xc7\x12\xaa\x7c\xce\x0b\x40\xa6\x0a\x6d\x4c\xb2\x75\x79\xfe\x71\x34\xe7\x48\x94\x97\x66\xfe\x5b\xf6\x25\x22\xed\x99\xd4\xfa\x54\x1a\x31\x14\xda\x95\x09\x60\x24\x1e\x12\x1d\xa6\x51\xa5\xd3\xf3\xe2\xe4\x69\x64\x22\xd5\xd3\xf3\xeb\x42\xe8\xc6\xfe\x23\x98\x96\x4e\x00\xc8\xab\xf5\x64\x39\x6c\x3d\xac\xf6\xac\xcb\xdb\x75\x0e\xba\xea\x49\x39\x1a\x01\x2f\x5c\x96\x89\x07\x99\x46\x7d\x3e\xf4\x7b\x9d\x97\x59\xdf\x64\x15\xac\x22\xb4\xd7\xc5\x6c\x7e\x53\xca\x7e\xa7\x8d\xc0\x3a\x3f\x44\xb5\x40\xc4\x61\xa2\xc5\xa3\xde\xf5\xc8\x3e\xf1\xef\x06\x50\x0d\xad\x4b\x6d\xb9\xfe\x15\xee\xd9\x13\x68\x8d\xff\x4e\xed\x87\x0a\xd3\xbe\x6f\x98\xd2\x4e\xf4\xce\x47\x12\x46\x92\xc0\xa7\xdf\xe7\x5d\x16\x85\xa6\x9c\x23\xf7\xd7\x50\x2d\x9e\x27\xef\x63\x45\xf9\x51\xaa\x7b\xb5\x9e\x2c\x55\xad\x6f\xeb\x68\xdd\x81\x2b\x4b\x90\x73\xea\x72\xc2\xfb\x69\xd5\xaa\x3c\x2b\x3a\xe1\xaa\x0b\x63\xd9\x20\x7d\xdd\x5f\xcb\x8e\xfe\x12\x4e\xae\x97\x38\x99\x53\xf5\x73\x96\x9f\xd3\x26\xb3\x9f\xa7\xfd\xfb\xf4\xfd\x76\x92\x09\x3f\x43\xed\x19\xc5\x21\x35\x24\x41\x8f\xab\xc4\x25\xd4\x5f\xa0\x29\x93\x9d\xac\xf5\xbb\xf1\x4c\xf1\x4b\x72\xdb\xcf\x4f\xd7\x69\x49\x64\x24\xea\xb2\x09\x82\x7f\x48\xc9\xc4\x38\x10\x4c\xa6\xc3\x65\x16\x4f\x9b\xdb\x94\xf6\xc9\x79\x3e\xa9\x0f\x08\x7b\x05\x4f\xa9\x35\x4f\x33\xb7\x6c\x8b\xcd\x90\x4a\xf5\x73\x69\xeb\x18\xb5\x1a\x9d\x35\x4a\x30\x61\x3b\x95\x40\xa4\x31\xcc\x04\xc0\x09\x85\x2f\x0a\x1b\xf7\x9b\x6a\x7f\x44\x82\x51\x20\x9b\x69\xd8\x76\xc5\xc8\x41\x0e\x9f\x3d\x18\x95\x27\xa7\x0e\xb8\xcf\x8c\x92\xd7\x4a\xff\x45\x4e\xab\x44\xc7\x97\xa6\x43\x93\x45\xb5\x45\x71\xb7\x60\xe4\x33\xbd\xd0\xbc\x29\x88\xf5\x14\x3e\x9d\xf6\x47\x78\xd7\xe1\xcf\xf3\x92\xeb\x37\x50\xea\x3f\x66\x81\xd1\xc6\xce\x71\x72\x33\xf2\xe7\x04\xc6\x91\xa3\x51\x4e\x96\xa5\x46\x82\x28\x7d\xcc\x10\x20\xef\x1a\x7c\x0f\x5e\x49\x98\x23\x47\x5f\xf6\x23\x73\x50\xfe\x71\xe2\x7d\xa1\x40\x27\x8b\x6f\xeb\xf7\x75\x4b\xaa\x0f\x57\x0f\x84\xd2\x9a\xbb\x70\x40\xa7\x93\x93\x8f\x67\x16\x41\x34\xb9\x9b\x65\x0f\x5f\x01\x5f\xf9\xca\x69\x8e\x59\x7a\x32\x05\x9d\xdc\x41\x5e\xca\xed\xfa\xd0\x38\xe4\x48\x2f\x46\xe6\x7a\x01\x99\xbb\x21\xf3\x1c\xc0\x38\xb9\xa3\xed\xa0\x5f\xc3\x2d\xd1\x83\xf7\xc5\xe6\x50\x6a\x8e\x0a\x4d\x07\x58\x65\x52\x36\x31\xdc\x37\x70\xf5\xa3\x1d\xf9\x64\x25\xad\x62\xf7\x2f\xf5\xee\xc1\x7f\x84\xe1\xb4\x3c\x50\x2c\xb0\xb3\x0e\x7f\x1e\xad\x40\xd4\x38\xbc\x1a\xea\xc1\x47\x87\x05\x0b\xf8\xd7\x3f\x1c\x9c\xdb\x25\x5d\xa8\xbe\xd4\xba\xd8\x4a\x4a\x6e\x57\x6a\xdc\xe1\x3b\xaa\xbc\xda\x53\x0f\x81\x6c\x1e\x58\x8f\xcc\x66\x67\xd3\xd0\x7a\xd8\x44\xfb\x61\x5c\xbf\x9d\x1d\x5c\x8d\x96\xc0\xff\xf9\xf7\x7f\x24\xa1\xaa\xf4\x75\x1d\xd6\xf6\x1d\x38\x65\xa5\x12\x79\xdd\xff\x0d\x26\xd0\xe8\x9d\xa9\xfa\x21\x69\xd3\x0c\x7c\x6e\x4f\x7c\x33\x7c\xb1\x83\x90\xbf\x3b\x47\x1f\x5f\x8c\xf9\xe5\x58\xa3\x8b\x7a\x1e\x67\x63\x69\x9f\x25\xd4\xdf\x3a\xa5\xdf\xf6\xd9\x9d\x71\x11\x62\xca\x2b\x7c\xf4\x79\x63\x79\x51\xb9\x17\xf4\x38\x57\xb7\xa6\xea\x0f\x95\x65\xd4\x6c\x2e\x98\x12\x55\xba\x39\xac\x02\xe6\x5d\xa3\x12\x49\x8f\xba\x59\x50\xed\x6d\xcf\x4e\xf9\xa7\x63\xdf\x4b\x4d\xe9\xfd\x82\x5c\xeb\x66\x17\xf2\xfd\x7d\x72\x1e\xf5\xc4\xea\x63\x8b\x8f\xc8\x5b\xe2\x65\xcf\x01\xf1\xa2\x9d\x98\x69\xa2\x89\x95\xf7\x36\x6a\x3e\x0c\x47\x49\x3b\x5e\xce\xff\x87\x25\x57\x92\x3e\x42\xcc\xdf\x74\x5d\x58\x5a\xf5\xec\x8e\x53\x89\xa4\xb4\xa6\x7c\xe0\x98\xcf\xa6\xea\x6a\x4e\x7f\x77\xa0\x65\xe9\x28\x94\xe8\x59\x12\x90\xfa\x5c\x34\xfc\xf9\x92\xb5\xdf\x60\x3b\x7a\xbe\x4f\xb1\x5f\x86\xdb\x64\x75\x6d\xfd\xa1\xc6\x8d\x66\x13\x2f\x40\x2d\xd7\xce\xd3\xf1\xdf\x10\x9e\x62\xf7\x26\xd8\x37\x92\x7e\xae\xc2\x17\x85\xb5\x34\x8e\xfa\x91\x61\x66\xb2\x28\xb2\xfe\xf9\xf9\xf2\x2f\x06\x60\x9f\xc1\x5b\xfd\xec\x92\x4b\xb5\xca\x52\xfa\xdf\xb9\x16\x12\x40\x6b\xd9\x4d\x59\x41\xa2\x9f\x1d\x1e\xba\xef\x3b\xe4\x43\x22\x5d\xba\x93\xae\xbf\x35\x2d\x75\x52\x7f\x25\xed\x9f\xb4\x9d\x46\x2c\xfd\xd0\x9d\x8a\x98\x0d\xcc\x74\xf3\x2a\x73\xca\x5f\x5d\x51\xf0\xa0\x0f\x43\xfb\x51\x78\x15\x62\x5e\x16\xc8\x56\x7d\xd2\x5d\xbb\xf7\xe1\xf3\xd0\xb2\x90\x55\xbd\x5b\x15\xa2\xa3\x4f\xa3\xd0\xc7\xb6\x5c\xd2\x2c\x05\x23\x99\x99\xe9\x68\xff\x2b\x00\x00\xff\xff\x3d\xcd\xda\x58\xb1\x3f\x00\x00") +var _complySoc2StandardsTsc2017Yml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x5b\xcd\x72\xdc\x38\x92\xbe\xeb\x29\x70\xb4\x23\x68\x6f\xb4\x24\xdb\x3d\xbd\x27\x75\xb5\x3b\x56\x11\xeb\x9d\x0a\x5b\x33\x77\x08\xc8\xaa\xc2\x1a\x04\xd8\xf8\x29\xb9\xe6\x34\xaf\x31\xaf\x37\x4f\x32\x91\x09\x80\x04\x59\x64\xa9\x4a\xf6\xcc\xc9\x92\x4c\x02\x99\x5f\xfe\xff\xd0\xf0\x16\x7e\x61\x0f\x5f\x56\x57\xab\xd5\x4f\x6f\x7f\xfa\xe5\x8a\xb1\x0d\x6f\x95\x3e\xfc\xc2\x56\xab\x9f\xae\x18\x4b\x0f\xdc\x9b\x00\x5b\xa7\xc2\x81\x71\x23\xd9\xc7\xb0\x53\xc2\x5f\x31\x26\xc1\x0b\xa7\xba\xa0\xac\xf9\x85\x3d\xec\x80\x81\x09\xf8\x90\x84\xd6\x1a\x1f\x1c\x0f\xe0\x19\x67\xc2\xb6\xad\x0a\x2d\x98\xc0\x82\x65\x6a\x74\x16\xe0\x59\x5c\xb3\x3d\xd7\x11\x3c\x51\x71\xbd\x44\xc5\xaf\x96\x3b\xc9\xee\x8d\x84\x0e\x8c\x04\x23\x60\x8e\x86\x47\x7a\xca\x6e\x98\x54\x0e\x44\xb0\xce\x8f\xe9\x51\xd5\xfb\x6c\xe3\x6c\xcb\x5a\x6e\xf8\x16\x88\x3e\x22\xe9\x1b\x38\xa1\x3c\x78\x66\xf7\xe0\xbc\xda\xee\x02\x1e\x17\x76\xc0\x24\xec\x41\xdb\xae\x7f\xb4\x03\xb7\xb1\xae\xe5\x78\x94\xdd\x10\x6b\xce\x70\xcd\x84\x35\xc1\x59\x4d\xec\xdc\x2c\xb1\xf3\x67\xb7\xe5\x46\xfd\x8d\x23\xe9\x5c\xb3\x2f\xc1\x45\x11\xa2\x3b\x62\xea\xd3\x40\x1e\xf8\xc0\x1f\xb5\xf2\x3b\xf0\x0d\x7b\x52\x61\x57\xb8\x2d\x84\x36\xcc\x97\x63\x7c\xc3\x1c\x74\xd6\x05\x65\xb6\x4c\x2b\x83\x7f\x40\x9a\x79\xd7\x39\xdb\x39\xc5\x03\x30\x1e\xc3\xce\x3a\x15\x14\xca\xc9\x48\xe6\xc0\x77\xd6\x78\xf5\xa8\x74\xfa\xa3\x32\xc4\x77\x17\x9d\x8f\x8a\x60\xb0\x8f\xff\x0f\x22\xa8\x7d\x16\xd6\xed\x12\x77\xff\xa3\x9c\x32\xdb\x86\x3d\x38\xae\x0c\x92\x80\xe7\x7f\x86\x80\x2a\x62\xcd\x4b\x95\x87\x87\xe0\xb8\x08\x4d\x91\x44\x93\xc9\x0e\x5c\x19\x7c\xb4\xa3\x0b\x50\xc6\x6a\xaf\x64\xe4\x9a\x58\xe0\x5a\x6d\x0d\x1d\x41\x98\x4d\x58\x78\xb7\xac\xf5\xe5\x14\x76\x27\x84\x8d\x26\x70\x02\xe6\x70\x82\xfa\x9d\xd5\xd2\x8f\xee\xe7\xe5\x55\x0d\x6c\x63\x1d\xe2\xa9\xdc\x91\xaa\x5c\x06\xfd\xdb\xab\xd5\xea\x7a\x6a\xae\xd7\x3d\xe1\x7f\xf1\xa4\x8e\xf7\x86\x94\x13\x69\x64\x5f\x0e\x3e\x40\x7b\xca\x68\xed\x23\x82\xe8\x99\x75\x6c\x0b\x06\x32\xfe\x46\xb2\x88\xa6\xe0\x40\xc3\x9e\x9b\xd0\xb0\x3f\x22\x47\x0c\x98\xaa\x4e\x0f\x96\xf9\xd8\xa1\xb2\x11\xcd\x9b\x68\x04\xfe\x1d\xc5\x3e\x6f\x16\xd7\x53\x2b\x3f\x22\x7e\x65\xdb\x36\x1a\x25\x46\xe4\x37\xe4\x89\xf0\xac\x13\x8c\x94\xeb\xf4\x81\x94\x27\x1d\x42\x80\xf6\x04\x37\x4c\x19\xa1\xa3\x24\x02\x7b\x54\xe7\x4d\x00\x65\x36\xe5\xa0\x61\x06\x04\x78\xcf\xdd\xe1\x25\xbc\xdf\xbc\x8c\xf7\x8f\xdf\x9e\xe5\x7d\xc4\x30\x29\x3b\xe4\x97\x58\xc7\x1d\xf1\xe3\x60\xcb\x1d\x71\xde\xf2\x10\xc0\x79\xc6\x37\x1b\x44\xc0\x6c\xcf\x64\xe0\x66\xaa\x79\x37\x83\x4f\x1b\x4c\x6b\x99\x48\xdf\x81\x50\x1b\xa4\xa5\xc2\x9e\x88\xf5\x71\xb3\x51\x42\xa1\xa5\x0a\xcd\x29\x48\x04\xcb\xc0\x90\xf1\x20\x71\x4a\xe2\x19\x9b\x02\x0d\xf9\x33\xef\xc1\x7b\xb2\x6e\xbb\x61\x4e\xf9\xaf\xa4\xad\x3c\x31\x64\xc7\xd6\x7e\x33\xd5\xbb\x81\xf4\xcf\xca\x7f\xc5\xe7\xcf\x62\xa1\xd0\x81\x78\xd2\x8d\xc1\x12\x7d\x5c\xec\x14\xec\xa1\x50\xa3\xc2\x88\x47\x2e\x9c\xf5\x9e\x1e\xcc\xe7\x10\x03\x86\xeb\xc3\xdf\xfa\x93\x38\x7a\xbd\x47\xee\x55\x52\x3d\x09\x01\x5c\x9b\x5c\xe8\xce\x3e\xd1\xcb\xe9\x41\xbf\xb3\x51\x4b\xf6\x08\x39\x80\x49\xe2\xef\x66\x89\xbf\xdf\x1d\x8f\xf2\x32\x2e\x05\x1a\x82\x44\x15\x21\x4f\x64\xc9\x79\x73\x4d\x74\x6d\xe8\x38\x74\xae\x84\x3f\x92\x77\x0a\x89\x89\x14\x6e\x97\xa8\xbc\x6f\x3b\x2e\xe8\x8d\xd5\x8e\x9b\xed\xb9\x42\x18\x14\x01\x3c\x13\xe9\x4d\x16\x76\x3c\x30\x41\x20\x79\xb5\x35\xa4\x36\x26\xe8\x03\x53\xe9\x12\x24\xd3\x93\x71\x2d\x28\xfa\xed\x54\xd1\x6f\x7b\x3a\x3f\x59\xa3\x82\xc5\x10\x77\x4a\xd1\x41\x83\x08\xbe\x8f\x56\x39\x02\xe7\xac\xc1\x33\x6b\xb6\x36\x87\xc6\xff\xb2\x8e\x79\xe8\x38\xba\x5d\x06\x98\x0d\x91\x86\x13\x9c\xdc\x0b\x70\x14\xe1\x9e\x76\x10\x76\x40\x31\x84\xa2\x9d\x35\x60\x50\xc5\x8e\xa9\x67\xdc\x01\xeb\x1c\xf8\x92\xaa\x54\x66\x4d\x9c\x5d\x2f\x71\xf6\x19\x5a\x90\x8a\x3f\x13\xa5\x33\x89\x19\xfa\x89\x9f\x9d\x90\x22\x21\x19\xb5\xc8\x61\x8d\xb3\xa0\x5a\xd0\x07\xd4\x5b\x83\xdc\xa0\xc6\x58\x0f\x95\x8b\xca\x3e\xb8\x84\x4c\xfe\x15\x61\x12\xd6\xb9\xa4\x44\x8c\x8b\xa9\x1b\xf7\x60\x94\x75\xd3\x5c\x2e\xcc\x26\x84\x0d\x19\xd9\x90\x07\x5d\xad\x56\xef\xa6\xa2\x7e\x77\xec\xd3\x92\xf1\x7c\x52\x41\x6d\x9f\x83\x27\x4b\x9e\x68\x28\xc2\x1f\x44\x83\xa7\xa5\xe0\x92\x55\xd4\x04\xa7\x1e\x63\x80\x62\x3c\x6d\x7f\xc7\xe0\xd3\x9e\xb3\x2b\xd2\x14\x21\xa0\x4b\xa9\x86\xc6\x5b\x3d\x71\x76\xbd\xc4\xd9\x03\x88\x9d\xb1\xda\x6e\x0f\x6c\x95\x68\x3b\x65\x6e\x5c\x7b\x3b\xcf\x58\xca\x17\xf4\x1c\x83\x98\x99\xb2\x30\xdc\x33\x89\x96\xa7\xbc\xc4\xbb\xa9\x2f\x1b\x08\xff\xd8\xe7\xc1\x92\xad\xad\x46\xed\x3a\x5d\x8f\x74\xda\x1e\x16\x04\xe0\x6c\xdc\xee\x58\x97\x4f\x49\x12\xe9\xf3\x6c\xf6\x84\xbf\x2a\xcf\xe0\x5b\x07\x22\x80\x24\xc6\x95\x61\x9d\xb3\x02\x24\xa6\xd9\xe9\x8d\x2e\x86\xe1\x0c\x65\x48\x16\xa4\x23\xab\xd5\xfb\xa9\x6a\xbd\xef\xf9\xf8\x5f\xbb\xa5\xea\xe7\x4e\x60\x36\x71\xca\xd5\xb5\x9d\x26\x94\x3c\xd3\xf9\x1d\x4e\xef\x30\x0f\x22\x52\xa0\xf4\x76\x13\x9e\xb8\x03\x34\x8a\x8d\xe3\x7d\x1d\x90\xb3\x7e\x27\x76\x2a\x40\xaa\x0c\x92\x54\x3a\x67\x43\xe2\xa9\x4e\xe5\xd0\x8b\x06\x52\xa6\xfc\xff\x28\xa7\x36\x15\x4a\xfd\x5d\xb0\x27\x52\x82\x65\x2d\x40\xa8\x02\xda\x3f\xff\xfe\x0f\x3f\x96\xe2\xfb\xa9\xfa\xbd\xaf\xb3\x1d\xb7\xc0\xfa\xda\xa1\x31\x63\xb5\xe8\x7d\x24\xf3\x4e\x7e\x5a\x38\x90\x29\x08\x25\x15\xdc\x3a\x6e\x42\xf5\xff\x09\x94\xa6\x0e\xb1\x0e\xb6\xca\xa7\x3c\x07\x71\x48\x15\x0f\x86\x5b\x03\x4f\x83\xaf\x4a\x85\x5f\xfe\x25\x7a\x7c\xfc\x89\x7c\x52\x86\x59\x79\xc6\x25\x86\x61\x3c\x0a\x24\x7b\x3c\x54\x77\xbc\x65\xbf\x53\x62\x8f\xcf\x5f\xfa\x6e\x43\x6f\xcc\xf2\xe7\x80\x39\x68\xed\x1e\x24\x3a\x7e\x93\x1e\x1c\xce\x34\x96\x69\x6b\xb6\xf8\xb7\xc2\x94\x24\xc0\x6f\x96\x00\xff\x6c\x35\xbc\xf9\x95\x7b\x90\xcf\x6b\xdc\x00\x54\xc3\x5a\x2b\x29\xcc\x36\x58\x1c\x24\x92\x7c\x21\x24\x58\x26\x79\xe0\x4d\xa5\x7f\x25\xd4\xe4\x70\x67\x29\x64\x9d\xd4\xb6\x47\xa2\xc9\x1a\xe6\xac\x4e\x85\xeb\x38\x09\xa7\x8b\xab\x70\x2d\x01\x03\x7a\x0a\x3d\x29\xd8\x37\x6c\xab\xf6\x29\x48\xa4\x9c\xa5\x2f\x4c\x52\xac\x34\xe8\x18\x29\x52\x6a\xe0\x3e\xb0\xce\xa9\xbd\xd2\xb0\x05\x3a\xc4\xc3\x16\xd3\xe2\xe2\x70\x65\x4c\x97\x9e\xa7\xdf\xb7\x4b\x70\xaf\x77\x07\x7f\x9e\x79\x3b\xf0\xc1\x29\xf4\xab\x5d\x79\x67\x80\x77\xc3\x45\xa9\x45\x28\x7b\x38\x05\xe4\x2b\x0c\x97\xf0\x8d\xa3\xbb\x68\x48\x30\x4c\x00\xea\x78\x75\x4a\xc3\x1e\xb9\xf8\xfa\x26\x76\x8c\x02\x3d\xf3\xc1\x3a\xbe\x85\x5a\x58\x1e\x8c\x57\x14\xf2\xb4\x4d\xa9\xb6\x7f\x4d\xf1\xa5\x57\x34\x4c\x62\xbc\x35\x06\xf4\x99\x28\xbd\x5b\x42\xe9\x37\x24\xf2\x37\xe5\x3b\xeb\x4f\x96\x36\x52\x79\xf4\xdf\xca\x44\xa8\x9c\x20\x02\x52\x20\xcb\xc8\x50\xda\x94\x3c\x5c\x0f\x66\x42\xc7\x1a\x7d\x60\x7c\x13\x72\x06\x95\xab\x79\x64\xc0\x01\x97\x49\xb9\x05\xbd\x49\xc8\x91\x66\x64\xad\x4e\x0e\x30\x99\x78\x3e\x6d\xc7\x3d\x7b\x04\x30\x4c\x2a\x32\xee\x5d\x89\x0e\xb5\x69\x3a\xf8\x23\x2a\x34\xfa\xf3\x50\x7a\xbf\x84\x52\xa9\xfd\xd8\xc3\xce\x01\x0f\xdf\x19\x2b\x5a\xe0\x3e\xc5\xae\xc1\xcd\xf3\x2d\x96\xff\x48\x20\x5d\x90\x3d\xbe\x8d\x4e\x60\xc0\x88\x01\xad\x8a\x0a\x9a\x6c\x83\x8f\x36\x1a\xc9\x9d\xca\x94\x7f\x38\x29\xdf\x55\xf4\xc1\xca\x54\xef\x3c\x38\x6e\x7c\xab\xbc\x3f\x9d\x42\x0d\x36\x81\x90\x85\xea\x25\x74\x48\x29\x67\x28\xed\x9f\xd6\xee\xb9\x4e\x69\xf0\xa8\x29\x51\xe9\xeb\x29\x4f\x9f\xcd\x4a\x50\xf9\xd0\xd4\x56\xe6\x99\x0a\x4c\x46\x47\xb5\xe4\x02\x09\xc5\x27\xf2\x73\x4d\xe1\xe7\x25\xa8\x3e\x71\x4d\xba\xf6\x1b\x64\x3d\x3e\x4f\xca\x39\xad\xc9\xd2\xa4\xd8\xcc\x72\xe5\x28\x52\x1a\x8c\xd5\x4e\xec\x6c\xea\x28\x29\x7c\x5a\x46\x51\xbc\x5d\x34\x15\x4c\x94\x42\x63\x1a\x63\xa3\x1f\x94\xff\x1c\xbe\x3e\x4c\xd3\x9c\x0f\x3d\x5f\x7f\x8d\x1a\x13\xc4\x6c\x6e\xcb\xdc\xe5\x5b\xc6\x55\xf3\x28\x98\x53\x2f\x4a\x96\x03\x88\xb7\xb6\xaf\xc4\x46\x49\x99\x2d\xe5\xe1\x81\xbd\xfa\xe9\xf5\x50\x13\x5a\x84\x6b\xa3\xb6\xd1\x95\x02\x0b\xd3\x37\x07\x3e\xea\x50\x7a\x6e\x53\x84\x30\x53\xd8\x57\x3c\xa8\xa2\x25\xaf\xae\x5f\x33\x1f\x3d\xc6\x96\xa1\x61\x14\x2c\xbe\xa0\xb3\xc7\xda\x53\xc8\x9f\xbc\x4d\x70\x5d\x2f\xc1\x75\x67\x6c\xcb\xf5\x29\xa0\x06\x40\x32\xf7\xbd\x55\x56\x55\x61\xa9\x7f\x6c\x57\xa2\x21\x75\xb1\xd1\x83\x55\x4f\x61\xc0\xe0\x74\x61\x9f\xfd\xa2\xc4\x95\x91\xd4\x64\xd9\x53\x43\x6a\x50\x09\x4e\xf5\xac\xe1\x21\x62\xc2\x2f\x95\xe7\x94\x5b\x25\x38\xc0\x39\x7b\xd4\x4f\xaa\xf4\xa5\x72\xb8\x33\x82\xfe\xef\x8a\x0e\x24\x21\xf7\x45\xc8\x75\x96\x2e\x08\xd4\x25\x30\xfa\x88\x52\xe2\x4e\x52\x53\x02\xf8\x66\x09\xe0\x2f\xe5\xe1\x7b\x23\x48\x4b\xd8\xc7\xbe\xe2\x3e\xab\xe6\x9d\x49\x84\x17\x28\x4c\xed\x07\xeb\xd8\x8e\xef\x21\xab\x19\xa4\xbe\x09\xdb\x70\xa5\xa3\x83\x32\x5c\xc8\xb7\xcc\x83\xc3\x5e\xf5\x77\xaa\x4c\xb4\x7f\x8d\xa0\x37\x4c\x6d\x98\xb7\x0d\x16\xc9\x94\x95\xf5\x6d\x83\xca\x15\x70\x29\x1d\x05\x80\x28\x76\xe5\xda\x84\xd1\xed\xf9\x18\x7d\x4e\x49\x19\xb0\xb5\xe6\xcf\x38\xee\xce\x1a\x59\xdb\xa0\x02\xc9\x8e\xe9\xc7\x44\x18\xbe\x81\x88\xa4\x2b\x9c\xfa\x04\x86\xc0\xc9\x37\xba\x72\x63\xe7\xec\xd6\xf1\x16\x4f\x8c\x46\x82\xf3\x81\x38\x47\xc7\xc7\x95\xc1\x7c\x31\xf5\x2c\x72\x12\x53\xb5\x23\x66\xae\x9d\xa9\xfe\x3f\x4c\xd3\x93\xb3\x70\xf8\x98\x68\x3f\xed\xa6\xfb\x1e\xd5\xb4\x0b\x54\x39\xf0\xba\x1e\xb5\x7d\x0e\x42\x01\xf8\x24\x80\x57\xab\xd5\xcf\x53\xaf\xfb\x73\x4f\x79\x6a\xa0\x95\xca\xfe\xcc\x54\x3f\x65\xd6\x15\xb1\xa4\x3e\x82\x92\x18\xdf\xf4\xbe\x93\x1e\xb5\x22\xb6\x09\xd0\x00\x9e\x70\x45\x50\xf7\x70\xcc\x60\xe5\x7d\xa7\xc5\xe9\xb4\x78\xe8\x63\x71\xef\xc7\x67\xac\xe1\x6a\xb5\xfa\xd3\x94\xf1\x3f\x0d\x19\x87\xf2\x2e\x12\x9b\x17\x74\x6c\x6a\x41\xf5\x7d\xbb\x51\x97\xc3\xe1\x59\x55\x67\xa6\x92\x1a\x3a\xd1\xdc\xbd\x75\x8a\x7a\xa1\x24\xbc\xa1\x63\xfa\x18\xbd\x32\x68\x81\xb2\xa7\x2d\x31\x71\xbd\xc4\xc4\x5f\xc1\x48\xeb\x32\x03\x7d\x53\xeb\x94\x14\x4b\xfb\x93\x82\x22\xbd\x31\xb4\x94\xbd\x15\xa8\xea\x32\xb5\xd9\xf7\x74\x76\x7a\xb2\xa7\xac\xe3\x2e\x18\x70\xfe\xea\x6e\x32\x08\xbe\x1b\x26\x62\x2b\xde\x71\x81\x97\xa1\x0b\x30\xa7\x9b\x9f\x2d\x57\x64\x9d\x54\x3f\xa6\x20\x95\xa3\x44\xef\x46\x45\x74\x0e\x2d\x2a\xe7\x5e\x54\xbe\x95\x1b\xf2\xe4\x09\x9d\xe3\x71\x68\x7b\x35\xaf\x45\x75\xc2\x4e\xf5\x4a\x82\x61\x38\x54\x42\x9b\x3a\xee\x72\x3a\x57\x28\xba\xda\x07\x4a\x2e\xa5\xca\x93\xd9\xfe\xf5\x60\xd9\x0e\x74\x37\xab\x91\x77\x93\xc1\x75\x85\xda\xaf\x5c\x7c\x8d\x5d\x1e\x80\x92\x6d\x9f\x9a\x20\x5e\x60\x8d\x83\x85\x35\x39\xca\xc3\xc8\x0a\x2b\x11\x54\x99\x92\x67\x60\xf6\xca\x59\x9a\x88\x8e\xcb\xa6\xda\x10\xa9\x04\x2a\x95\xe2\x24\x3b\xce\x2e\xea\x30\xb1\xe6\x25\x6b\xbd\x9b\x4c\xc1\x2b\x6c\x0a\x20\xec\x01\x7c\x38\xad\x50\xe4\x64\x86\xab\x3b\xcd\x47\x6d\xb8\xdc\x56\xac\x9a\x41\xfd\xa3\x4b\x4e\x64\xba\xf1\x50\x29\x3a\xfa\xb9\xdc\x89\x19\xcd\x51\xef\x47\x03\xa8\xf3\x87\x13\xbd\x28\x92\x0b\x2d\x47\x4f\xea\x95\xd3\x49\x76\x1a\x6b\xa5\x84\xa8\x3e\x45\x85\xc3\xd5\xd1\xde\xc4\x19\xbc\x9c\x57\x74\x77\x96\x56\x21\x36\xff\x1e\xc2\xdf\x5e\xad\xef\x27\x62\x58\xdf\x0f\xb4\xaf\x07\xcf\x30\xec\xa0\x9c\x35\x7b\x99\x1b\x67\x53\xaf\xcd\x1f\xe5\x08\xcf\x4d\xb7\x87\x89\x29\xa5\xd3\xb3\x6c\x0d\x2e\xac\x1e\x4a\x50\x46\xa3\x72\x47\x62\x93\x4c\xaa\x98\x92\x2c\xa1\x0e\x0b\x8d\xdc\x85\x72\x7b\x25\x20\xcd\x47\x59\xee\xbb\x34\xd3\x96\x79\x76\x8a\xf9\x45\x5f\xbf\xe9\x09\xcc\xeb\x8b\xc0\xbc\x13\x22\x3a\x2e\x4e\x79\xa4\x2a\x90\xf7\x2d\xee\x49\x98\xa6\x84\x25\x9b\x9d\x32\x5d\x44\x8f\x34\xc0\xd0\x17\xa8\xf4\x18\xfa\x71\x0d\x01\x28\xea\xa4\xea\x34\x91\xd0\xa4\xec\xa7\x54\x62\x85\xc3\xa6\x67\xaf\x38\x9f\x62\xe7\xcf\x97\xa5\x88\xc7\xcd\x45\x78\xfc\xb9\x54\x4b\x67\xb6\x58\xce\x41\xa4\x8a\x6f\xff\x16\x0e\x6f\x2f\xe3\x30\x06\x14\xd0\xf7\xb1\x47\xc1\xf5\x2b\x30\xbe\xe7\x4a\x53\x18\xa5\x8e\x83\x56\xc8\xb6\xa5\x1b\x7a\x41\xeb\x43\x93\x65\x9c\x7f\xc6\xf0\x9b\x26\x80\x58\x07\x09\x61\x9d\xa4\x15\xaa\xb4\x03\x90\xb6\x03\xc4\x30\xff\x3c\x03\x81\x77\x17\x21\x90\x02\xf2\xf7\x23\xe0\x83\xa5\x52\x39\xeb\x7b\x80\xd6\xf7\xb3\xa1\xec\x0b\xa8\xa7\x9a\x00\x7f\x29\x1e\x49\x87\x2e\x87\x65\xea\x56\x6b\x50\xd4\x9e\x8b\x03\xfb\x3f\x7b\x56\x28\xc3\x74\x42\x49\xf0\xcc\xd8\x80\xfe\x29\xb7\xfc\x99\x8f\x74\x1b\xd6\xf5\x36\xa6\xe8\xda\xe5\x93\x3b\x87\xd9\xb1\x80\x33\x08\x1d\x7b\x51\x7a\xfd\x2d\xdd\x9e\x6f\x53\x9e\xc5\x4e\xf2\x32\x7b\xab\xfc\xb6\x3c\xa6\x64\x66\xba\x8c\xb9\x79\x55\x7f\x4c\xe8\x38\x22\x78\xe4\xb7\xf2\x6b\xb9\x2d\x54\x3c\x2f\x75\xbe\xc7\x31\xf0\x8c\x59\xc1\x0c\x9f\x57\xeb\xc9\x12\xd7\xfa\xfa\x48\x46\x2b\x2c\x35\xf3\x34\x7b\xb5\xb3\x6a\x7e\xe9\x71\x6e\xfd\x47\xd0\xd3\xbe\x32\xd1\x71\x20\x13\x56\x6b\xc8\x73\xf4\xe8\x01\xab\xe8\xbc\x9d\xd7\x50\xeb\x4a\x5b\xdf\x8f\x0f\x65\x4e\x15\x96\xf8\x2f\xc8\x4e\xf4\x22\x77\xa0\x04\xf2\xf0\x47\x04\x93\xf0\xdd\x30\x6e\x0e\x0d\x1e\x05\x5c\xec\x32\x9d\x6f\xd9\xc7\x6f\x1d\x5a\x5a\x48\x8f\x9b\x50\xb6\xe5\x7e\x2c\xa1\xca\xe7\xd4\x00\x64\x2a\xd2\xc6\x24\x5b\x97\x47\x20\x47\xa3\x8e\x44\x79\xe9\xe7\xbf\x65\x5f\x22\xd2\x9e\x49\xad\x4f\xa5\x29\x43\xa1\x5d\x99\x00\x46\xe2\x21\xd1\x61\x26\x55\x9a\x3d\x2f\xce\x9f\x46\x26\x52\x3d\x3d\xbf\x31\x84\x7e\xec\x3f\x82\x69\x69\x06\x80\xbc\x5a\x4f\xf6\xc3\xd6\xc3\x76\xcf\xba\xbc\x5d\xa7\xa1\xab\x9e\x94\xa3\x29\xf0\xc2\x65\x99\x78\x90\x69\xda\xe7\x43\xbf\xda\x79\x99\xf5\x4d\xb6\xc1\x2a\x42\x7b\x5d\xcc\xe6\x37\xa5\xec\x77\x5a\x0a\xac\x53\x44\x54\x0b\x44\x1c\x26\x5a\x3c\x6a\x5f\x8f\xec\x13\xff\x6e\x00\xd5\xd0\xba\xd4\x99\xeb\x5f\xe1\x9e\x3d\x81\xd6\xf8\xef\xd4\x7e\xa8\x36\xed\x5b\x87\x29\xf3\x44\xef\x7c\x24\x61\x24\x09\x7c\xfa\x7d\xde\x65\x51\x6c\xca\x69\x72\x7f\x0d\x95\xe3\x79\xf8\x3e\x56\x94\x1f\xa5\xba\x57\xeb\xc9\x5e\xd5\xfa\xb6\x0e\xd7\x1d\xb8\xb2\x07\x39\xa7\x2e\x27\xbc\x9f\x56\xad\xca\xe3\xa2\x13\xae\xba\x30\x96\x0d\xd2\xd7\x2d\xb6\xec\xe8\x2f\xe1\xe4\x7a\x89\x93\x39\x55\x3f\x67\xff\x39\x2d\x33\xfb\x79\xda\xbf\x4f\xdf\x6f\x27\xb9\xf0\x33\xd4\x9e\x51\x1f\x52\x4f\x12\xf4\xb8\x50\x5c\x42\xfd\x05\x9a\x32\x59\xcb\x5a\xbf\x1b\x8f\x15\xbf\x24\xb7\xfd\xfc\x80\x9d\xf6\x44\x46\xa2\x2e\xcb\x20\xf8\x87\x94\x4c\x8c\x03\xc1\x64\x40\x5c\xc6\xf1\xb4\xbc\x4d\x79\x9f\x9c\xe7\x93\x5a\x81\xb0\x57\xf0\x94\xba\xf3\x34\x76\xcb\xb6\xd8\x0c\xa9\x54\x3f\x9a\xb6\x8e\x51\xb7\xd1\x59\xa3\x04\x13\xb6\x53\x09\x44\x9a\xc4\x4c\x00\x9c\x50\xf8\xa2\xb0\x71\xbf\xa9\x56\x48\x24\x18\x05\xb2\x99\x86\x6d\x57\x8c\x1c\xe4\xf0\xe5\x83\x51\x79\x78\xea\x80\xfb\xcc\x28\x79\xad\xf4\x5f\xe4\xb4\x4a\x74\x7c\x69\x3a\x34\xd9\x55\x5b\x14\x77\x0b\x46\x3e\xd3\x0e\xcd\xcb\x82\x58\x51\xe1\xd3\x69\x85\x84\x77\x1d\xfe\x3c\x2f\xb9\x7e\x09\xa5\xfe\x63\x16\x18\x2d\xed\x1c\x27\x37\x23\x7f\x4e\x60\x1c\x39\x1a\xe5\x64\xd9\x6b\x24\x88\xd2\xf7\x0c\x01\xf2\xba\xc1\xf7\xe0\x95\x84\x39\x72\xf4\x65\x45\x32\x07\xe5\x1f\x27\xde\x17\x0a\x74\xb2\xfb\xb6\x7e\x5f\x77\xa5\xfa\x70\xf5\x40\x28\xad\xb9\x0b\x07\x74\x3a\x39\xf9\x78\x66\x17\x44\x93\xbb\x59\xf6\xf0\x15\xf0\x95\xaf\x9c\xe6\x98\xa5\x2b\x53\xd0\xc9\x4d\xe4\xa5\xdc\xae\x0f\x8d\x43\x8e\xf4\x62\x64\xae\x17\x90\xb9\x1b\x32\xcf\x01\x8c\x93\x6b\xda\x0e\xfa\x4d\xdc\x12\x3d\x78\x5f\x6d\x0e\xb5\xe6\xa8\xd2\x74\x80\x65\x26\x65\x13\xc3\x7d\x03\x57\x3f\xda\x91\x4f\xb6\xd2\x2a\x76\xff\x52\xaf\x1f\xfc\x47\x18\x4e\xfb\x03\xc5\x02\x3b\xeb\xf0\xe7\xd1\x16\x44\x8d\xc3\xab\xa1\x1e\x7c\x74\x58\xb0\x80\x7f\xfd\xc3\xc1\xb9\x5d\xd2\x85\xea\x63\xad\x8b\xad\xa4\xe4\x76\xa5\xc6\x1d\x3e\xa5\xca\xdb\x3d\xf5\x1c\xc8\xe6\x99\xf5\xc8\x6c\x76\x36\xcd\xad\x87\x65\xb4\x1f\xc6\xf5\xdb\xd9\xd9\xd5\x68\x0f\xfc\x9f\x7f\xff\x47\x12\xaa\x4a\x1f\xd8\x61\x6d\xdf\x81\x53\x56\x2a\x91\x37\xfe\xdf\x60\x02\x8d\xde\x99\xaa\x1f\x92\x36\x8d\xc1\xe7\x56\xc5\x37\xc3\x47\x3b\x08\xf9\xbb\x73\xf4\xf1\xc5\x98\x5f\x8e\x35\xba\xa8\xe7\x71\x36\x96\x56\x5a\x42\xfd\xb9\x53\xfa\x6d\x9f\xdd\x19\x17\x21\xa6\xbc\xc2\x47\x9f\x97\x96\x17\x95\x7b\x41\x8f\x73\x75\x6b\xaa\xfe\x50\xd9\x47\xcd\xe6\x82\x29\x51\xa5\x9b\xc3\x36\x60\x5e\x37\x2a\x91\xf4\xa8\x9d\x05\xd5\xea\xf6\xec\xa0\x7f\x3a\xf9\xbd\xd4\x94\xde\x2f\xc8\xb5\x6e\x76\x21\xdf\xdf\x27\xe7\x51\x4f\xac\x3e\xb6\xf8\x88\xbc\x28\x5e\x56\x1d\x10\x2f\x5a\x8b\x99\x26\x9a\x58\x79\x6f\xa3\xe6\xc3\x7c\x94\xb4\xe3\xe5\xfc\x7f\x58\x72\x25\xe9\x3b\xc4\xfc\x59\xd7\x85\xa5\x55\xcf\xee\x38\x95\x48\x4a\x6b\xca\x37\x8e\xf9\x6c\xaa\xae\xe6\xf4\x77\x07\x5a\x96\x8e\x42\x89\x9e\x25\x01\xa9\xcf\x45\xc3\x9f\x2f\x59\xfb\x25\xb6\xa3\xe7\xfb\x14\xfb\x65\xb8\x4d\xb6\xd7\xd6\x1f\x6a\xdc\x68\x3a\xf1\x02\xd4\x72\xed\x3c\x9d\x00\x0e\xe1\x29\x76\x6f\x82\x7d\x23\xe9\xe7\x2a\x7c\x51\x58\x4b\x13\xa9\x1f\x19\x66\x26\xbb\x22\xeb\x9f\x9f\x2f\xff\x62\x00\xf6\x19\xbc\xd5\xcf\xee\xb9\x54\xdb\x2c\xa5\x01\x9e\x6b\x21\x01\xb4\x99\xdd\x94\x2d\x24\xfa\xd9\xe1\xa1\xfb\xbe\x45\x3e\x24\xd2\xa5\x3b\xe9\xfa\x5b\xd3\x5e\x27\xf5\x57\xd2\x0a\x4a\xdb\x69\xc4\xd2\x0f\xdd\xa9\x88\xd9\xc0\x4c\x37\xaf\x32\xa7\xfc\xe1\x15\x05\x0f\xfa\x36\xb4\x9f\x86\x57\x21\xe6\x65\x81\x6c\xd5\x27\xdd\xb5\x7b\x1f\xbe\x10\x2d\x3b\x59\xd5\xbb\x55\x21\x3a\xfa\x3a\x0a\x7d\x6c\xcb\x25\x4d\x53\x30\x92\x99\x99\x8e\xf6\xbf\x02\x00\x00\xff\xff\x9c\x48\x63\x9e\xb4\x3f\x00\x00") func complySoc2StandardsTsc2017YmlBytes() ([]byte, error) { return bindataRead( @@ -1157,12 +1157,12 @@ func complySoc2StandardsTsc2017Yml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/standards/TSC-2017.yml", size: 16305, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/standards/TSC-2017.yml", size: 16308, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _complySoc2TemplatesDefaultLatex = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x59\xdd\x6e\xec\xb6\x11\xbe\xd7\x53\x10\x88\x8c\x1e\x03\xbb\x86\x7d\x8a\x16\x45\x80\x0d\x82\x9e\xfc\xb4\xc9\x1e\x24\x70\xdc\x22\x80\xe5\x0b\x4a\x1a\xad\x88\xa5\x48\x85\xa4\xec\xdd\x12\xba\xe9\xf3\xf4\xa9\xfa\x24\xc5\xf0\x47\xa2\xb4\xeb\x5e\xb4\xe7\xe2\x2c\x35\x33\x9c\x19\x0e\x87\x9c\x6f\xe8\xa2\x96\xd5\xd0\x81\x30\x15\xa7\x5a\x3f\xe7\xac\xf9\xd0\x48\x61\x34\xfb\x07\xdc\xe6\x79\x1c\xe6\x9b\x1c\x44\xcd\x9a\x1c\xf9\x9c\x8a\xc3\x6d\x9e\x97\xb4\x04\xbe\xc5\x8f\x05\xb7\xa7\x3d\xa8\x30\x7d\x1a\xfb\xd1\x24\xd6\x48\xf5\xc1\xd9\x93\xbd\x61\x52\xdc\xe6\x79\xf2\x95\xe7\x1a\x7a\xaf\xb2\x91\x2a\x7f\xb1\xf9\xc2\xc5\x7c\xcc\xd0\x4c\x09\xb4\x03\x45\x95\x61\x15\x87\xdb\x3c\x2b\x06\x0d\x3d\xad\x8e\xf4\x00\x76\xc1\x1b\xc9\x0d\x11\x00\xb5\x26\x46\x92\x12\x08\x97\xb4\x86\x9a\x34\x4c\x69\x93\x05\x87\xb2\xb8\xec\x86\x76\x8c\x9f\x97\xea\x9e\x9d\xbb\x33\xd7\x7b\xa9\x43\x74\x16\xb4\x4b\xd7\x67\x11\xf4\x1b\xb8\x86\xa5\xab\xbc\x93\x35\x28\x31\x2e\x3c\xe1\x4c\x80\x36\x0a\x4c\xd5\xae\x56\xa6\xc1\xe8\x9e\x56\x30\x66\x05\x0e\xbd\x8c\xcd\x93\x09\xf9\xac\x2a\x9d\x48\x3b\xad\xcf\x5d\xb9\xa1\x9d\xee\xa8\x69\xc7\x05\x93\x35\x27\x30\x70\xda\xb0\x86\x0f\xd4\xc0\x69\xc9\x6d\xd8\x89\x9b\xd3\x47\x17\xc8\x5e\xc9\x57\x56\x83\x26\x85\x81\x93\xd1\x43\xa9\x2b\xc5\x7a\x93\x15\xac\x11\x43\x47\xee\x8b\xa0\x8a\x3c\x14\x0d\x2b\xa2\x3e\xf7\xb5\xbb\x27\x37\x84\x35\xa4\xaf\x1b\x03\xa7\x8c\x90\x45\x88\x43\xfc\x41\x54\x21\xae\x20\xaa\xdc\xc7\xeb\xe9\x21\x2c\xe8\xc5\x06\xc6\xb8\x9a\x3d\x98\xe6\x4f\x2f\x96\x89\x7e\xf0\x5c\xd4\x06\x83\x92\xb7\xf9\x52\xd0\x22\x51\x9f\xbb\x24\x44\x68\xc1\xfb\x15\x5c\x95\x8a\x9c\x80\xd3\xe0\x62\x58\x4e\x46\xc8\x52\x11\xc6\x50\xf7\xe0\x3d\x41\x1d\x17\x12\xee\xe4\x44\x89\x86\xe1\xff\x35\x34\x74\xe0\xc6\xa5\x04\x50\x33\x28\xd0\x76\xcf\x0e\x7e\xb4\x7b\x82\x5f\x37\xbf\x54\x94\xc3\xee\x33\x35\x55\xbb\x97\x6f\xa0\x2a\xaa\x61\xcc\x96\xf9\xc7\x40\xfb\x75\x09\x78\x9b\xb3\x2b\xc9\x34\x06\xfa\x4e\xd0\x0e\xf2\xf1\x79\x49\x8c\x49\xfa\xb2\x12\xc6\x8f\x90\x36\x98\xb5\xab\xf0\x09\x78\xab\x64\xd7\x51\x51\xdb\x02\xa9\xa3\xfd\xf7\x3f\xff\xb5\xcc\xd7\x8e\x32\x81\x4a\xdc\x04\x42\x30\x35\x23\xc9\x1f\x9e\xf8\x35\x1f\x9d\x15\xe5\xf2\xe0\x44\x81\x7c\x69\x4a\x53\xa1\x57\xa6\x22\xc9\x9b\x8a\x5f\xb3\xa9\x15\xe5\xd2\x54\x14\x58\x99\xea\xa4\x90\xeb\x55\x05\xd2\xf3\x67\xda\xf7\x4c\x1c\x76\x06\x4e\x5b\x2a\x34\x4b\xe5\x27\xcb\x1b\xbf\xf6\x35\x39\x5f\x51\x56\x0e\x4d\xc9\x3e\xc9\xad\xfd\xa2\xa6\xbd\x88\xb6\x27\x7d\xf8\x86\x1d\x98\xd1\x9b\x3d\x35\x4c\x6c\xbe\x57\x00\xc7\xdb\xb8\x03\x5e\x22\xdd\x81\x05\xe5\xda\x0e\x78\x81\x95\xf9\x4f\x3f\xfc\xb8\xde\xef\x24\xed\x4f\xf0\xe9\x87\x1f\xc7\xc9\xb1\x44\xd8\xfb\xf1\xe9\x87\x1f\x67\x17\xe6\x8f\x4b\xeb\xc9\xcc\xf4\x4a\x6b\x58\x76\x43\x06\x0d\x64\xe8\x7f\x1b\xa4\x01\x3c\xb9\xf4\x95\x32\x4e\x4b\x0e\x1b\xd2\x48\x45\xb4\x51\x94\x1d\x5a\x43\x9c\x80\x26\x4c\x90\x57\x50\x25\x35\xac\x23\x20\x5e\x99\x92\x02\x8b\x89\xce\x8a\xbf\x36\xdf\x31\x0e\xdf\x9e\x98\x36\xda\x06\x85\x77\xda\x9c\x47\x9b\x2e\x29\x30\xc6\xd1\x8e\xc1\x76\xc7\x2a\x25\xcd\xb9\x5f\x5a\x5f\xe9\x9b\x84\xbc\xc6\x9b\xcb\x92\x32\x49\x24\x9b\xb2\x22\x5d\xc4\x65\x12\x18\xb3\xe2\x6f\x1a\x3e\xc7\xcf\x5f\xc0\x3c\xf7\x4a\x1a\x35\x68\x26\xc5\x8b\x2d\xa9\x66\x95\xbb\xe9\xc9\x0d\xa9\x99\x46\x07\xc9\x2c\xe0\x02\x65\x0c\x71\xb7\x54\x86\x2b\x2b\x7e\xa6\x5a\xff\xe4\xad\x3e\xc9\x9f\xc3\xda\xdb\x73\xdf\x82\xd0\xa3\x1d\x14\x47\x4d\x83\xe2\x84\xe9\x58\x43\xcb\x33\x69\xcf\x3d\x28\x05\x8d\x4b\x8d\x18\xe6\x2d\x13\x5b\x21\xcd\xba\x2c\x37\x54\x54\xe7\x57\x55\x5e\xad\x50\xcf\x83\x60\x95\xac\x61\x67\xd4\x00\x2f\x36\xea\xf5\x97\x79\x25\xb9\x54\x9c\x89\x23\x5e\x7d\xd7\x3d\x1d\x34\xe0\xa5\xa7\x37\xf5\x2b\xeb\xb5\x1b\x8e\xd6\xcd\x43\xbf\xdd\xe0\x3d\xcf\xa3\x33\x8e\xa2\xc1\x0c\xbd\x75\x56\x0d\x33\x1c\xb6\x1d\x18\x1a\x12\x3d\xfe\xc3\x12\x86\xbc\x9d\xcd\x67\x99\x7c\xdc\x2c\xce\x09\x1d\x4c\x2b\xd5\x3b\xd3\x3d\x73\x67\xf3\x44\x6a\xad\xe0\x08\xe7\x37\xa9\x6a\x7d\x39\x3b\x72\x76\xd6\xe5\xd1\x2c\x98\xc7\x61\xc8\x1b\x12\x13\x67\xa5\x7a\x11\xcf\x54\xf9\xcc\x70\xfb\xb0\x59\x30\x91\xee\x04\x76\x01\xa4\xf8\xaf\xdb\x3c\x9f\xc6\xa1\x64\x7f\xa6\x4a\x4a\x11\x2c\x2e\x95\x54\xcc\xc0\xac\x64\xfa\x42\x08\x18\xc7\x41\xc9\x9f\xf9\x00\x57\x55\x0c\x8a\xcf\x1a\xe2\xc7\x6d\x9e\xc7\xe1\xb5\xf9\x01\x7a\xad\x02\x59\x4a\x55\x83\xda\xd9\x7b\x72\x4f\xee\x93\x18\xa5\x62\xa5\x02\x7a\x9c\x43\x82\xd8\x48\x71\x6d\xce\x1c\xac\xa6\x1d\x8c\x04\x0f\x98\x14\xbf\x33\xfe\x6a\x90\x42\x3a\x84\xe6\x8e\x96\x3b\x66\x28\xfe\xee\xf1\xf8\x7b\xa0\x7d\x27\xa5\x11\xee\xba\xba\x21\x94\x73\xf9\xa6\xe7\x4b\x0b\xa1\x16\xde\x62\x4d\x94\x59\xec\xe5\x01\x64\x07\x46\x5d\x05\xad\x33\x2f\x8f\xc3\x8b\x1b\x25\x32\x56\x10\xd4\x61\xfc\xff\x1b\xd7\xe9\x56\x2a\xd3\x52\x51\xeb\x9d\x6c\x1a\x5f\x10\x7d\xdf\x20\x4d\x0b\x0a\xad\xe8\xa9\x95\x98\x49\xb3\x7f\x58\x03\x76\x69\xab\x81\x57\x5b\x09\x3c\x34\x01\x8e\x3e\x23\x14\x9f\xce\xf9\x05\x39\x5f\x02\xbe\x15\x2a\xec\x25\x3f\x1f\xb8\xd4\x9a\x51\x87\xd6\x02\x7c\x41\x73\x83\x0b\x65\x22\xe0\x9c\x48\x91\xd4\x05\xcf\x43\x2f\x0f\xda\x52\x66\xba\xe0\x60\x65\x22\x5d\x9a\x99\xa5\xdf\x33\x96\x48\x44\x93\x11\xc0\x61\x95\x4c\x37\x53\x50\x53\xb2\x72\x75\x1b\x7b\xe2\x98\x15\x25\x2b\x39\x93\x07\x45\xfb\xf6\xec\xf3\xda\x85\xd6\x51\xb7\x8e\x80\x3b\x94\x7c\x86\xf3\xd5\x73\xca\x84\xa0\x26\x58\x5a\xe6\x0f\xca\x63\x8a\xac\xb3\xf2\x42\xb3\xfb\xd9\x2d\xf5\x2f\xfa\xc4\xa8\x69\x2e\x92\x2b\xca\x45\x46\x47\x7e\xd8\x84\x74\x7d\xe8\x0e\xad\xeb\x92\x95\x0a\xb4\x1c\x54\x05\x36\x4f\xf9\x0b\x18\xbc\xe8\xc8\xb4\x61\x7e\xeb\x16\xdd\x5b\x20\xaf\xce\x4e\xeb\xe4\xb8\x36\x02\xde\x12\xc4\x61\xb1\xbe\x8d\x16\x19\x1a\x8c\x8d\x1b\xbf\xfb\x0b\xd5\x47\xe0\x7c\xe3\x6a\xb6\x8f\x47\xa1\x3b\xca\x79\x61\x02\xba\x77\xd8\x23\x35\xd1\xb2\x43\xcb\x11\xe4\x30\x71\xd8\x76\xb4\x52\x12\x4d\xe6\x57\xc8\xcb\x75\x18\xc4\x01\x17\xab\x90\xe2\xe0\x18\x9b\x52\xca\xa3\xa1\xa5\x46\xa0\xf3\x1d\x3b\xcd\x37\x0e\x5e\x3f\x7e\x2e\xf9\xa0\xe0\xb7\x81\x29\xd0\x13\x97\x04\x45\xb7\x2b\x04\x14\xf9\x97\x90\x2a\x72\xc6\xa2\xa3\x47\xd0\xf4\x15\xf0\x0b\xc4\xab\xf3\xc5\x5b\xba\x58\xb3\xdb\x21\x56\xad\xbd\x0f\xe4\xd3\xe6\xa0\x9a\x86\x71\xbc\xa0\x51\x29\x35\x1c\x8c\x01\x95\x61\xdb\x55\x74\xf4\xf4\xc6\x6a\xd3\xda\x82\x35\x35\xeb\x8a\xef\x99\xf8\x5a\x50\xf3\xb5\x23\x7e\x55\x60\xff\xec\x86\xc9\x08\x73\x7c\x29\x57\x34\x6c\x9c\xd4\xb5\x80\x71\x5e\xeb\xf3\xd4\xaf\x5c\x77\xec\xc7\xe9\x70\xa1\x32\xd0\x9c\x4e\xef\xb0\x3b\xd1\xd9\x0d\x71\x5d\x20\x61\x1d\x3d\x60\xe0\x1b\x22\xa0\x02\xad\xa9\x3a\x6f\x88\x96\xc4\xb4\xd4\x10\xd3\xc2\x99\xbc\x31\xce\x89\x90\x86\xc8\x57\x50\x0d\x97\x6f\x48\x26\x3d\x3d\x40\x76\x43\x3a\xaa\x0e\x4c\x68\x44\x3a\xa1\xef\xdc\x10\x2a\x6a\xc2\x0c\xc2\x20\x6d\x70\x6e\x8f\x37\x09\x02\x43\x23\x9d\x8e\x37\xc5\x0c\x38\x25\x61\x8a\x76\x80\x97\x89\x03\x81\x53\xcf\x59\xc5\x0c\x09\x87\x0e\x13\xa2\x60\xa2\xe2\x43\x0d\x71\x63\x9e\x5d\x94\x36\xc4\xaf\x6c\x43\xee\xee\xee\x5e\xac\x7f\xa9\x38\xc2\x59\xdb\xef\x99\x18\xad\x93\xd9\x4d\x1b\xb2\xf1\xc2\xbb\x39\xa4\x9b\x23\x40\x4f\xb1\x75\x36\x8a\x1a\x26\x2f\x9e\x46\x8e\x7a\x4b\xb5\x2b\xa0\x98\x0a\x37\xe4\x33\x3d\x82\xc3\x26\x7a\x91\xaf\xda\x00\xad\x89\x6c\x48\x2b\x8d\xe3\x7e\x99\x15\x0a\xd2\x6e\xb6\x45\x7c\xf9\xfc\xf1\xc5\x7e\xf1\xb1\x88\x33\x2d\x56\x77\xfb\xc5\xc3\x38\xae\xfa\x4e\xa3\xd8\x11\xe4\x60\x56\x17\x9a\x90\xaa\xa3\x1c\xba\x17\x3b\x70\xe8\xf0\xdc\xd0\x57\xc9\x6a\x84\xda\x25\x87\x4e\x93\x37\x66\x5a\x52\x68\x39\xb8\x12\xde\x02\xad\x41\x05\x6a\x44\xa0\x5f\x66\x45\x5f\x37\x68\x41\x1c\x6a\x68\xbe\xf1\x68\xfd\x53\xa8\x5d\x76\xe5\x35\xaa\x1a\xed\xca\x3d\x26\x6a\x70\xfd\x58\x7c\x62\x5a\x1c\xc4\x9e\x2a\x7d\x64\xfd\x95\x46\x24\xb2\xc6\x6c\xb4\x37\xc4\xd5\x46\xdc\x2e\x0e\xe2\x80\x87\xa5\xa7\xca\x6b\x1e\xed\x7d\x6f\xc6\x35\xcf\xcd\xb4\x7f\xec\x0d\xe9\xf9\xa0\xc9\xc7\xde\x90\x8e\x89\x41\x93\x07\x14\x4e\x60\x7e\x32\x0d\x3a\x50\x07\x10\xd5\x39\xbc\x57\x8d\xf6\xf7\xd0\x39\x10\xd5\x2b\x78\x05\x11\xb2\x79\xe0\x9c\xb8\x57\xad\xac\x08\x6f\x4e\x53\x00\x0c\x66\x09\xde\xbc\xb8\x16\x5f\x48\xa3\x72\x66\xa0\xd3\xd0\x7b\x6f\xaf\x3a\x8b\x0c\x8f\x1d\xc4\xd0\x95\x08\xf7\xab\x50\x56\x9c\x97\x95\x1c\x84\x01\x65\x35\x54\x62\xe8\x6a\xe8\x4d\x3b\xba\x72\x98\x10\x6e\xb1\xe0\x4c\x5f\xa1\x18\xfe\x21\xa9\x82\x7e\x07\xde\xd3\x76\xbf\x4a\xac\xa1\xec\xa9\xa2\xee\x0c\xcd\xfb\x77\x43\x1e\xa1\x86\x06\x03\x40\x50\xe4\x76\x92\x09\xcf\x98\x2d\x7d\x45\xb0\xa9\x30\xf3\x8f\x40\xe2\x32\x10\xb0\x9d\x8a\x49\xb8\x18\x84\xd7\x52\x7b\xdc\x53\x70\x30\x85\xe4\xf5\x2c\x30\x8d\xd6\x87\x63\x62\x8c\xcf\x0f\x2f\x76\x31\x09\x8f\x47\xd1\x95\xf2\x84\x59\x88\x58\xc3\x19\x4d\x17\xf2\x9e\xdd\x85\x4c\xfa\xb1\xb6\x9e\xf2\x26\x07\x52\xe2\x85\x0f\x69\x4c\x6b\xa6\x3c\x76\x8d\x8f\x77\x37\xae\xef\x23\x25\xab\x19\xa1\x9a\x20\x3a\xc0\xdf\xe9\xfe\xa3\x1a\xef\xc5\x4e\xd6\xac\x61\xa0\x09\xdc\x1d\xee\x48\xac\x2b\x08\x28\x1d\x20\x36\x70\xda\xd6\x4c\x6d\x95\xe1\xeb\x87\xc5\xe7\xc7\xa7\x7d\x7c\xa4\x46\xfc\x51\x33\x04\x92\x53\xcf\xb1\x78\x9b\x9e\x98\xf3\x8b\xc6\xff\x84\xb2\x9f\xe0\xd7\x5f\xe1\x49\x1b\x6a\x60\xf7\xb0\x7e\xa8\x7b\xdc\xfb\xa8\x95\x70\x60\xe2\x91\x7c\xf1\x50\x80\xa8\x1f\xc7\xb5\xd8\xfe\x31\x11\xdb\x07\xb1\x7d\x14\x4b\xa1\xcb\xe3\xd3\x7e\x8c\xea\x46\xbb\xd0\x96\x8a\xed\x9f\x1e\xa3\xd8\xde\x8b\xed\x97\xdb\x93\xdd\x10\x0d\x26\xd6\x17\xd2\xb0\xc3\xa0\x80\xf4\x9c\x56\x80\x0a\x30\xb9\x5b\x53\xf6\xd7\x6a\x78\xd3\xeb\xaf\xbd\xbc\x45\x91\x55\xd9\xf4\xb0\xc8\x5d\xaf\xdb\x50\x97\xd6\x48\xc1\xbd\x3f\xb4\xb5\x1a\xb3\x02\x8b\xa4\xc7\xba\x8e\x88\x3e\x3a\x26\xd0\xda\xa6\x1f\xcf\x8f\x3f\x6d\x1e\xbf\x7d\xb1\x39\x7e\x6c\x2b\xf7\xfc\x6c\xf2\x28\x81\x45\xe3\x79\xff\xd3\x66\xff\xad\x7b\x52\x95\x26\x91\x98\x16\x3c\xbd\x24\xa0\x37\x6e\x10\x5e\x0d\xdc\x5f\x4b\xb0\x39\xc2\x2e\xbc\xf0\x03\x9b\xfb\xdf\x7c\xbc\x8a\xaa\xf5\x50\x4e\xaa\xd6\xd7\x62\xe4\xb9\x1d\xc5\xab\x3a\x7c\xdb\x3c\x8e\x56\xca\xfc\xd3\x83\x43\xc4\x6e\xe4\x1f\x13\x22\x35\xbc\x4c\x78\x70\x4d\x0a\x84\x0e\xd3\x63\xc2\xaa\xf4\x68\xc3\xcc\x60\xae\x3a\x35\x31\xa3\x57\x13\xc1\x5b\x4b\x26\xe7\xd3\xf8\xbf\xdb\x2c\x6a\x8a\xb3\xf1\xff\x7c\xcc\x32\x9f\x6c\x36\x9e\xbe\x71\x19\x6f\xcc\x10\xf7\xb1\x5c\x79\xa9\x8d\xa2\x95\xab\xe5\x7e\x7a\xa4\x8c\x59\x1e\x87\xd8\x2b\x8a\x3a\xe5\x4c\x3b\xea\x3d\x77\x39\xb6\x2d\xa1\x91\x0a\x6d\xe5\x4b\x0a\xca\xa5\x0f\xea\x46\x56\xb7\x79\x66\xaf\x3c\x67\x25\xcf\x4e\xcb\x17\x16\x23\xab\xf8\xb4\x11\x87\xa1\xda\x94\x9c\x56\xc7\x8b\x0c\x49\x4b\x8e\x91\x55\xac\x5e\x46\x56\x5b\x5f\xaa\xc6\xac\x70\xd0\x5a\x36\x21\x4f\x75\xb6\x42\x57\xd2\xc5\x04\x8b\xab\x6c\x3c\xde\x5f\xf1\x9b\x99\xef\xcf\x62\x22\x50\xca\xfa\x1c\x12\x7e\xea\x38\xe7\x86\x6f\x6a\xc0\x92\x1e\x30\xee\x93\x23\x49\x79\xdc\xba\xbf\xf0\xa1\x89\xb4\x1c\x60\x87\x8a\x2d\x6e\x6c\xd5\xb6\x73\x36\xfb\x52\xbb\x10\x56\xd0\xbc\x23\x1c\xdc\x8c\xd1\x4a\xdd\xb2\x57\x3a\xc5\x65\x63\xb8\x6c\x32\xc7\xec\x42\xdf\xba\xeb\xed\x15\x13\x66\xa1\xe2\x62\xdd\xcf\xfe\x15\x71\xe9\xe9\xcb\x9c\x67\x51\x73\x9a\x6f\xb4\x31\xa0\xd2\x74\x73\x84\x34\xdb\x5c\xda\xce\xe7\xe1\x3f\x01\x00\x00\xff\xff\xd4\x00\x0b\x92\xe1\x1d\x00\x00") +var _complySoc2TemplatesDefaultLatex = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x3b\x6b\x6f\xe4\x36\x92\xdf\xfb\x57\x10\x18\x35\x6e\x7c\xe8\xf6\xd9\x13\x24\x17\x04\xe8\xc5\x4c\x26\x9b\x67\xcf\x6e\xe0\x99\xdc\x05\x67\x39\x38\x4a\x2a\xb5\x18\x53\xa4\x8e\xa4\x6c\x77\x04\xdd\x6f\x5f\x14\x1f\x12\xf5\xf0\x24\xbb\xc8\x17\x37\x59\x2c\x16\x8b\x64\xb1\x9e\xf2\x96\xfc\xbd\x31\x4c\x0a\x4d\x4a\xa9\x48\x43\xf3\x7b\x7a\x02\x4d\xb8\xa4\x05\x14\x04\xb8\x86\xc7\x0a\x14\x6c\xd2\x1f\xa9\xd6\x1e\xf5\x83\xfc\xd1\xe1\x75\xad\x60\xb9\x2c\x20\x29\xa5\x7a\x59\x9d\x1b\x50\x0a\x4a\xe9\x90\x2e\x92\x5d\x32\x03\x25\x09\x88\xa2\x94\x2a\xe9\xbb\x30\xd2\x3f\x43\xb8\x3a\x37\x15\x08\xdd\x77\xad\xe2\xfd\x26\x61\xe5\xcb\x5c\x72\xa9\x38\x13\xf7\xfa\x22\x79\x66\x52\xf1\xc0\x1a\x2d\x68\x0d\x7a\xa7\x1f\x4e\xae\xf1\x74\x7d\x6d\x1b\x7d\xf7\x64\x29\xf4\x1b\x64\x82\x95\x89\x25\x5a\x30\x75\xe1\x5a\x9c\x1a\x78\xda\x17\x4c\xed\x95\xe1\xcf\xae\x70\xf3\xe1\x58\xc8\xbc\xad\x41\x98\xbe\xcb\x58\xc1\x22\x72\x11\xd9\xb7\xdf\xff\x50\x53\x26\x4a\x29\xcc\xb3\xa4\x74\x43\x73\xe8\xbb\x27\x78\xfb\xfd\x0f\x23\x95\xed\x26\x0d\x0b\xe4\x9c\x6a\x7d\x6b\xe9\x21\x21\xcd\x7e\x83\x8b\x64\x43\x48\x12\x7a\xc9\x6e\xb2\x28\xa7\xe2\xe4\x10\x32\x9a\x01\xdf\x63\x7f\x86\xd2\xd0\x06\xd4\x48\x68\xe8\xba\xd6\x14\x37\x03\x5a\x83\xb2\x88\xec\x24\xa4\x02\x21\x45\xa9\x68\x0d\x06\x9e\xcc\xce\xa2\x54\x54\x14\xb2\x35\x16\xc7\xb7\xa7\x34\xa8\x6e\x20\x37\x8a\x1a\x26\x2d\x52\xd4\x3f\x24\x51\x27\x66\x33\xfc\xa2\x48\xd9\x23\x70\xc2\xe3\x38\x8e\x00\x49\xa2\xa1\xf1\x13\x51\xa6\x36\x77\x5d\x32\x39\xba\xa4\x9f\xee\xc3\x76\x68\x7e\x7f\x52\xb2\x15\xc5\x9e\xd5\xf4\x84\xe7\x90\xb6\x1a\x46\xb0\x81\xba\x41\x51\xe8\xb6\x1b\x42\x52\x26\x72\xde\x16\x70\x52\xb4\xa9\x58\xae\x6f\x1f\x59\x61\xaa\x43\x6a\x4f\xcb\xb6\xef\xba\x64\x4e\x32\xe9\xb7\x9b\xf1\x3e\x91\xba\x7f\x54\x5d\x73\x2a\x1b\x7c\x5c\xfd\x26\xd5\x60\x1c\x5f\xc3\x7a\x39\xb5\xbb\xea\x6f\x45\x5b\x67\xa0\xa0\xb8\xfb\x08\x16\xe1\x78\xc3\x04\x49\x2b\x6a\xa4\xea\xbb\x2f\x48\x4c\xd5\x4a\xfa\x80\x8c\xf2\xdf\x77\xe5\xe9\x20\xa4\xaa\x29\x27\x78\x81\x97\xe5\xa9\xdf\xa4\x53\xea\x82\x3e\xb0\x13\xb5\x62\x7a\xae\x33\xc9\x35\x9e\xd8\x08\xbc\x48\x92\xb1\x93\x24\xa8\x1a\x12\xa8\x1b\x73\x9e\x5c\x99\x23\x39\xdc\xd9\xc8\x93\x03\x75\x49\xdc\x4b\xfa\xf1\xfa\xb6\xe4\x47\x05\x0f\x20\x0c\xd1\x9c\x15\x40\x32\x05\xf4\x5e\x13\x26\x88\xa9\x80\xd4\xac\x28\x38\x10\x59\x12\x4a\x70\xd3\xf6\x4a\x36\xe9\x23\x2b\xe4\x63\x03\x82\x72\xc3\x40\x93\x6b\x72\x7d\x75\x75\x75\xb5\x49\x15\x3d\x9d\xa0\xc8\xa4\x31\xb2\xb6\x17\xaf\x21\xc7\x05\xf7\x86\x19\x0e\x7a\xc2\xd8\x70\xb8\x0d\x55\x86\xe0\x0d\xf5\x1d\x5e\x7e\x0e\xc2\x80\x62\xe2\x84\x9d\x0c\x4e\x4c\x74\xd1\xe9\x66\xf2\xa9\xbf\xd5\xd0\x1c\xae\x3f\x6b\xcc\xce\xe1\xde\x39\x12\x76\x8d\x7e\x43\x08\x21\x56\xb8\xec\x24\x7c\xb4\xf1\x70\xca\x84\x06\x65\x10\x92\x36\x54\xe1\x1a\x20\x8a\xf9\x0a\x9b\x55\x59\xf1\x9b\xf9\x17\x78\x7d\xf5\xc7\x79\x0d\x8b\x4c\xd8\xf5\xc0\x7f\x9e\xe3\x36\xfb\x97\x99\xfe\xfc\x9f\xe0\x79\x5c\x66\xca\xf6\x00\xff\x1d\xce\xdf\x98\x2f\x91\x8f\x1f\xa9\x32\x96\x45\xab\xf0\x3a\x9c\x64\x2c\xdf\x11\xce\x7b\x47\xd0\xa2\xb1\x32\x63\x19\x67\xd2\x4a\xe5\xd9\xd2\xe7\x1a\x1c\x87\x9e\x84\x5f\xdf\x51\x41\x30\x8b\x69\x0d\xfc\xc5\xab\x8e\x5c\x87\xb5\xd7\x6c\x8d\xdb\x05\x55\x86\xe5\x3c\xe8\xb3\xa0\x71\x26\x63\x3d\xd9\x12\x01\x50\x68\x62\x24\xc9\x20\x98\xf8\x92\x29\x6d\x56\xf5\x15\xad\x75\x4d\x4d\xb5\xa3\xb5\x46\x85\xd0\x0f\xa6\xa8\xa4\x35\xe3\xe7\xe9\x5a\xb7\xf6\xf5\x8f\xa3\x83\x17\x90\x2c\x60\x5e\x73\x87\x97\x7f\xd7\x45\x28\x56\x23\xa0\x66\x99\x70\xc2\x6b\x59\x80\x12\x53\xdb\xcd\x99\x00\x6d\x14\x98\xbc\x9a\x6d\x5b\x83\x71\xd6\x75\x75\x5b\xac\x34\xf0\xd4\x6f\x52\x56\xfe\xf8\xd5\xd7\x1f\xe0\xe7\x8d\x13\xa3\x61\x1f\x7e\x93\x20\x72\xcf\x3c\x88\xdc\xab\xbb\x0f\xd7\x9e\xe0\x5d\xe7\x07\xfa\xd9\xec\xd6\x94\x9f\xdf\x75\x4c\x34\xed\xca\x68\x87\x9a\x37\x97\x75\x83\x57\xd1\x28\xf9\x80\x7a\x0e\x5a\x25\x09\x15\x05\x91\xa6\x02\x45\xbc\xea\xdd\x58\x09\x22\x5b\xc2\x4a\xc2\x5b\xf4\x4d\x88\x54\xe4\x09\x8d\xaf\xdd\x3c\x5e\x0c\xda\x4f\x6b\x16\x53\x56\xfe\x0c\x6e\x27\xd3\xf5\x02\x56\x3f\x15\xc9\x08\xc3\x3b\x70\x7b\xc4\x0c\x72\xe9\x2f\xe0\x63\x88\xe1\x5c\x09\x49\x0b\x28\x69\xcb\x8d\xbd\x42\xa0\xa6\x55\xa0\xbb\xf7\x39\xe5\x70\x78\x47\x4d\x5e\x1d\xe5\x23\xa8\x9c\x6a\x27\xf5\x2b\xc8\xb7\xa9\xaa\xdd\xdd\xdf\x75\x47\xb4\x2e\x08\x3c\x7c\x80\x9f\x77\x8e\xca\x75\xef\x37\x3c\xf8\x53\x84\xa0\x86\x09\x00\x27\x78\xa1\x37\x8a\xdd\x0c\xb2\x14\xba\x80\x90\x4c\xc5\x4a\x53\xa1\x27\x0b\x05\x80\x5b\x28\xf4\xc6\x85\x66\x90\xe5\x42\x01\x61\xb6\x50\x2d\x85\x9c\xee\xc8\x03\xfc\x8e\x7c\x2f\xda\xd1\x14\xb2\xb2\x23\x8f\x10\x2f\x34\x79\x95\xcc\x9a\x3e\x42\x52\x01\x8f\xe3\x9b\x8b\xde\x1f\x03\x7d\x89\xee\x42\xd2\xdf\x2e\x66\x5e\xae\x3c\xe9\x08\xfc\x91\x57\x8d\x58\x11\x5f\xd6\xdc\x07\x21\xf6\x27\xf0\x3b\x32\x6d\xef\xdb\x21\xbf\xfc\x8a\x9d\x98\xd1\xbb\x23\x35\x4c\xec\xbe\x51\x00\xf7\x17\x41\x06\x1c\x46\x2c\x03\x13\xc8\x9a\x0c\x38\x84\x64\xf6\x42\xa2\xf5\xfe\x24\xda\x93\x77\xf5\x27\x93\xff\xfd\x10\xe4\x23\x3a\xc2\x07\x20\x61\xdb\xd1\x3c\xc7\xda\xdb\xef\x7f\x18\xb9\x1a\x3b\x4b\x86\xa2\x99\xd1\x96\x23\x7d\x6d\xd5\xd8\xaf\xb4\x51\xa0\x61\xdc\xa9\xe3\xed\xd8\xd2\x15\xe6\x1c\x07\xcf\x4c\x4c\x56\xe1\x0b\xbe\x02\xd6\xde\xa1\xad\x71\xb6\x72\x56\x7f\x84\x1f\x1b\x87\x35\x90\x2f\x39\x9a\x8d\x3c\xcf\x53\x40\xec\x23\xb1\x63\xe2\xd7\x3f\xf9\xf4\x6d\x9b\x95\x2f\x7f\x03\x25\xf7\x36\x6e\xd9\x0b\x29\xf6\xbf\x4a\x26\x6c\x64\xb4\xdd\x92\xf7\x6d\xd3\x48\x65\x6c\x12\x60\x44\x23\x23\x1a\xc9\x2b\xaa\x68\x6e\x40\xe9\xcb\x4d\x5a\xd3\x7b\xa0\x86\x83\x31\xa0\x36\xa8\xd5\x53\x9c\x64\xe7\x08\x29\xdc\x0c\x1b\x42\x8d\x5e\x3d\x0f\xba\xdd\x1a\x3b\x5a\xfc\xda\x6a\x43\xee\x41\x09\x26\x4e\x3b\x92\xb5\x86\x68\xc3\x38\x27\xda\x73\xe2\x32\x00\xf8\xc8\x4f\x97\xb8\x1f\x03\x4f\x52\x35\x45\xa9\x0d\xba\x8c\x96\xb8\x83\x1a\x8c\x6a\x4c\xd5\xa5\x42\xda\x98\x21\x2d\x98\xce\x15\xe0\x39\x51\x75\xee\xf6\x7d\xd7\x77\x29\x2e\x74\x79\xf5\x09\xd4\xbd\x9b\x68\x2f\xf9\x01\xdd\x0a\xfb\xea\x87\xb9\x95\xbe\x67\x4d\xfa\xdb\x6b\xfb\x53\xb2\xbe\xb3\xf8\xf6\xa7\x0f\xdb\xb6\x86\x7a\xea\x3f\x7c\x05\x39\xa7\x0a\x7e\x72\x46\xf2\x6d\x38\xaa\xee\xd5\xd5\xd5\xdb\xbe\x5b\x39\x9c\x7e\x13\xb4\x4d\x9a\x53\x83\x93\xfe\xf7\x97\x5f\x7e\xf9\xe5\xd5\xd5\x55\x7e\x48\x69\x6e\xd8\x83\x1d\x6b\x94\x34\x90\x1b\x28\xf0\x8c\x49\xc0\x78\x86\x60\xc9\xf0\x26\xff\x8a\xae\x44\x49\xfe\xe7\xbf\xff\xf6\x7d\x38\xcb\xf5\xb8\x1e\x3b\xa6\x82\x3a\x38\x8d\xb6\xed\xa4\xce\x36\x47\xb9\x8b\xbb\x4b\xc9\xb3\xa3\x33\xdb\x66\x9d\xea\x98\xf8\x08\xe8\x92\xb1\x3d\x9b\x85\xc2\x1b\x4f\x1a\xfa\xce\x96\xac\x4d\x89\xd3\x2c\x93\x19\x1a\x14\x2b\xd1\xcf\x6a\x35\x90\x80\x45\x14\xb5\x4e\x96\xa9\xa8\x20\xc1\x2c\x5b\x99\x77\x31\x27\x4a\xd3\x84\x3c\x13\x02\x26\xfb\x18\x01\x5d\x32\xb6\x67\x4c\xc9\xd6\x4c\x67\x8d\x80\x2e\x19\xdb\x2b\x9a\x7b\x4b\x7e\xd2\x40\xda\xe6\xff\x5a\x69\x00\x7d\x3f\xfa\x40\x19\xa7\x19\x87\x9d\x63\xd3\x28\xca\x4e\x95\x21\x16\xc1\x46\xc7\x0f\xa0\x32\x6a\x58\x4d\x40\x3c\x30\x25\x45\x0d\xc2\xe8\x4d\xfa\x5d\xf9\x35\xe3\xf0\xd7\x27\xa6\x8d\xee\x3c\xc1\x4b\x6d\xce\x7d\x37\xf1\xea\xdc\x40\xdf\x77\xfd\x6c\x4a\xcd\x72\x25\xcd\xb9\xf1\x93\xfc\x39\x06\xe0\x84\xb5\xb9\x03\x6d\x0d\x5a\xc0\x8c\x2c\xda\x0c\xb4\x90\xa4\x01\xc1\xea\xaf\x9f\x34\xbc\x0b\x80\xf7\x60\x6e\xf1\x29\xa8\x56\x33\x29\xee\xba\x8c\x6a\x96\x5b\x4f\x94\x6c\x49\xc1\x34\x72\x41\x46\x04\x7b\x54\x06\x2f\x16\x8f\x02\xf7\xe6\xee\xb2\x00\xe7\x6b\xf8\x00\x63\xaa\xc4\x5e\xb3\xb2\x15\x05\x94\x4c\x40\xd1\xfd\xf0\xf7\x77\x6f\xde\x72\xaa\xf5\xdf\x6c\xee\xc4\xba\xe1\xa8\x0b\x11\x4e\x6c\x76\x09\x59\x9c\x1c\x58\x43\x15\x2a\x0d\x7f\x5c\x0b\x33\xeb\x87\x7b\xab\x4d\xb6\x64\xe2\x6a\x70\x10\x27\x54\x60\x0d\x55\x8e\xc9\xbe\xbb\x6a\x4c\xbf\x36\x6e\x69\x74\x9f\x35\x86\x34\xbc\xd5\xe4\x55\x63\x48\xcd\x44\xab\xc9\x75\x63\xfa\x7e\xe3\x59\x9d\xb2\x89\x3d\x7f\xe6\x81\x8d\x43\x45\x79\xd9\xcf\x34\x5a\x2c\xc2\x41\xaa\xf6\x4c\xec\x85\x34\xf3\xc0\xb2\xa4\x22\x3f\x3f\xa8\x6c\x3d\xc2\x0a\x99\xd6\xe9\x01\x3d\xb5\x8a\x2f\x25\x10\xa1\x28\x7e\x64\x4b\x68\x51\x90\x9f\x6e\x8e\x04\x03\xbb\x21\xfd\x13\xcb\xd9\x94\x5e\x26\xe5\x7d\x4d\xd5\xfd\x92\x66\x18\xe9\xa7\xe0\x21\xe7\xdc\x6f\x52\xdb\xd6\x60\xda\xa6\x73\x8a\x90\x19\x0e\xfb\x1a\x0c\xb5\x1e\x40\x53\x94\x16\x72\xe8\x92\x71\x24\xe9\x67\xd9\xcd\xd6\x54\x52\x4d\x26\x39\xd0\xa1\x4b\xa2\xb1\xf9\xb4\x21\x4f\xdb\x14\x25\xb6\x0f\x5d\x62\x53\xb5\x33\x34\xdd\x66\xbf\x42\x6e\x02\xa6\xef\x1e\xba\xc4\xb7\xe6\xf8\xf7\x70\x7e\x94\xaa\xd0\x61\x42\xe8\x1f\x3a\xfb\x20\xc7\xe1\x24\x34\xfd\x03\x24\x43\x56\x7e\xb7\xd4\xe1\x21\xe1\x4e\xc8\xd8\x3d\x18\xd5\xc2\x6e\x43\xf0\xa2\xee\x2d\xf8\xd0\xf9\x80\xdc\x75\xd1\x13\x0a\x6d\x1f\x39\xbf\xa3\x4a\x4a\xe1\xc9\xf7\x38\xb9\x64\x1c\xa2\xc9\x43\x17\xc3\x8b\xd0\x7e\x76\x72\xce\x4c\x3c\x79\xe8\x5e\x24\xc9\xd0\xf6\x93\xbf\xe4\x2d\xc4\x53\x5b\xc5\xa3\x99\xa1\x77\x91\x24\xa1\xb9\x3a\x6f\xf0\xdd\x2b\x56\x80\x3d\x85\x5d\x14\x04\x37\x45\x99\x2b\x7c\x47\xea\xd0\x1d\xd1\x71\x24\x0f\x8c\x92\x86\x8a\x42\xe6\x28\x6d\xad\xe2\xda\x9c\x39\x74\x1a\xd5\x49\xa4\xb3\x30\x62\xb3\xa9\x8a\x82\x0c\xa6\xe8\xa7\x9b\xa3\x7e\xf6\x0d\xfe\x97\x87\x7d\x2d\xa5\x11\xd6\x04\x6c\x09\xe5\x5c\x3e\x8e\x76\x00\x8d\x18\x1a\x86\x32\xa0\x4c\x6e\xf5\x04\xb2\x06\xa3\xce\x17\x33\x6f\x20\x0d\x03\x4e\x5c\x46\xb4\x24\x34\x67\xfa\x7a\x2d\x51\x73\xfb\x07\xe7\xde\x75\x61\xe0\x63\x39\x2d\xe4\x4a\xc0\x23\x2b\xe7\xf9\xb5\x69\x16\x48\xa3\x8b\xa8\x67\x0a\x2a\x80\x7b\x4b\x22\x97\x75\x4d\x45\x81\x1a\x54\x6b\x53\x29\xd9\x9e\xaa\xfe\xf6\xfa\xae\x7b\x71\xdd\x6f\x52\xae\x8d\x06\xd3\xf9\xdc\x44\xc1\x28\xc7\x87\x76\xfb\xe9\xe5\x27\x77\xc7\x96\x3e\x8f\xf0\xf4\xf9\x67\x35\xd5\xf5\xdd\x1b\xad\xa1\xce\x38\xcc\x6a\x4b\xbc\xb2\x4c\x71\x6d\x04\x3c\x46\xc6\xb9\x43\x6f\xaf\xef\x02\x55\x7c\xfb\x2d\x3d\xc1\xe1\x5b\xaa\xef\x81\xf3\x9d\x35\x6e\x56\x5c\x0e\xa9\xae\x29\xe7\xa9\xf1\x81\xba\x35\xd3\xf1\x12\x15\x3b\x55\x1c\xfd\x01\x26\x4e\xfb\x9a\xe6\x4a\xe2\x92\xc9\x0a\x78\x7a\xbe\x06\x85\x6f\x71\x64\x52\x9c\xec\xc0\x0e\xf5\xa7\xa1\x99\xde\x51\xa5\xe8\xd9\xe7\x5f\x5a\x6e\x98\x92\x8f\xb3\x49\x01\xbc\x6e\x08\x72\xca\x73\x14\x77\x14\x6b\x6c\xb7\xdc\xfa\xf3\x68\xb2\x58\x43\x4f\x40\xac\x0f\xab\x67\x77\x3e\x21\xe0\xaa\x22\x9b\x2d\x79\x47\xef\x81\x84\x92\x86\x1f\x27\x8f\x52\xdd\x93\x47\x66\x2a\x32\x70\xbf\x16\x9c\x94\xa2\xad\x5f\xdb\xd1\x2e\xb5\x3f\x82\xd6\xf0\xff\xa9\xa9\xc0\xf6\x16\x76\xd0\xca\xf5\x96\xbc\x95\x4a\x41\x6e\x88\x54\x05\x28\x74\xaa\xdd\xb9\x11\x5a\x1a\x50\x24\x1d\xea\x10\x44\x2a\x92\xea\x36\x8b\x0a\x13\xd1\x1e\xc0\x48\xc9\x6d\x82\x79\xc6\x59\x43\x4d\x5e\xe5\x75\x91\x0e\xbc\x5b\x13\xdf\x77\x29\x2b\x5f\x0b\x89\x76\x5a\x43\x9e\xd6\x99\x7c\xea\xfa\xb4\x64\x6e\xd0\xba\x6a\x31\xbb\x5b\xf2\xc6\x2a\x80\xe1\xbd\xe3\xe3\x1f\x48\x92\x0a\x68\xf1\x1f\x38\x36\x33\x9f\x01\xdd\x5a\xc2\xa5\x0d\x9d\x0c\xf7\xeb\x63\xc1\x81\xd0\xf4\x01\xb0\x0f\xe2\x61\x94\xa2\xf5\x97\x1d\x4a\x69\xb3\x7b\xf6\xe0\xe5\x19\xe1\xed\xd5\xf4\xc9\xca\x09\x9e\x4b\xc1\xea\xf4\x1b\x26\x5e\x0b\x6a\x5e\x5b\xe0\x5f\x52\x74\x17\x6c\x33\x6a\xd9\x98\x6e\x82\x87\xc1\xdc\x40\xae\x02\x7c\x1d\x73\x7a\x0e\xfa\x17\x1b\x53\xba\x76\xdc\x9c\x90\xf4\x30\x4b\x73\x7a\x17\x36\x69\x49\x6c\x25\xd0\x7a\x2f\x02\x72\xd0\x9a\xaa\xf3\x8e\x68\x89\x81\x87\x21\xa6\x82\x33\x79\xc4\x58\x57\x48\x43\xe4\x03\xa8\x12\xef\xcf\x54\x60\x8b\x23\x9b\x2d\xa9\xa9\x3a\x31\xa1\x49\x76\x26\x5e\xe9\xec\x6c\xd4\xcc\x0c\x61\xda\xc7\xc9\x8d\xd4\x9a\xe1\x05\x1b\x69\x69\x3c\x2a\x66\xc0\x12\xf1\x53\xf4\x06\x9d\x76\x7c\x6e\xf0\xd4\x70\x96\x33\x43\xbc\x17\x88\x02\xb2\x5e\xdb\xdc\x11\xb7\xb3\x1d\xb9\xbc\xbc\xbc\xeb\x5c\x2d\xe7\x1e\xce\xba\xfb\x86\x89\xbe\xf3\xf5\xcf\x70\x21\x3b\x87\x7c\x18\x8f\x74\x77\x0f\xd0\x44\x85\x5d\x7c\xb8\xef\xc1\x04\x96\x48\xc9\x4e\xad\x02\xd2\x70\x9a\x03\xea\x42\x64\xbe\x32\x59\xb3\xfa\x68\x1b\xfd\xda\xe1\x77\x88\xf2\x11\x67\xd5\xda\xe3\x3d\xd5\xd6\x4a\xa2\x68\x79\x6d\x61\xe1\x93\x77\xa1\x0d\x50\x1b\x1e\x57\xd2\xd8\xd1\x2f\x36\x21\x76\xbf\x91\x59\xab\xcd\xdb\x60\x29\x2a\x74\x14\x6f\x5f\xdd\x75\x2f\x5e\xa5\x81\x42\x87\x86\x1c\x6d\x46\x3f\x4b\x19\x1b\xc5\xee\xc1\x55\xc2\x93\xfd\x9e\x50\xae\x25\xc6\x4b\x85\x55\x7c\x18\x55\xa0\xe3\x04\x13\x4b\xe9\x6a\xb1\x50\xdf\x75\x2d\x87\x1a\xcf\xe9\xcd\x83\x64\x05\x46\x31\x19\x87\x5a\x3b\xad\x96\x6a\xd9\x5a\x63\x8e\xaf\x18\x94\x87\x06\x47\x76\x93\x0e\xf9\x90\x02\xca\xaf\x9c\x4f\xe1\x77\xa0\xbb\x54\x41\x6c\xfa\x90\x52\xdf\x45\x9c\xc7\x91\x05\xd4\xa0\x4e\x20\xf2\xb3\x2f\xa8\xf4\xdd\x27\x50\xbb\x2a\x85\xcb\xde\x58\x29\x6d\x39\xb7\xce\xb9\xde\xa4\xbe\x7a\x31\x50\x37\x78\xfb\x68\x74\x5d\xec\x13\xd3\x66\x06\x6a\x0d\x8d\x8b\x69\x56\xc3\x99\x2b\x1b\xbb\xd8\x6a\xb3\x2d\x7e\xfb\xaa\x57\x28\xd3\xe6\xb2\x15\x06\x54\xa7\x21\x17\x6d\x5d\x40\x63\xaa\xbe\xf3\x45\xdd\x00\xb8\x40\x0f\x63\xe8\x79\x17\xee\xd3\xe0\xbf\x0d\xae\xca\x73\xd4\xf6\x28\xc2\x05\xab\x41\xe0\xa6\x15\xd4\xf2\x01\x48\x28\x25\x3a\xa6\x98\x38\x3d\x93\x47\x71\xb4\x2d\x8c\xcb\xfc\x7e\x8f\x77\xe5\x5d\x12\x2f\x88\x91\xa9\xc0\x67\x3c\xb1\x15\xa4\x54\x00\x7b\x6d\xa8\xc0\x49\x9b\x94\x95\x4f\x23\x7a\x3a\x84\xa4\x43\xba\x88\x83\x49\x25\x2f\x46\x94\xd1\xea\x10\x32\xbb\xf3\x61\xc8\x3a\x3b\x93\x69\x28\xc6\xde\xb4\xb8\xd4\x91\x5d\x38\x66\xec\xf9\xb5\x27\x58\x13\xbb\xb7\xe0\x20\x1e\x1d\x98\x88\x81\x0b\x3e\xd6\xac\x86\xfd\x6c\x02\x3d\x22\x94\x88\xa1\xd3\x25\x43\x73\x9e\x7e\xd2\x7c\xaf\xa0\xd4\xde\x83\x0c\x02\x97\x6b\x5e\x51\x71\xf2\x31\xf6\xe4\x01\x4c\x87\xba\xeb\xcb\x4f\xf1\x51\xce\x26\xdb\xaf\x2e\xac\xe6\x5b\x4c\x8e\x86\xec\xd3\x99\x4f\x05\x61\xd4\x19\x3d\x7d\x26\x4e\xad\x60\x06\xc5\xcc\xb0\x1a\x34\xb1\x23\x7b\x3f\x34\x27\xbb\x98\x36\xbe\x1a\xbb\x42\xec\x56\xbe\x7d\x7f\xbc\x81\x12\x14\x88\x1c\x34\xaa\x2e\xb2\x25\x2f\xae\x89\xdb\xd6\x69\xcf\x70\x67\x3b\xf2\xe2\x95\x5b\x91\x84\x15\x49\xb7\x25\x85\x14\xff\x86\x6a\x06\x51\xc6\xcf\x2b\xf4\xe6\xf7\xd2\x13\x5b\x62\x5a\x25\x88\x14\x61\x95\x40\x83\x95\x96\x4c\x4d\xae\xd1\x60\x5d\xbb\x9c\xba\x2c\x0a\xf2\xe2\x7a\x2a\xc3\xa1\x1e\x8f\x0a\xbf\xa1\xaa\x4b\xc7\x5b\x38\x4c\x2f\xc5\x4f\x08\xb9\x6d\x5c\x5c\x83\x99\x6f\x66\x3d\x5f\xf2\xe2\xd5\xea\x61\x6e\x48\xbf\xdd\x10\xb4\x72\x73\x9f\x75\x1a\x35\xbc\x7d\x7f\xfc\x12\x5f\xb6\x0f\x19\xd2\xaa\x64\x9c\xa7\x36\x43\xb1\xc4\x3c\x42\x69\xde\x59\xfb\xed\xe4\xbd\xa1\x2a\x93\x4f\xb7\xe6\x6e\x21\x27\x68\x48\x16\xd3\x6f\x50\x91\x7e\x27\x50\xcd\x2e\xe6\x0f\xfe\x0d\xd9\x93\x15\x62\xcf\x71\xf4\x9d\xbb\x34\x4b\xad\xb2\xd1\xe6\x5c\xde\x31\x0c\x9a\x54\x0c\x9d\xb9\xd9\x7b\x1f\xc1\x05\x15\x53\x50\x32\x2d\xe5\xf9\xa4\x46\x54\x65\xda\x92\xa3\xa4\x05\x69\x24\x3f\x9f\x38\xfa\x2a\x94\x50\x4d\x38\x35\x80\xbf\xc1\x7b\xf9\x02\xed\xa4\x26\x19\x2b\x98\xb3\x6d\x37\x1f\x8e\x04\x89\x59\xff\xe9\x25\x5c\x9e\x2e\xc9\xb7\x90\x29\x78\xdc\x91\x37\x8a\x66\x2c\xbf\x98\x15\xa6\xa3\x05\xfa\xa8\x34\x1c\xc2\x2a\x17\x92\x46\x48\xf6\xbb\xb8\xa8\x96\xf9\xdc\xd0\x32\xd1\xbd\xc0\x74\x95\xd2\xcd\x62\x05\xeb\xa1\x20\x86\x1e\x6a\xbb\x03\x68\x9d\xa7\x71\xc6\x33\x9c\x2d\x11\x3e\xce\x5f\x84\x1f\xb8\x0c\xd7\x35\x68\xf3\x79\xdc\xee\x3e\x1b\x8c\x99\x4f\xe6\xa0\x71\x3d\x3c\xe3\x43\xfc\xa5\xe1\x5d\x67\x3b\xe8\xc9\x9c\xc0\x10\xc5\xac\x9f\x15\xb6\xbc\x47\x9f\x90\x95\x2c\x27\xba\x92\xca\x54\xe8\xa1\x90\x97\x1a\x80\xbc\xf8\xec\xf3\xeb\xff\xbc\xf8\x62\x63\x95\xc2\xd1\xa3\xbf\x47\xa4\x6f\x11\x29\x0d\x14\xc6\x79\xce\x3d\x5c\xc2\x5f\x5c\xfb\x4c\xaf\xe3\x6a\x7c\x05\x3a\xfe\x2c\x32\x02\x27\xd3\x0a\x59\x68\x47\xd5\xbf\xe9\x57\x25\x5c\x48\xce\x4e\x3d\x89\x12\x38\x8c\x73\x38\x51\x3e\x56\xb7\x86\x62\x9b\xfb\xb4\x74\xf9\x20\xac\xa8\xaf\xbc\x04\x6c\x33\x43\x6a\x59\xb0\x92\xa1\x5d\x40\xd1\x0f\x71\xd1\x8c\x15\xf7\xe5\xa9\xb7\xda\x63\x15\xea\x03\xfc\xfc\x33\x7c\xd0\x86\x1a\x38\x5c\xfb\x32\xff\xa0\x08\x6e\x8e\x4e\x03\xd8\x0f\xad\x6e\xc8\x8b\xeb\x14\x44\x71\xd3\xcf\xd1\x8e\x37\x11\xda\xd1\xa3\x1d\x03\x5a\x6c\x6f\x6e\x3e\x1c\xfb\x40\xae\xef\x26\xd4\x62\xb4\xe3\x87\x9b\x80\x76\x74\x68\xc7\x99\xa1\xb7\x5f\x19\x9a\x8c\x65\xf3\x2f\x8a\x1c\x34\xc8\xfb\x5d\xe7\xfa\xfd\x26\x8d\xb3\x41\xde\x15\xc0\x6b\xb7\xd0\xbd\x77\x14\x92\xb8\xeb\x1d\xc2\x86\x53\x26\x04\x35\x91\x5f\x18\x39\x74\x2c\xb3\x1f\x01\xcf\xb9\x58\x50\x76\xb9\x99\x29\xfd\x9d\xa7\xe4\x1e\x92\xa7\x34\x3e\xe5\x19\x64\xf1\x76\xc3\xb8\x57\x26\xf1\xfe\x90\x1d\x5a\x14\x19\xcb\x14\x68\xd9\xaa\x1c\xba\x24\x1e\x9f\x7c\x54\x11\x1f\xa9\xcc\x99\x81\x3d\x2b\x9c\x17\x64\x7b\x2e\xb7\x17\x8f\x24\xcc\x2c\xd2\xc0\x33\x57\xca\x95\x9a\xe6\x89\x19\x0f\x1e\x91\xc7\x34\x3a\xa2\xda\x86\x4f\x9e\x27\xae\xd2\x48\x6d\x26\x39\x75\x8d\x2e\x71\xbf\x49\xbf\x7a\x17\xba\xcd\x02\xa9\x35\x5f\xfb\x8f\xa5\x57\x66\x21\x4a\xa0\x69\xe5\xdb\x55\x1b\x02\x08\xc3\x50\x3b\xdb\xf6\x50\x88\x69\xd3\x18\x99\xd7\x45\x97\xbe\x76\x93\xac\x21\x26\x5d\xca\xa9\x3a\x01\xfa\x55\x36\x1b\xe3\xd2\x31\xcf\x84\xa6\xc3\x8a\x36\x67\xef\x8e\x22\x0a\xbf\x5c\x89\xc0\x5d\x89\x6b\x5f\x24\xbe\x6e\xe0\xae\x84\xa4\x18\x2c\x8c\xd7\x92\x16\x14\xaf\x10\xff\xae\x7d\xdb\x8c\xd1\x2d\x33\xad\xcb\x13\x0f\x1d\x47\x3f\x1a\x4b\x86\xf6\xfa\x2a\x93\x3c\x21\xf2\xec\x75\xd0\x70\xab\xbe\xdf\xcd\x33\x08\xfe\xb6\x7d\x37\x99\xc5\xc8\x5c\x9e\xa4\x4d\x87\xca\x93\x5c\x99\x8a\xe0\xc9\x94\x20\x55\xfe\xc3\xd0\xe1\xab\x7b\xff\xe1\xb9\xde\x97\x4a\x0a\x53\x53\xbc\x6b\xa4\x1b\x75\x97\x5b\x58\x24\xbb\xfd\x17\x96\x76\xd0\x7d\x5c\x19\x17\x05\x9d\x14\x4c\x4a\x3d\x99\x36\x8a\xda\x6a\x8c\x67\x28\x40\xfa\x4d\x12\x9a\x68\x5a\x45\x11\x8f\xcc\x37\xe3\xef\xc2\xee\x7d\x9f\x41\x29\x95\x63\x6d\x02\x41\xbc\xd8\xb5\x32\x32\xbf\x18\x5a\xfb\xe1\x85\xc5\x71\xd6\xbf\xa7\xb9\xfd\x1c\xd1\xd8\xff\x7e\xe8\x92\x01\x71\xae\xe2\x86\x03\x70\x9b\xb0\xc7\xd0\xdf\xda\x02\x82\x6d\xbb\xaa\xdb\xdd\x62\xb5\xf0\x51\x6a\x78\xd6\x2b\xf4\x09\x71\xa9\x55\x59\x06\x5e\x6e\x2b\x56\x00\xe5\x7c\xfc\x8e\x55\xdf\xb9\x23\x72\xeb\x86\x33\xef\x56\xfe\xbf\x23\xaa\xcf\x8d\x55\x26\xcf\x55\x28\xd8\x84\xa6\x57\xee\x0b\x45\x12\x47\xfb\x46\xe6\x21\x71\x80\xcc\xbb\x2c\x41\xbf\x99\xb3\xfc\xcc\x37\xb6\x5c\x96\x56\x76\x99\x36\xb2\x74\x39\x29\x3d\x43\x30\x23\x82\xcb\x12\x7f\xec\x5b\x55\x0d\xc6\xf7\xba\x24\x1a\x9a\xdd\xd6\x8a\x94\xa3\xd7\x35\x17\xf2\x4c\x16\x67\xaf\x7e\x57\x66\x64\x34\xbf\x5f\x79\x16\x83\xc1\x1d\xcd\xdb\x60\x6e\x22\x8b\x17\xbf\x1e\x24\x9e\x57\xb4\x31\xa0\xf4\x5c\x00\xd1\x22\x3b\xd1\x8b\x27\x46\x89\x97\x09\xb2\x82\xf2\x19\xe4\x8f\x95\x82\x3e\x2e\xb2\x0b\x62\x84\x4c\xdc\x04\xa3\x5a\x88\x65\x35\x1e\xeb\x56\x8c\xee\xd4\xc6\x2e\x4a\x5f\x13\xce\x26\x22\x1d\x9e\xfa\xda\x5e\x46\x0f\xe3\x4f\xdf\x9a\xfd\x58\x88\x09\x13\x0f\xdc\xfa\x4c\xd4\x41\x48\x01\xab\x4f\x6f\x39\x67\x79\xf9\xb7\xae\x12\x3e\x65\xe2\x6e\xa9\xdb\xe2\xf8\x31\x68\x34\x5b\x29\x89\x55\x9c\x05\xc4\x1a\xce\x32\x35\x68\xf7\x7f\x04\x00\x00\xff\xff\x6d\xfa\x9b\x61\x8e\x36\x00\x00") func complySoc2TemplatesDefaultLatexBytes() ([]byte, error) { return bindataRead( @@ -1177,7 +1177,7 @@ func complySoc2TemplatesDefaultLatex() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/templates/default.latex", size: 7649, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/templates/default.latex", size: 13966, mode: os.FileMode(420), modTime: time.Unix(1634558451, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1197,7 +1197,7 @@ func complySoc2TemplatesIndexAce() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/templates/index.ace", size: 7596, mode: os.FileMode(420), modTime: time.Unix(1545086630, 0)} + info := bindataFileInfo{name: "comply-soc2/templates/index.ace", size: 7596, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff --git a/internal/util/test_utils.go b/internal/util/test_utils.go new file mode 100644 index 0000000..adfebee --- /dev/null +++ b/internal/util/test_utils.go @@ -0,0 +1,52 @@ +package util + +import ( + "fmt" + "io/ioutil" + "path/filepath" + "reflect" + "runtime" + "testing" + + "github.com/strongdm/comply/internal/config" + "gopkg.in/yaml.v2" +) + +type TestFixture func() + +func ExecuteTests(t *testing.T, testGroupType reflect.Type, beforeEach TestFixture, afterEach TestFixture) { + testGroup := reflect.New(testGroupType).Elem().Interface() + for i := 0; i < testGroupType.NumMethod(); i++ { + m := testGroupType.Method(i) + t.Run(m.Name, func(t *testing.T) { + if beforeEach != nil { + beforeEach() + } + + in := []reflect.Value{reflect.ValueOf(testGroup), reflect.ValueOf(t)} + m.Func.Call(in) + + if afterEach != nil { + afterEach() + } + }) + } +} + +func MockConfig() { + config.Config = func() *config.Project { + p := config.Project{} + cfgBytes, _ := ioutil.ReadFile(filepath.Join(GetRootPath(), "comply.yml.example")) + err := yaml.Unmarshal(cfgBytes, &p) + if err != nil { + return nil + } + return &p + } +} + +func GetRootPath() string { + _, fileName, _, _ := runtime.Caller(0) + fileDir := filepath.Dir(fileName) + return fmt.Sprintf("%s/../../example", fileDir) +} diff --git a/themes/comply-blank/templates/default.latex b/themes/comply-blank/templates/default.latex index 7d14600..c99e87c 100644 --- a/themes/comply-blank/templates/default.latex +++ b/themes/comply-blank/templates/default.latex @@ -1,7 +1,95 @@ -\documentclass[$if(fontsize)$$fontsize$,$endif$$if(lang)$$babel-lang$,$endif$$if(papersize)$$papersize$paper,$endif$$for(classoption)$$classoption$$sep$,$endfor$]{$documentclass$} +% Options for packages loaded elsewhere +\PassOptionsToPackage{unicode$for(hyperrefoptions)$,$hyperrefoptions$$endfor$}{hyperref} +\PassOptionsToPackage{hyphens}{url} +$if(colorlinks)$ +\PassOptionsToPackage{dvipsnames,svgnames,x11names}{xcolor} +$endif$ +$if(dir)$ +$if(latex-dir-rtl)$ +\PassOptionsToPackage{RTLdocument}{bidi} +$endif$ +$endif$ +$if(CJKmainfont)$ +\PassOptionsToPackage{space}{xeCJK} +$endif$ +% +\documentclass[ +$if(fontsize)$ + $fontsize$, +$endif$ +$if(lang)$ + $babel-lang$, +$endif$ +$if(papersize)$ + $papersize$paper, +$endif$ +$if(beamer)$ + ignorenonframetext, +$if(handout)$ + handout, +$endif$ +$if(aspectratio)$ + aspectratio=$aspectratio$, +$endif$ +$endif$ +$for(classoption)$ + $classoption$$sep$, +$endfor$ +]{$documentclass$} +$if(beamer)$ +$if(background-image)$ +\usebackgroundtemplate{% + \includegraphics[width=\paperwidth]{$background-image$}% +} +$endif$ +\usepackage{pgfpages} +\setbeamertemplate{caption}[numbered] +\setbeamertemplate{caption label separator}{: } +\setbeamercolor{caption name}{fg=normal text.fg} +\beamertemplatenavigationsymbols$if(navigation)$$navigation$$else$empty$endif$ +$for(beameroption)$ +\setbeameroption{$beameroption$} +$endfor$ +% Prevent slide breaks in the middle of a paragraph +\widowpenalties 1 10000 +\raggedbottom +$if(section-titles)$ +\setbeamertemplate{part page}{ + \centering + \begin{beamercolorbox}[sep=16pt,center]{part title} + \usebeamerfont{part title}\insertpart\par + \end{beamercolorbox} +} +\setbeamertemplate{section page}{ + \centering + \begin{beamercolorbox}[sep=12pt,center]{part title} + \usebeamerfont{section title}\insertsection\par + \end{beamercolorbox} +} +\setbeamertemplate{subsection page}{ + \centering + \begin{beamercolorbox}[sep=8pt,center]{part title} + \usebeamerfont{subsection title}\insertsubsection\par + \end{beamercolorbox} +} +\AtBeginPart{ + \frame{\partpage} +} +\AtBeginSection{ + \ifbibliography + \else + \frame{\sectionpage} + \fi +} +\AtBeginSubsection{ + \frame{\subsectionpage} +} +$endif$ +$endif$ $if(beamerarticle)$ \usepackage{beamerarticle} % needs to be loaded first $endif$ +\usepackage{amsmath,amssymb} $if(fontfamily)$ \usepackage[$for(fontfamilyoptions)$$fontfamilyoptions$$sep$,$endfor$]{$fontfamily$} $else$ @@ -9,114 +97,174 @@ $else$ $endif$ $if(linestretch)$ \usepackage{setspace} -\setstretch{$linestretch$} $endif$ -\usepackage{amssymb,amsmath} -\usepackage{ifxetex,ifluatex} -\usepackage{fixltx2e} % provides \textsubscript -\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex +\usepackage{iftex} +\ifPDFTeX \usepackage[$if(fontenc)$$fontenc$$else$T1$endif$]{fontenc} \usepackage[utf8]{inputenc} -$if(euro)$ - \usepackage{eurosym} -$endif$ -\else % if luatex or xelatex - \ifxetex + \usepackage{textcomp} % provide euro and other symbols +\else % if luatex or xetex +$if(mathspec)$ + \ifXeTeX \usepackage{mathspec} \else - \usepackage{fontspec} + \usepackage{unicode-math} \fi - \defaultfontfeatures{Ligatures=TeX,Scale=MatchLowercase} -$for(fontfamilies)$ - \newfontfamily{$fontfamilies.name$}[$fontfamilies.options$]{$fontfamilies.font$} -$endfor$ -$if(euro)$ - \newcommand{\euro}{€} +$else$ + \usepackage{unicode-math} $endif$ + \defaultfontfeatures{Scale=MatchLowercase} + \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1} $if(mainfont)$ - \setmainfont[$for(mainfontoptions)$$mainfontoptions$$sep$,$endfor$]{$mainfont$} + \setmainfont[$for(mainfontoptions)$$mainfontoptions$$sep$,$endfor$]{$mainfont$} $endif$ $if(sansfont)$ - \setsansfont[$for(sansfontoptions)$$sansfontoptions$$sep$,$endfor$]{$sansfont$} + \setsansfont[$for(sansfontoptions)$$sansfontoptions$$sep$,$endfor$]{$sansfont$} $endif$ $if(monofont)$ - \setmonofont[Mapping=tex-ansi$if(monofontoptions)$,$for(monofontoptions)$$monofontoptions$$sep$,$endfor$$endif$]{$monofont$} + \setmonofont[$for(monofontoptions)$$monofontoptions$$sep$,$endfor$]{$monofont$} $endif$ +$for(fontfamilies)$ + \newfontfamily{$fontfamilies.name$}[$for(fontfamilies.options)$$fontfamilies.options$$sep$,$endfor$]{$fontfamilies.font$} +$endfor$ $if(mathfont)$ +$if(mathspec)$ + \ifXeTeX \setmathfont(Digits,Latin,Greek)[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} + \else + \setmathfont[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} + \fi +$else$ + \setmathfont[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} +$endif$ $endif$ $if(CJKmainfont)$ + \ifXeTeX \usepackage{xeCJK} \setCJKmainfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$} + \fi +$endif$ +$if(luatexjapresetoptions)$ + \ifLuaTeX + \usepackage[$for(luatexjapresetoptions)$$luatexjapresetoptions$$sep$,$endfor$]{luatexja-preset} + \fi +$endif$ +$if(CJKmainfont)$ + \ifLuaTeX + \usepackage[$for(luatexjafontspecoptions)$$luatexjafontspecoptions$$sep$,$endfor$]{luatexja-fontspec} + \setmainjfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$} + \fi $endif$ \fi -% use upquote if available, for straight quotes in verbatim environments +$if(zero-width-non-joiner)$ +%% Support for zero-width non-joiner characters. +\makeatletter +\def\zerowidthnonjoiner{% + % Prevent ligatures and adjust kerning, but still support hyphenating. + \texorpdfstring{% + \textormath{\nobreak\discretionary{-}{}{\kern.03em}% + \ifvmode\else\nobreak\hskip\z@skip\fi}{}% + }{}% +} +\makeatother +\ifPDFTeX + \DeclareUnicodeCharacter{200C}{\zerowidthnonjoiner} +\else + \catcode`^^^^200c=\active + \protected\def ^^^^200c{\zerowidthnonjoiner} +\fi +%% End of ZWNJ support +$endif$ +$if(beamer)$ +$if(theme)$ +\usetheme[$for(themeoptions)$$themeoptions$$sep$,$endfor$]{$theme$} +$endif$ +$if(colortheme)$ +\usecolortheme{$colortheme$} +$endif$ +$if(fonttheme)$ +\usefonttheme{$fonttheme$} +$endif$ +$if(mainfont)$ +\usefonttheme{serif} % use mainfont rather than sansfont for slide text +$endif$ +$if(innertheme)$ +\useinnertheme{$innertheme$} +$endif$ +$if(outertheme)$ +\useoutertheme{$outertheme$} +$endif$ +$endif$ +% Use upquote if available, for straight quotes in verbatim environments \IfFileExists{upquote.sty}{\usepackage{upquote}}{} -% use microtype if available -\IfFileExists{microtype.sty}{% -\usepackage[$for(microtypeoptions)$$microtypeoptions$$sep$,$endfor$]{microtype} -\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts +\IfFileExists{microtype.sty}{% use microtype if available + \usepackage[$for(microtypeoptions)$$microtypeoptions$$sep$,$endfor$]{microtype} + \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts }{} -\PassOptionsToPackage{hyphens}{url} % url is loaded by hyperref +$if(indent)$ +$else$ +\makeatletter +\@ifundefined{KOMAClassName}{% if non-KOMA class + \IfFileExists{parskip.sty}{% + \usepackage{parskip} + }{% else + \setlength{\parindent}{0pt} + \setlength{\parskip}{6pt plus 2pt minus 1pt}} +}{% if KOMA class + \KOMAoptions{parskip=half}} +\makeatother +$endif$ $if(verbatim-in-note)$ \usepackage{fancyvrb} $endif$ -\usepackage[unicode=true]{hyperref} -$if(colorlinks)$ -\PassOptionsToPackage{usenames,dvipsnames}{color} % color is loaded by hyperref -$endif$ +\usepackage{xcolor} +\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available +\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}} \hypersetup{ $if(title-meta)$ - pdftitle={$title-meta$}, + pdftitle={$title-meta$}, $endif$ $if(author-meta)$ - pdfauthor={$author-meta$}, -$endif$ -$if(keywords)$ - pdfkeywords={$for(keywords)$$keywords$$sep$, $endfor$}, -$endif$ -$if(colorlinks)$ - colorlinks=true, - linkcolor=$if(linkcolor)$$linkcolor$$else$Maroon$endif$, - citecolor=$if(citecolor)$$citecolor$$else$Blue$endif$, - urlcolor=$if(urlcolor)$$urlcolor$$else$Blue$endif$, -$else$ - pdfborder={0 0 0}, -$endif$ - breaklinks=true} -\urlstyle{same} % don't use monospace font for urls -$if(verbatim-in-note)$ -\VerbatimFootnotes % allows verbatim text in footnotes -$endif$ -$if(geometry)$ -\usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry} + pdfauthor={$author-meta$}, $endif$ $if(lang)$ -\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex - \usepackage[shorthands=off,$for(babel-otherlangs)$$babel-otherlangs$,$endfor$main=$babel-lang$]{babel} -$if(babel-newcommands)$ - $babel-newcommands$ + pdflang={$lang$}, $endif$ -\else - \usepackage{polyglossia} - \setmainlanguage[$polyglossia-lang.options$]{$polyglossia-lang.name$} -$for(polyglossia-otherlangs)$ - \setotherlanguage[$polyglossia-otherlangs.options$]{$polyglossia-otherlangs.name$} -$endfor$ -\fi +$if(subject)$ + pdfsubject={$subject$}, $endif$ -$if(natbib)$ -\usepackage{natbib} -\bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$} +$if(keywords)$ + pdfkeywords={$for(keywords)$$keywords$$sep$, $endfor$}, $endif$ -$if(biblatex)$ -\usepackage[$if(biblio-style)$style=$biblio-style$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$]{biblatex} -$for(bibliography)$ -\addbibresource{$bibliography$} -$endfor$ +$if(colorlinks)$ + colorlinks=true, + linkcolor={$if(linkcolor)$$linkcolor$$else$Maroon$endif$}, + filecolor={$if(filecolor)$$filecolor$$else$Maroon$endif$}, + citecolor={$if(citecolor)$$citecolor$$else$Blue$endif$}, + urlcolor={$if(urlcolor)$$urlcolor$$else$Blue$endif$}, +$else$ + hidelinks, +$endif$ + pdfcreator={LaTeX via pandoc}} +\urlstyle{same} % disable monospaced font for URLs +$if(verbatim-in-note)$ +\VerbatimFootnotes % allow verbatim text in footnotes +$endif$ +$if(geometry)$ +$if(beamer)$ +\geometry{$for(geometry)$$geometry$$sep$,$endfor$} +$else$ +\usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry} +$endif$ +$endif$ +$if(beamer)$ +\newif\ifbibliography $endif$ $if(listings)$ \usepackage{listings} +\newcommand{\passthrough}[1]{#1} +\lstset{defaultdialect=[5.3]Lua} +\lstset{defaultdialect=[x86masm]Assembler} $endif$ $if(lhs)$ \lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{} @@ -125,12 +273,30 @@ $if(highlighting-macros)$ $highlighting-macros$ $endif$ $if(tables)$ -\usepackage{longtable,booktabs} -% Fix footnotes in tables (requires footnote package) -\IfFileExists{footnote.sty}{\usepackage{footnote}\makesavenoteenv{long table}}{} +\usepackage{longtable,booktabs,array} +$if(multirow)$ +\usepackage{multirow} +$endif$ +\usepackage{calc} % for calculating minipage widths +$if(beamer)$ +\usepackage{caption} +% Make caption package work with longtable +\makeatletter +\def\fnum@table{\tablename~\thetable} +\makeatother +$else$ +% Correct order of tables after \paragraph or \subparagraph +\usepackage{etoolbox} +\makeatletter +\patchcmd\longtable{\par}{\if@noskipsec\mbox{}\fi\par}{}{} +\makeatother +% Allow footnotes in longtable head/foot +\IfFileExists{footnotehyper.sty}{\usepackage{footnotehyper}}{\usepackage{footnote}} +\makesavenoteenv{longtable} +$endif$ $endif$ $if(graphics)$ -\usepackage{graphicx,grffile} +\usepackage{graphicx} \makeatletter \def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi} \def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi} @@ -139,55 +305,101 @@ $if(graphics)$ % margins by default, and it is still possible to overwrite the defaults % using explicit options in \includegraphics[width, height, ...]{} \setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio} +% Set default figure placement to htbp +\makeatletter +\def\fps@figure{htbp} +\makeatother $endif$ $if(links-as-notes)$ % Make links footnotes instead of hotlinks: -\renewcommand{\href}[2]{#2\footnote{\url{#1}}} +\DeclareRobustCommand{\href}[2]{#2\footnote{\url{#1}}} $endif$ $if(strikeout)$ +$-- also used for underline \usepackage[normalem]{ulem} -% avoid problems with \sout in headers with hyperref: +% Avoid problems with \sout in headers with hyperref \pdfstringdefDisableCommands{\renewcommand{\sout}{}} $endif$ -$if(indent)$ -$else$ -\IfFileExists{parskip.sty}{% -\usepackage{parskip} -}{% else -\setlength{\parindent}{0pt} -\setlength{\parskip}{6pt plus 2pt minus 1pt} -} -$endif$ -\setlength{\emergencystretch}{3em} % prevent overfull lines +\setlength{\emergencystretch}{3em} % prevent overfull lines \providecommand{\tightlist}{% \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} $if(numbersections)$ \setcounter{secnumdepth}{$if(secnumdepth)$$secnumdepth$$else$5$endif$} $else$ -\setcounter{secnumdepth}{0} +\setcounter{secnumdepth}{-\maxdimen} % remove section numbering $endif$ -$if(subparagraph)$ +$if(beamer)$ $else$ -% Redefines (sub)paragraphs to behave more like sections +$if(block-headings)$ +% Make \paragraph and \subparagraph free-standing \ifx\paragraph\undefined\else -\let\oldparagraph\paragraph -\renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}} + \let\oldparagraph\paragraph + \renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}} \fi \ifx\subparagraph\undefined\else -\let\oldsubparagraph\subparagraph -\renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}} + \let\oldsubparagraph\subparagraph + \renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}} \fi $endif$ -$if(dir)$ -\ifxetex - % load bidi as late as possible as it modifies e.g. graphicx - $if(latex-dir-rtl)$ - \usepackage[RTLdocument]{bidi} - $else$ - \usepackage{bidi} - $endif$ +$endif$ +$if(pagestyle)$ +\pagestyle{$pagestyle$} +$endif$ +$if(csl-refs)$ +\newlength{\cslhangindent} +\setlength{\cslhangindent}{1.5em} +\newlength{\csllabelwidth} +\setlength{\csllabelwidth}{3em} +\newlength{\cslentryspacingunit} % times entry-spacing +\setlength{\cslentryspacingunit}{\parskip} +\newenvironment{CSLReferences}[2] % #1 hanging-ident, #2 entry spacing + {% don't indent paragraphs + \setlength{\parindent}{0pt} + % turn on hanging indent if param 1 is 1 + \ifodd #1 + \let\oldpar\par + \def\par{\hangindent=\cslhangindent\oldpar} + \fi + % set entry spacing + \setlength{\parskip}{#2\cslentryspacingunit} + }% + {} +\usepackage{calc} +\newcommand{\CSLBlock}[1]{#1\hfill\break} +\newcommand{\CSLLeftMargin}[1]{\parbox[t]{\csllabelwidth}{#1}} +\newcommand{\CSLRightInline}[1]{\parbox[t]{\linewidth - \csllabelwidth}{#1}\break} +\newcommand{\CSLIndent}[1]{\hspace{\cslhangindent}#1} +$endif$ +$for(header-includes)$ +$header-includes$ +$endfor$ +$if(lang)$ +\ifXeTeX + % Load polyglossia as late as possible: uses bidi with RTL langages (e.g. Hebrew, Arabic) + \usepackage{polyglossia} + \setmainlanguage[$for(polyglossia-lang.options)$$polyglossia-lang.options$$sep$,$endfor$]{$polyglossia-lang.name$} +$for(polyglossia-otherlangs)$ + \setotherlanguage[$for(polyglossia-otherlangs.options)$$polyglossia-otherlangs.options$$sep$,$endfor$]{$polyglossia-otherlangs.name$} +$endfor$ +\else + \usepackage[$for(babel-otherlangs)$$babel-otherlangs$,$endfor$main=$babel-lang$]{babel} +% get rid of language-specific shorthands (see #6817): +\let\LanguageShortHands\languageshorthands +\def\languageshorthands#1{} +$if(babel-newcommands)$ + $babel-newcommands$ +$endif$ \fi -\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex +$endif$ +\ifLuaTeX + \usepackage{selnolig} % disable illegal ligatures +\fi +$if(dir)$ +\ifXeTeX + % Load bidi as late as possible as it modifies e.g. graphicx + \usepackage{bidi} +\fi +\ifPDFTeX \TeXXeTstate=1 \newcommand{\RL}[1]{\beginR #1\endR} \newcommand{\LR}[1]{\beginL #1\endL} @@ -195,38 +407,60 @@ $if(dir)$ \newenvironment{LTR}{\beginL}{\endL} \fi $endif$ - -% set default figure placement to htbp -\makeatletter -\def\fps@figure{htbp} -\makeatother - -$if(header-includes)$ -\usepackage{fancyhdr} -\pagestyle{fancy} -\fancyhead{} -\fancyhead[RO,RE]{$head-content$} -\fancyfoot[LO,LE]{$foot-content$} +$if(natbib)$ +\usepackage[$natbiboptions$]{natbib} +\bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$} +$endif$ +$if(biblatex)$ +\usepackage[$if(biblio-style)$style=$biblio-style$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$]{biblatex} +$for(bibliography)$ +\addbibresource{$bibliography$} +$endfor$ +$endif$ +$if(nocite-ids)$ +\nocite{$for(nocite-ids)$$it$$sep$, $endfor$} +$endif$ +$if(csquotes)$ +\usepackage{csquotes} $endif$ $if(title)$ \title{$title$$if(thanks)$\thanks{$thanks$}$endif$} $endif$ $if(subtitle)$ -\providecommand{\subtitle}[1]{} +$if(beamer)$ +$else$ +\usepackage{etoolbox} +\makeatletter +\providecommand{\subtitle}[1]{% add subtitle to \maketitle + \apptocmd{\@title}{\par {\large #1 \par}}{}{} +} +\makeatother +$endif$ \subtitle{$subtitle$} $endif$ -$if(author)$ \author{$for(author)$$author$$sep$ \and $endfor$} -$endif$ +\date{$date$} +$if(beamer)$ $if(institute)$ -\providecommand{\institute}[1]{} \institute{$for(institute)$$institute$$sep$ \and $endfor$} $endif$ -\date{$date$} +$if(titlegraphic)$ +\titlegraphic{\includegraphics{$titlegraphic$}} +$endif$ +$if(logo)$ +\logo{\includegraphics{$logo$}} +$endif$ +$endif$ \begin{document} +$if(has-frontmatter)$ +\frontmatter +$endif$ $if(title)$ +$if(beamer)$ +\frame{\titlepage} +$else$ \maketitle $endif$ $if(abstract)$ @@ -234,47 +468,83 @@ $if(abstract)$ $abstract$ \end{abstract} $endif$ +$endif$ $for(include-before)$ $include-before$ $endfor$ $if(toc)$ +$if(toc-title)$ +\renewcommand*\contentsname{$toc-title$} +$endif$ +$if(beamer)$ +\begin{frame}[allowframebreaks] +$if(toc-title)$ + \frametitle{$toc-title$} +$endif$ + \tableofcontents[hideallsubsections] +\end{frame} +$else$ { $if(colorlinks)$ -\hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$black$endif$} +\hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$$endif$} $endif$ \setcounter{tocdepth}{$toc-depth$} \tableofcontents } $endif$ -$if(lot)$ -\listoftables $endif$ $if(lof)$ \listoffigures $endif$ +$if(lot)$ +\listoftables +$endif$ +$if(linestretch)$ +\setstretch{$linestretch$} +$endif$ +$if(has-frontmatter)$ +\mainmatter +$endif$ $body$ +$if(has-frontmatter)$ +\backmatter +$endif$ $if(natbib)$ $if(bibliography)$ $if(biblio-title)$ -$if(book-class)$ +$if(has-chapters)$ \renewcommand\bibname{$biblio-title$} $else$ \renewcommand\refname{$biblio-title$} $endif$ $endif$ -\bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$} +$if(beamer)$ +\begin{frame}[allowframebreaks]{$biblio-title$} + \bibliographytrue +$endif$ + \bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$} +$if(beamer)$ +\end{frame} +$endif$ $endif$ $endif$ $if(biblatex)$ +$if(beamer)$ +\begin{frame}[allowframebreaks]{$biblio-title$} + \bibliographytrue + \printbibliography[heading=none] +\end{frame} +$else$ \printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$ +$endif$ $endif$ $for(include-after)$ $include-after$ $endfor$ -\end{document} +\end{document} \ No newline at end of file diff --git a/themes/comply-soc2/templates/default.latex b/themes/comply-soc2/templates/default.latex index 7d14600..c99e87c 100644 --- a/themes/comply-soc2/templates/default.latex +++ b/themes/comply-soc2/templates/default.latex @@ -1,7 +1,95 @@ -\documentclass[$if(fontsize)$$fontsize$,$endif$$if(lang)$$babel-lang$,$endif$$if(papersize)$$papersize$paper,$endif$$for(classoption)$$classoption$$sep$,$endfor$]{$documentclass$} +% Options for packages loaded elsewhere +\PassOptionsToPackage{unicode$for(hyperrefoptions)$,$hyperrefoptions$$endfor$}{hyperref} +\PassOptionsToPackage{hyphens}{url} +$if(colorlinks)$ +\PassOptionsToPackage{dvipsnames,svgnames,x11names}{xcolor} +$endif$ +$if(dir)$ +$if(latex-dir-rtl)$ +\PassOptionsToPackage{RTLdocument}{bidi} +$endif$ +$endif$ +$if(CJKmainfont)$ +\PassOptionsToPackage{space}{xeCJK} +$endif$ +% +\documentclass[ +$if(fontsize)$ + $fontsize$, +$endif$ +$if(lang)$ + $babel-lang$, +$endif$ +$if(papersize)$ + $papersize$paper, +$endif$ +$if(beamer)$ + ignorenonframetext, +$if(handout)$ + handout, +$endif$ +$if(aspectratio)$ + aspectratio=$aspectratio$, +$endif$ +$endif$ +$for(classoption)$ + $classoption$$sep$, +$endfor$ +]{$documentclass$} +$if(beamer)$ +$if(background-image)$ +\usebackgroundtemplate{% + \includegraphics[width=\paperwidth]{$background-image$}% +} +$endif$ +\usepackage{pgfpages} +\setbeamertemplate{caption}[numbered] +\setbeamertemplate{caption label separator}{: } +\setbeamercolor{caption name}{fg=normal text.fg} +\beamertemplatenavigationsymbols$if(navigation)$$navigation$$else$empty$endif$ +$for(beameroption)$ +\setbeameroption{$beameroption$} +$endfor$ +% Prevent slide breaks in the middle of a paragraph +\widowpenalties 1 10000 +\raggedbottom +$if(section-titles)$ +\setbeamertemplate{part page}{ + \centering + \begin{beamercolorbox}[sep=16pt,center]{part title} + \usebeamerfont{part title}\insertpart\par + \end{beamercolorbox} +} +\setbeamertemplate{section page}{ + \centering + \begin{beamercolorbox}[sep=12pt,center]{part title} + \usebeamerfont{section title}\insertsection\par + \end{beamercolorbox} +} +\setbeamertemplate{subsection page}{ + \centering + \begin{beamercolorbox}[sep=8pt,center]{part title} + \usebeamerfont{subsection title}\insertsubsection\par + \end{beamercolorbox} +} +\AtBeginPart{ + \frame{\partpage} +} +\AtBeginSection{ + \ifbibliography + \else + \frame{\sectionpage} + \fi +} +\AtBeginSubsection{ + \frame{\subsectionpage} +} +$endif$ +$endif$ $if(beamerarticle)$ \usepackage{beamerarticle} % needs to be loaded first $endif$ +\usepackage{amsmath,amssymb} $if(fontfamily)$ \usepackage[$for(fontfamilyoptions)$$fontfamilyoptions$$sep$,$endfor$]{$fontfamily$} $else$ @@ -9,114 +97,174 @@ $else$ $endif$ $if(linestretch)$ \usepackage{setspace} -\setstretch{$linestretch$} $endif$ -\usepackage{amssymb,amsmath} -\usepackage{ifxetex,ifluatex} -\usepackage{fixltx2e} % provides \textsubscript -\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex +\usepackage{iftex} +\ifPDFTeX \usepackage[$if(fontenc)$$fontenc$$else$T1$endif$]{fontenc} \usepackage[utf8]{inputenc} -$if(euro)$ - \usepackage{eurosym} -$endif$ -\else % if luatex or xelatex - \ifxetex + \usepackage{textcomp} % provide euro and other symbols +\else % if luatex or xetex +$if(mathspec)$ + \ifXeTeX \usepackage{mathspec} \else - \usepackage{fontspec} + \usepackage{unicode-math} \fi - \defaultfontfeatures{Ligatures=TeX,Scale=MatchLowercase} -$for(fontfamilies)$ - \newfontfamily{$fontfamilies.name$}[$fontfamilies.options$]{$fontfamilies.font$} -$endfor$ -$if(euro)$ - \newcommand{\euro}{€} +$else$ + \usepackage{unicode-math} $endif$ + \defaultfontfeatures{Scale=MatchLowercase} + \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1} $if(mainfont)$ - \setmainfont[$for(mainfontoptions)$$mainfontoptions$$sep$,$endfor$]{$mainfont$} + \setmainfont[$for(mainfontoptions)$$mainfontoptions$$sep$,$endfor$]{$mainfont$} $endif$ $if(sansfont)$ - \setsansfont[$for(sansfontoptions)$$sansfontoptions$$sep$,$endfor$]{$sansfont$} + \setsansfont[$for(sansfontoptions)$$sansfontoptions$$sep$,$endfor$]{$sansfont$} $endif$ $if(monofont)$ - \setmonofont[Mapping=tex-ansi$if(monofontoptions)$,$for(monofontoptions)$$monofontoptions$$sep$,$endfor$$endif$]{$monofont$} + \setmonofont[$for(monofontoptions)$$monofontoptions$$sep$,$endfor$]{$monofont$} $endif$ +$for(fontfamilies)$ + \newfontfamily{$fontfamilies.name$}[$for(fontfamilies.options)$$fontfamilies.options$$sep$,$endfor$]{$fontfamilies.font$} +$endfor$ $if(mathfont)$ +$if(mathspec)$ + \ifXeTeX \setmathfont(Digits,Latin,Greek)[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} + \else + \setmathfont[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} + \fi +$else$ + \setmathfont[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} +$endif$ $endif$ $if(CJKmainfont)$ + \ifXeTeX \usepackage{xeCJK} \setCJKmainfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$} + \fi +$endif$ +$if(luatexjapresetoptions)$ + \ifLuaTeX + \usepackage[$for(luatexjapresetoptions)$$luatexjapresetoptions$$sep$,$endfor$]{luatexja-preset} + \fi +$endif$ +$if(CJKmainfont)$ + \ifLuaTeX + \usepackage[$for(luatexjafontspecoptions)$$luatexjafontspecoptions$$sep$,$endfor$]{luatexja-fontspec} + \setmainjfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$} + \fi $endif$ \fi -% use upquote if available, for straight quotes in verbatim environments +$if(zero-width-non-joiner)$ +%% Support for zero-width non-joiner characters. +\makeatletter +\def\zerowidthnonjoiner{% + % Prevent ligatures and adjust kerning, but still support hyphenating. + \texorpdfstring{% + \textormath{\nobreak\discretionary{-}{}{\kern.03em}% + \ifvmode\else\nobreak\hskip\z@skip\fi}{}% + }{}% +} +\makeatother +\ifPDFTeX + \DeclareUnicodeCharacter{200C}{\zerowidthnonjoiner} +\else + \catcode`^^^^200c=\active + \protected\def ^^^^200c{\zerowidthnonjoiner} +\fi +%% End of ZWNJ support +$endif$ +$if(beamer)$ +$if(theme)$ +\usetheme[$for(themeoptions)$$themeoptions$$sep$,$endfor$]{$theme$} +$endif$ +$if(colortheme)$ +\usecolortheme{$colortheme$} +$endif$ +$if(fonttheme)$ +\usefonttheme{$fonttheme$} +$endif$ +$if(mainfont)$ +\usefonttheme{serif} % use mainfont rather than sansfont for slide text +$endif$ +$if(innertheme)$ +\useinnertheme{$innertheme$} +$endif$ +$if(outertheme)$ +\useoutertheme{$outertheme$} +$endif$ +$endif$ +% Use upquote if available, for straight quotes in verbatim environments \IfFileExists{upquote.sty}{\usepackage{upquote}}{} -% use microtype if available -\IfFileExists{microtype.sty}{% -\usepackage[$for(microtypeoptions)$$microtypeoptions$$sep$,$endfor$]{microtype} -\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts +\IfFileExists{microtype.sty}{% use microtype if available + \usepackage[$for(microtypeoptions)$$microtypeoptions$$sep$,$endfor$]{microtype} + \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts }{} -\PassOptionsToPackage{hyphens}{url} % url is loaded by hyperref +$if(indent)$ +$else$ +\makeatletter +\@ifundefined{KOMAClassName}{% if non-KOMA class + \IfFileExists{parskip.sty}{% + \usepackage{parskip} + }{% else + \setlength{\parindent}{0pt} + \setlength{\parskip}{6pt plus 2pt minus 1pt}} +}{% if KOMA class + \KOMAoptions{parskip=half}} +\makeatother +$endif$ $if(verbatim-in-note)$ \usepackage{fancyvrb} $endif$ -\usepackage[unicode=true]{hyperref} -$if(colorlinks)$ -\PassOptionsToPackage{usenames,dvipsnames}{color} % color is loaded by hyperref -$endif$ +\usepackage{xcolor} +\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available +\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}} \hypersetup{ $if(title-meta)$ - pdftitle={$title-meta$}, + pdftitle={$title-meta$}, $endif$ $if(author-meta)$ - pdfauthor={$author-meta$}, -$endif$ -$if(keywords)$ - pdfkeywords={$for(keywords)$$keywords$$sep$, $endfor$}, -$endif$ -$if(colorlinks)$ - colorlinks=true, - linkcolor=$if(linkcolor)$$linkcolor$$else$Maroon$endif$, - citecolor=$if(citecolor)$$citecolor$$else$Blue$endif$, - urlcolor=$if(urlcolor)$$urlcolor$$else$Blue$endif$, -$else$ - pdfborder={0 0 0}, -$endif$ - breaklinks=true} -\urlstyle{same} % don't use monospace font for urls -$if(verbatim-in-note)$ -\VerbatimFootnotes % allows verbatim text in footnotes -$endif$ -$if(geometry)$ -\usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry} + pdfauthor={$author-meta$}, $endif$ $if(lang)$ -\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex - \usepackage[shorthands=off,$for(babel-otherlangs)$$babel-otherlangs$,$endfor$main=$babel-lang$]{babel} -$if(babel-newcommands)$ - $babel-newcommands$ + pdflang={$lang$}, $endif$ -\else - \usepackage{polyglossia} - \setmainlanguage[$polyglossia-lang.options$]{$polyglossia-lang.name$} -$for(polyglossia-otherlangs)$ - \setotherlanguage[$polyglossia-otherlangs.options$]{$polyglossia-otherlangs.name$} -$endfor$ -\fi +$if(subject)$ + pdfsubject={$subject$}, $endif$ -$if(natbib)$ -\usepackage{natbib} -\bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$} +$if(keywords)$ + pdfkeywords={$for(keywords)$$keywords$$sep$, $endfor$}, $endif$ -$if(biblatex)$ -\usepackage[$if(biblio-style)$style=$biblio-style$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$]{biblatex} -$for(bibliography)$ -\addbibresource{$bibliography$} -$endfor$ +$if(colorlinks)$ + colorlinks=true, + linkcolor={$if(linkcolor)$$linkcolor$$else$Maroon$endif$}, + filecolor={$if(filecolor)$$filecolor$$else$Maroon$endif$}, + citecolor={$if(citecolor)$$citecolor$$else$Blue$endif$}, + urlcolor={$if(urlcolor)$$urlcolor$$else$Blue$endif$}, +$else$ + hidelinks, +$endif$ + pdfcreator={LaTeX via pandoc}} +\urlstyle{same} % disable monospaced font for URLs +$if(verbatim-in-note)$ +\VerbatimFootnotes % allow verbatim text in footnotes +$endif$ +$if(geometry)$ +$if(beamer)$ +\geometry{$for(geometry)$$geometry$$sep$,$endfor$} +$else$ +\usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry} +$endif$ +$endif$ +$if(beamer)$ +\newif\ifbibliography $endif$ $if(listings)$ \usepackage{listings} +\newcommand{\passthrough}[1]{#1} +\lstset{defaultdialect=[5.3]Lua} +\lstset{defaultdialect=[x86masm]Assembler} $endif$ $if(lhs)$ \lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{} @@ -125,12 +273,30 @@ $if(highlighting-macros)$ $highlighting-macros$ $endif$ $if(tables)$ -\usepackage{longtable,booktabs} -% Fix footnotes in tables (requires footnote package) -\IfFileExists{footnote.sty}{\usepackage{footnote}\makesavenoteenv{long table}}{} +\usepackage{longtable,booktabs,array} +$if(multirow)$ +\usepackage{multirow} +$endif$ +\usepackage{calc} % for calculating minipage widths +$if(beamer)$ +\usepackage{caption} +% Make caption package work with longtable +\makeatletter +\def\fnum@table{\tablename~\thetable} +\makeatother +$else$ +% Correct order of tables after \paragraph or \subparagraph +\usepackage{etoolbox} +\makeatletter +\patchcmd\longtable{\par}{\if@noskipsec\mbox{}\fi\par}{}{} +\makeatother +% Allow footnotes in longtable head/foot +\IfFileExists{footnotehyper.sty}{\usepackage{footnotehyper}}{\usepackage{footnote}} +\makesavenoteenv{longtable} +$endif$ $endif$ $if(graphics)$ -\usepackage{graphicx,grffile} +\usepackage{graphicx} \makeatletter \def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi} \def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi} @@ -139,55 +305,101 @@ $if(graphics)$ % margins by default, and it is still possible to overwrite the defaults % using explicit options in \includegraphics[width, height, ...]{} \setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio} +% Set default figure placement to htbp +\makeatletter +\def\fps@figure{htbp} +\makeatother $endif$ $if(links-as-notes)$ % Make links footnotes instead of hotlinks: -\renewcommand{\href}[2]{#2\footnote{\url{#1}}} +\DeclareRobustCommand{\href}[2]{#2\footnote{\url{#1}}} $endif$ $if(strikeout)$ +$-- also used for underline \usepackage[normalem]{ulem} -% avoid problems with \sout in headers with hyperref: +% Avoid problems with \sout in headers with hyperref \pdfstringdefDisableCommands{\renewcommand{\sout}{}} $endif$ -$if(indent)$ -$else$ -\IfFileExists{parskip.sty}{% -\usepackage{parskip} -}{% else -\setlength{\parindent}{0pt} -\setlength{\parskip}{6pt plus 2pt minus 1pt} -} -$endif$ -\setlength{\emergencystretch}{3em} % prevent overfull lines +\setlength{\emergencystretch}{3em} % prevent overfull lines \providecommand{\tightlist}{% \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} $if(numbersections)$ \setcounter{secnumdepth}{$if(secnumdepth)$$secnumdepth$$else$5$endif$} $else$ -\setcounter{secnumdepth}{0} +\setcounter{secnumdepth}{-\maxdimen} % remove section numbering $endif$ -$if(subparagraph)$ +$if(beamer)$ $else$ -% Redefines (sub)paragraphs to behave more like sections +$if(block-headings)$ +% Make \paragraph and \subparagraph free-standing \ifx\paragraph\undefined\else -\let\oldparagraph\paragraph -\renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}} + \let\oldparagraph\paragraph + \renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}} \fi \ifx\subparagraph\undefined\else -\let\oldsubparagraph\subparagraph -\renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}} + \let\oldsubparagraph\subparagraph + \renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}} \fi $endif$ -$if(dir)$ -\ifxetex - % load bidi as late as possible as it modifies e.g. graphicx - $if(latex-dir-rtl)$ - \usepackage[RTLdocument]{bidi} - $else$ - \usepackage{bidi} - $endif$ +$endif$ +$if(pagestyle)$ +\pagestyle{$pagestyle$} +$endif$ +$if(csl-refs)$ +\newlength{\cslhangindent} +\setlength{\cslhangindent}{1.5em} +\newlength{\csllabelwidth} +\setlength{\csllabelwidth}{3em} +\newlength{\cslentryspacingunit} % times entry-spacing +\setlength{\cslentryspacingunit}{\parskip} +\newenvironment{CSLReferences}[2] % #1 hanging-ident, #2 entry spacing + {% don't indent paragraphs + \setlength{\parindent}{0pt} + % turn on hanging indent if param 1 is 1 + \ifodd #1 + \let\oldpar\par + \def\par{\hangindent=\cslhangindent\oldpar} + \fi + % set entry spacing + \setlength{\parskip}{#2\cslentryspacingunit} + }% + {} +\usepackage{calc} +\newcommand{\CSLBlock}[1]{#1\hfill\break} +\newcommand{\CSLLeftMargin}[1]{\parbox[t]{\csllabelwidth}{#1}} +\newcommand{\CSLRightInline}[1]{\parbox[t]{\linewidth - \csllabelwidth}{#1}\break} +\newcommand{\CSLIndent}[1]{\hspace{\cslhangindent}#1} +$endif$ +$for(header-includes)$ +$header-includes$ +$endfor$ +$if(lang)$ +\ifXeTeX + % Load polyglossia as late as possible: uses bidi with RTL langages (e.g. Hebrew, Arabic) + \usepackage{polyglossia} + \setmainlanguage[$for(polyglossia-lang.options)$$polyglossia-lang.options$$sep$,$endfor$]{$polyglossia-lang.name$} +$for(polyglossia-otherlangs)$ + \setotherlanguage[$for(polyglossia-otherlangs.options)$$polyglossia-otherlangs.options$$sep$,$endfor$]{$polyglossia-otherlangs.name$} +$endfor$ +\else + \usepackage[$for(babel-otherlangs)$$babel-otherlangs$,$endfor$main=$babel-lang$]{babel} +% get rid of language-specific shorthands (see #6817): +\let\LanguageShortHands\languageshorthands +\def\languageshorthands#1{} +$if(babel-newcommands)$ + $babel-newcommands$ +$endif$ \fi -\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex +$endif$ +\ifLuaTeX + \usepackage{selnolig} % disable illegal ligatures +\fi +$if(dir)$ +\ifXeTeX + % Load bidi as late as possible as it modifies e.g. graphicx + \usepackage{bidi} +\fi +\ifPDFTeX \TeXXeTstate=1 \newcommand{\RL}[1]{\beginR #1\endR} \newcommand{\LR}[1]{\beginL #1\endL} @@ -195,38 +407,60 @@ $if(dir)$ \newenvironment{LTR}{\beginL}{\endL} \fi $endif$ - -% set default figure placement to htbp -\makeatletter -\def\fps@figure{htbp} -\makeatother - -$if(header-includes)$ -\usepackage{fancyhdr} -\pagestyle{fancy} -\fancyhead{} -\fancyhead[RO,RE]{$head-content$} -\fancyfoot[LO,LE]{$foot-content$} +$if(natbib)$ +\usepackage[$natbiboptions$]{natbib} +\bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$} +$endif$ +$if(biblatex)$ +\usepackage[$if(biblio-style)$style=$biblio-style$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$]{biblatex} +$for(bibliography)$ +\addbibresource{$bibliography$} +$endfor$ +$endif$ +$if(nocite-ids)$ +\nocite{$for(nocite-ids)$$it$$sep$, $endfor$} +$endif$ +$if(csquotes)$ +\usepackage{csquotes} $endif$ $if(title)$ \title{$title$$if(thanks)$\thanks{$thanks$}$endif$} $endif$ $if(subtitle)$ -\providecommand{\subtitle}[1]{} +$if(beamer)$ +$else$ +\usepackage{etoolbox} +\makeatletter +\providecommand{\subtitle}[1]{% add subtitle to \maketitle + \apptocmd{\@title}{\par {\large #1 \par}}{}{} +} +\makeatother +$endif$ \subtitle{$subtitle$} $endif$ -$if(author)$ \author{$for(author)$$author$$sep$ \and $endfor$} -$endif$ +\date{$date$} +$if(beamer)$ $if(institute)$ -\providecommand{\institute}[1]{} \institute{$for(institute)$$institute$$sep$ \and $endfor$} $endif$ -\date{$date$} +$if(titlegraphic)$ +\titlegraphic{\includegraphics{$titlegraphic$}} +$endif$ +$if(logo)$ +\logo{\includegraphics{$logo$}} +$endif$ +$endif$ \begin{document} +$if(has-frontmatter)$ +\frontmatter +$endif$ $if(title)$ +$if(beamer)$ +\frame{\titlepage} +$else$ \maketitle $endif$ $if(abstract)$ @@ -234,47 +468,83 @@ $if(abstract)$ $abstract$ \end{abstract} $endif$ +$endif$ $for(include-before)$ $include-before$ $endfor$ $if(toc)$ +$if(toc-title)$ +\renewcommand*\contentsname{$toc-title$} +$endif$ +$if(beamer)$ +\begin{frame}[allowframebreaks] +$if(toc-title)$ + \frametitle{$toc-title$} +$endif$ + \tableofcontents[hideallsubsections] +\end{frame} +$else$ { $if(colorlinks)$ -\hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$black$endif$} +\hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$$endif$} $endif$ \setcounter{tocdepth}{$toc-depth$} \tableofcontents } $endif$ -$if(lot)$ -\listoftables $endif$ $if(lof)$ \listoffigures $endif$ +$if(lot)$ +\listoftables +$endif$ +$if(linestretch)$ +\setstretch{$linestretch$} +$endif$ +$if(has-frontmatter)$ +\mainmatter +$endif$ $body$ +$if(has-frontmatter)$ +\backmatter +$endif$ $if(natbib)$ $if(bibliography)$ $if(biblio-title)$ -$if(book-class)$ +$if(has-chapters)$ \renewcommand\bibname{$biblio-title$} $else$ \renewcommand\refname{$biblio-title$} $endif$ $endif$ -\bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$} +$if(beamer)$ +\begin{frame}[allowframebreaks]{$biblio-title$} + \bibliographytrue +$endif$ + \bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$} +$if(beamer)$ +\end{frame} +$endif$ $endif$ $endif$ $if(biblatex)$ +$if(beamer)$ +\begin{frame}[allowframebreaks]{$biblio-title$} + \bibliographytrue + \printbibliography[heading=none] +\end{frame} +$else$ \printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$ +$endif$ $endif$ $for(include-after)$ $include-after$ $endfor$ -\end{document} +\end{document} \ No newline at end of file diff --git a/vendor/github.com/joho/godotenv/.gitignore b/vendor/github.com/joho/godotenv/.gitignore new file mode 100644 index 0000000..e43b0f9 --- /dev/null +++ b/vendor/github.com/joho/godotenv/.gitignore @@ -0,0 +1 @@ +.DS_Store diff --git a/vendor/github.com/joho/godotenv/LICENCE b/vendor/github.com/joho/godotenv/LICENCE new file mode 100644 index 0000000..e7ddd51 --- /dev/null +++ b/vendor/github.com/joho/godotenv/LICENCE @@ -0,0 +1,23 @@ +Copyright (c) 2013 John Barton + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/vendor/github.com/joho/godotenv/README.md b/vendor/github.com/joho/godotenv/README.md new file mode 100644 index 0000000..1ec45b2 --- /dev/null +++ b/vendor/github.com/joho/godotenv/README.md @@ -0,0 +1,188 @@ +# GoDotEnv ![CI](https://github.com/joho/godotenv/workflows/CI/badge.svg) [![Go Report Card](https://goreportcard.com/badge/github.com/joho/godotenv)](https://goreportcard.com/report/github.com/joho/godotenv) + +A Go (golang) port of the Ruby dotenv project (which loads env vars from a .env file) + +From the original Library: + +> Storing configuration in the environment is one of the tenets of a twelve-factor app. Anything that is likely to change between deployment environments–such as resource handles for databases or credentials for external services–should be extracted from the code into environment variables. +> +> But it is not always practical to set environment variables on development machines or continuous integration servers where multiple projects are run. Dotenv load variables from a .env file into ENV when the environment is bootstrapped. + +It can be used as a library (for loading in env for your own daemons etc) or as a bin command. + +There is test coverage and CI for both linuxish and windows environments, but I make no guarantees about the bin version working on windows. + +## Installation + +As a library + +```shell +go get github.com/joho/godotenv +``` + +or if you want to use it as a bin command +```shell +go get github.com/joho/godotenv/cmd/godotenv +``` + +## Usage + +Add your application configuration to your `.env` file in the root of your project: + +```shell +S3_BUCKET=YOURS3BUCKET +SECRET_KEY=YOURSECRETKEYGOESHERE +``` + +Then in your Go app you can do something like + +```go +package main + +import ( + "github.com/joho/godotenv" + "log" + "os" +) + +func main() { + err := godotenv.Load() + if err != nil { + log.Fatal("Error loading .env file") + } + + s3Bucket := os.Getenv("S3_BUCKET") + secretKey := os.Getenv("SECRET_KEY") + + // now do something with s3 or whatever +} +``` + +If you're even lazier than that, you can just take advantage of the autoload package which will read in `.env` on import + +```go +import _ "github.com/joho/godotenv/autoload" +``` + +While `.env` in the project root is the default, you don't have to be constrained, both examples below are 100% legit + +```go +_ = godotenv.Load("somerandomfile") +_ = godotenv.Load("filenumberone.env", "filenumbertwo.env") +``` + +If you want to be really fancy with your env file you can do comments and exports (below is a valid env file) + +```shell +# I am a comment and that is OK +SOME_VAR=someval +FOO=BAR # comments at line end are OK too +export BAR=BAZ +``` + +Or finally you can do YAML(ish) style + +```yaml +FOO: bar +BAR: baz +``` + +as a final aside, if you don't want godotenv munging your env you can just get a map back instead + +```go +var myEnv map[string]string +myEnv, err := godotenv.Read() + +s3Bucket := myEnv["S3_BUCKET"] +``` + +... or from an `io.Reader` instead of a local file + +```go +reader := getRemoteFile() +myEnv, err := godotenv.Parse(reader) +``` + +... or from a `string` if you so desire + +```go +content := getRemoteFileContent() +myEnv, err := godotenv.Unmarshal(content) +``` + +### Precedence & Conventions + +Existing envs take precedence of envs that are loaded later. + +The [convention](https://github.com/bkeepers/dotenv#what-other-env-files-can-i-use) +for managing multiple environments (i.e. development, test, production) +is to create an env named `{YOURAPP}_ENV` and load envs in this order: + +```go +env := os.Getenv("FOO_ENV") +if "" == env { + env = "development" +} + +godotenv.Load(".env." + env + ".local") +if "test" != env { + godotenv.Load(".env.local") +} +godotenv.Load(".env." + env) +godotenv.Load() // The Original .env +``` + +If you need to, you can also use `godotenv.Overload()` to defy this convention +and overwrite existing envs instead of only supplanting them. Use with caution. + +### Command Mode + +Assuming you've installed the command as above and you've got `$GOPATH/bin` in your `$PATH` + +``` +godotenv -f /some/path/to/.env some_command with some args +``` + +If you don't specify `-f` it will fall back on the default of loading `.env` in `PWD` + +### Writing Env Files + +Godotenv can also write a map representing the environment to a correctly-formatted and escaped file + +```go +env, err := godotenv.Unmarshal("KEY=value") +err := godotenv.Write(env, "./.env") +``` + +... or to a string + +```go +env, err := godotenv.Unmarshal("KEY=value") +content, err := godotenv.Marshal(env) +``` + +## Contributing + +Contributions are most welcome! The parser itself is pretty stupidly naive and I wouldn't be surprised if it breaks with edge cases. + +*code changes without tests will not be accepted* + +1. Fork it +2. Create your feature branch (`git checkout -b my-new-feature`) +3. Commit your changes (`git commit -am 'Added some feature'`) +4. Push to the branch (`git push origin my-new-feature`) +5. Create new Pull Request + +## Releases + +Releases should follow [Semver](http://semver.org/) though the first couple of releases are `v1` and `v1.1`. + +Use [annotated tags for all releases](https://github.com/joho/godotenv/issues/30). Example `git tag -a v1.2.1` + +## CI + +Linux: [![Build Status](https://travis-ci.org/joho/godotenv.svg?branch=master)](https://travis-ci.org/joho/godotenv) Windows: [![Build status](https://ci.appveyor.com/api/projects/status/9v40vnfvvgde64u4)](https://ci.appveyor.com/project/joho/godotenv) + +## Who? + +The original library [dotenv](https://github.com/bkeepers/dotenv) was written by [Brandon Keepers](http://opensoul.org/), and this port was done by [John Barton](https://johnbarton.co/) based off the tests/fixtures in the original library. diff --git a/vendor/github.com/joho/godotenv/godotenv.go b/vendor/github.com/joho/godotenv/godotenv.go new file mode 100644 index 0000000..466f2eb --- /dev/null +++ b/vendor/github.com/joho/godotenv/godotenv.go @@ -0,0 +1,363 @@ +// Package godotenv is a go port of the ruby dotenv library (https://github.com/bkeepers/dotenv) +// +// Examples/readme can be found on the github page at https://github.com/joho/godotenv +// +// The TL;DR is that you make a .env file that looks something like +// +// SOME_ENV_VAR=somevalue +// +// and then in your go code you can call +// +// godotenv.Load() +// +// and all the env vars declared in .env will be available through os.Getenv("SOME_ENV_VAR") +package godotenv + +import ( + "bufio" + "errors" + "fmt" + "io" + "os" + "os/exec" + "regexp" + "sort" + "strconv" + "strings" +) + +const doubleQuoteSpecialChars = "\\\n\r\"!$`" + +// Load will read your env file(s) and load them into ENV for this process. +// +// Call this function as close as possible to the start of your program (ideally in main) +// +// If you call Load without any args it will default to loading .env in the current path +// +// You can otherwise tell it which files to load (there can be more than one) like +// +// godotenv.Load("fileone", "filetwo") +// +// It's important to note that it WILL NOT OVERRIDE an env variable that already exists - consider the .env file to set dev vars or sensible defaults +func Load(filenames ...string) (err error) { + filenames = filenamesOrDefault(filenames) + + for _, filename := range filenames { + err = loadFile(filename, false) + if err != nil { + return // return early on a spazout + } + } + return +} + +// Overload will read your env file(s) and load them into ENV for this process. +// +// Call this function as close as possible to the start of your program (ideally in main) +// +// If you call Overload without any args it will default to loading .env in the current path +// +// You can otherwise tell it which files to load (there can be more than one) like +// +// godotenv.Overload("fileone", "filetwo") +// +// It's important to note this WILL OVERRIDE an env variable that already exists - consider the .env file to forcefilly set all vars. +func Overload(filenames ...string) (err error) { + filenames = filenamesOrDefault(filenames) + + for _, filename := range filenames { + err = loadFile(filename, true) + if err != nil { + return // return early on a spazout + } + } + return +} + +// Read all env (with same file loading semantics as Load) but return values as +// a map rather than automatically writing values into env +func Read(filenames ...string) (envMap map[string]string, err error) { + filenames = filenamesOrDefault(filenames) + envMap = make(map[string]string) + + for _, filename := range filenames { + individualEnvMap, individualErr := readFile(filename) + + if individualErr != nil { + err = individualErr + return // return early on a spazout + } + + for key, value := range individualEnvMap { + envMap[key] = value + } + } + + return +} + +// Parse reads an env file from io.Reader, returning a map of keys and values. +func Parse(r io.Reader) (envMap map[string]string, err error) { + envMap = make(map[string]string) + + var lines []string + scanner := bufio.NewScanner(r) + for scanner.Scan() { + lines = append(lines, scanner.Text()) + } + + if err = scanner.Err(); err != nil { + return + } + + for _, fullLine := range lines { + if !isIgnoredLine(fullLine) { + var key, value string + key, value, err = parseLine(fullLine, envMap) + + if err != nil { + return + } + envMap[key] = value + } + } + return +} + +//Unmarshal reads an env file from a string, returning a map of keys and values. +func Unmarshal(str string) (envMap map[string]string, err error) { + return Parse(strings.NewReader(str)) +} + +// Exec loads env vars from the specified filenames (empty map falls back to default) +// then executes the cmd specified. +// +// Simply hooks up os.Stdin/err/out to the command and calls Run() +// +// If you want more fine grained control over your command it's recommended +// that you use `Load()` or `Read()` and the `os/exec` package yourself. +func Exec(filenames []string, cmd string, cmdArgs []string) error { + Load(filenames...) + + command := exec.Command(cmd, cmdArgs...) + command.Stdin = os.Stdin + command.Stdout = os.Stdout + command.Stderr = os.Stderr + return command.Run() +} + +// Write serializes the given environment and writes it to a file +func Write(envMap map[string]string, filename string) error { + content, err := Marshal(envMap) + if err != nil { + return err + } + file, err := os.Create(filename) + if err != nil { + return err + } + defer file.Close() + _, err = file.WriteString(content + "\n") + if err != nil { + return err + } + file.Sync() + return err +} + +// Marshal outputs the given environment as a dotenv-formatted environment file. +// Each line is in the format: KEY="VALUE" where VALUE is backslash-escaped. +func Marshal(envMap map[string]string) (string, error) { + lines := make([]string, 0, len(envMap)) + for k, v := range envMap { + if d, err := strconv.Atoi(v); err == nil { + lines = append(lines, fmt.Sprintf(`%s=%d`, k, d)) + } else { + lines = append(lines, fmt.Sprintf(`%s="%s"`, k, doubleQuoteEscape(v))) + } + } + sort.Strings(lines) + return strings.Join(lines, "\n"), nil +} + +func filenamesOrDefault(filenames []string) []string { + if len(filenames) == 0 { + return []string{".env"} + } + return filenames +} + +func loadFile(filename string, overload bool) error { + envMap, err := readFile(filename) + if err != nil { + return err + } + + currentEnv := map[string]bool{} + rawEnv := os.Environ() + for _, rawEnvLine := range rawEnv { + key := strings.Split(rawEnvLine, "=")[0] + currentEnv[key] = true + } + + for key, value := range envMap { + if !currentEnv[key] || overload { + os.Setenv(key, value) + } + } + + return nil +} + +func readFile(filename string) (envMap map[string]string, err error) { + file, err := os.Open(filename) + if err != nil { + return + } + defer file.Close() + + return Parse(file) +} + +var exportRegex = regexp.MustCompile(`^\s*(?:export\s+)?(.*?)\s*$`) + +func parseLine(line string, envMap map[string]string) (key string, value string, err error) { + if len(line) == 0 { + err = errors.New("zero length string") + return + } + + // ditch the comments (but keep quoted hashes) + if strings.Contains(line, "#") { + segmentsBetweenHashes := strings.Split(line, "#") + quotesAreOpen := false + var segmentsToKeep []string + for _, segment := range segmentsBetweenHashes { + if strings.Count(segment, "\"") == 1 || strings.Count(segment, "'") == 1 { + if quotesAreOpen { + quotesAreOpen = false + segmentsToKeep = append(segmentsToKeep, segment) + } else { + quotesAreOpen = true + } + } + + if len(segmentsToKeep) == 0 || quotesAreOpen { + segmentsToKeep = append(segmentsToKeep, segment) + } + } + + line = strings.Join(segmentsToKeep, "#") + } + + firstEquals := strings.Index(line, "=") + firstColon := strings.Index(line, ":") + splitString := strings.SplitN(line, "=", 2) + if firstColon != -1 && (firstColon < firstEquals || firstEquals == -1) { + //this is a yaml-style line + splitString = strings.SplitN(line, ":", 2) + } + + if len(splitString) != 2 { + err = errors.New("Can't separate key from value") + return + } + + // Parse the key + key = splitString[0] + if strings.HasPrefix(key, "export") { + key = strings.TrimPrefix(key, "export") + } + key = strings.TrimSpace(key) + + key = exportRegex.ReplaceAllString(splitString[0], "$1") + + // Parse the value + value = parseValue(splitString[1], envMap) + return +} + +var ( + singleQuotesRegex = regexp.MustCompile(`\A'(.*)'\z`) + doubleQuotesRegex = regexp.MustCompile(`\A"(.*)"\z`) + escapeRegex = regexp.MustCompile(`\\.`) + unescapeCharsRegex = regexp.MustCompile(`\\([^$])`) +) + +func parseValue(value string, envMap map[string]string) string { + + // trim + value = strings.Trim(value, " ") + + // check if we've got quoted values or possible escapes + if len(value) > 1 { + singleQuotes := singleQuotesRegex.FindStringSubmatch(value) + + doubleQuotes := doubleQuotesRegex.FindStringSubmatch(value) + + if singleQuotes != nil || doubleQuotes != nil { + // pull the quotes off the edges + value = value[1 : len(value)-1] + } + + if doubleQuotes != nil { + // expand newlines + value = escapeRegex.ReplaceAllStringFunc(value, func(match string) string { + c := strings.TrimPrefix(match, `\`) + switch c { + case "n": + return "\n" + case "r": + return "\r" + default: + return match + } + }) + // unescape characters + value = unescapeCharsRegex.ReplaceAllString(value, "$1") + } + + if singleQuotes == nil { + value = expandVariables(value, envMap) + } + } + + return value +} + +var expandVarRegex = regexp.MustCompile(`(\\)?(\$)(\()?\{?([A-Z0-9_]+)?\}?`) + +func expandVariables(v string, m map[string]string) string { + return expandVarRegex.ReplaceAllStringFunc(v, func(s string) string { + submatch := expandVarRegex.FindStringSubmatch(s) + + if submatch == nil { + return s + } + if submatch[1] == "\\" || submatch[2] == "(" { + return submatch[0][1:] + } else if submatch[4] != "" { + return m[submatch[4]] + } + return s + }) +} + +func isIgnoredLine(line string) bool { + trimmedLine := strings.TrimSpace(line) + return len(trimmedLine) == 0 || strings.HasPrefix(trimmedLine, "#") +} + +func doubleQuoteEscape(line string) string { + for _, c := range doubleQuoteSpecialChars { + toReplace := "\\" + string(c) + if c == '\n' { + toReplace = `\n` + } + if c == '\r' { + toReplace = `\r` + } + line = strings.Replace(line, string(c), toReplace, -1) + } + return line +} diff --git a/vendor/github.com/joho/godotenv/renovate.json b/vendor/github.com/joho/godotenv/renovate.json new file mode 100644 index 0000000..f45d8f1 --- /dev/null +++ b/vendor/github.com/joho/godotenv/renovate.json @@ -0,0 +1,5 @@ +{ + "extends": [ + "config:base" + ] +} diff --git a/vendor/modules.txt b/vendor/modules.txt index d7ff60d..564f250 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -116,6 +116,9 @@ github.com/hashicorp/go-retryablehttp # github.com/jcelliott/lumber v0.0.0-20160324203708-dd349441af25 ## explicit github.com/jcelliott/lumber +# github.com/joho/godotenv v1.4.0 +## explicit; go 1.12 +github.com/joho/godotenv # github.com/juju/ansiterm v0.0.0-20210929141451-8b71cc96ebdc ## explicit; go 1.14 github.com/juju/ansiterm From c78f9007c27fa717a1157cb262b5b2654a6d0dae Mon Sep 17 00:00:00 2001 From: wallrony Date: Mon, 1 Nov 2021 15:04:27 -0300 Subject: [PATCH 5/6] Fix error handling inside pandocPandoc func (#100) Other changes: - Updated strongdm/pandoc image references to edge Co-authored-by: vassalo --- Dockerfile | 2 +- Makefile | 4 ++-- internal/cli/app.go | 4 ++-- internal/render/pandoc.go | 13 ++++++------- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/Dockerfile b/Dockerfile index 337b754..5560f72 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM strongdm/pandoc:latest +FROM strongdm/pandoc:edge # based on implementation by James Gregory MAINTAINER Comply diff --git a/Makefile b/Makefile index 9a247f6..1b8754c 100644 --- a/Makefile +++ b/Makefile @@ -52,8 +52,8 @@ else endif docker: - cd build && docker build -t strongdm/pandoc . - docker push strongdm/pandoc + cd build && docker build -t strongdm/pandoc:edge . + docker push strongdm/pandoc:edge cleanse: git checkout --orphan newbranch diff --git a/internal/cli/app.go b/internal/cli/app.go index 37e424b..d57a542 100644 --- a/internal/cli/app.go +++ b/internal/cli/app.go @@ -274,7 +274,7 @@ var pandocImageExists = func(ctx context.Context) bool { return false } for _, image := range imageList { - if strings.Contains(image.RepoTags[0], "strongdm/pandoc") { + if strings.Contains(image.RepoTags[0], "strongdm/pandoc:edge") { return true } } @@ -352,7 +352,7 @@ func cleanContainers(c *cli.Context) error { for _, c := range containers { // assume this container was leftover from previous aborted run - if strings.HasPrefix(c.Image, "strongdm/pandoc") { + if strings.HasPrefix(c.Image, "strongdm/pandoc:edge") { d := time.Second * 2 err = cli.ContainerStop(ctx, c.ID, &d) if err != nil { diff --git a/internal/render/pandoc.go b/internal/render/pandoc.go index ad8def0..a338074 100644 --- a/internal/render/pandoc.go +++ b/internal/render/pandoc.go @@ -18,10 +18,7 @@ var pandocArgs = []string{"-f", "markdown+smart", "--toc", "-N", "--template", " func pandoc(outputFilename string, errOutputCh chan error) { if config.WhichPandoc() == config.UsePandoc { - err := pandocPandoc(outputFilename) - if err != nil { - errOutputCh <- err - } + pandocPandoc(outputFilename, errOutputCh) } else { dockerPandoc(outputFilename, errOutputCh) } @@ -47,7 +44,7 @@ func dockerPandoc(outputFilename string, errOutputCh chan error) { } resp, err := cli.ContainerCreate(ctx, &container.Config{ - Image: "strongdm/pandoc", + Image: "strongdm/pandoc:edge", Cmd: pandocCmd}, hc, nil, nil, "") @@ -95,12 +92,14 @@ func dockerPandoc(outputFilename string, errOutputCh chan error) { } // 🐼 -func pandocPandoc(outputFilename string) error { +func pandocPandoc(outputFilename string, errOutputCh chan error) error { cmd := exec.Command("pandoc", append(pandocArgs, fmt.Sprintf("output/%s", outputFilename), fmt.Sprintf("output/%s.md", outputFilename))...) outputRaw, err := cmd.CombinedOutput() if err != nil { fmt.Println(string(outputRaw)) - return errors.Wrap(err, "error calling pandoc") + errOutputCh <- errors.Wrap(err, "error calling pandoc") + } else { + errOutputCh <- nil } return nil } From 4dc7f94857b3b05f5940fd9bdc0617a91d18769f Mon Sep 17 00:00:00 2001 From: Rodolfo Campos Date: Wed, 3 Nov 2021 12:47:41 +0100 Subject: [PATCH 6/6] Fix error when getting images without tags (#100) --- .gitignore | 4 +- internal/cli/app.go | 2 +- internal/theme/themes_bindata.go | 108 +++++++++++++++---------------- 3 files changed, 57 insertions(+), 57 deletions(-) diff --git a/.gitignore b/.gitignore index 3b52329..b76937a 100644 --- a/.gitignore +++ b/.gitignore @@ -4,5 +4,5 @@ dist .envrc bindata.go .idea/ - -.env \ No newline at end of file +.env +.vscode/ diff --git a/internal/cli/app.go b/internal/cli/app.go index d57a542..2bcb399 100644 --- a/internal/cli/app.go +++ b/internal/cli/app.go @@ -274,7 +274,7 @@ var pandocImageExists = func(ctx context.Context) bool { return false } for _, image := range imageList { - if strings.Contains(image.RepoTags[0], "strongdm/pandoc:edge") { + if len(image.RepoTags) > 0 && strings.Contains(image.RepoTags[0], "strongdm/pandoc:edge") { return true } } diff --git a/internal/theme/themes_bindata.go b/internal/theme/themes_bindata.go index 7473ea4..c9813c2 100644 --- a/internal/theme/themes_bindata.go +++ b/internal/theme/themes_bindata.go @@ -137,7 +137,7 @@ func complyBlankReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-blank/README.md", size: 1972, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-blank/README.md", size: 1972, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -157,7 +157,7 @@ func complyBlankTodoMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-blank/TODO.md", size: 1429, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-blank/TODO.md", size: 1429, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -177,7 +177,7 @@ func complyBlankNarrativesGitkeep() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-blank/narratives/.gitkeep", size: 0, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-blank/narratives/.gitkeep", size: 0, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -197,7 +197,7 @@ func complyBlankPoliciesGitkeep() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-blank/policies/.gitkeep", size: 0, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-blank/policies/.gitkeep", size: 0, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -217,7 +217,7 @@ func complyBlankProceduresGitkeep() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-blank/procedures/.gitkeep", size: 0, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-blank/procedures/.gitkeep", size: 0, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -237,7 +237,7 @@ func complyBlankStandardsGitkeep() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-blank/standards/.gitkeep", size: 0, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-blank/standards/.gitkeep", size: 0, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -257,7 +257,7 @@ func complyBlankTemplatesGitkeep() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-blank/templates/.gitkeep", size: 0, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-blank/templates/.gitkeep", size: 0, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -277,7 +277,7 @@ func complyBlankTemplatesDefaultLatex() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-blank/templates/default.latex", size: 13966, mode: os.FileMode(420), modTime: time.Unix(1634559524, 0)} + info := bindataFileInfo{name: "comply-blank/templates/default.latex", size: 13966, mode: os.FileMode(420), modTime: time.Unix(1635248445, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -297,7 +297,7 @@ func complyBlankTemplatesIndexAce() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-blank/templates/index.ace", size: 7596, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-blank/templates/index.ace", size: 7596, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -317,7 +317,7 @@ func complySoc2ReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/README.md", size: 1972, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/README.md", size: 1972, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -337,7 +337,7 @@ func complySoc2TodoMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/TODO.md", size: 1429, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/TODO.md", size: 1429, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -357,7 +357,7 @@ func complySoc2NarrativesReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/narratives/README.md", size: 96, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/narratives/README.md", size: 96, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -377,7 +377,7 @@ func complySoc2NarrativesControlMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/narratives/control.md", size: 3327, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/narratives/control.md", size: 3327, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -397,7 +397,7 @@ func complySoc2NarrativesOrganizationalMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/narratives/organizational.md", size: 2378, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/narratives/organizational.md", size: 2378, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -417,7 +417,7 @@ func complySoc2NarrativesProductsMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/narratives/products.md", size: 895, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/narratives/products.md", size: 895, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -437,7 +437,7 @@ func complySoc2NarrativesSecurityMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/narratives/security.md", size: 4047, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/narratives/security.md", size: 4047, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -457,7 +457,7 @@ func complySoc2NarrativesSystemMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/narratives/system.md", size: 257, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/narratives/system.md", size: 257, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -477,7 +477,7 @@ func complySoc2PoliciesReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/README.md", size: 71, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/README.md", size: 71, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -497,7 +497,7 @@ func complySoc2PoliciesAccessMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/access.md", size: 2178, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/access.md", size: 2178, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -517,7 +517,7 @@ func complySoc2PoliciesApplicationMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/application.md", size: 8377, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/application.md", size: 8377, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -537,7 +537,7 @@ func complySoc2PoliciesAvailabilityMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/availability.md", size: 7019, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/availability.md", size: 7019, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -557,7 +557,7 @@ func complySoc2PoliciesChangeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/change.md", size: 2793, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/change.md", size: 2793, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -577,7 +577,7 @@ func complySoc2PoliciesClassificationMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/classification.md", size: 14375, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/classification.md", size: 14375, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -597,7 +597,7 @@ func complySoc2PoliciesConductMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/conduct.md", size: 4492, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/conduct.md", size: 4492, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -617,7 +617,7 @@ func complySoc2PoliciesConfidentialityMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/confidentiality.md", size: 3653, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/confidentiality.md", size: 3653, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -637,7 +637,7 @@ func complySoc2PoliciesContinuityMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/continuity.md", size: 5043, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/continuity.md", size: 5043, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -657,7 +657,7 @@ func complySoc2PoliciesCyberMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/cyber.md", size: 4805, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/cyber.md", size: 4805, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -677,7 +677,7 @@ func complySoc2PoliciesDatacenterMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/datacenter.md", size: 3013, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/datacenter.md", size: 3013, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -697,7 +697,7 @@ func complySoc2PoliciesDevelopmentMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/development.md", size: 8933, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/development.md", size: 8933, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -717,7 +717,7 @@ func complySoc2PoliciesDisasterMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/disaster.md", size: 10316, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/disaster.md", size: 10316, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -737,7 +737,7 @@ func complySoc2PoliciesEncryptionMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/encryption.md", size: 5381, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/encryption.md", size: 5381, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -757,7 +757,7 @@ func complySoc2PoliciesIncidentMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/incident.md", size: 8552, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/incident.md", size: 8552, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -777,7 +777,7 @@ func complySoc2PoliciesInformationMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/information.md", size: 5359, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/information.md", size: 5359, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -797,7 +797,7 @@ func complySoc2PoliciesLogMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/log.md", size: 4307, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/log.md", size: 4307, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -817,7 +817,7 @@ func complySoc2PoliciesMediaMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/media.md", size: 8819, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/media.md", size: 8819, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -837,7 +837,7 @@ func complySoc2PoliciesOfficeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/office.md", size: 3927, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/office.md", size: 3927, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -857,7 +857,7 @@ func complySoc2PoliciesPasswordMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/password.md", size: 1796, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/password.md", size: 1796, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -877,7 +877,7 @@ func complySoc2PoliciesPolicyMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/policy.md", size: 892, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/policy.md", size: 892, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -897,7 +897,7 @@ func complySoc2PoliciesPrivacyMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/privacy.md", size: 346, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/privacy.md", size: 346, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -917,7 +917,7 @@ func complySoc2PoliciesProcessingMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/processing.md", size: 210, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/processing.md", size: 210, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -937,7 +937,7 @@ func complySoc2PoliciesRemoteMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/remote.md", size: 4119, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/remote.md", size: 4119, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -957,7 +957,7 @@ func complySoc2PoliciesRetentionMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/retention.md", size: 6810, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/retention.md", size: 6810, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -977,7 +977,7 @@ func complySoc2PoliciesRiskMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/risk.md", size: 10488, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/risk.md", size: 10488, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -997,7 +997,7 @@ func complySoc2PoliciesVendorMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/vendor.md", size: 3139, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/vendor.md", size: 3139, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1017,7 +1017,7 @@ func complySoc2PoliciesWorkstationMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/policies/workstation.md", size: 1791, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/policies/workstation.md", size: 1791, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1037,7 +1037,7 @@ func complySoc2ProceduresReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/procedures/README.md", size: 92, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/procedures/README.md", size: 92, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1057,7 +1057,7 @@ func complySoc2ProceduresOffboardingMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/procedures/offboarding.md", size: 358, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/procedures/offboarding.md", size: 358, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1077,7 +1077,7 @@ func complySoc2ProceduresOnboardingMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/procedures/onboarding.md", size: 495, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/procedures/onboarding.md", size: 495, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1097,7 +1097,7 @@ func complySoc2ProceduresPatchMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/procedures/patch.md", size: 380, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/procedures/patch.md", size: 380, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1117,7 +1117,7 @@ func complySoc2ProceduresWorkstationMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/procedures/workstation.md", size: 1081, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/procedures/workstation.md", size: 1081, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1137,7 +1137,7 @@ func complySoc2StandardsReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/standards/README.md", size: 282, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/standards/README.md", size: 282, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1157,7 +1157,7 @@ func complySoc2StandardsTsc2017Yml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/standards/TSC-2017.yml", size: 16308, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/standards/TSC-2017.yml", size: 16308, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1177,7 +1177,7 @@ func complySoc2TemplatesDefaultLatex() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/templates/default.latex", size: 13966, mode: os.FileMode(420), modTime: time.Unix(1634558451, 0)} + info := bindataFileInfo{name: "comply-soc2/templates/default.latex", size: 13966, mode: os.FileMode(420), modTime: time.Unix(1635248445, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -1197,7 +1197,7 @@ func complySoc2TemplatesIndexAce() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "comply-soc2/templates/index.ace", size: 7596, mode: os.FileMode(436), modTime: time.Unix(1633450709, 0)} + info := bindataFileInfo{name: "comply-soc2/templates/index.ace", size: 7596, mode: os.FileMode(420), modTime: time.Unix(1635248328, 0)} a := &asset{bytes: bytes, info: info} return a, nil }