├── .dockerignore
├── .github
└── FUNDING.yml
├── .gitignore
├── Dockerfile
├── LICENSE
├── README.md
├── docker-compose.yml
├── gulpfile.js
├── healthcheck.js
├── opentelemetry-collector.yml
├── opentelemetry.js
├── package-lock.json
├── package.json
├── prometheus.yaml
├── public
├── css
│ ├── all.min.css
│ ├── bootstrap.min.css
│ ├── font-awesome.min.css
│ ├── fonts
│ │ ├── KaTeX_AMS-Regular.ttf
│ │ ├── KaTeX_AMS-Regular.woff
│ │ ├── KaTeX_AMS-Regular.woff2
│ │ ├── KaTeX_Caligraphic-Bold.ttf
│ │ ├── KaTeX_Caligraphic-Bold.woff
│ │ ├── KaTeX_Caligraphic-Bold.woff2
│ │ ├── KaTeX_Caligraphic-Regular.ttf
│ │ ├── KaTeX_Caligraphic-Regular.woff
│ │ ├── KaTeX_Caligraphic-Regular.woff2
│ │ ├── KaTeX_Fraktur-Bold.ttf
│ │ ├── KaTeX_Fraktur-Bold.woff
│ │ ├── KaTeX_Fraktur-Bold.woff2
│ │ ├── KaTeX_Fraktur-Regular.ttf
│ │ ├── KaTeX_Fraktur-Regular.woff
│ │ ├── KaTeX_Fraktur-Regular.woff2
│ │ ├── KaTeX_Main-Bold.ttf
│ │ ├── KaTeX_Main-Bold.woff
│ │ ├── KaTeX_Main-Bold.woff2
│ │ ├── KaTeX_Main-BoldItalic.ttf
│ │ ├── KaTeX_Main-BoldItalic.woff
│ │ ├── KaTeX_Main-BoldItalic.woff2
│ │ ├── KaTeX_Main-Italic.ttf
│ │ ├── KaTeX_Main-Italic.woff
│ │ ├── KaTeX_Main-Italic.woff2
│ │ ├── KaTeX_Main-Regular.ttf
│ │ ├── KaTeX_Main-Regular.woff
│ │ ├── KaTeX_Main-Regular.woff2
│ │ ├── KaTeX_Math-BoldItalic.ttf
│ │ ├── KaTeX_Math-BoldItalic.woff
│ │ ├── KaTeX_Math-BoldItalic.woff2
│ │ ├── KaTeX_Math-Italic.ttf
│ │ ├── KaTeX_Math-Italic.woff
│ │ ├── KaTeX_Math-Italic.woff2
│ │ ├── KaTeX_SansSerif-Bold.ttf
│ │ ├── KaTeX_SansSerif-Bold.woff
│ │ ├── KaTeX_SansSerif-Bold.woff2
│ │ ├── KaTeX_SansSerif-Italic.ttf
│ │ ├── KaTeX_SansSerif-Italic.woff
│ │ ├── KaTeX_SansSerif-Italic.woff2
│ │ ├── KaTeX_SansSerif-Regular.ttf
│ │ ├── KaTeX_SansSerif-Regular.woff
│ │ ├── KaTeX_SansSerif-Regular.woff2
│ │ ├── KaTeX_Script-Regular.ttf
│ │ ├── KaTeX_Script-Regular.woff
│ │ ├── KaTeX_Script-Regular.woff2
│ │ ├── KaTeX_Size1-Regular.ttf
│ │ ├── KaTeX_Size1-Regular.woff
│ │ ├── KaTeX_Size1-Regular.woff2
│ │ ├── KaTeX_Size2-Regular.ttf
│ │ ├── KaTeX_Size2-Regular.woff
│ │ ├── KaTeX_Size2-Regular.woff2
│ │ ├── KaTeX_Size3-Regular.ttf
│ │ ├── KaTeX_Size3-Regular.woff
│ │ ├── KaTeX_Size3-Regular.woff2
│ │ ├── KaTeX_Size4-Regular.ttf
│ │ ├── KaTeX_Size4-Regular.woff
│ │ ├── KaTeX_Size4-Regular.woff2
│ │ ├── KaTeX_Typewriter-Regular.ttf
│ │ ├── KaTeX_Typewriter-Regular.woff
│ │ └── KaTeX_Typewriter-Regular.woff2
│ ├── github-markdown.min.css
│ ├── katex.min.css
│ ├── notebook.css
│ ├── prism-okaidia.css
│ ├── prism.css
│ └── style.css
├── favicon.ico
├── favicon
│ ├── android-chrome-192x192.png
│ ├── android-chrome-256x256.png
│ ├── apple-touch-icon.png
│ ├── browserconfig.xml
│ ├── favicon-16x16.png
│ ├── favicon-32x32.png
│ ├── mstile-150x150.png
│ ├── safari-pinned-tab.svg
│ └── site.webmanifest
├── fonts
│ ├── fa-brands-400.eot
│ ├── fa-brands-400.svg
│ ├── fa-brands-400.ttf
│ ├── fa-brands-400.woff
│ ├── fa-brands-400.woff2
│ ├── fa-regular-400.eot
│ ├── fa-regular-400.svg
│ ├── fa-regular-400.ttf
│ ├── fa-regular-400.woff
│ ├── fa-regular-400.woff2
│ ├── fa-solid-900.eot
│ ├── fa-solid-900.svg
│ ├── fa-solid-900.ttf
│ ├── fa-solid-900.woff
│ └── fa-solid-900.woff2
├── i18n
│ └── locale-en.json
├── imgs
│ ├── anonymize.png
│ ├── dashboard.png
│ └── explorer.png
├── index.html
├── partials
│ ├── 404.htm
│ ├── admin
│ │ ├── conferences.htm
│ │ ├── queues.htm
│ │ ├── repositories.htm
│ │ ├── user.htm
│ │ └── users.htm
│ ├── anonymize.htm
│ ├── anonymizePullRequest.htm
│ ├── claim.htm
│ ├── conference.htm
│ ├── conferences.htm
│ ├── dashboard.htm
│ ├── explorer.htm
│ ├── faq.htm
│ ├── header.htm
│ ├── home.htm
│ ├── loading.htm
│ ├── newConference.htm
│ ├── pageView.htm
│ ├── pr-dashboard.htm
│ ├── profile.htm
│ ├── pullRequest.htm
│ └── status.htm
├── robots.txt
└── script
│ ├── admin.js
│ ├── app.js
│ ├── bundle.min.js
│ ├── external
│ ├── ace
│ │ ├── ace.js
│ │ ├── ext-beautify.js
│ │ ├── ext-code_lens.js
│ │ ├── ext-elastic_tabstops_lite.js
│ │ ├── ext-emmet.js
│ │ ├── ext-error_marker.js
│ │ ├── ext-keybinding_menu.js
│ │ ├── ext-language_tools.js
│ │ ├── ext-linking.js
│ │ ├── ext-modelist.js
│ │ ├── ext-options.js
│ │ ├── ext-prompt.js
│ │ ├── ext-rtl.js
│ │ ├── ext-searchbox.js
│ │ ├── ext-settings_menu.js
│ │ ├── ext-spellcheck.js
│ │ ├── ext-split.js
│ │ ├── ext-static_highlight.js
│ │ ├── ext-statusbar.js
│ │ ├── ext-textarea.js
│ │ ├── ext-themelist.js
│ │ ├── ext-whitespace.js
│ │ ├── keybinding-emacs.js
│ │ ├── keybinding-sublime.js
│ │ ├── keybinding-vim.js
│ │ ├── keybinding-vscode.js
│ │ ├── mode-abap.js
│ │ ├── mode-abc.js
│ │ ├── mode-actionscript.js
│ │ ├── mode-ada.js
│ │ ├── mode-alda.js
│ │ ├── mode-apache_conf.js
│ │ ├── mode-apex.js
│ │ ├── mode-applescript.js
│ │ ├── mode-aql.js
│ │ ├── mode-asciidoc.js
│ │ ├── mode-asl.js
│ │ ├── mode-assembly_x86.js
│ │ ├── mode-autohotkey.js
│ │ ├── mode-batchfile.js
│ │ ├── mode-c9search.js
│ │ ├── mode-c_cpp.js
│ │ ├── mode-cirru.js
│ │ ├── mode-clojure.js
│ │ ├── mode-cobol.js
│ │ ├── mode-coffee.js
│ │ ├── mode-coldfusion.js
│ │ ├── mode-crystal.js
│ │ ├── mode-csharp.js
│ │ ├── mode-csound_document.js
│ │ ├── mode-csound_orchestra.js
│ │ ├── mode-csound_score.js
│ │ ├── mode-csp.js
│ │ ├── mode-css.js
│ │ ├── mode-curly.js
│ │ ├── mode-d.js
│ │ ├── mode-dart.js
│ │ ├── mode-diff.js
│ │ ├── mode-django.js
│ │ ├── mode-dockerfile.js
│ │ ├── mode-dot.js
│ │ ├── mode-drools.js
│ │ ├── mode-edifact.js
│ │ ├── mode-eiffel.js
│ │ ├── mode-ejs.js
│ │ ├── mode-elixir.js
│ │ ├── mode-elm.js
│ │ ├── mode-erlang.js
│ │ ├── mode-forth.js
│ │ ├── mode-fortran.js
│ │ ├── mode-fsharp.js
│ │ ├── mode-fsl.js
│ │ ├── mode-ftl.js
│ │ ├── mode-gcode.js
│ │ ├── mode-gherkin.js
│ │ ├── mode-gitignore.js
│ │ ├── mode-glsl.js
│ │ ├── mode-gobstones.js
│ │ ├── mode-golang.js
│ │ ├── mode-graphqlschema.js
│ │ ├── mode-groovy.js
│ │ ├── mode-haml.js
│ │ ├── mode-handlebars.js
│ │ ├── mode-haskell.js
│ │ ├── mode-haskell_cabal.js
│ │ ├── mode-haxe.js
│ │ ├── mode-hjson.js
│ │ ├── mode-html.js
│ │ ├── mode-html_elixir.js
│ │ ├── mode-html_ruby.js
│ │ ├── mode-ini.js
│ │ ├── mode-io.js
│ │ ├── mode-jack.js
│ │ ├── mode-jade.js
│ │ ├── mode-java.js
│ │ ├── mode-javascript.js
│ │ ├── mode-json.js
│ │ ├── mode-json5.js
│ │ ├── mode-jsoniq.js
│ │ ├── mode-jsp.js
│ │ ├── mode-jssm.js
│ │ ├── mode-jsx.js
│ │ ├── mode-julia.js
│ │ ├── mode-kotlin.js
│ │ ├── mode-latex.js
│ │ ├── mode-less.js
│ │ ├── mode-liquid.js
│ │ ├── mode-lisp.js
│ │ ├── mode-livescript.js
│ │ ├── mode-logiql.js
│ │ ├── mode-logtalk.js
│ │ ├── mode-lsl.js
│ │ ├── mode-lua.js
│ │ ├── mode-luapage.js
│ │ ├── mode-lucene.js
│ │ ├── mode-makefile.js
│ │ ├── mode-markdown.js
│ │ ├── mode-mask.js
│ │ ├── mode-matlab.js
│ │ ├── mode-maze.js
│ │ ├── mode-mediawiki.js
│ │ ├── mode-mel.js
│ │ ├── mode-mixal.js
│ │ ├── mode-mushcode.js
│ │ ├── mode-mysql.js
│ │ ├── mode-nginx.js
│ │ ├── mode-nim.js
│ │ ├── mode-nix.js
│ │ ├── mode-nsis.js
│ │ ├── mode-nunjucks.js
│ │ ├── mode-objectivec.js
│ │ ├── mode-ocaml.js
│ │ ├── mode-pascal.js
│ │ ├── mode-perl.js
│ │ ├── mode-perl6.js
│ │ ├── mode-pgsql.js
│ │ ├── mode-php.js
│ │ ├── mode-php_laravel_blade.js
│ │ ├── mode-pig.js
│ │ ├── mode-plain_text.js
│ │ ├── mode-powershell.js
│ │ ├── mode-praat.js
│ │ ├── mode-prisma.js
│ │ ├── mode-prolog.js
│ │ ├── mode-properties.js
│ │ ├── mode-protobuf.js
│ │ ├── mode-puppet.js
│ │ ├── mode-python.js
│ │ ├── mode-qml.js
│ │ ├── mode-r.js
│ │ ├── mode-razor.js
│ │ ├── mode-rdoc.js
│ │ ├── mode-red.js
│ │ ├── mode-redshift.js
│ │ ├── mode-rhtml.js
│ │ ├── mode-rst.js
│ │ ├── mode-ruby.js
│ │ ├── mode-rust.js
│ │ ├── mode-sass.js
│ │ ├── mode-scad.js
│ │ ├── mode-scala.js
│ │ ├── mode-scheme.js
│ │ ├── mode-scss.js
│ │ ├── mode-sh.js
│ │ ├── mode-sjs.js
│ │ ├── mode-slim.js
│ │ ├── mode-smarty.js
│ │ ├── mode-snippets.js
│ │ ├── mode-soy_template.js
│ │ ├── mode-space.js
│ │ ├── mode-sparql.js
│ │ ├── mode-sql.js
│ │ ├── mode-sqlserver.js
│ │ ├── mode-stylus.js
│ │ ├── mode-svg.js
│ │ ├── mode-swift.js
│ │ ├── mode-tcl.js
│ │ ├── mode-terraform.js
│ │ ├── mode-tex.js
│ │ ├── mode-text.js
│ │ ├── mode-textile.js
│ │ ├── mode-toml.js
│ │ ├── mode-tsx.js
│ │ ├── mode-turtle.js
│ │ ├── mode-twig.js
│ │ ├── mode-typescript.js
│ │ ├── mode-vala.js
│ │ ├── mode-vbscript.js
│ │ ├── mode-velocity.js
│ │ ├── mode-verilog.js
│ │ ├── mode-vhdl.js
│ │ ├── mode-visualforce.js
│ │ ├── mode-wollok.js
│ │ ├── mode-xml.js
│ │ ├── mode-xquery.js
│ │ ├── mode-yaml.js
│ │ ├── mode-zeek.js
│ │ ├── snippets
│ │ │ ├── abap.js
│ │ │ ├── abc.js
│ │ │ ├── actionscript.js
│ │ │ ├── ada.js
│ │ │ ├── alda.js
│ │ │ ├── apache_conf.js
│ │ │ ├── apex.js
│ │ │ ├── applescript.js
│ │ │ ├── aql.js
│ │ │ ├── asciidoc.js
│ │ │ ├── asl.js
│ │ │ ├── assembly_x86.js
│ │ │ ├── autohotkey.js
│ │ │ ├── batchfile.js
│ │ │ ├── c9search.js
│ │ │ ├── c_cpp.js
│ │ │ ├── cirru.js
│ │ │ ├── clojure.js
│ │ │ ├── cobol.js
│ │ │ ├── coffee.js
│ │ │ ├── coldfusion.js
│ │ │ ├── crystal.js
│ │ │ ├── csharp.js
│ │ │ ├── csound_document.js
│ │ │ ├── csound_orchestra.js
│ │ │ ├── csound_score.js
│ │ │ ├── csp.js
│ │ │ ├── css.js
│ │ │ ├── curly.js
│ │ │ ├── d.js
│ │ │ ├── dart.js
│ │ │ ├── diff.js
│ │ │ ├── django.js
│ │ │ ├── dockerfile.js
│ │ │ ├── dot.js
│ │ │ ├── drools.js
│ │ │ ├── edifact.js
│ │ │ ├── eiffel.js
│ │ │ ├── ejs.js
│ │ │ ├── elixir.js
│ │ │ ├── elm.js
│ │ │ ├── erlang.js
│ │ │ ├── forth.js
│ │ │ ├── fortran.js
│ │ │ ├── fsharp.js
│ │ │ ├── fsl.js
│ │ │ ├── ftl.js
│ │ │ ├── gcode.js
│ │ │ ├── gherkin.js
│ │ │ ├── gitignore.js
│ │ │ ├── glsl.js
│ │ │ ├── gobstones.js
│ │ │ ├── golang.js
│ │ │ ├── graphqlschema.js
│ │ │ ├── groovy.js
│ │ │ ├── haml.js
│ │ │ ├── handlebars.js
│ │ │ ├── haskell.js
│ │ │ ├── haskell_cabal.js
│ │ │ ├── haxe.js
│ │ │ ├── hjson.js
│ │ │ ├── html.js
│ │ │ ├── html_elixir.js
│ │ │ ├── html_ruby.js
│ │ │ ├── ini.js
│ │ │ ├── io.js
│ │ │ ├── jack.js
│ │ │ ├── jade.js
│ │ │ ├── java.js
│ │ │ ├── javascript.js
│ │ │ ├── json.js
│ │ │ ├── json5.js
│ │ │ ├── jsoniq.js
│ │ │ ├── jsp.js
│ │ │ ├── jssm.js
│ │ │ ├── jsx.js
│ │ │ ├── julia.js
│ │ │ ├── kotlin.js
│ │ │ ├── latex.js
│ │ │ ├── less.js
│ │ │ ├── liquid.js
│ │ │ ├── lisp.js
│ │ │ ├── livescript.js
│ │ │ ├── logiql.js
│ │ │ ├── logtalk.js
│ │ │ ├── lsl.js
│ │ │ ├── lua.js
│ │ │ ├── luapage.js
│ │ │ ├── lucene.js
│ │ │ ├── makefile.js
│ │ │ ├── markdown.js
│ │ │ ├── mask.js
│ │ │ ├── matlab.js
│ │ │ ├── maze.js
│ │ │ ├── mediawiki.js
│ │ │ ├── mel.js
│ │ │ ├── mixal.js
│ │ │ ├── mushcode.js
│ │ │ ├── mysql.js
│ │ │ ├── nginx.js
│ │ │ ├── nim.js
│ │ │ ├── nix.js
│ │ │ ├── nsis.js
│ │ │ ├── nunjucks.js
│ │ │ ├── objectivec.js
│ │ │ ├── ocaml.js
│ │ │ ├── pascal.js
│ │ │ ├── perl.js
│ │ │ ├── perl6.js
│ │ │ ├── pgsql.js
│ │ │ ├── php.js
│ │ │ ├── php_laravel_blade.js
│ │ │ ├── pig.js
│ │ │ ├── plain_text.js
│ │ │ ├── powershell.js
│ │ │ ├── praat.js
│ │ │ ├── prisma.js
│ │ │ ├── prolog.js
│ │ │ ├── properties.js
│ │ │ ├── protobuf.js
│ │ │ ├── puppet.js
│ │ │ ├── python.js
│ │ │ ├── qml.js
│ │ │ ├── r.js
│ │ │ ├── razor.js
│ │ │ ├── rdoc.js
│ │ │ ├── red.js
│ │ │ ├── redshift.js
│ │ │ ├── rhtml.js
│ │ │ ├── rst.js
│ │ │ ├── ruby.js
│ │ │ ├── rust.js
│ │ │ ├── sass.js
│ │ │ ├── scad.js
│ │ │ ├── scala.js
│ │ │ ├── scheme.js
│ │ │ ├── scss.js
│ │ │ ├── sh.js
│ │ │ ├── sjs.js
│ │ │ ├── slim.js
│ │ │ ├── smarty.js
│ │ │ ├── snippets.js
│ │ │ ├── soy_template.js
│ │ │ ├── space.js
│ │ │ ├── sparql.js
│ │ │ ├── sql.js
│ │ │ ├── sqlserver.js
│ │ │ ├── stylus.js
│ │ │ ├── svg.js
│ │ │ ├── swift.js
│ │ │ ├── tcl.js
│ │ │ ├── terraform.js
│ │ │ ├── tex.js
│ │ │ ├── text.js
│ │ │ ├── textile.js
│ │ │ ├── toml.js
│ │ │ ├── tsx.js
│ │ │ ├── turtle.js
│ │ │ ├── twig.js
│ │ │ ├── typescript.js
│ │ │ ├── vala.js
│ │ │ ├── vbscript.js
│ │ │ ├── velocity.js
│ │ │ ├── verilog.js
│ │ │ ├── vhdl.js
│ │ │ ├── visualforce.js
│ │ │ ├── wollok.js
│ │ │ ├── xml.js
│ │ │ ├── xquery.js
│ │ │ ├── yaml.js
│ │ │ └── zeek.js
│ │ ├── theme-ambiance.js
│ │ ├── theme-chaos.js
│ │ ├── theme-chrome.js
│ │ ├── theme-clouds.js
│ │ ├── theme-clouds_midnight.js
│ │ ├── theme-cobalt.js
│ │ ├── theme-crimson_editor.js
│ │ ├── theme-dawn.js
│ │ ├── theme-dracula.js
│ │ ├── theme-dreamweaver.js
│ │ ├── theme-eclipse.js
│ │ ├── theme-github.js
│ │ ├── theme-gob.js
│ │ ├── theme-gruvbox.js
│ │ ├── theme-idle_fingers.js
│ │ ├── theme-iplastic.js
│ │ ├── theme-katzenmilch.js
│ │ ├── theme-kr_theme.js
│ │ ├── theme-kuroir.js
│ │ ├── theme-merbivore.js
│ │ ├── theme-merbivore_soft.js
│ │ ├── theme-mono_industrial.js
│ │ ├── theme-monokai.js
│ │ ├── theme-nord_dark.js
│ │ ├── theme-pastel_on_dark.js
│ │ ├── theme-solarized_dark.js
│ │ ├── theme-solarized_light.js
│ │ ├── theme-sqlserver.js
│ │ ├── theme-terminal.js
│ │ ├── theme-textmate.js
│ │ ├── theme-tomorrow.js
│ │ ├── theme-tomorrow_night.js
│ │ ├── theme-tomorrow_night_blue.js
│ │ ├── theme-tomorrow_night_bright.js
│ │ ├── theme-tomorrow_night_eighties.js
│ │ ├── theme-twilight.js
│ │ ├── theme-vibrant_ink.js
│ │ ├── theme-xcode.js
│ │ ├── worker-base.js
│ │ ├── worker-coffee.js
│ │ ├── worker-css.js
│ │ ├── worker-html.js
│ │ ├── worker-javascript.js
│ │ ├── worker-json.js
│ │ ├── worker-lua.js
│ │ ├── worker-php.js
│ │ ├── worker-xml.js
│ │ └── worker-xquery.js
│ ├── angular-animate.min.js
│ ├── angular-route.min.js
│ ├── angular-sanitize.min.js
│ ├── angular-translate-loader-static-files.min.js
│ ├── angular-translate.min.js
│ ├── angular.min.js
│ ├── ansi_up.min.js
│ ├── bootstrap.min.js
│ ├── github-emojis.js
│ ├── jquery-3.4.1.min.js
│ ├── katex-auto-render.min.js
│ ├── katex.min.js
│ ├── marked-emoji.js
│ ├── marked-katex-extension.umd.min.js
│ ├── marked.min.js
│ ├── notebook.min.js
│ ├── org.js
│ ├── pdf.compat.js
│ ├── pdf.js
│ ├── pdf.worker.js
│ ├── popper.min.js
│ ├── prism.min.js
│ ├── purify.min.js
│ └── ui-ace.min.js
│ ├── langColors.js
│ ├── ng-pdfviewer.min.js
│ └── utils.js
├── src
├── cli
│ └── index.ts
├── config.ts
├── core
│ ├── AnonymizedFile.ts
│ ├── AnonymousError.ts
│ ├── Conference.ts
│ ├── GitHubUtils.ts
│ ├── PullRequest.ts
│ ├── Repository.ts
│ ├── User.ts
│ ├── anonymize-utils.ts
│ ├── model
│ │ ├── anonymizedPullRequests
│ │ │ ├── anonymizedPullRequests.model.ts
│ │ │ ├── anonymizedPullRequests.schema.ts
│ │ │ └── anonymizedPullRequests.types.ts
│ │ ├── anonymizedRepositories
│ │ │ ├── anonymizedRepositories.model.ts
│ │ │ ├── anonymizedRepositories.schema.ts
│ │ │ └── anonymizedRepositories.types.ts
│ │ ├── conference
│ │ │ ├── conferences.model.ts
│ │ │ ├── conferences.schema.ts
│ │ │ └── conferences.types.ts
│ │ ├── files
│ │ │ ├── files.model.ts
│ │ │ ├── files.schema.ts
│ │ │ └── files.types.ts
│ │ ├── repositories
│ │ │ ├── repositories.model.ts
│ │ │ ├── repositories.schema.ts
│ │ │ └── repositories.types.ts
│ │ └── users
│ │ │ ├── users.model.ts
│ │ │ ├── users.schema.ts
│ │ │ └── users.types.ts
│ ├── source
│ │ ├── GitHubBase.ts
│ │ ├── GitHubDownload.ts
│ │ ├── GitHubRepository.ts
│ │ ├── GitHubStream.ts
│ │ ├── Source.ts
│ │ └── Zip.ts
│ ├── storage.ts
│ ├── storage
│ │ ├── FileSystem.ts
│ │ ├── S3.ts
│ │ └── Storage.ts
│ └── types.ts
├── queue
│ ├── index.ts
│ └── processes
│ │ ├── downloadRepository.ts
│ │ ├── removeCache.ts
│ │ └── removeRepository.ts
├── server
│ ├── database.ts
│ ├── index.ts
│ ├── routes
│ │ ├── admin.ts
│ │ ├── conference.ts
│ │ ├── connection.ts
│ │ ├── file.ts
│ │ ├── index.ts
│ │ ├── option.ts
│ │ ├── pullRequest-private.ts
│ │ ├── pullRequest-public.ts
│ │ ├── repository-private.ts
│ │ ├── repository-public.ts
│ │ ├── route-utils.ts
│ │ ├── user.ts
│ │ └── webview.ts
│ └── schedule.ts
└── streamer
│ ├── index.ts
│ └── route.ts
└── tsconfig.json
/.dockerignore:
--------------------------------------------------------------------------------
1 | /repositories
2 | db_backups
3 | build
4 | node_modules
5 | .github
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | github: tdurieux
4 | patreon: # Replace with a single Patreon username
5 | open_collective: # Replace with a single Open Collective username
6 | ko_fi: tdurieux
7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9 | liberapay: # Replace with a single Liberapay username
10 | issuehunt: tdurieux
11 | otechie: # Replace with a single Otechie username
12 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
13 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .env
2 | build
3 | /repositories
4 | repo/
5 | db_backups
6 | message.txt
7 | # Created by https://www.gitignore.io/api/node
8 | # Edit at https://www.gitignore.io/?templates=node
9 |
10 | ### Node ###
11 | # Logs
12 | logs
13 | *.log
14 | npm-debug.log*
15 | yarn-debug.log*
16 | yarn-error.log*
17 | lerna-debug.log*
18 |
19 | # Diagnostic reports (https://nodejs.org/api/report.html)
20 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
21 |
22 | # Runtime data
23 | pids
24 | *.pid
25 | *.seed
26 | *.pid.lock
27 |
28 | # Directory for instrumented libs generated by jscoverage/JSCover
29 | lib-cov
30 |
31 | # Coverage directory used by tools like istanbul
32 | coverage
33 | *.lcov
34 |
35 | # nyc test coverage
36 | .nyc_output
37 |
38 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
39 | .grunt
40 |
41 | # Bower dependency directory (https://bower.io/)
42 | bower_components
43 |
44 | # node-waf configuration
45 | .lock-wscript
46 |
47 | # Compiled binary addons (https://nodejs.org/api/addons.html)
48 | build/Release
49 |
50 | # Dependency directories
51 | node_modules/
52 | jspm_packages/
53 |
54 | # TypeScript v1 declaration files
55 | typings/
56 |
57 | # TypeScript cache
58 | *.tsbuildinfo
59 |
60 | # Optional npm cache directory
61 | .npm
62 |
63 | # Optional eslint cache
64 | .eslintcache
65 |
66 | # Optional REPL history
67 | .node_repl_history
68 |
69 | # Output of 'npm pack'
70 | *.tgz
71 |
72 | # Yarn Integrity file
73 | .yarn-integrity
74 |
75 | # dotenv environment variables file
76 | .env
77 | .env.test
78 |
79 | # parcel-bundler cache (https://parceljs.org/)
80 | .cache
81 |
82 | # next.js build output
83 | .next
84 |
85 | # nuxt.js build output
86 | .nuxt
87 |
88 | # rollup.js default build output
89 | dist/
90 |
91 | # Uncomment the public line if your project uses Gatsby
92 | # https://nextjs.org/blog/next-9-1#public-directory-support
93 | # https://create-react-app.dev/docs/using-the-public-folder/#docsNav
94 | # public
95 |
96 | # Storybook build outputs
97 | .out
98 | .storybook-out
99 |
100 | # vuepress build output
101 | .vuepress/dist
102 |
103 | # Serverless directories
104 | .serverless/
105 |
106 | # FuseBox cache
107 | .fusebox/
108 |
109 | # DynamoDB Local files
110 | .dynamodb/
111 |
112 | # Temporary folders
113 | tmp/
114 | temp/
115 |
116 | # End of https://www.gitignore.io/api/node
117 |
--------------------------------------------------------------------------------
/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM node:21-slim
2 |
3 | ENV PORT 5000
4 | EXPOSE $PORT
5 |
6 | WORKDIR /app
7 |
8 | COPY package.json .
9 | COPY package-lock.json .
10 |
11 | COPY gulpfile.js .
12 | COPY tsconfig.json .
13 | COPY healthcheck.js .
14 |
15 | COPY public ./public
16 | COPY src ./src
17 |
18 | RUN npm install && npm run build && npm cache clean --force
19 | COPY opentelemetry.js .
20 |
21 | CMD [ "node", "--require", "./opentelemetry.js", "./build/server/index.js"]
--------------------------------------------------------------------------------
/gulpfile.js:
--------------------------------------------------------------------------------
1 | const { src, dest } = require("gulp");
2 | const uglify = require("gulp-uglify");
3 | const concat = require("gulp-concat");
4 | var order = require("gulp-order");
5 | const cleanCss = require("gulp-clean-css");
6 |
7 | function defaultTask(cb) {
8 | const jsFiles = [
9 | "public/script/external/angular.min.js",
10 | "public/script/external/angular-translate.min.js",
11 | "public/script/external/angular-translate-loader-static-files.min.js",
12 | "public/script/external/angular-sanitize.min.js",
13 | "public/script/external/angular-route.min.js",
14 | "public/script/external/pdf.compat.js",
15 | "public/script/external/pdf.js",
16 | "public/script/external/github-emojis.js",
17 | "public/script/external/marked-emoji.js",
18 | "public/script/external/marked.min.js",
19 | "public/script/external/purify.min.js",
20 | "public/script/external/ansi_up.min.js",
21 | "public/script/external/prism.min.js",
22 | "public/script/external/katex.min.js",
23 | "public/script/external/katex-auto-render.min.js",
24 | "public/script/external/marked-katex-extension.umd.min.js",
25 | "public/script/external/notebook.min.js",
26 | "public/script/external/org.js",
27 | "public/script/external/jquery-3.4.1.min.js",
28 | "public/script/external/popper.min.js",
29 | "public/script/external/bootstrap.min.js",
30 | "public/script/external/ace/ace.js",
31 | "public/script/external/ui-ace.min.js",
32 | "public/script/utils.js",
33 | "public/script/ng-pdfviewer.min.js",
34 | "public/script/app.js",
35 | "public/script/admin.js",
36 | ];
37 | const cssFiles = [
38 | "public/css/bootstrap.min.css",
39 | "public/css/font-awesome.min.css",
40 | "public/css/notebook.css",
41 | "public/css/katex.min.css",
42 | "public/css/github-markdown.min.css",
43 | "public/css/style.css",
44 | ];
45 | src(jsFiles)
46 | .pipe(order(jsFiles, { base: "./" }))
47 | .pipe(concat("bundle.min.js"))
48 | .pipe(uglify())
49 | .pipe(dest("public/script"))
50 | .on("end", cb);
51 |
52 | src(cssFiles)
53 | .pipe(order(cssFiles, { base: "./" }))
54 | .pipe(concat("all.min.css"))
55 | .pipe(cleanCss())
56 | .pipe(dest("public/css"));
57 | }
58 |
59 | exports.default = defaultTask;
60 |
--------------------------------------------------------------------------------
/healthcheck.js:
--------------------------------------------------------------------------------
1 | require("dotenv").config();
2 | const http = require("http");
3 | const config = require("./build/config");
4 |
5 | const options = {
6 | path: "/healthcheck",
7 | method: "GET",
8 | host: "127.0.0.1",
9 | port: config.default.PORT,
10 | timeout: 2000,
11 | };
12 | const request = http.request(options, (res) => {
13 | if (res.statusCode == 200 || res.statusCode == 404) {
14 | process.exit(0);
15 | } else {
16 | const reqURL = `${res.req.protocol}://${res.req.host}:${options.port}${res.req.path}`;
17 | console.log(reqURL, res.statusCode);
18 | process.exit(1);
19 | }
20 | });
21 |
22 | request.on("error", (err) => {
23 | console.log("ERROR", err);
24 | process.exit(1);
25 | });
26 |
27 | request.end();
28 |
--------------------------------------------------------------------------------
/opentelemetry-collector.yml:
--------------------------------------------------------------------------------
1 | receivers:
2 | otlp:
3 | protocols:
4 | grpc:
5 |
6 | exporters:
7 | prometheus:
8 | endpoint: "0.0.0.0:8889"
9 | const_labels:
10 | label1: value1
11 |
12 | debug:
13 |
14 | otlp:
15 | endpoint: jaeger:4317
16 | tls:
17 | insecure: true
18 |
19 | processors:
20 | batch:
21 |
22 | extensions:
23 | health_check:
24 | pprof:
25 | endpoint: :1888
26 | zpages:
27 | endpoint: :55679
28 |
29 | service:
30 | extensions: [health_check, pprof, zpages]
31 | pipelines:
32 | traces:
33 | receivers: [otlp]
34 | exporters: [debug, otlp]
35 | metrics:
36 | receivers: [otlp]
37 | exporters: [debug, prometheus]
38 | logs:
39 | receivers: [otlp]
40 | exporters: [debug]
41 |
--------------------------------------------------------------------------------
/opentelemetry.js:
--------------------------------------------------------------------------------
1 | const opentelemetry = require("@opentelemetry/sdk-node");
2 | const {
3 | getNodeAutoInstrumentations,
4 | } = require("@opentelemetry/auto-instrumentations-node");
5 | const {
6 | OTLPTraceExporter,
7 | } = require("@opentelemetry/exporter-trace-otlp-grpc");
8 | const {
9 | OTLPMetricExporter,
10 | } = require("@opentelemetry/exporter-metrics-otlp-grpc");
11 | const { PeriodicExportingMetricReader } = require("@opentelemetry/sdk-metrics");
12 | const { diag, DiagConsoleLogger, DiagLogLevel } = require("@opentelemetry/api");
13 |
14 | // diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.INFO);
15 |
16 | const sdk = new opentelemetry.NodeSDK({
17 | serviceName: process.env.SERVICE_NAME || "Anonymous-GitHub",
18 | logRecordProcessor: getNodeAutoInstrumentations().logRecordProcessor,
19 | traceExporter: new OTLPTraceExporter({
20 | url: "http://opentelemetry:4317/v1/traces",
21 | }),
22 | metricReader: new PeriodicExportingMetricReader({
23 | exporter: new OTLPMetricExporter({
24 | url: "http://opentelemetry:4317/v1/metrics",
25 | }),
26 | }),
27 | instrumentations: [getNodeAutoInstrumentations()],
28 | });
29 | sdk.start();
30 |
--------------------------------------------------------------------------------
/prometheus.yaml:
--------------------------------------------------------------------------------
1 | scrape_configs:
2 | - job_name: 'otel-collector'
3 | scrape_interval: 10s
4 | static_configs:
5 | - targets: ['opentelemetry:8889']
6 | - targets: ['opentelemetry:8888']
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_AMS-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_AMS-Regular.ttf
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_AMS-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_AMS-Regular.woff
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_AMS-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_AMS-Regular.woff2
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Caligraphic-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Caligraphic-Bold.ttf
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Caligraphic-Bold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Caligraphic-Bold.woff
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Caligraphic-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Caligraphic-Bold.woff2
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Caligraphic-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Caligraphic-Regular.ttf
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Caligraphic-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Caligraphic-Regular.woff
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Caligraphic-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Caligraphic-Regular.woff2
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Fraktur-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Fraktur-Bold.ttf
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Fraktur-Bold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Fraktur-Bold.woff
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Fraktur-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Fraktur-Bold.woff2
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Fraktur-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Fraktur-Regular.ttf
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Fraktur-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Fraktur-Regular.woff
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Fraktur-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Fraktur-Regular.woff2
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Main-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Main-Bold.ttf
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Main-Bold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Main-Bold.woff
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Main-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Main-Bold.woff2
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Main-BoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Main-BoldItalic.ttf
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Main-BoldItalic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Main-BoldItalic.woff
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Main-BoldItalic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Main-BoldItalic.woff2
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Main-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Main-Italic.ttf
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Main-Italic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Main-Italic.woff
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Main-Italic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Main-Italic.woff2
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Main-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Main-Regular.ttf
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Main-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Main-Regular.woff
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Main-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Main-Regular.woff2
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Math-BoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Math-BoldItalic.ttf
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Math-BoldItalic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Math-BoldItalic.woff
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Math-BoldItalic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Math-BoldItalic.woff2
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Math-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Math-Italic.ttf
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Math-Italic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Math-Italic.woff
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Math-Italic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Math-Italic.woff2
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_SansSerif-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_SansSerif-Bold.ttf
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_SansSerif-Bold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_SansSerif-Bold.woff
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_SansSerif-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_SansSerif-Bold.woff2
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_SansSerif-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_SansSerif-Italic.ttf
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_SansSerif-Italic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_SansSerif-Italic.woff
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_SansSerif-Italic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_SansSerif-Italic.woff2
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_SansSerif-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_SansSerif-Regular.ttf
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_SansSerif-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_SansSerif-Regular.woff
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_SansSerif-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_SansSerif-Regular.woff2
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Script-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Script-Regular.ttf
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Script-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Script-Regular.woff
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Script-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Script-Regular.woff2
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Size1-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Size1-Regular.ttf
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Size1-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Size1-Regular.woff
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Size1-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Size1-Regular.woff2
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Size2-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Size2-Regular.ttf
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Size2-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Size2-Regular.woff
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Size2-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Size2-Regular.woff2
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Size3-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Size3-Regular.ttf
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Size3-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Size3-Regular.woff
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Size3-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Size3-Regular.woff2
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Size4-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Size4-Regular.ttf
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Size4-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Size4-Regular.woff
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Size4-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Size4-Regular.woff2
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Typewriter-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Typewriter-Regular.ttf
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Typewriter-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Typewriter-Regular.woff
--------------------------------------------------------------------------------
/public/css/fonts/KaTeX_Typewriter-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/css/fonts/KaTeX_Typewriter-Regular.woff2
--------------------------------------------------------------------------------
/public/css/notebook.css:
--------------------------------------------------------------------------------
1 | .nb-notebook {
2 | line-height: 1.5;
3 | }
4 |
5 | .nb-stdout, .nb-stderr {
6 | white-space: pre-wrap;
7 | margin: 1em 0;
8 | padding: 0.1em 0.5em;
9 | }
10 |
11 | .nb-stderr {
12 | background-color: #FAA;
13 | }
14 |
15 | .nb-cell + .nb-cell {
16 | margin-top: 0.5em;
17 | }
18 |
19 | .nb-output table {
20 | border: 1px solid #000;
21 | border-collapse: collapse;
22 | }
23 |
24 | .nb-output th {
25 | font-weight: bold;
26 | }
27 |
28 | .nb-output th, .nb-output td {
29 | border: 1px solid #000;
30 | padding: 0.25em;
31 | text-align: left;
32 | vertical-align: middle;
33 | border-collapse: collapse;
34 | }
35 |
36 | .nb-notebook blockquote {
37 | border-left: 5px solid #CCC;
38 | margin-left: 0;
39 | padding-left: 1em;
40 | }
41 |
42 | .nb-cell {
43 | position: relative;
44 | }
45 |
46 | .nb-raw-cell {
47 | white-space: pre-wrap;
48 | background-color: #f5f2f0;
49 | font-family: Consolas, Monaco, 'Andale Mono', monospace;
50 | padding: 1em;
51 | margin: .5em 0;
52 | }
53 |
54 | .nb-output {
55 | min-height: 1em;
56 | width: 100%;
57 | overflow-x: scroll;
58 | border-right: 1px dotted #CCC;
59 | }
60 |
61 | .nb-output img {
62 | max-width: 100%;
63 | }
64 |
65 | .nb-output:before, .nb-input:before {
66 | position: absolute;
67 | font-family: monospace;
68 | color: #999;
69 | left: -7.5em;
70 | width: 7em;
71 | text-align: right;
72 | }
73 |
74 | .nb-input:before {
75 | content: "In [" attr(data-prompt-number) "]:";
76 | }
77 | .nb-output:before {
78 | content: "Out [" attr(data-prompt-number) "]:";
79 | }
80 |
81 | // Fix pandas dataframe formatting
82 | div[style="max-height:1000px;max-width:1500px;overflow:auto;"] {
83 | max-height: none !important;
84 | }
85 |
86 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/favicon.ico
--------------------------------------------------------------------------------
/public/favicon/android-chrome-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/favicon/android-chrome-192x192.png
--------------------------------------------------------------------------------
/public/favicon/android-chrome-256x256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/favicon/android-chrome-256x256.png
--------------------------------------------------------------------------------
/public/favicon/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/favicon/apple-touch-icon.png
--------------------------------------------------------------------------------
/public/favicon/browserconfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | #00aba9
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/public/favicon/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/favicon/favicon-16x16.png
--------------------------------------------------------------------------------
/public/favicon/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/favicon/favicon-32x32.png
--------------------------------------------------------------------------------
/public/favicon/mstile-150x150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/favicon/mstile-150x150.png
--------------------------------------------------------------------------------
/public/favicon/site.webmanifest:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Anonymous Github",
3 | "short_name": "Anonymous Github",
4 | "icons": [
5 | {
6 | "src": "/favicon/android-chrome-192x192.png",
7 | "sizes": "192x192",
8 | "type": "image/png"
9 | },
10 | {
11 | "src": "/favicon/android-chrome-256x256.png",
12 | "sizes": "256x256",
13 | "type": "image/png"
14 | }
15 | ],
16 | "theme_color": "#ffffff",
17 | "background_color": "#ffffff",
18 | "display": "standalone"
19 | }
20 |
--------------------------------------------------------------------------------
/public/fonts/fa-brands-400.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/fonts/fa-brands-400.eot
--------------------------------------------------------------------------------
/public/fonts/fa-brands-400.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/fonts/fa-brands-400.ttf
--------------------------------------------------------------------------------
/public/fonts/fa-brands-400.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/fonts/fa-brands-400.woff
--------------------------------------------------------------------------------
/public/fonts/fa-brands-400.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/fonts/fa-brands-400.woff2
--------------------------------------------------------------------------------
/public/fonts/fa-regular-400.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/fonts/fa-regular-400.eot
--------------------------------------------------------------------------------
/public/fonts/fa-regular-400.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/fonts/fa-regular-400.ttf
--------------------------------------------------------------------------------
/public/fonts/fa-regular-400.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/fonts/fa-regular-400.woff
--------------------------------------------------------------------------------
/public/fonts/fa-regular-400.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/fonts/fa-regular-400.woff2
--------------------------------------------------------------------------------
/public/fonts/fa-solid-900.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/fonts/fa-solid-900.eot
--------------------------------------------------------------------------------
/public/fonts/fa-solid-900.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/fonts/fa-solid-900.ttf
--------------------------------------------------------------------------------
/public/fonts/fa-solid-900.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/fonts/fa-solid-900.woff
--------------------------------------------------------------------------------
/public/fonts/fa-solid-900.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/fonts/fa-solid-900.woff2
--------------------------------------------------------------------------------
/public/imgs/anonymize.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/imgs/anonymize.png
--------------------------------------------------------------------------------
/public/imgs/dashboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/imgs/dashboard.png
--------------------------------------------------------------------------------
/public/imgs/explorer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tdurieux/anonymous_github/b2d77faa6c6f35ad9ae6ed46e3a3fa4681ac84c2/public/imgs/explorer.png
--------------------------------------------------------------------------------
/public/partials/404.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
404
Page not found
4 |
5 |
6 |
--------------------------------------------------------------------------------
/public/partials/claim.htm:
--------------------------------------------------------------------------------
1 |
60 |
--------------------------------------------------------------------------------
/public/partials/explorer.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
12 | Last Update: {{options.lastUpdateDate|date}}
13 |
14 |
15 |
16 |
17 |
18 |
19 | -
20 | Loading...
21 |
22 |
23 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
--------------------------------------------------------------------------------
/public/partials/loading.htm:
--------------------------------------------------------------------------------
1 |
2 |
Loading...
3 |
4 |
5 |
--------------------------------------------------------------------------------
/public/partials/pageView.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
9 |
10 |
11 | Error
12 | Loading...
13 | Empty repository!
14 | Empty file!
15 | Unsupported binary file. You can download the file: here.
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Disallow: /r/
--------------------------------------------------------------------------------
/public/script/external/ace/ext-error_marker.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/ext/error_marker"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/ext-linking.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/ext/linking",["require","exports","module","ace/editor","ace/config"],function(e,t,n){function i(e){var n=e.editor,r=e.getAccelKey();if(r){var n=e.editor,i=e.getDocumentPosition(),s=n.session,o=s.getTokenAt(i.row,i.column);t.previousLinkingHover&&t.previousLinkingHover!=o&&n._emit("linkHoverOut"),n._emit("linkHover",{position:i,token:o}),t.previousLinkingHover=o}else t.previousLinkingHover&&(n._emit("linkHoverOut"),t.previousLinkingHover=!1)}function s(e){var t=e.getAccelKey(),n=e.getButton();if(n==0&&t){var r=e.editor,i=e.getDocumentPosition(),s=r.session,o=s.getTokenAt(i.row,i.column);r._emit("linkClick",{position:i,token:o})}}var r=e("../editor").Editor;e("../config").defineOptions(r.prototype,"editor",{enableLinking:{set:function(e){e?(this.on("click",s),this.on("mousemove",i)):(this.off("click",s),this.off("mousemove",i))},value:!1}}),t.previousLinkingHover=!1}); (function() {
2 | ace.require(["ace/ext/linking"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/ext-spellcheck.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/ext/spellcheck",["require","exports","module","ace/lib/event","ace/editor","ace/config"],function(e,t,n){"use strict";var r=e("../lib/event");t.contextMenuHandler=function(e){var t=e.target,n=t.textInput.getElement();if(!t.selection.isEmpty())return;var i=t.getCursorPosition(),s=t.session.getWordRange(i.row,i.column),o=t.session.getTextRange(s);t.session.tokenRe.lastIndex=0;if(!t.session.tokenRe.test(o))return;var u="\x01\x01",a=o+" "+u;n.value=a,n.setSelectionRange(o.length,o.length+1),n.setSelectionRange(0,0),n.setSelectionRange(0,o.length);var f=!1;r.addListener(n,"keydown",function l(){r.removeListener(n,"keydown",l),f=!0}),t.textInput.setInputHandler(function(e){if(e==a)return"";if(e.lastIndexOf(a,0)===0)return e.slice(a.length);if(e.substr(n.selectionEnd)==a)return e.slice(0,-a.length);if(e.slice(-2)==u){var r=e.slice(0,-2);if(r.slice(-1)==" ")return f?r.substring(0,n.selectionEnd):(r=r.slice(0,-1),t.session.replace(s,r),"")}return e})};var i=e("../editor").Editor;e("../config").defineOptions(i.prototype,"editor",{spellcheck:{set:function(e){var n=this.textInput.getElement();n.spellcheck=!!e,e?this.on("nativecontextmenu",t.contextMenuHandler):this.removeListener("nativecontextmenu",t.contextMenuHandler)},value:!0}})}); (function() {
2 | ace.require(["ace/ext/spellcheck"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/ext-statusbar.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/ext/statusbar",["require","exports","module","ace/lib/dom","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/lang"),s=function(e,t){this.element=r.createElement("div"),this.element.className="ace_status-indicator",this.element.style.cssText="display: inline-block;",t.appendChild(this.element);var n=i.delayedCall(function(){this.updateStatus(e)}.bind(this)).schedule.bind(null,100);e.on("changeStatus",n),e.on("changeSelection",n),e.on("keyboardActivity",n)};(function(){this.updateStatus=function(e){function n(e,n){e&&t.push(e,n||"|")}var t=[];n(e.keyBinding.getStatusText(e)),e.commands.recording&&n("REC");var r=e.selection,i=r.lead;if(!r.isEmpty()){var s=e.getSelectionRange();n("("+(s.end.row-s.start.row)+":"+(s.end.column-s.start.column)+")"," ")}n(i.row+":"+i.column," "),r.rangeCount&&n("["+r.rangeCount+"]"," "),t.pop(),this.element.textContent=t.join("")}}).call(s.prototype),t.StatusBar=s}); (function() {
2 | ace.require(["ace/ext/statusbar"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/ext-themelist.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/ext/themelist",["require","exports","module"],function(e,t,n){"use strict";var r=[["Chrome"],["Clouds"],["Crimson Editor"],["Dawn"],["Dreamweaver"],["Eclipse"],["GitHub"],["IPlastic"],["Solarized Light"],["TextMate"],["Tomorrow"],["Xcode"],["Kuroir"],["KatzenMilch"],["SQL Server","sqlserver","light"],["Ambiance","ambiance","dark"],["Chaos","chaos","dark"],["Clouds Midnight","clouds_midnight","dark"],["Dracula","","dark"],["Cobalt","cobalt","dark"],["Gruvbox","gruvbox","dark"],["Green on Black","gob","dark"],["idle Fingers","idle_fingers","dark"],["krTheme","kr_theme","dark"],["Merbivore","merbivore","dark"],["Merbivore Soft","merbivore_soft","dark"],["Mono Industrial","mono_industrial","dark"],["Monokai","monokai","dark"],["Nord Dark","nord_dark","dark"],["Pastel on dark","pastel_on_dark","dark"],["Solarized Dark","solarized_dark","dark"],["Terminal","terminal","dark"],["Tomorrow Night","tomorrow_night","dark"],["Tomorrow Night Blue","tomorrow_night_blue","dark"],["Tomorrow Night Bright","tomorrow_night_bright","dark"],["Tomorrow Night 80s","tomorrow_night_eighties","dark"],["Twilight","twilight","dark"],["Vibrant Ink","vibrant_ink","dark"]];t.themesByName={},t.themes=r.map(function(e){var n=e[1]||e[0].replace(/ /g,"_").toLowerCase(),r={caption:e[0],theme:"ace/theme/"+n,isDark:e[2]=="dark",name:n};return t.themesByName[n]=r,r})}); (function() {
2 | ace.require(["ace/ext/themelist"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/mode-csp.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/mode/csp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e=this.createKeywordMapper({"constant.language":"child-src|connect-src|default-src|font-src|frame-src|img-src|manifest-src|media-src|object-src|script-src|style-src|worker-src|base-uri|plugin-types|sandbox|disown-opener|form-action|frame-ancestors|report-uri|report-to|upgrade-insecure-requests|block-all-mixed-content|require-sri-for|reflected-xss|referrer|policy-uri",variable:"'none'|'self'|'unsafe-inline'|'unsafe-eval'|'strict-dynamic'|'unsafe-hashed-attributes'"},"identifier",!0);this.$rules={start:[{token:"string.link",regex:/https?:[^;\s]*/},{token:"operator.punctuation",regex:/;/},{token:e,regex:/[^\s;]+/}]}};r.inherits(s,i),t.CspHighlightRules=s}),ace.define("ace/mode/csp",["require","exports","module","ace/mode/text","ace/mode/csp_highlight_rules","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./text").Mode,i=e("./csp_highlight_rules").CspHighlightRules,s=e("../lib/oop"),o=function(){this.HighlightRules=i};s.inherits(o,r),function(){this.$id="ace/mode/csp"}.call(o.prototype),t.Mode=o}); (function() {
2 | ace.require(["ace/mode/csp"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/mode-gcode.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/mode/gcode_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="IF|DO|WHILE|ENDWHILE|CALL|ENDIF|SUB|ENDSUB|GOTO|REPEAT|ENDREPEAT|CALL",t="PI",n="ATAN|ABS|ACOS|ASIN|SIN|COS|EXP|FIX|FUP|ROUND|LN|TAN",r=this.createKeywordMapper({"support.function":n,keyword:e,"constant.language":t},"identifier",!0);this.$rules={start:[{token:"comment",regex:"\\(.*\\)"},{token:"comment",regex:"([N])([0-9]+)"},{token:"string",regex:"([G])([0-9]+\\.?[0-9]?)"},{token:"string",regex:"([M])([0-9]+\\.?[0-9]?)"},{token:"constant.numeric",regex:"([-+]?([0-9]*\\.?[0-9]+\\.?))|(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)"},{token:r,regex:"[A-Z]"},{token:"keyword.operator",regex:"EQ|LT|GT|NE|GE|LE|OR|XOR"},{token:"paren.lparen",regex:"[\\[]"},{token:"paren.rparen",regex:"[\\]]"},{token:"text",regex:"\\s+"}]}};r.inherits(s,i),t.GcodeHighlightRules=s}),ace.define("ace/mode/gcode",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/gcode_highlight_rules","ace/range"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./gcode_highlight_rules").GcodeHighlightRules,o=e("../range").Range,u=function(){this.HighlightRules=s,this.$behaviour=this.$defaultBehaviour};r.inherits(u,i),function(){this.$id="ace/mode/gcode"}.call(u.prototype),t.Mode=u}); (function() {
2 | ace.require(["ace/mode/gcode"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/mode-gitignore.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/mode/gitignore_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment",regex:/^\s*#.*$/},{token:"keyword",regex:/^\s*!.*$/}]},this.normalizeRules()};s.metaData={fileTypes:["gitignore"],name:"Gitignore"},r.inherits(s,i),t.GitignoreHighlightRules=s}),ace.define("ace/mode/gitignore",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/gitignore_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./gitignore_highlight_rules").GitignoreHighlightRules,o=function(){this.HighlightRules=s,this.$behaviour=this.$defaultBehaviour};r.inherits(o,i),function(){this.lineCommentStart="#",this.$id="ace/mode/gitignore"}.call(o.prototype),t.Mode=o}); (function() {
2 | ace.require(["ace/mode/gitignore"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/mode-lisp.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/mode/lisp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="case|do|let|loop|if|else|when",t="eq|neq|and|or",n="null|nil",r="cons|car|cdr|cond|lambda|format|setq|setf|quote|eval|append|list|listp|memberp|t|load|progn",i=this.createKeywordMapper({"keyword.control":e,"keyword.operator":t,"constant.language":n,"support.function":r},"identifier",!0);this.$rules={start:[{token:"comment",regex:";.*$"},{token:["storage.type.function-type.lisp","text","entity.name.function.lisp"],regex:"(?:\\b(?:(defun|defmethod|defmacro))\\b)(\\s+)((?:\\w|\\-|\\!|\\?)*)"},{token:["punctuation.definition.constant.character.lisp","constant.character.lisp"],regex:"(#)((?:\\w|[\\\\+-=<>'\"])+)"},{token:["punctuation.definition.variable.lisp","variable.other.global.lisp","punctuation.definition.variable.lisp"],regex:"(\\*)(\\S*)(\\*)"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+(?:L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?(?:L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:i,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"string",regex:'"(?=.)',next:"qqstring"}],qqstring:[{token:"constant.character.escape.lisp",regex:"\\\\."},{token:"string",regex:'[^"\\\\]+'},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"start"}]}};r.inherits(s,i),t.LispHighlightRules=s}),ace.define("ace/mode/lisp",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/lisp_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./lisp_highlight_rules").LispHighlightRules,o=function(){this.HighlightRules=s,this.$behaviour=this.$defaultBehaviour};r.inherits(o,i),function(){this.lineCommentStart=";",this.$id="ace/mode/lisp"}.call(o.prototype),t.Mode=o}); (function() {
2 | ace.require(["ace/mode/lisp"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/mode-plain_text.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/mode/plain_text",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/text_highlight_rules","ace/mode/behaviour"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./text_highlight_rules").TextHighlightRules,o=e("./behaviour").Behaviour,u=function(){this.HighlightRules=s,this.$behaviour=new o};r.inherits(u,i),function(){this.type="text",this.getNextLineIndent=function(e,t,n){return""},this.$id="ace/mode/plain_text"}.call(u.prototype),t.Mode=u}); (function() {
2 | ace.require(["ace/mode/plain_text"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/mode-properties.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/mode/properties_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e=/\\u[0-9a-fA-F]{4}|\\/;this.$rules={start:[{token:"comment",regex:/[!#].*$/},{token:"keyword",regex:/[=:]$/},{token:"keyword",regex:/[=:]/,next:"value"},{token:"constant.language.escape",regex:e},{defaultToken:"variable"}],value:[{regex:/\\$/,token:"string",next:"value"},{regex:/$/,token:"string",next:"start"},{token:"constant.language.escape",regex:e},{defaultToken:"string"}]}};r.inherits(s,i),t.PropertiesHighlightRules=s}),ace.define("ace/mode/properties",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/properties_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./properties_highlight_rules").PropertiesHighlightRules,o=function(){this.HighlightRules=s,this.$behaviour=this.$defaultBehaviour};r.inherits(o,i),function(){this.$id="ace/mode/properties"}.call(o.prototype),t.Mode=o}); (function() {
2 | ace.require(["ace/mode/properties"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/mode-sql.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/mode/sql_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="select|insert|update|delete|from|where|and|or|group|by|order|limit|offset|having|as|case|when|then|else|end|type|left|right|join|on|outer|desc|asc|union|create|table|primary|key|if|foreign|not|references|default|null|inner|cross|natural|database|drop|grant",t="true|false",n="avg|count|first|last|max|min|sum|ucase|lcase|mid|len|round|rank|now|format|coalesce|ifnull|isnull|nvl",r="int|numeric|decimal|date|varchar|char|bigint|float|double|bit|binary|text|set|timestamp|money|real|number|integer",i=this.createKeywordMapper({"support.function":n,keyword:e,"constant.language":t,"storage.type":r},"identifier",!0);this.$rules={start:[{token:"comment",regex:"--.*$"},{token:"comment",start:"/\\*",end:"\\*/"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"},{token:"string",regex:"`.*?`"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:i,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\(]"},{token:"paren.rparen",regex:"[\\)]"},{token:"text",regex:"\\s+"}]},this.normalizeRules()};r.inherits(s,i),t.SqlHighlightRules=s}),ace.define("ace/mode/sql",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/sql_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./sql_highlight_rules").SqlHighlightRules,o=function(){this.HighlightRules=s,this.$behaviour=this.$defaultBehaviour};r.inherits(o,i),function(){this.lineCommentStart="--",this.$id="ace/mode/sql",this.snippetFileId="ace/snippets/sql"}.call(o.prototype),t.Mode=o}); (function() {
2 | ace.require(["ace/mode/sql"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/mode-text.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/mode/text"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/mode-textile.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/mode/textile_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:function(e){return e.charAt(0)=="h"?"markup.heading."+e.charAt(1):"markup.heading"},regex:"h1|h2|h3|h4|h5|h6|bq|p|bc|pre",next:"blocktag"},{token:"keyword",regex:"[\\*]+|[#]+"},{token:"text",regex:".+"}],blocktag:[{token:"keyword",regex:"\\. ",next:"start"},{token:"keyword",regex:"\\(",next:"blocktagproperties"}],blocktagproperties:[{token:"keyword",regex:"\\)",next:"blocktag"},{token:"string",regex:"[a-zA-Z0-9\\-_]+"},{token:"keyword",regex:"#"}]}};r.inherits(s,i),t.TextileHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/textile",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/textile_highlight_rules","ace/mode/matching_brace_outdent"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./textile_highlight_rules").TextileHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=this.$defaultBehaviour};r.inherits(u,i),function(){this.type="text",this.getNextLineIndent=function(e,t,n){return e=="intag"?n:""},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/textile",this.snippetFileId="ace/snippets/textile"}.call(u.prototype),t.Mode=u}); (function() {
2 | ace.require(["ace/mode/textile"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/mode-vhdl.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/mode/vhdl_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="access|after|ailas|all|architecture|assert|attribute|begin|block|buffer|bus|case|component|configuration|disconnect|downto|else|elsif|end|entity|file|for|function|generate|generic|guarded|if|impure|in|inertial|inout|is|label|linkage|literal|loop|mapnew|next|of|on|open|others|out|port|process|pure|range|record|reject|report|return|select|severity|shared|signal|subtype|then|to|transport|type|unaffected|united|until|wait|when|while|with",t="bit|bit_vector|boolean|character|integer|line|natural|positive|real|register|signed|std_logic|std_logic_vector|string||text|time|unsigned|variable",n="array|constant",r="abs|and|mod|nand|nor|not|rem|rol|ror|sla|sll|srasrl|xnor|xor",i="true|false|null",s=this.createKeywordMapper({"keyword.operator":r,keyword:e,"constant.language":i,"storage.modifier":n,"storage.type":t},"identifier",!0);this.$rules={start:[{token:"comment",regex:"--.*$"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"keyword",regex:"\\s*(?:library|package|use)\\b"},{token:s,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"&|\\*|\\+|\\-|\\/|<|=|>|\\||=>|\\*\\*|:=|\\/=|>=|<=|<>"},{token:"punctuation.operator",regex:"\\'|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[[(]"},{token:"paren.rparen",regex:"[\\])]"},{token:"text",regex:"\\s+"}]}};r.inherits(s,i),t.VHDLHighlightRules=s}),ace.define("ace/mode/vhdl",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/vhdl_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./vhdl_highlight_rules").VHDLHighlightRules,o=function(){this.HighlightRules=s,this.$behaviour=this.$defaultBehaviour};r.inherits(o,i),function(){this.lineCommentStart="--",this.$id="ace/mode/vhdl"}.call(o.prototype),t.Mode=o}); (function() {
2 | ace.require(["ace/mode/vhdl"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/abap.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/abap"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/abc.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/abc",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='\nsnippet zupfnoter.print\n %%%%hn.print {"startpos": ${1:pos_y}, "t":"${2:title}", "v":[${3:voices}], "s":[[${4:syncvoices}1,2]], "f":[${5:flowlines}], "sf":[${6:subflowlines}], "j":[${7:jumplines}]}\n\nsnippet zupfnoter.note\n %%%%hn.note {"pos": [${1:pos_x},${2:pos_y}], "text": "${3:text}", "style": "${4:style}"}\n\nsnippet zupfnoter.annotation\n %%%%hn.annotation {"id": "${1:id}", "pos": [${2:pos}], "text": "${3:text}"}\n\nsnippet zupfnoter.lyrics\n %%%%hn.lyrics {"pos": [${1:x_pos},${2:y_pos}]}\n\nsnippet zupfnoter.legend\n %%%%hn.legend {"pos": [${1:x_pos},${2:y_pos}]}\n\n\n\nsnippet zupfnoter.target\n "^:${1:target}"\n\nsnippet zupfnoter.goto\n "^@${1:target}@${2:distance}"\n\nsnippet zupfnoter.annotationref\n "^#${1:target}"\n\nsnippet zupfnoter.annotation\n "^!${1:text}@${2:x_offset},${3:y_offset}"\n\n\n',t.scope="abc"}); (function() {
2 | ace.require(["ace/snippets/abc"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/ada.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/ada"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/alda.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/alda"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/apache_conf.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/apache_conf"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/apex.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/apex"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/applescript.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/applescript"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/aql.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/aql"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/asciidoc.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/asciidoc"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/asl.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/asl"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/assembly_x86.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/assembly_x86"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/autohotkey.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/autohotkey"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/batchfile.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/batchfile"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/c9search.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/c9search"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/cirru.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/cirru"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/clojure.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/clojure",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='snippet comm\n (comment\n ${1}\n )\nsnippet condp\n (condp ${1:pred} ${2:expr}\n ${3})\nsnippet def\n (def ${1})\nsnippet defm\n (defmethod ${1:multifn} "${2:doc-string}" ${3:dispatch-val} [${4:args}]\n ${5})\nsnippet defmm\n (defmulti ${1:name} "${2:doc-string}" ${3:dispatch-fn})\nsnippet defma\n (defmacro ${1:name} "${2:doc-string}" ${3:dispatch-fn})\nsnippet defn\n (defn ${1:name} "${2:doc-string}" [${3:arg-list}]\n ${4})\nsnippet defp\n (defprotocol ${1:name}\n ${2})\nsnippet defr\n (defrecord ${1:name} [${2:fields}]\n ${3:protocol}\n ${4})\nsnippet deft\n (deftest ${1:name}\n (is (= ${2:assertion})))\n ${3})\nsnippet is\n (is (= ${1} ${2}))\nsnippet defty\n (deftype ${1:Name} [${2:fields}]\n ${3:Protocol}\n ${4})\nsnippet doseq\n (doseq [${1:elem} ${2:coll}]\n ${3})\nsnippet fn\n (fn [${1:arg-list}] ${2})\nsnippet if\n (if ${1:test-expr}\n ${2:then-expr}\n ${3:else-expr})\nsnippet if-let \n (if-let [${1:result} ${2:test-expr}]\n (${3:then-expr} $1)\n (${4:else-expr}))\nsnippet imp\n (:import [${1:package}])\n & {:keys [${1:keys}] :or {${2:defaults}}}\nsnippet let\n (let [${1:name} ${2:expr}]\n ${3})\nsnippet letfn\n (letfn [(${1:name) [${2:args}]\n ${3})])\nsnippet map\n (map ${1:func} ${2:coll})\nsnippet mapl\n (map #(${1:lambda}) ${2:coll})\nsnippet met\n (${1:name} [${2:this} ${3:args}]\n ${4})\nsnippet ns\n (ns ${1:name}\n ${2})\nsnippet dotimes\n (dotimes [_ 10]\n (time\n (dotimes [_ ${1:times}]\n ${2})))\nsnippet pmethod\n (${1:name} [${2:this} ${3:args}])\nsnippet refer\n (:refer-clojure :exclude [${1}])\nsnippet require\n (:require [${1:namespace} :as [${2}]])\nsnippet use\n (:use [${1:namespace} :only [${2}]])\nsnippet print\n (println ${1})\nsnippet reduce\n (reduce ${1:(fn [p n] ${3})} ${2})\nsnippet when\n (when ${1:test} ${2:body})\nsnippet when-let\n (when-let [${1:result} ${2:test}]\n ${3:body})\n',t.scope="clojure"}); (function() {
2 | ace.require(["ace/snippets/clojure"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/cobol.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/cobol"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/coldfusion.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/coldfusion"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/crystal.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/crystal"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/csharp.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/csharp"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/csound_document.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/csound_document",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="# \nsnippet synth\n \n \n ${1}\n \n \n e\n \n \n",t.scope="csound_document"}); (function() {
2 | ace.require(["ace/snippets/csound_document"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/csound_orchestra.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/csound_orchestra",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="# else\nsnippet else\n else\n ${1:/* statements */}\n# elseif\nsnippet elseif\n elseif ${1:/* condition */} then\n ${2:/* statements */}\n# if\nsnippet if\n if ${1:/* condition */} then\n ${2:/* statements */}\n endif\n# instrument block\nsnippet instr\n instr ${1:name}\n ${2:/* statements */}\n endin\n# i-time while loop\nsnippet iwhile\n i${1:Index} = ${2:0}\n while i${1:Index} < ${3:/* count */} do\n ${4:/* statements */}\n i${1:Index} += 1\n od\n# k-rate while loop\nsnippet kwhile\n k${1:Index} = ${2:0}\n while k${1:Index} < ${3:/* count */} do\n ${4:/* statements */}\n k${1:Index} += 1\n od\n# opcode\nsnippet opcode\n opcode ${1:name}, ${2:/* output types */ 0}, ${3:/* input types */ 0}\n ${4:/* statements */}\n endop\n# until loop\nsnippet until\n until ${1:/* condition */} do\n ${2:/* statements */}\n od\n# while loop\nsnippet while\n while ${1:/* condition */} do\n ${2:/* statements */}\n od\n",t.scope="csound_orchestra"}); (function() {
2 | ace.require(["ace/snippets/csound_orchestra"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/csound_score.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/csound_score"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/csp.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/csp"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/curly.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/curly"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/d.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/d"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/dart.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/dart",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="snippet lib\n library ${1};\n ${2}\nsnippet im\n import '${1}';\n ${2}\nsnippet pa\n part '${1}';\n ${2}\nsnippet pao\n part of ${1};\n ${2}\nsnippet main\n void main() {\n ${1:/* code */}\n }\nsnippet st\n static ${1}\nsnippet fi\n final ${1}\nsnippet re\n return ${1}\nsnippet br\n break;\nsnippet th\n throw ${1}\nsnippet cl\n class ${1:`Filename(\"\", \"untitled\")`} ${2}\nsnippet imp\n implements ${1}\nsnippet ext\n extends ${1}\nsnippet if\n if (${1:true}) {\n ${2}\n }\nsnippet ife\n if (${1:true}) {\n ${2}\n } else {\n ${3}\n }\nsnippet el\n else\nsnippet sw\n switch (${1}) {\n ${2}\n }\nsnippet cs\n case ${1}:\n ${2}\nsnippet de\n default:\n ${1}\nsnippet for\n for (var ${2:i} = 0, len = ${1:things}.length; $2 < len; ${3:++}$2) {\n ${4:$1[$2]}\n }\nsnippet fore\n for (final ${2:item} in ${1:itemList}) {\n ${3:/* code */}\n }\nsnippet wh\n while (${1:/* condition */}) {\n ${2:/* code */}\n }\nsnippet dowh\n do {\n ${2:/* code */}\n } while (${1:/* condition */});\nsnippet as\n assert(${1:/* condition */});\nsnippet try\n try {\n ${2}\n } catch (${1:Exception e}) {\n }\nsnippet tryf\n try {\n ${2}\n } catch (${1:Exception e}) {\n } finally {\n }\n",t.scope="dart"}); (function() {
2 | ace.require(["ace/snippets/dart"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/diff.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/diff",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='# DEP-3 (http://dep.debian.net/deps/dep3/) style patch header\nsnippet header DEP-3 style header\n Description: ${1}\n Origin: ${2:vendor|upstream|other}, ${3:url of the original patch}\n Bug: ${4:url in upstream bugtracker}\n Forwarded: ${5:no|not-needed|url}\n Author: ${6:`g:snips_author`}\n Reviewed-by: ${7:name and email}\n Last-Update: ${8:`strftime("%Y-%m-%d")`}\n Applied-Upstream: ${9:upstream version|url|commit}\n\n',t.scope="diff"}); (function() {
2 | ace.require(["ace/snippets/diff"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/dockerfile.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/dockerfile"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/dot.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/dot"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/drools.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/drools",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='\nsnippet rule\n rule "${1?:rule_name}"\n when\n ${2:// when...} \n then\n ${3:// then...}\n end\n\nsnippet query\n query ${1?:query_name}\n ${2:// find} \n end\n \nsnippet declare\n declare ${1?:type_name}\n ${2:// attributes} \n end\n\n',t.scope="drools"}); (function() {
2 | ace.require(["ace/snippets/drools"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/eiffel.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/eiffel"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/ejs.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/ejs"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/elixir.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/elixir"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/elm.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/elm"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/forth.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/forth"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/fortran.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/fortran"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/fsharp.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/fsharp"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/fsl.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/fsl",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope=""}); (function() {
2 | ace.require(["ace/snippets/fsl"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/ftl.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/ftl"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/gcode.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/gcode"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/gherkin.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/gherkin"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/gitignore.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/gitignore"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/glsl.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/glsl"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/golang.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/golang"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/graphqlschema.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/graphqlschema",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="# Type Snippet\ntrigger type\nsnippet type\n type ${1:type_name} {\n ${2:type_siblings}\n }\n\n# Input Snippet\ntrigger input\nsnippet input\n input ${1:input_name} {\n ${2:input_siblings}\n }\n\n# Interface Snippet\ntrigger interface\nsnippet interface\n interface ${1:interface_name} {\n ${2:interface_siblings}\n }\n\n# Interface Snippet\ntrigger union\nsnippet union\n union ${1:union_name} = ${2:type} | ${3: type}\n\n# Enum Snippet\ntrigger enum\nsnippet enum\n enum ${1:enum_name} {\n ${2:enum_siblings}\n }\n",t.scope="graphqlschema"}); (function() {
2 | ace.require(["ace/snippets/graphqlschema"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/groovy.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/groovy"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/haml.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/haml",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="snippet t\n %table\n %tr\n %th\n ${1:headers}\n %tr\n %td\n ${2:headers}\nsnippet ul\n %ul\n %li\n ${1:item}\n %li\nsnippet =rp\n = render :partial => '${1:partial}'\nsnippet =rpl\n = render :partial => '${1:partial}', :locals => {}\nsnippet =rpc\n = render :partial => '${1:partial}', :collection => @$1\n\n",t.scope="haml"}); (function() {
2 | ace.require(["ace/snippets/haml"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/handlebars.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/handlebars"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/haskell.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/haskell",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="snippet lang\n {-# LANGUAGE ${1:OverloadedStrings} #-}\nsnippet info\n -- |\n -- Module : ${1:Module.Namespace}\n -- Copyright : ${2:Author} ${3:2011-2012}\n -- License : ${4:BSD3}\n --\n -- Maintainer : ${5:email@something.com}\n -- Stability : ${6:experimental}\n -- Portability : ${7:unknown}\n --\n -- ${8:Description}\n --\nsnippet import\n import ${1:Data.Text}\nsnippet import2\n import ${1:Data.Text} (${2:head})\nsnippet importq\n import qualified ${1:Data.Text} as ${2:T}\nsnippet inst\n instance ${1:Monoid} ${2:Type} where\n ${3}\nsnippet type\n type ${1:Type} = ${2:Type}\nsnippet data\n data ${1:Type} = ${2:$1} ${3:Int}\nsnippet newtype\n newtype ${1:Type} = ${2:$1} ${3:Int}\nsnippet class\n class ${1:Class} a where\n ${2}\nsnippet module\n module `substitute(substitute(expand('%:r'), '[/\\\\]','.','g'),'^\\%(\\l*\\.\\)\\?','','')` (\n ) where\n `expand('%') =~ 'Main' ? \"\\n\\nmain = do\\n print \\\"hello world\\\"\" : \"\"`\n\nsnippet const\n ${1:name} :: ${2:a}\n $1 = ${3:undefined}\nsnippet fn\n ${1:fn} :: ${2:a} -> ${3:a}\n $1 ${4} = ${5:undefined}\nsnippet fn2\n ${1:fn} :: ${2:a} -> ${3:a} -> ${4:a}\n $1 ${5} = ${6:undefined}\nsnippet ap\n ${1:map} ${2:fn} ${3:list}\nsnippet do\n do\n \nsnippet \u03bb\n \\${1:x} -> ${2}\nsnippet \\\n \\${1:x} -> ${2}\nsnippet <-\n ${1:a} <- ${2:m a}\nsnippet \u2190\n ${1:a} <- ${2:m a}\nsnippet ->\n ${1:m a} -> ${2:a}\nsnippet \u2192\n ${1:m a} -> ${2:a}\nsnippet tup\n (${1:a}, ${2:b})\nsnippet tup2\n (${1:a}, ${2:b}, ${3:c})\nsnippet tup3\n (${1:a}, ${2:b}, ${3:c}, ${4:d})\nsnippet rec\n ${1:Record} { ${2:recFieldA} = ${3:undefined}\n , ${4:recFieldB} = ${5:undefined}\n }\nsnippet case\n case ${1:something} of\n ${2} -> ${3}\nsnippet let\n let ${1} = ${2}\n in ${3}\nsnippet where\n where\n ${1:fn} = ${2:undefined}\n",t.scope="haskell"}); (function() {
2 | ace.require(["ace/snippets/haskell"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/haskell_cabal.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/haskell_cabal"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/haxe.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/haxe"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/hjson.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/hjson"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/html_elixir.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/html_elixir"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/html_ruby.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/html_ruby"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/ini.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/ini"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/io.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/io",["require","exports","module"],function(e,t,n){"use strict";t.snippets=[{content:"assertEquals(${1:expected}, ${2:expr})",name:"assertEquals",scope:"io",tabTrigger:"ae"},{content:"${1:${2:newValue} := ${3:Object} }clone do(\n $0\n)",name:"clone do",scope:"io",tabTrigger:"cdo"},{content:'docSlot("${1:slotName}", "${2:documentation}")',name:"docSlot",scope:"io",tabTrigger:"ds"},{content:"(${1:header,}\n ${2:body}\n)$0",keyEquivalent:"@(",name:"Indented Bracketed Line",scope:"io",tabTrigger:"("},{content:"\n $0\n",keyEquivalent:"\r",name:"Special: Return Inside Empty Parenthesis",scope:"io meta.empty-parenthesis.io, io meta.comma-parenthesis.io"},{content:"${1:methodName} := method(${2:args,}\n $0\n)",name:"method",scope:"io",tabTrigger:"m"},{content:'newSlot("${1:slotName}", ${2:defaultValue}, "${3:docString}")$0',name:"newSlot",scope:"io",tabTrigger:"ns"},{content:"${1:name} := Object clone do(\n $0\n)",name:"Object clone do",scope:"io",tabTrigger:"ocdo"},{content:"test${1:SomeFeature} := method(\n $0\n)",name:"testMethod",scope:"io",tabTrigger:"ts"},{content:"${1:Something}Test := ${2:UnitTest} clone do(\n $0\n)",name:"UnitTest",scope:"io",tabTrigger:"ut"}],t.scope="io"}); (function() {
2 | ace.require(["ace/snippets/io"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/jack.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/jack"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/jade.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/jade"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/json.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/json"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/json5.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/json5"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/jsoniq.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/jsoniq",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='snippet for\n for $${1:item} in ${2:expr}\nsnippet return\n return ${1:expr}\nsnippet import\n import module namespace ${1:ns} = "${2:http://www.example.com/}";\nsnippet some\n some $${1:varname} in ${2:expr} satisfies ${3:expr}\nsnippet every\n every $${1:varname} in ${2:expr} satisfies ${3:expr}\nsnippet if\n if(${1:true}) then ${2:expr} else ${3:true}\nsnippet switch\n switch(${1:"foo"})\n case ${2:"foo"}\n return ${3:true}\n default return ${4:false}\nsnippet try\n try { ${1:expr} } catch ${2:*} { ${3:expr} }\nsnippet tumbling\n for tumbling window $${1:varname} in ${2:expr}\n start at $${3:start} when ${4:expr}\n end at $${5:end} when ${6:expr}\n return ${7:expr}\nsnippet sliding\n for sliding window $${1:varname} in ${2:expr}\n start at $${3:start} when ${4:expr}\n end at $${5:end} when ${6:expr}\n return ${7:expr}\nsnippet let\n let $${1:varname} := ${2:expr}\nsnippet group\n group by $${1:varname} := ${2:expr}\nsnippet order\n order by ${1:expr} ${2:descending}\nsnippet stable\n stable order by ${1:expr}\nsnippet count\n count $${1:varname}\nsnippet ordered\n ordered { ${1:expr} }\nsnippet unordered\n unordered { ${1:expr} }\nsnippet treat \n treat as ${1:expr}\nsnippet castable\n castable as ${1:atomicType}\nsnippet cast\n cast as ${1:atomicType}\nsnippet typeswitch\n typeswitch(${1:expr})\n case ${2:type} return ${3:expr}\n default return ${4:expr}\nsnippet var\n declare variable $${1:varname} := ${2:expr};\nsnippet fn\n declare function ${1:ns}:${2:name}(){\n ${3:expr}\n };\nsnippet module\n module namespace ${1:ns} = "${2:http://www.example.com}";\n',t.scope="jsoniq"}); (function() {
2 | ace.require(["ace/snippets/jsoniq"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/jssm.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/jssm"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/jsx.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/jsx"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/julia.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/julia"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/kotlin.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/kotlin"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/latex.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/latex"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/less.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/less"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/lisp.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/lisp"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/livescript.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/livescript"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/logiql.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/logiql"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/logtalk.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/logtalk"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/lua.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/lua",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="snippet #!\n #!/usr/bin/env lua\n $1\nsnippet local\n local ${1:x} = ${2:1}\nsnippet fun\n function ${1:fname}(${2:...})\n ${3:-- body}\n end\nsnippet for\n for ${1:i}=${2:1},${3:10} do\n ${4:print(i)}\n end\nsnippet forp\n for ${1:i},${2:v} in pairs(${3:table_name}) do\n ${4:-- body}\n end\nsnippet fori\n for ${1:i},${2:v} in ipairs(${3:table_name}) do\n ${4:-- body}\n end\n",t.scope="lua"}); (function() {
2 | ace.require(["ace/snippets/lua"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/luapage.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/luapage"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/lucene.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/lucene"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/makefile.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/makefile",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="snippet ifeq\n ifeq (${1:cond0},${2:cond1})\n ${3:code}\n endif\n",t.scope="makefile"}); (function() {
2 | ace.require(["ace/snippets/makefile"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/markdown.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/markdown",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='# Markdown\n\n# Includes octopress (http://octopress.org/) snippets\n\nsnippet [\n [${1:text}](http://${2:address} "${3:title}")\nsnippet [*\n [${1:link}](${2:`@*`} "${3:title}")${4}\n\nsnippet [:\n [${1:id}]: http://${2:url} "${3:title}"\nsnippet [:*\n [${1:id}]: ${2:`@*`} "${3:title}"\n\nsnippet \nsnippet ${4}\n\nsnippet ![:\n ![${1:id}]: ${2:url} "${3:title}"\nsnippet ![:*\n ![${1:id}]: ${2:`@*`} "${3:title}"\n\nsnippet ===\nregex /^/=+/=*//\n ${PREV_LINE/./=/g}\n \n ${0}\nsnippet ---\nregex /^/-+/-*//\n ${PREV_LINE/./-/g}\n \n ${0}\nsnippet blockquote\n {% blockquote %}\n ${1:quote}\n {% endblockquote %}\n\nsnippet blockquote-author\n {% blockquote ${1:author}, ${2:title} %}\n ${3:quote}\n {% endblockquote %}\n\nsnippet blockquote-link\n {% blockquote ${1:author} ${2:URL} ${3:link_text} %}\n ${4:quote}\n {% endblockquote %}\n\nsnippet bt-codeblock-short\n ```\n ${1:code_snippet}\n ```\n\nsnippet bt-codeblock-full\n ``` ${1:language} ${2:title} ${3:URL} ${4:link_text}\n ${5:code_snippet}\n ```\n\nsnippet codeblock-short\n {% codeblock %}\n ${1:code_snippet}\n {% endcodeblock %}\n\nsnippet codeblock-full\n {% codeblock ${1:title} lang:${2:language} ${3:URL} ${4:link_text} %}\n ${5:code_snippet}\n {% endcodeblock %}\n\nsnippet gist-full\n {% gist ${1:gist_id} ${2:filename} %}\n\nsnippet gist-short\n {% gist ${1:gist_id} %}\n\nsnippet img\n {% img ${1:class} ${2:URL} ${3:width} ${4:height} ${5:title_text} ${6:alt_text} %}\n\nsnippet youtube\n {% youtube ${1:video_id} %}\n\n# The quote should appear only once in the text. It is inherently part of it.\n# See http://octopress.org/docs/plugins/pullquote/ for more info.\n\nsnippet pullquote\n {% pullquote %}\n ${1:text} {" ${2:quote} "} ${3:text}\n {% endpullquote %}\n',t.scope="markdown"}); (function() {
2 | ace.require(["ace/snippets/markdown"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/mask.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/mask"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/matlab.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/matlab"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/maze.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/maze",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="snippet >\ndescription assignment\nscope maze\n -> ${1}= ${2}\n\nsnippet >\ndescription if\nscope maze\n -> IF ${2:**} THEN %${3:L} ELSE %${4:R}\n",t.scope="maze"}); (function() {
2 | ace.require(["ace/snippets/maze"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/mediawiki.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/mediawiki"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/mel.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/mel"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/mixal.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/mixal"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/mushcode.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/mushcode"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/mysql.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/mysql"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/nginx.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/nginx"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/nim.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/nim"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/nix.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/nix"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/nsis.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/nsis"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/nunjucks.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/nunjucks"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/objectivec.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/objectivec"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/ocaml.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/ocaml"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/pascal.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/pascal"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/perl6.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/perl6"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/pgsql.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/pgsql"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/php_laravel_blade.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/php_laravel_blade"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/pig.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/pig"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/plain_text.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/plain_text"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/powershell.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/powershell"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/praat.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/praat"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/prisma.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/prisma"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/prolog.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/prolog"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/properties.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/properties"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/protobuf.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/protobuf"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/puppet.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/puppet"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/qml.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/qml"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/razor.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/razor",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="snippet if\n(${1} == ${2}) {\n ${3}\n}",t.scope="razor"}); (function() {
2 | ace.require(["ace/snippets/razor"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/rdoc.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/rdoc"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/red.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/red"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/redshift.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/redshift"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/rhtml.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/rhtml"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/rst.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/rst",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="# rst\n\nsnippet :\n :${1:field name}: ${2:field body}\nsnippet *\n *${1:Emphasis}*\nsnippet **\n **${1:Strong emphasis}**\nsnippet _\n \\`${1:hyperlink-name}\\`_\n .. _\\`$1\\`: ${2:link-block}\nsnippet =\n ${1:Title}\n =====${2:=}\n ${3}\nsnippet -\n ${1:Title}\n -----${2:-}\n ${3}\nsnippet cont:\n .. contents::\n \n",t.scope="rst"}); (function() {
2 | ace.require(["ace/snippets/rst"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/rust.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/rust"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/sass.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/sass"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/scad.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/scad"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/scala.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/scala"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/scheme.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/scheme"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/scss.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/scss"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/sh.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/sh",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='# Shebang. Executing bash via /usr/bin/env makes scripts more portable.\nsnippet #!\n #!/usr/bin/env bash\n \nsnippet if\n if [[ ${1:condition} ]]; then\n ${2:#statements}\n fi\nsnippet elif\n elif [[ ${1:condition} ]]; then\n ${2:#statements}\nsnippet for\n for (( ${2:i} = 0; $2 < ${1:count}; $2++ )); do\n ${3:#statements}\n done\nsnippet fori\n for ${1:needle} in ${2:haystack} ; do\n ${3:#statements}\n done\nsnippet wh\n while [[ ${1:condition} ]]; do\n ${2:#statements}\n done\nsnippet until\n until [[ ${1:condition} ]]; do\n ${2:#statements}\n done\nsnippet case\n case ${1:word} in\n ${2:pattern})\n ${3};;\n esac\nsnippet go \n while getopts \'${1:o}\' ${2:opts} \n do \n case $$2 in\n ${3:o0})\n ${4:#staments};;\n esac\n done\n# Set SCRIPT_DIR variable to directory script is located.\nsnippet sdir\n SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"\n# getopt\nsnippet getopt\n __ScriptVersion="${1:version}"\n\n #=== FUNCTION ================================================================\n # NAME: usage\n # DESCRIPTION: Display usage information.\n #===============================================================================\n function usage ()\n {\n cat <<- EOT\n\n Usage : $${0:0} [options] [--] \n\n Options: \n -h|help Display this message\n -v|version Display script version\n\n EOT\n } # ---------- end of function usage ----------\n\n #-----------------------------------------------------------------------\n # Handle command line arguments\n #-----------------------------------------------------------------------\n\n while getopts ":hv" opt\n do\n case $opt in\n\n h|help ) usage; exit 0 ;;\n\n v|version ) echo "$${0:0} -- Version $__ScriptVersion"; exit 0 ;;\n\n \\? ) echo -e "\\n Option does not exist : $OPTARG\\n"\n usage; exit 1 ;;\n\n esac # --- end of case ---\n done\n shift $(($OPTIND-1))\n\n',t.scope="sh"}); (function() {
2 | ace.require(["ace/snippets/sh"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/sjs.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/sjs"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/slim.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/slim"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/smarty.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/smarty"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/snippets.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/snippets",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="# snippets for making snippets :)\nsnippet snip\n snippet ${1:trigger}\n ${2}\nsnippet msnip\n snippet ${1:trigger} ${2:description}\n ${3}\nsnippet v\n {VISUAL}\n",t.scope="snippets"}); (function() {
2 | ace.require(["ace/snippets/snippets"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/soy_template.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/soy_template"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/space.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/space"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/sparql.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/sparql"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/sql.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/sql",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="snippet tbl\n create table ${1:table} (\n ${2:columns}\n );\nsnippet col\n ${1:name} ${2:type} ${3:default ''} ${4:not null}\nsnippet ccol\n ${1:name} varchar2(${2:size}) ${3:default ''} ${4:not null}\nsnippet ncol\n ${1:name} number ${3:default 0} ${4:not null}\nsnippet dcol\n ${1:name} date ${3:default sysdate} ${4:not null}\nsnippet ind\n create index ${3:$1_$2} on ${1:table}(${2:column});\nsnippet uind\n create unique index ${1:name} on ${2:table}(${3:column});\nsnippet tblcom\n comment on table ${1:table} is '${2:comment}';\nsnippet colcom\n comment on column ${1:table}.${2:column} is '${3:comment}';\nsnippet addcol\n alter table ${1:table} add (${2:column} ${3:type});\nsnippet seq\n create sequence ${1:name} start with ${2:1} increment by ${3:1} minvalue ${4:1};\nsnippet s*\n select * from ${1:table}\n",t.scope="sql"}); (function() {
2 | ace.require(["ace/snippets/sql"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/stylus.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/stylus"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/svg.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/svg"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/swift.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/swift"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/tcl.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/tcl",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="# #!/usr/bin/env tclsh\nsnippet #!\n #!/usr/bin/env tclsh\n \n# Process\nsnippet pro\n proc ${1:function_name} {${2:args}} {\n ${3:#body ...}\n }\n#xif\nsnippet xif\n ${1:expr}? ${2:true} : ${3:false}\n# Conditional\nsnippet if\n if {${1}} {\n ${2:# body...}\n }\n# Conditional if..else\nsnippet ife\n if {${1}} {\n ${2:# body...}\n } else {\n ${3:# else...}\n }\n# Conditional if..elsif..else\nsnippet ifee\n if {${1}} {\n ${2:# body...}\n } elseif {${3}} {\n ${4:# elsif...}\n } else {\n ${5:# else...}\n }\n# If catch then\nsnippet ifc\n if { [catch {${1:#do something...}} ${2:err}] } {\n ${3:# handle failure...}\n }\n# Catch\nsnippet catch\n catch {${1}} ${2:err} ${3:options}\n# While Loop\nsnippet wh\n while {${1}} {\n ${2:# body...}\n }\n# For Loop\nsnippet for\n for {set ${2:var} 0} {$$2 < ${1:count}} {${3:incr} $2} {\n ${4:# body...}\n }\n# Foreach Loop\nsnippet fore\n foreach ${1:x} {${2:#list}} {\n ${3:# body...}\n }\n# after ms script...\nsnippet af\n after ${1:ms} ${2:#do something}\n# after cancel id\nsnippet afc\n after cancel ${1:id or script}\n# after idle\nsnippet afi\n after idle ${1:script}\n# after info id\nsnippet afin\n after info ${1:id}\n# Expr\nsnippet exp\n expr {${1:#expression here}}\n# Switch\nsnippet sw\n switch ${1:var} {\n ${3:pattern 1} {\n ${4:#do something}\n }\n default {\n ${2:#do something}\n }\n }\n# Case\nsnippet ca\n ${1:pattern} {\n ${2:#do something}\n }${3}\n# Namespace eval\nsnippet ns\n namespace eval ${1:path} {${2:#script...}}\n# Namespace current\nsnippet nsc\n namespace current\n",t.scope="tcl"}); (function() {
2 | ace.require(["ace/snippets/tcl"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/terraform.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/terraform"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/text.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/text"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/textile.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/textile",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='# Jekyll post header\nsnippet header\n ---\n title: ${1:title}\n layout: post\n date: ${2:date} ${3:hour:minute:second} -05:00\n ---\n\n# Image\nsnippet img\n !${1:url}(${2:title}):${3:link}!\n\n# Table\nsnippet |\n |${1}|${2}\n\n# Link\nsnippet link\n "${1:link text}":${2:url}\n\n# Acronym\nsnippet (\n (${1:Expand acronym})${2}\n\n# Footnote\nsnippet fn\n [${1:ref number}] ${3}\n\n fn$1. ${2:footnote}\n \n',t.scope="textile"}); (function() {
2 | ace.require(["ace/snippets/textile"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/toml.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/toml"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/tsx.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/tsx"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/turtle.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/turtle"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/twig.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/twig"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/typescript.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/typescript"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/vbscript.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/vbscript"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/velocity.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/velocity",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='# macro\nsnippet #macro\n #macro ( ${1:macroName} ${2:\\$var1, [\\$var2, ...]} )\n ${3:## macro code}\n #end\n# foreach\nsnippet #foreach\n #foreach ( ${1:\\$item} in ${2:\\$collection} )\n ${3:## foreach code}\n #end\n# if\nsnippet #if\n #if ( ${1:true} )\n ${0}\n #end\n# if ... else\nsnippet #ife\n #if ( ${1:true} )\n ${2}\n #else\n ${0}\n #end\n#import\nsnippet #import\n #import ( "${1:path/to/velocity/format}" )\n# set\nsnippet #set\n #set ( $${1:var} = ${0} )\n',t.scope="velocity",t.includeScopes=["html","javascript","css"]}); (function() {
2 | ace.require(["ace/snippets/velocity"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/verilog.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/verilog"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/vhdl.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/vhdl"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/visualforce.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/visualforce"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/wollok.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/wollok",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='##\n## Basic Java packages and import\nsnippet im\n import\nsnippet w.l\n wollok.lang\nsnippet w.i\n wollok.lib\n\n## Class and object\nsnippet cl\n class ${1:`Filename("", "untitled")`} ${2}\nsnippet obj\n object ${1:`Filename("", "untitled")`} ${2:inherits Parent}${3}\nsnippet te\n test ${1:`Filename("", "untitled")`}\n\n##\n## Enhancements\nsnippet inh\n inherits\n\n##\n## Comments\nsnippet /*\n /*\n * ${1}\n */\n\n##\n## Control Statements\nsnippet el\n else\nsnippet if\n if (${1}) ${2}\n\n##\n## Create a Method\nsnippet m\n method ${1:method}(${2}) ${5}\n\n## \n## Tests\nsnippet as\n assert.equals(${1:expected}, ${2:actual})\n\n##\n## Exceptions\nsnippet ca\n catch ${1:e} : (${2:Exception} ) ${3}\nsnippet thr\n throw\nsnippet try\n try {\n ${3}\n } catch ${1:e} : ${2:Exception} {\n }\n\n##\n## Javadocs\nsnippet /**\n /**\n * ${1}\n */\n\n##\n## Print Methods\nsnippet print\n console.println("${1:Message}")\n\n##\n## Setter and Getter Methods\nsnippet set\n method set${1:}(${2:}) {\n $1 = $2\n }\nsnippet get\n method get${1:}() {\n return ${1:};\n }\n\n##\n## Terminate Methods or Loops\nsnippet re\n return',t.scope="wollok"}); (function() {
2 | ace.require(["ace/snippets/wollok"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/xml.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/xml"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/xquery.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/snippets/xquery",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='snippet for\n for $${1:item} in ${2:expr}\nsnippet return\n return ${1:expr}\nsnippet import\n import module namespace ${1:ns} = "${2:http://www.example.com/}";\nsnippet some\n some $${1:varname} in ${2:expr} satisfies ${3:expr}\nsnippet every\n every $${1:varname} in ${2:expr} satisfies ${3:expr}\nsnippet if\n if(${1:true}) then ${2:expr} else ${3:true}\nsnippet switch\n switch(${1:"foo"})\n case ${2:"foo"}\n return ${3:true}\n default return ${4:false}\nsnippet try\n try { ${1:expr} } catch ${2:*} { ${3:expr} }\nsnippet tumbling\n for tumbling window $${1:varname} in ${2:expr}\n start at $${3:start} when ${4:expr}\n end at $${5:end} when ${6:expr}\n return ${7:expr}\nsnippet sliding\n for sliding window $${1:varname} in ${2:expr}\n start at $${3:start} when ${4:expr}\n end at $${5:end} when ${6:expr}\n return ${7:expr}\nsnippet let\n let $${1:varname} := ${2:expr}\nsnippet group\n group by $${1:varname} := ${2:expr}\nsnippet order\n order by ${1:expr} ${2:descending}\nsnippet stable\n stable order by ${1:expr}\nsnippet count\n count $${1:varname}\nsnippet ordered\n ordered { ${1:expr} }\nsnippet unordered\n unordered { ${1:expr} }\nsnippet treat \n treat as ${1:expr}\nsnippet castable\n castable as ${1:atomicType}\nsnippet cast\n cast as ${1:atomicType}\nsnippet typeswitch\n typeswitch(${1:expr})\n case ${2:type} return ${3:expr}\n default return ${4:expr}\nsnippet var\n declare variable $${1:varname} := ${2:expr};\nsnippet fn\n declare function ${1:ns}:${2:name}(){\n ${3:expr}\n };\nsnippet module\n module namespace ${1:ns} = "${2:http://www.example.com}";\n',t.scope="xquery"}); (function() {
2 | ace.require(["ace/snippets/xquery"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/yaml.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/yaml"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/snippets/zeek.js:
--------------------------------------------------------------------------------
1 | ; (function() {
2 | ace.require(["ace/snippets/zeek"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/theme-clouds.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/theme/clouds",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-clouds",t.cssText='.ace-clouds .ace_gutter {background: #ebebeb;color: #333}.ace-clouds .ace_print-margin {width: 1px;background: #e8e8e8}.ace-clouds {background-color: #FFFFFF;color: #000000}.ace-clouds .ace_cursor {color: #000000}.ace-clouds .ace_marker-layer .ace_selection {background: #BDD5FC}.ace-clouds.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #FFFFFF;}.ace-clouds .ace_marker-layer .ace_step {background: rgb(255, 255, 0)}.ace-clouds .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #BFBFBF}.ace-clouds .ace_marker-layer .ace_active-line {background: #FFFBD1}.ace-clouds .ace_gutter-active-line {background-color : #dcdcdc}.ace-clouds .ace_marker-layer .ace_selected-word {border: 1px solid #BDD5FC}.ace-clouds .ace_invisible {color: #BFBFBF}.ace-clouds .ace_keyword,.ace-clouds .ace_meta,.ace-clouds .ace_support.ace_constant.ace_property-value {color: #AF956F}.ace-clouds .ace_keyword.ace_operator {color: #484848}.ace-clouds .ace_keyword.ace_other.ace_unit {color: #96DC5F}.ace-clouds .ace_constant.ace_language {color: #39946A}.ace-clouds .ace_constant.ace_numeric {color: #46A609}.ace-clouds .ace_constant.ace_character.ace_entity {color: #BF78CC}.ace-clouds .ace_invalid {background-color: #FF002A}.ace-clouds .ace_fold {background-color: #AF956F;border-color: #000000}.ace-clouds .ace_storage,.ace-clouds .ace_support.ace_class,.ace-clouds .ace_support.ace_function,.ace-clouds .ace_support.ace_other,.ace-clouds .ace_support.ace_type {color: #C52727}.ace-clouds .ace_string {color: #5D90CD}.ace-clouds .ace_comment {color: #BCC8BA}.ace-clouds .ace_entity.ace_name.ace_tag,.ace-clouds .ace_entity.ace_other.ace_attribute-name {color: #606060}.ace-clouds .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}); (function() {
2 | ace.require(["ace/theme/clouds"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/theme-eclipse.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/theme/eclipse",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";t.isDark=!1,t.cssText='.ace-eclipse .ace_gutter {background: #ebebeb;border-right: 1px solid rgb(159, 159, 159);color: rgb(136, 136, 136);}.ace-eclipse .ace_print-margin {width: 1px;background: #ebebeb;}.ace-eclipse {background-color: #FFFFFF;color: black;}.ace-eclipse .ace_fold {background-color: rgb(60, 76, 114);}.ace-eclipse .ace_cursor {color: black;}.ace-eclipse .ace_storage,.ace-eclipse .ace_keyword,.ace-eclipse .ace_variable {color: rgb(127, 0, 85);}.ace-eclipse .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-eclipse .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-eclipse .ace_function {color: rgb(60, 76, 114);}.ace-eclipse .ace_string {color: rgb(42, 0, 255);}.ace-eclipse .ace_comment {color: rgb(113, 150, 130);}.ace-eclipse .ace_comment.ace_doc {color: rgb(63, 95, 191);}.ace-eclipse .ace_comment.ace_doc.ace_tag {color: rgb(127, 159, 191);}.ace-eclipse .ace_constant.ace_numeric {color: darkblue;}.ace-eclipse .ace_tag {color: rgb(25, 118, 116);}.ace-eclipse .ace_type {color: rgb(127, 0, 127);}.ace-eclipse .ace_xml-pe {color: rgb(104, 104, 91);}.ace-eclipse .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-eclipse .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-eclipse .ace_meta.ace_tag {color:rgb(25, 118, 116);}.ace-eclipse .ace_invisible {color: #ddd;}.ace-eclipse .ace_entity.ace_other.ace_attribute-name {color:rgb(127, 0, 127);}.ace-eclipse .ace_marker-layer .ace_step {background: rgb(255, 255, 0);}.ace-eclipse .ace_active-line {background: rgb(232, 242, 254);}.ace-eclipse .ace_gutter-active-line {background-color : #DADADA;}.ace-eclipse .ace_marker-layer .ace_selected-word {border: 1px solid rgb(181, 213, 255);}.ace-eclipse .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',t.cssClass="ace-eclipse";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}); (function() {
2 | ace.require(["ace/theme/eclipse"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/theme-gruvbox.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/theme/gruvbox",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-gruvbox",t.cssText='.ace-gruvbox .ace_gutter-active-line {background-color: #3C3836;}.ace-gruvbox {color: #EBDAB4;background-color: #1D2021;}.ace-gruvbox .ace_invisible {color: #504945;}.ace-gruvbox .ace_marker-layer .ace_selection {background: rgba(179, 101, 57, 0.75)}.ace-gruvbox.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #002240;}.ace-gruvbox .ace_keyword {color: #8ec07c;}.ace-gruvbox .ace_comment {font-style: italic;color: #928375;}.ace-gruvbox .ace-statement {color: red;}.ace-gruvbox .ace_variable {color: #84A598;}.ace-gruvbox .ace_variable.ace_language {color: #D2879B;}.ace-gruvbox .ace_constant {color: #C2859A;}.ace-gruvbox .ace_constant.ace_language {color: #C2859A;}.ace-gruvbox .ace_constant.ace_numeric {color: #C2859A;}.ace-gruvbox .ace_string {color: #B8BA37;}.ace-gruvbox .ace_support {color: #F9BC41;}.ace-gruvbox .ace_support.ace_function {color: #F84B3C;}.ace-gruvbox .ace_storage {color: #8FBF7F;}.ace-gruvbox .ace_keyword.ace_operator {color: #EBDAB4;}.ace-gruvbox .ace_punctuation.ace_operator {color: yellow;}.ace-gruvbox .ace_marker-layer .ace_active-line {background: #3C3836;}.ace-gruvbox .ace_marker-layer .ace_selected-word {border-radius: 4px;border: 8px solid #3f475d;}.ace-gruvbox .ace_print-margin {width: 5px;background: #3C3836;}.ace-gruvbox .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNQUFD4z6Crq/sfAAuYAuYl+7lfAAAAAElFTkSuQmCC") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}); (function() {
2 | ace.require(["ace/theme/gruvbox"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/theme-kuroir.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/theme/kuroir",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-kuroir",t.cssText=".ace-kuroir .ace_gutter {background: #e8e8e8;color: #333;}.ace-kuroir .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-kuroir {background-color: #E8E9E8;color: #363636;}.ace-kuroir .ace_cursor {color: #202020;}.ace-kuroir .ace_marker-layer .ace_selection {background: rgba(245, 170, 0, 0.57);}.ace-kuroir.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #E8E9E8;}.ace-kuroir .ace_marker-layer .ace_step {background: rgb(198, 219, 174);}.ace-kuroir .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(0, 0, 0, 0.29);}.ace-kuroir .ace_marker-layer .ace_active-line {background: rgba(203, 220, 47, 0.22);}.ace-kuroir .ace_gutter-active-line {background-color: rgba(203, 220, 47, 0.22);}.ace-kuroir .ace_marker-layer .ace_selected-word {border: 1px solid rgba(245, 170, 0, 0.57);}.ace-kuroir .ace_invisible {color: #BFBFBF}.ace-kuroir .ace_fold {border-color: #363636;}.ace-kuroir .ace_constant{color:#CD6839;}.ace-kuroir .ace_constant.ace_numeric{color:#9A5925;}.ace-kuroir .ace_support{color:#104E8B;}.ace-kuroir .ace_support.ace_function{color:#005273;}.ace-kuroir .ace_support.ace_constant{color:#CF6A4C;}.ace-kuroir .ace_storage{color:#A52A2A;}.ace-kuroir .ace_invalid.ace_illegal{color:#FD1224;background-color:rgba(255, 6, 0, 0.15);}.ace-kuroir .ace_invalid.ace_deprecated{text-decoration:underline;font-style:italic;color:#FD1732;background-color:#E8E9E8;}.ace-kuroir .ace_string{color:#639300;}.ace-kuroir .ace_string.ace_regexp{color:#417E00;background-color:#C9D4BE;}.ace-kuroir .ace_comment{color:rgba(148, 148, 148, 0.91);background-color:rgba(220, 220, 220, 0.56);}.ace-kuroir .ace_variable{color:#009ACD;}.ace-kuroir .ace_meta.ace_tag{color:#005273;}.ace-kuroir .ace_markup.ace_heading{color:#B8012D;background-color:rgba(191, 97, 51, 0.051);}.ace-kuroir .ace_markup.ace_list{color:#8F5B26;}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}); (function() {
2 | ace.require(["ace/theme/kuroir"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/theme-nord_dark.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/theme/nord_dark",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-nord-dark",t.cssText=".ace-nord-dark .ace_gutter {color: #616e88;}.ace-nord-dark .ace_print-margin {width: 1px;background: #4c566a;}.ace-nord-dark {background-color: #2e3440;color: #d8dee9;}.ace-nord-dark .ace_entity.ace_other.ace_attribute-name,.ace-nord-dark .ace_storage {color: #d8dee9;}.ace-nord-dark .ace_cursor {color: #d8dee9;},.ace-nord-dark .ace_string.ace_regexp {color: #bf616a;}.ace-nord-dark .ace_marker-layer .ace_active-line {background: #434c5ecc;}.ace-nord-dark .ace_marker-layer .ace_selection {background: #434c5ecc;}.ace-nord-dark.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #2e3440;}.ace-nord-dark .ace_marker-layer .ace_step {background: #ebcb8b;}.ace-nord-dark .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #88c0d066;}.ace-nord-dark .ace_gutter-active-line {background-color: #434c5ecc;}.ace-nord-dark .ace_marker-layer .ace_selected-word {border: 1px solid #88c0d066;}.ace-nord-dark .ace_invisible {color: #4c566a;}.ace-nord-dark .ace_keyword,.ace-nord-dark .ace_meta,.ace-nord-dark .ace_support.ace_class,.ace-nord-dark .ace_support.ace_type {color: #81a1c1;}.ace-nord-dark .ace_constant.ace_character,.ace-nord-dark .ace_constant.ace_other {color: #d8dee9;}.ace-nord-dark .ace_constant.ace_language {color: #5e81ac;}.ace-nord-dark .ace_constant.ace_escape {color: #ebcB8b;}.ace-nord-dark .ace_constant.ace_numeric {color: #b48ead;}.ace-nord-dark .ace_fold {background-color: #4c566a;border-color: #d8dee9;}.ace-nord-dark .ace_entity.ace_name.ace_function,.ace-nord-dark .ace_entity.ace_name.ace_tag,.ace-nord-dark .ace_support.ace_function,.ace-nord-dark .ace_variable,.ace-nord-dark .ace_variable.ace_language {color: #8fbcbb;}.ace-nord-dark .ace_string {color: #a3be8c;}.ace-nord-dark .ace_comment {color: #616e88;}.ace-nord-dark .ace_indent-guide {box-shadow: inset -1px 0 0 0 #434c5eb3;}",t.$selectionColorConflict=!0;var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}); (function() {
2 | ace.require(["ace/theme/nord_dark"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/ace/theme-xcode.js:
--------------------------------------------------------------------------------
1 | ace.define("ace/theme/xcode",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-xcode",t.cssText=".ace-xcode .ace_gutter {background: #e8e8e8;color: #333}.ace-xcode .ace_print-margin {width: 1px;background: #e8e8e8}.ace-xcode {background-color: #FFFFFF;color: #000000}.ace-xcode .ace_cursor {color: #000000}.ace-xcode .ace_marker-layer .ace_selection {background: #B5D5FF}.ace-xcode.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #FFFFFF;}.ace-xcode .ace_marker-layer .ace_step {background: rgb(198, 219, 174)}.ace-xcode .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #BFBFBF}.ace-xcode .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.071)}.ace-xcode .ace_gutter-active-line {background-color: rgba(0, 0, 0, 0.071)}.ace-xcode .ace_marker-layer .ace_selected-word {border: 1px solid #B5D5FF}.ace-xcode .ace_constant.ace_language,.ace-xcode .ace_keyword,.ace-xcode .ace_meta,.ace-xcode .ace_variable.ace_language {color: #C800A4}.ace-xcode .ace_invisible {color: #BFBFBF}.ace-xcode .ace_constant.ace_character,.ace-xcode .ace_constant.ace_other {color: #275A5E}.ace-xcode .ace_constant.ace_numeric {color: #3A00DC}.ace-xcode .ace_entity.ace_other.ace_attribute-name,.ace-xcode .ace_support.ace_constant,.ace-xcode .ace_support.ace_function {color: #450084}.ace-xcode .ace_fold {background-color: #C800A4;border-color: #000000}.ace-xcode .ace_entity.ace_name.ace_tag,.ace-xcode .ace_support.ace_class,.ace-xcode .ace_support.ace_type {color: #790EAD}.ace-xcode .ace_storage {color: #C900A4}.ace-xcode .ace_string {color: #DF0002}.ace-xcode .ace_comment {color: #008E00}.ace-xcode .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}); (function() {
2 | ace.require(["ace/theme/xcode"], function(m) {
3 | if (typeof module == "object" && typeof exports == "object" && module) {
4 | module.exports = m;
5 | }
6 | });
7 | })();
8 |
--------------------------------------------------------------------------------
/public/script/external/angular-translate-loader-static-files.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * angular-translate - v2.18.4 - 2021-01-14
3 | *
4 | * Copyright (c) 2021 The angular-translate team, Pascal Precht; Licensed MIT
5 | */
6 | !function(e,i){"function"==typeof define&&define.amd?define([],function(){return i()}):"object"==typeof module&&module.exports?module.exports=i():i()}(0,function(){function e(n,a){"use strict";return function(r){if(!(r&&(angular.isArray(r.files)||angular.isString(r.prefix)&&angular.isString(r.suffix))))throw new Error("Couldn't load static files, no files and prefix or suffix specified!");r.files||(r.files=[{prefix:r.prefix,suffix:r.suffix}]);for(var e=function(e){if(!e||!angular.isString(e.prefix)||!angular.isString(e.suffix))throw new Error("Couldn't load static file, no prefix or suffix specified!");var i=[e.prefix,r.key,e.suffix].join("");return angular.isObject(r.fileMap)&&r.fileMap[i]&&(i=r.fileMap[i]),a(angular.extend({url:i,method:"GET"},r.$http)).then(function(e){return e.data},function(){return n.reject(r.key)})},i=[],t=r.files.length,f=0;f`;
52 | }
53 | },
54 | },
55 | ],
56 | };
57 | }
58 |
--------------------------------------------------------------------------------
/public/script/external/marked-katex-extension.umd.min.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Minified by jsDelivr using Terser v5.19.2.
3 | * Original file: /npm/marked-katex-extension@5.0.1/lib/index.umd.js
4 | *
5 | * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
6 | */
7 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).markedKatex=t(e.katex)}(this,(function(e){"use strict";const t=/^(\${1,2})(?!\$)((?:\\.|[^\\\n])*?(?:\\.|[^\\\n\$]))\1(?=[\s?!\.,:?!。,:]|$)/,n=/^(\${1,2})\n((?:\\[^]|[^\\])+?)\n\1(?:\n|$)/;function r(t,n){return r=>e.renderToString(r.text,{...t,displayMode:r.displayMode})+(n?"\n":"")}function i(e,n){return{name:"inlineKatex",level:"inline",start(e){let n,r=e;for(;r;){if(n=r.indexOf("$"),-1===n)return;if(0===n||" "===r.charAt(n-1)){if(r.substring(n).match(t))return n}r=r.substring(n+1).replace(/^\$+/,"")}},tokenizer(e,n){const r=e.match(t);if(r)return{type:"inlineKatex",raw:r[0],text:r[2].trim(),displayMode:2===r[1].length}},renderer:n}}function o(e,t){return{name:"blockKatex",level:"block",tokenizer(e,t){const r=e.match(n);if(r)return{type:"blockKatex",raw:r[0],text:r[2].trim(),displayMode:2===r[1].length}},renderer:t}}return function(e={}){return{extensions:[i(e,r(e,!1)),o(e,r(e,!0))]}}}));
8 | //# sourceMappingURL=/sm/25cb250346ed1262c6185eedae00cfd6f44bba21eb2c1bf521e994aa1d145555.map
--------------------------------------------------------------------------------
/src/core/AnonymousError.ts:
--------------------------------------------------------------------------------
1 | import { CustomError } from "ts-custom-error";
2 | import AnonymizedFile from "./AnonymizedFile";
3 | import Repository from "./Repository";
4 | import GitHubBase from "./source/GitHubBase";
5 | import { GitHubRepository } from "./source/GitHubRepository";
6 | import User from "./User";
7 |
8 | /**
9 | * Custom error message
10 | */
11 | export default class AnonymousError extends CustomError {
12 | value?: any;
13 | httpStatus?: number;
14 | cause?: Error;
15 |
16 | constructor(
17 | message: string,
18 | opt?: {
19 | httpStatus?: number;
20 | cause?: Error;
21 | object?: any;
22 | }
23 | ) {
24 | super(message);
25 | this.value = opt?.object;
26 | this.httpStatus = opt?.httpStatus;
27 | this.cause = opt?.cause;
28 | }
29 |
30 | toString(): string {
31 | let out = "";
32 | let detail = this.value ? JSON.stringify(this.value) : null;
33 | if (this.value instanceof Repository) {
34 | detail = this.value.repoId;
35 | } else if (this.value instanceof AnonymizedFile) {
36 | detail = `/r/${this.value.repository.repoId}/${this.value.anonymizedPath}`;
37 | } else if (this.value instanceof GitHubRepository) {
38 | detail = `${this.value.fullName}`;
39 | } else if (this.value instanceof User) {
40 | detail = `${this.value.username}`;
41 | } else if (this.value instanceof GitHubBase) {
42 | detail = `GHDownload ${this.value.data.repoId}`;
43 | }
44 | out += this.message;
45 | if (detail) {
46 | out += `: ${detail}`;
47 | }
48 | if (this.cause) {
49 | out += `\n\tCause by ${this.cause}\n${this.cause.stack}`;
50 | }
51 | return out;
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/src/core/model/anonymizedPullRequests/anonymizedPullRequests.model.ts:
--------------------------------------------------------------------------------
1 | import { model } from "mongoose";
2 |
3 | import AnonymizedPullRequestSchema from "./anonymizedPullRequests.schema";
4 | import {
5 | IAnonymizedPullRequestDocument,
6 | IAnonymizedPullRequestModel,
7 | } from "./anonymizedPullRequests.types";
8 |
9 | const AnonymizedPullRequestModel = model(
10 | "AnonymizedPullRequest",
11 | AnonymizedPullRequestSchema
12 | ) as IAnonymizedPullRequestModel;
13 |
14 | export default AnonymizedPullRequestModel;
15 |
--------------------------------------------------------------------------------
/src/core/model/anonymizedPullRequests/anonymizedPullRequests.schema.ts:
--------------------------------------------------------------------------------
1 | import { Schema } from "mongoose";
2 |
3 | const AnonymizedPullRequestSchema = new Schema({
4 | pullRequestId: {
5 | type: String,
6 | index: { unique: true },
7 | },
8 | status: {
9 | type: String,
10 | default: "preparing",
11 | },
12 | statusDate: Date,
13 | statusMessage: String,
14 | anonymizeDate: Date,
15 | lastView: Date,
16 | pageView: Number,
17 | owner: Schema.Types.ObjectId,
18 | conference: String,
19 | source: {
20 | pullRequestId: Number,
21 | repositoryFullName: String,
22 | accessToken: String,
23 | },
24 | options: {
25 | terms: [String],
26 | expirationMode: { type: String },
27 | expirationDate: Date,
28 | update: Boolean,
29 | image: Boolean,
30 | link: Boolean,
31 | title: Boolean,
32 | body: Boolean,
33 | comments: Boolean,
34 | diff: Boolean,
35 | origin: Boolean,
36 | username: Boolean,
37 | date: Boolean,
38 | },
39 | dateOfEntry: {
40 | type: Date,
41 | default: new Date(),
42 | },
43 | pullRequest: {
44 | diff: String,
45 | title: String,
46 | body: String,
47 | creationDate: Date,
48 | updatedDate: Date,
49 | draft: Boolean,
50 | merged: Boolean,
51 | mergedDate: Date,
52 | state: String,
53 | baseRepositoryFullName: String,
54 | headRepositoryFullName: String,
55 | comments: [
56 | {
57 | body: String,
58 | creationDate: Date,
59 | updatedDate: Date,
60 | author: String,
61 | },
62 | ],
63 | },
64 | });
65 |
66 | export default AnonymizedPullRequestSchema;
67 |
--------------------------------------------------------------------------------
/src/core/model/anonymizedPullRequests/anonymizedPullRequests.types.ts:
--------------------------------------------------------------------------------
1 | import { Document, Model } from "mongoose";
2 | import { RepositoryStatus } from "../../types";
3 |
4 | export interface IAnonymizedPullRequest {
5 | pullRequestId: string;
6 | status?: RepositoryStatus;
7 | statusMessage?: string;
8 | statusDate: Date;
9 | anonymizeDate: Date;
10 | source: {
11 | pullRequestId: number;
12 | repositoryFullName: string;
13 | accessToken?: string;
14 | };
15 | owner: string;
16 | conference: string;
17 | options: {
18 | terms: string[];
19 | expirationMode: "never" | "redirect" | "remove";
20 | expirationDate?: Date;
21 | update: boolean;
22 | image: boolean;
23 | link: boolean;
24 | title: boolean;
25 | body: boolean;
26 | comments: boolean;
27 | diff: boolean;
28 | origin: boolean;
29 | username: boolean;
30 | date: boolean;
31 | };
32 | pageView: number;
33 | lastView: Date;
34 | pullRequest: {
35 | diff: string;
36 | title: string;
37 | body: string;
38 | creationDate: Date;
39 | updatedDate: Date;
40 | draft?: boolean;
41 | merged?: boolean;
42 | mergedDate?: Date;
43 | state?: string;
44 | baseRepositoryFullName?: string;
45 | headRepositoryFullName?: string;
46 | comments?: {
47 | body: string;
48 | creationDate: Date;
49 | updatedDate: Date;
50 | author: string;
51 | }[];
52 | };
53 | }
54 |
55 | export interface IAnonymizedPullRequestDocument
56 | extends IAnonymizedPullRequest,
57 | Document {
58 | setLastUpdated: (this: IAnonymizedPullRequestDocument) => Promise;
59 | }
60 | export interface IAnonymizedPullRequestModel
61 | extends Model {}
62 |
--------------------------------------------------------------------------------
/src/core/model/anonymizedRepositories/anonymizedRepositories.model.ts:
--------------------------------------------------------------------------------
1 | import { model } from "mongoose";
2 |
3 | import {
4 | IAnonymizedRepositoryDocument,
5 | IAnonymizedRepositoryModel,
6 | } from "./anonymizedRepositories.types";
7 | import AnonymizedRepositorySchema from "./anonymizedRepositories.schema";
8 |
9 | const AnonymizedRepositoryModel = model(
10 | "AnonymizedRepository",
11 | AnonymizedRepositorySchema
12 | ) as IAnonymizedRepositoryModel;
13 |
14 | export default AnonymizedRepositoryModel;
15 |
--------------------------------------------------------------------------------
/src/core/model/anonymizedRepositories/anonymizedRepositories.schema.ts:
--------------------------------------------------------------------------------
1 | import { Schema } from "mongoose";
2 |
3 | const AnonymizedRepositorySchema = new Schema({
4 | repoId: {
5 | type: String,
6 | index: { unique: true, collation: { locale: "en", strength: 2 } },
7 | },
8 | status: {
9 | type: String,
10 | default: "preparing",
11 | },
12 | statusDate: Date,
13 | statusMessage: String,
14 | anonymizeDate: Date,
15 | lastView: Date,
16 | pageView: Number,
17 | accessToken: String,
18 | owner: {
19 | type: Schema.Types.ObjectId,
20 | ref: "user",
21 | index: true,
22 | },
23 | conference: String,
24 | source: {
25 | type: { type: String },
26 | branch: String,
27 | commit: String,
28 | commitDate: Date,
29 | repositoryId: String,
30 | repositoryName: String,
31 | accessToken: String,
32 | },
33 | truckedFileList: {
34 | type: Boolean,
35 | default: false,
36 | },
37 | options: {
38 | terms: [String],
39 | expirationMode: { type: String },
40 | expirationDate: Date,
41 | update: Boolean,
42 | image: Boolean,
43 | pdf: Boolean,
44 | notebook: Boolean,
45 | link: Boolean,
46 | page: Boolean,
47 | pageSource: {
48 | branch: String,
49 | path: String,
50 | },
51 | },
52 | dateOfEntry: {
53 | type: Date,
54 | default: new Date(),
55 | },
56 | size: {
57 | storage: {
58 | type: Number,
59 | default: 0,
60 | },
61 | file: {
62 | type: Number,
63 | default: 0,
64 | },
65 | },
66 | isReseted: {
67 | type: Boolean,
68 | default: false,
69 | },
70 | });
71 |
72 | export default AnonymizedRepositorySchema;
73 |
--------------------------------------------------------------------------------
/src/core/model/anonymizedRepositories/anonymizedRepositories.types.ts:
--------------------------------------------------------------------------------
1 | import { Document, Model } from "mongoose";
2 | import { RepositoryStatus } from "../../types";
3 |
4 | export interface IAnonymizedRepository {
5 | repoId: string;
6 | status?: RepositoryStatus;
7 | statusMessage?: string;
8 | statusDate: Date;
9 | anonymizeDate: Date;
10 | source: {
11 | type: "GitHubDownload" | "GitHubStream" | "Zip";
12 | branch?: string;
13 | commit?: string;
14 | commitDate?: Date;
15 | repositoryId?: string;
16 | repositoryName?: string;
17 | accessToken?: string;
18 | };
19 | owner: string;
20 | truckedFileList: boolean;
21 | conference: string;
22 | options: {
23 | terms: string[];
24 | expirationMode: "never" | "redirect" | "remove";
25 | expirationDate?: Date;
26 | update: boolean;
27 | image: boolean;
28 | pdf: boolean;
29 | notebook: boolean;
30 | link: boolean;
31 | page: boolean;
32 | pageSource?: {
33 | branch: string;
34 | path: string;
35 | };
36 | };
37 | pageView: number;
38 | lastView: Date;
39 | size: {
40 | storage: number;
41 | file: number;
42 | };
43 | isReseted: boolean;
44 | }
45 |
46 | export interface IAnonymizedRepositoryDocument
47 | extends IAnonymizedRepository,
48 | Document {
49 | setLastUpdated: (this: IAnonymizedRepositoryDocument) => Promise;
50 | }
51 | export interface IAnonymizedRepositoryModel
52 | extends Model {}
53 |
--------------------------------------------------------------------------------
/src/core/model/conference/conferences.model.ts:
--------------------------------------------------------------------------------
1 | import { model } from "mongoose";
2 |
3 | import { IConferenceDocument, IConferenceModel } from "./conferences.types";
4 | import ConferenceSchema from "./conferences.schema";
5 |
6 | const ConferenceModel = model(
7 | "Conference",
8 | ConferenceSchema
9 | ) as IConferenceModel;
10 |
11 | export default ConferenceModel;
12 |
--------------------------------------------------------------------------------
/src/core/model/conference/conferences.schema.ts:
--------------------------------------------------------------------------------
1 | import { Schema } from "mongoose";
2 |
3 | const RepositorySchema = new Schema({
4 | name: String,
5 | conferenceID: {
6 | type: String,
7 | index: { unique: true },
8 | },
9 | url: String,
10 | startDate: Date,
11 | endDate: Date,
12 | status: String,
13 | owners: { type: [Schema.Types.ObjectId] },
14 | repositories: {
15 | type: [
16 | {
17 | id: { type: Schema.Types.ObjectId },
18 | addDate: { type: Date },
19 | removeDate: { type: Date },
20 | },
21 | ],
22 | },
23 | options: {
24 | expirationMode: String,
25 | expirationDate: Date,
26 | update: Boolean,
27 | image: Boolean,
28 | pdf: Boolean,
29 | notebook: Boolean,
30 | link: Boolean,
31 | page: Boolean,
32 | },
33 | dateOfEntry: {
34 | type: Date,
35 | default: new Date(),
36 | },
37 | plan: {
38 | planID: String,
39 | pricePerRepository: Number,
40 | quota: {
41 | repository: Number,
42 | size: Number,
43 | file: Number,
44 | },
45 | },
46 | billing: {
47 | name: String,
48 | email: String,
49 | address: String,
50 | address2: String,
51 | city: String,
52 | zip: String,
53 | country: String,
54 | vat: String,
55 | },
56 | });
57 |
58 | export default RepositorySchema;
59 |
--------------------------------------------------------------------------------
/src/core/model/conference/conferences.types.ts:
--------------------------------------------------------------------------------
1 | import { Document, Model } from "mongoose";
2 | import { ConferenceStatus } from "../../types";
3 |
4 | export interface IConference {
5 | name: string;
6 | conferenceID: string;
7 | startDate: Date;
8 | endDate: Date;
9 | url: string;
10 | status: ConferenceStatus;
11 | owners: string[];
12 | repositories: {
13 | id: string;
14 | addDate: Date;
15 | removeDate?: Date;
16 | }[];
17 | options: {
18 | expirationMode: "never" | "redirect" | "remove";
19 | expirationDate?: Date;
20 | update: boolean;
21 | image: boolean;
22 | pdf: boolean;
23 | notebook: boolean;
24 | link: boolean;
25 | page: boolean;
26 | };
27 | plan: {
28 | planID: string;
29 | pricePerRepository: number;
30 | quota: {
31 | repository: number;
32 | size: number;
33 | file: number;
34 | };
35 | };
36 | billing?: {
37 | name: string;
38 | email: string;
39 | address: string;
40 | address2?: string;
41 | city: string;
42 | zip: string;
43 | country: string;
44 | vat?: string;
45 | };
46 | }
47 |
48 | export interface IConferenceDocument extends IConference, Document {}
49 | export interface IConferenceModel extends Model {}
50 |
--------------------------------------------------------------------------------
/src/core/model/files/files.model.ts:
--------------------------------------------------------------------------------
1 | import { model } from "mongoose";
2 | import { join } from "path";
3 |
4 | import { IFileDocument, IFileModel } from "./files.types";
5 | import FileSchema from "./files.schema";
6 |
7 | const FileModel = model("File", FileSchema) as IFileModel;
8 | export default FileModel;
9 |
--------------------------------------------------------------------------------
/src/core/model/files/files.schema.ts:
--------------------------------------------------------------------------------
1 | import { Schema } from "mongoose";
2 |
3 | const FileSchema = new Schema({
4 | name: { type: String, index: true },
5 | path: { type: String, index: true },
6 | repoId: { type: String, index: true },
7 | sha: {
8 | type: String,
9 | },
10 | size: {
11 | type: Number,
12 | },
13 | });
14 |
15 | FileSchema.index({ path: 1, repoId: 1 });
16 |
17 | FileSchema.methods.toString = function () {
18 | return `${this.path}/${this.name}`;
19 | };
20 |
21 | export default FileSchema;
22 |
--------------------------------------------------------------------------------
/src/core/model/files/files.types.ts:
--------------------------------------------------------------------------------
1 | import { Document, Model } from "mongoose";
2 |
3 | export interface IFile {
4 | name: string;
5 | path: string;
6 | repoId: string;
7 | sha?: string;
8 | size?: number;
9 | }
10 |
11 | export interface IFileDocument extends IFile, Document {
12 | toString: (this: IFileDocument) => string;
13 | }
14 | export interface IFileModel extends Model {}
15 |
--------------------------------------------------------------------------------
/src/core/model/repositories/repositories.model.ts:
--------------------------------------------------------------------------------
1 | import { model } from "mongoose";
2 |
3 | import { IRepositoryDocument, IRepositoryModel } from "./repositories.types";
4 | import RepositorySchema from "./repositories.schema";
5 |
6 | const RepositoryModel = model(
7 | "Repository",
8 | RepositorySchema
9 | ) as IRepositoryModel;
10 |
11 | export default RepositoryModel;
12 |
--------------------------------------------------------------------------------
/src/core/model/repositories/repositories.schema.ts:
--------------------------------------------------------------------------------
1 | import { Schema } from "mongoose";
2 |
3 | const RepositorySchema = new Schema({
4 | externalId: {
5 | type: String,
6 | index: { unique: true },
7 | },
8 | name: {
9 | type: String,
10 | index: true,
11 | },
12 | url: String,
13 | source: {
14 | type: String,
15 | default: "github",
16 | },
17 | hasPage: { type: Boolean, default: false },
18 | pageSource: {
19 | branch: { type: String },
20 | path: String,
21 | },
22 | branches: [
23 | {
24 | name: { type: String },
25 | commit: String,
26 | readme: String,
27 | },
28 | ],
29 | defaultBranch: String,
30 | size: Number,
31 | status: {
32 | type: String,
33 | default: "ready",
34 | },
35 | dateOfEntry: {
36 | type: Date,
37 | default: new Date(),
38 | },
39 | });
40 |
41 | export default RepositorySchema;
42 |
--------------------------------------------------------------------------------
/src/core/model/repositories/repositories.types.ts:
--------------------------------------------------------------------------------
1 | import { Document, Model } from "mongoose";
2 |
3 | export interface IRepository {
4 | externalId: string;
5 | name: string;
6 | url?: string;
7 | source: "github";
8 | size?: number;
9 | defaultBranch?: string;
10 | hasPage: boolean;
11 | pageSource?: {
12 | branch: string;
13 | path: string;
14 | };
15 | branches?: {
16 | name: string;
17 | commit: string;
18 | readme?: string;
19 | }[];
20 | }
21 |
22 | export interface IRepositoryDocument extends IRepository, Document {
23 | setLastUpdated: (this: IRepositoryDocument) => Promise;
24 | }
25 | export interface IRepositoryModel extends Model {}
26 |
--------------------------------------------------------------------------------
/src/core/model/users/users.model.ts:
--------------------------------------------------------------------------------
1 | import { model } from "mongoose";
2 |
3 | import { IUserDocument, IUserModel } from "./users.types";
4 | import UserSchema from "./users.schema";
5 |
6 | const UserModel = model("user", UserSchema) as IUserModel;
7 |
8 | export default UserModel;
9 |
--------------------------------------------------------------------------------
/src/core/model/users/users.schema.ts:
--------------------------------------------------------------------------------
1 | import { Schema } from "mongoose";
2 |
3 | const UserSchema = new Schema({
4 | accessTokens: {
5 | github: { type: String },
6 | },
7 | accessTokenDates: {
8 | github: { type: Date },
9 | },
10 | externalIDs: {
11 | github: { type: String, index: true },
12 | },
13 | username: {
14 | type: String,
15 | index: { unique: true },
16 | },
17 | emails: [
18 | {
19 | email: { type: String },
20 | default: Boolean,
21 | },
22 | ],
23 | isAdmin: { type: Boolean, default: false },
24 | photo: String,
25 | repositories: [
26 | {
27 | type: String,
28 | ref: "Repository",
29 | },
30 | ],
31 | default: {
32 | terms: [String],
33 | options: {
34 | expirationMode: { type: String },
35 | update: Boolean,
36 | image: Boolean,
37 | pdf: Boolean,
38 | notebook: Boolean,
39 | link: Boolean,
40 | page: { type: String },
41 | },
42 | },
43 | status: {
44 | type: String,
45 | default: "active",
46 | },
47 | dateOfEntry: {
48 | type: Date,
49 | default: new Date(),
50 | },
51 | });
52 |
53 | export default UserSchema;
54 |
--------------------------------------------------------------------------------
/src/core/model/users/users.types.ts:
--------------------------------------------------------------------------------
1 | import { Document, Model } from "mongoose";
2 |
3 | export interface IUser {
4 | accessTokens: {
5 | github: string;
6 | };
7 | accessTokenDates?: {
8 | github: Date;
9 | };
10 | externalIDs: {
11 | github: string;
12 | };
13 | username: string;
14 | isAdmin: boolean;
15 | emails: {
16 | email: string;
17 | default: boolean;
18 | }[];
19 | photo?: string;
20 |
21 | repositories?: number[];
22 | default?: {
23 | terms: string[];
24 | options: {
25 | expirationMode: "never" | "redirect" | "";
26 | update: boolean;
27 | image: boolean;
28 | pdf: boolean;
29 | notebook: boolean;
30 | link: boolean;
31 | page: string | null;
32 | };
33 | };
34 | status?: "active" | "removed";
35 | dateOfEntry?: Date;
36 | lastUpdated?: Date;
37 | }
38 |
39 | export interface IUserDocument extends IUser, Document {
40 | setLastUpdated: (this: IUserDocument) => Promise;
41 | }
42 | export interface IUserModel extends Model {}
43 |
--------------------------------------------------------------------------------
/src/core/source/GitHubBase.ts:
--------------------------------------------------------------------------------
1 | import { Readable } from "stream";
2 |
3 | import AnonymizedFile from "../AnonymizedFile";
4 | import { SourceBase } from "./Source";
5 | import { IFile } from "../model/files/files.types";
6 |
7 | export interface GitHubBaseData {
8 | getToken: () => string | Promise;
9 | repoId: string;
10 | organization: string;
11 | repoName: string;
12 | commit: string;
13 | }
14 |
15 | export default abstract class GitHubBase implements SourceBase {
16 | abstract type: "GitHubDownload" | "GitHubStream" | "Zip";
17 | accessToken: string | undefined;
18 |
19 | constructor(readonly data: GitHubBaseData) {}
20 |
21 | abstract getFileContent(
22 | file: AnonymizedFile,
23 | progress?: (status: string) => void
24 | ): Promise;
25 |
26 | abstract getFiles(progress?: (status: string) => void): Promise;
27 | }
28 |
--------------------------------------------------------------------------------
/src/core/source/Source.ts:
--------------------------------------------------------------------------------
1 | import { Readable } from "stream";
2 |
3 | import AnonymizedFile from "../AnonymizedFile";
4 | import GitHubDownload from "./GitHubDownload";
5 | import GitHubStream from "./GitHubStream";
6 | import Zip from "./Zip";
7 | import { IFile } from "../model/files/files.types";
8 |
9 | export type Source = GitHubDownload | GitHubStream | Zip;
10 |
11 | export interface SourceBase {
12 | readonly type: string;
13 |
14 | /**
15 | * Retrieve the fie content
16 | * @param file the file of the content to retrieve
17 | */
18 | getFileContent(file: AnonymizedFile): Promise;
19 |
20 | /**
21 | * Get all the files from a specific source
22 | */
23 | getFiles(progress?: (status: string) => void): Promise;
24 | }
25 |
--------------------------------------------------------------------------------
/src/core/source/Zip.ts:
--------------------------------------------------------------------------------
1 | import * as stream from "stream";
2 |
3 | import AnonymizedFile from "../AnonymizedFile";
4 | import storage from "../storage";
5 | import { SourceBase } from "./Source";
6 |
7 | export default class Zip implements SourceBase {
8 | type = "Zip";
9 | url?: string;
10 |
11 | constructor(data: any, readonly repoId: string) {
12 | this.url = data.url;
13 | }
14 |
15 | async getFiles(progress?: (status: string) => void) {
16 | let nbFiles = 0;
17 | return storage.listFiles(this.repoId, "", {
18 | onEntry: () => {
19 | if (progress) {
20 | nbFiles++;
21 | progress("List file: " + nbFiles);
22 | }
23 | },
24 | });
25 | }
26 |
27 | async getFileContent(file: AnonymizedFile): Promise {
28 | return storage.read(file.repository.repoId, file.filePath);
29 | }
30 |
31 | toJSON(): any {
32 | return {
33 | type: this.type,
34 | };
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/core/storage.ts:
--------------------------------------------------------------------------------
1 | import config from "../config";
2 | import FileSystem from "./storage/FileSystem";
3 | import S3Storage from "./storage/S3";
4 |
5 | export default (() => {
6 | return config.STORAGE == "s3" ? new S3Storage() : new FileSystem();
7 | })();
8 |
--------------------------------------------------------------------------------
/src/core/types.ts:
--------------------------------------------------------------------------------
1 | export interface Branch {
2 | name: string;
3 | commit: string;
4 | readme?: string;
5 | }
6 |
7 | export enum RepositoryStatus {
8 | QUEUE = "queue",
9 | PREPARING = "preparing",
10 | DOWNLOAD = "download",
11 | READY = "ready",
12 | EXPIRED = "expired",
13 | EXPIRING = "expiring",
14 | REMOVED = "removed",
15 | REMOVING = "removing",
16 | ERROR = "error",
17 | }
18 |
19 | export type ConferenceStatus = "ready" | "expired" | "removed";
20 |
21 | export type SourceStatus = "available" | "unavailable";
22 |
--------------------------------------------------------------------------------
/src/queue/processes/removeCache.ts:
--------------------------------------------------------------------------------
1 | import { Exception, trace } from "@opentelemetry/api";
2 | import { SandboxedJob } from "bullmq";
3 | import Repository from "../../core/Repository";
4 | import { getRepository as getRepositoryImport } from "../../server/database";
5 |
6 | export default async function (job: SandboxedJob) {
7 | const {
8 | connect,
9 | getRepository,
10 | }: {
11 | connect: () => Promise;
12 | getRepository: typeof getRepositoryImport;
13 | } = require("../../server/database");
14 | const span = trace.getTracer("ano-file").startSpan("proc.removeCache");
15 | span.setAttribute("repoId", job.data.repoId);
16 | try {
17 | await connect();
18 | console.log(
19 | `[QUEUE] Cache of ${job.data.repoId} is going to be removed...`
20 | );
21 | const repo = await getRepository(job.data.repoId);
22 | try {
23 | await repo.removeCache();
24 | } catch (error) {
25 | span.recordException(error as Exception);
26 | throw error;
27 | }
28 | } catch (error) {
29 | span.recordException(error as Exception);
30 | } finally {
31 | console.log(`[QUEUE] Cache of ${job.data.repoId} is removed.`);
32 | span.end();
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/queue/processes/removeRepository.ts:
--------------------------------------------------------------------------------
1 | import { trace } from "@opentelemetry/api";
2 | import { SandboxedJob } from "bullmq";
3 | import Repository from "../../core/Repository";
4 | import { getRepository as getRepositoryImport } from "../../server/database";
5 | import { RepositoryStatus } from "../../core/types";
6 |
7 | export default async function (job: SandboxedJob) {
8 | const {
9 | connect,
10 | getRepository,
11 | }: {
12 | connect: () => Promise;
13 | getRepository: typeof getRepositoryImport;
14 | } = require("../../server/database");
15 | const span = trace.getTracer("ano-file").startSpan("proc.removeRepository");
16 | span.setAttribute("repoId", job.data.repoId);
17 | try {
18 | await connect();
19 | console.log(`[QUEUE] ${job.data.repoId} is going to be removed`);
20 | const repo = await getRepository(job.data.repoId);
21 | await repo.updateStatus(RepositoryStatus.REMOVING, "");
22 | try {
23 | await repo.remove();
24 | } catch (error) {
25 | if (error instanceof Error) {
26 | await repo.updateStatus(RepositoryStatus.ERROR, error.message);
27 | } else if (typeof error === "string") {
28 | await repo.updateStatus(RepositoryStatus.ERROR, error);
29 | }
30 | span.recordException(error as Error);
31 | throw error;
32 | }
33 | } catch (error) {
34 | span.recordException(error as Error);
35 | } finally {
36 | console.log(`[QUEUE] ${job.data.repoId} is removed`);
37 | span.end();
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/src/server/database.ts:
--------------------------------------------------------------------------------
1 | import mongoose, { ConnectOptions } from "mongoose";
2 | import Repository from "../core/Repository";
3 | import config from "../config";
4 | import AnonymizedRepositoryModel from "../core/model/anonymizedRepositories/anonymizedRepositories.model";
5 | import AnonymousError from "../core/AnonymousError";
6 | import AnonymizedPullRequestModel from "../core/model/anonymizedPullRequests/anonymizedPullRequests.model";
7 | import PullRequest from "../core/PullRequest";
8 |
9 | const MONGO_URL = `mongodb://${config.DB_USERNAME}:${config.DB_PASSWORD}@${config.DB_HOSTNAME}:27017/`;
10 |
11 | export const database = mongoose.connection;
12 |
13 | export let isConnected = false;
14 |
15 | export async function connect() {
16 | mongoose.set("strictQuery", false);
17 | await mongoose.connect(MONGO_URL + "production", {
18 | authSource: "admin",
19 | appName: "Anonymous GitHub Server",
20 | compressors: "zstd",
21 | } as ConnectOptions);
22 | isConnected = true;
23 |
24 | return database;
25 | }
26 |
27 | export async function getRepository(repoId: string, opts: {} = {}) {
28 | if (!repoId || repoId == "undefined") {
29 | throw new AnonymousError("repo_not_found", {
30 | object: repoId,
31 | httpStatus: 404,
32 | });
33 | }
34 | const data = await AnonymizedRepositoryModel.findOne({ repoId }).collation({
35 | locale: "en",
36 | strength: 2,
37 | });
38 | if (!data)
39 | throw new AnonymousError("repo_not_found", {
40 | object: repoId,
41 | httpStatus: 404,
42 | });
43 | return new Repository(data);
44 | }
45 | export async function getPullRequest(pullRequestId: string) {
46 | if (!pullRequestId || pullRequestId == "undefined") {
47 | throw new AnonymousError("pull_request_not_found", {
48 | object: pullRequestId,
49 | httpStatus: 404,
50 | });
51 | }
52 | const data = await AnonymizedPullRequestModel.findOne({
53 | pullRequestId,
54 | });
55 | if (!data)
56 | throw new AnonymousError("pull_request_not_found", {
57 | object: pullRequestId,
58 | httpStatus: 404,
59 | });
60 | return new PullRequest(data);
61 | }
62 |
--------------------------------------------------------------------------------
/src/server/routes/file.ts:
--------------------------------------------------------------------------------
1 | import * as express from "express";
2 | import AnonymizedFile from "../../core/AnonymizedFile";
3 | import AnonymousError from "../../core/AnonymousError";
4 | import { getRepo, handleError } from "./route-utils";
5 |
6 | export const router = express.Router();
7 |
8 | router.get(
9 | "/:repoId/file/:path*",
10 | async (req: express.Request, res: express.Response) => {
11 | const anonymizedPath = decodeURI(
12 | new URL(req.url, `${req.protocol}://${req.hostname}`).pathname.replace(
13 | `/${req.params.repoId}/file/`,
14 | ""
15 | )
16 | );
17 | if (anonymizedPath.endsWith("/")) {
18 | return handleError(
19 | new AnonymousError("folder_not_supported", {
20 | httpStatus: 404,
21 | object: anonymizedPath,
22 | }),
23 | res
24 | );
25 | }
26 |
27 | const repo = await getRepo(req, res, {
28 | nocheck: false,
29 | });
30 | if (!repo) return;
31 |
32 | try {
33 | if (!(await repo.isReady())) {
34 | throw new AnonymousError("repository_not_ready", {
35 | object: this,
36 | httpStatus: 503,
37 | });
38 | }
39 | const f = new AnonymizedFile({
40 | repository: repo,
41 | anonymizedPath,
42 | });
43 | if (!f.isFileSupported()) {
44 | throw new AnonymousError("file_not_supported", {
45 | httpStatus: 403,
46 | object: f,
47 | });
48 | }
49 | if (req.query.download) {
50 | res.attachment(
51 | anonymizedPath.substring(anonymizedPath.lastIndexOf("/") + 1)
52 | );
53 | }
54 | if (req.query.v) {
55 | // cache the file for a month
56 | res.header("Cache-Control", "max-age=18144000");
57 | } else {
58 | // cache the file for 5min
59 | res.header("Cache-Control", "max-age=300");
60 | }
61 | await f.send(res);
62 | await repo.countView();
63 | } catch (error) {
64 | return handleError(error, res, req);
65 | }
66 | }
67 | );
68 |
69 | export default router;
70 |
--------------------------------------------------------------------------------
/src/server/routes/index.ts:
--------------------------------------------------------------------------------
1 | import pullRequestPrivate from "./pullRequest-private";
2 | import pullRequestPublic from "./pullRequest-public";
3 | import repositoryPrivate from "./repository-private";
4 | import repositoryPublic from "./repository-public";
5 | import conference from "./conference";
6 | import file from "./file";
7 | import webview from "./webview";
8 | import user from "./user";
9 | import option from "./option";
10 | import admin from "./admin";
11 |
12 | export default {
13 | pullRequestPrivate,
14 | pullRequestPublic,
15 | repositoryPrivate,
16 | repositoryPublic,
17 | file,
18 | webview,
19 | user,
20 | option,
21 | conference,
22 | admin,
23 | };
24 |
--------------------------------------------------------------------------------
/src/server/routes/option.ts:
--------------------------------------------------------------------------------
1 | import * as express from "express";
2 | import config from "../../config";
3 | export const router = express.Router();
4 |
5 | router.get("/", async (req: express.Request, res: express.Response) => {
6 | res.json({
7 | ENABLE_DOWNLOAD: config.ENABLE_DOWNLOAD,
8 | MAX_FILE_SIZE: config.MAX_FILE_SIZE,
9 | MAX_REPO_SIZE: config.MAX_REPO_SIZE,
10 | ANONYMIZATION_MASK: config.ANONYMIZATION_MASK,
11 | });
12 | });
13 |
14 | export default router;
15 |
--------------------------------------------------------------------------------
/src/server/schedule.ts:
--------------------------------------------------------------------------------
1 | import * as schedule from "node-schedule";
2 | import Conference from "../core/Conference";
3 | import AnonymizedRepositoryModel from "../core/model/anonymizedRepositories/anonymizedRepositories.model";
4 | import ConferenceModel from "../core/model/conference/conferences.model";
5 | import Repository from "../core/Repository";
6 |
7 | export function conferenceStatusCheck() {
8 | // check every 6 hours the status of the conferences
9 | const job = schedule.scheduleJob("0 */6 * * *", async () => {
10 | (await ConferenceModel.find({ status: { $eq: "ready" } })).forEach(
11 | async (data) => {
12 | const conference = new Conference(data);
13 | if (conference.isExpired() && conference.status == "ready") {
14 | try {
15 | await conference.expire();
16 | } catch (error) {
17 | console.error(error);
18 | }
19 | }
20 | }
21 | );
22 | });
23 | }
24 |
25 | export function repositoryStatusCheck() {
26 | // check every 6 hours the status of the repositories
27 | const job = schedule.scheduleJob("0 */6 * * *", async () => {
28 | console.log("[schedule] Check repository status and unused repositories");
29 | (
30 | await AnonymizedRepositoryModel.find({
31 | status: { $eq: "ready" },
32 | isReseted: { $eq: false },
33 | })
34 | ).forEach((data) => {
35 | const repo = new Repository(data);
36 | try {
37 | repo.check();
38 | } catch (error) {
39 | console.log(`Repository ${repo.repoId} is expired`);
40 | }
41 | const fourMonthAgo = new Date();
42 | fourMonthAgo.setMonth(fourMonthAgo.getMonth() - 4);
43 |
44 | if (repo.model.lastView < fourMonthAgo) {
45 | repo.removeCache().then(() => {
46 | console.log(
47 | `Repository ${repo.repoId} not visited for 4 months remove the cached files`
48 | );
49 | });
50 | }
51 | });
52 | });
53 | }
54 |
--------------------------------------------------------------------------------
/src/streamer/index.ts:
--------------------------------------------------------------------------------
1 | import { config as dotenv } from "dotenv";
2 | dotenv();
3 |
4 | import * as express from "express";
5 | import * as compression from "compression";
6 |
7 | import config from "../config";
8 | import router from "./route";
9 | import { handleError } from "../server/routes/route-utils";
10 | import AnonymousError from "../core/AnonymousError";
11 |
12 | const app = express();
13 | app.use(express.json());
14 |
15 | app.use(compression());
16 |
17 | app.use("/api", router);
18 |
19 | app.get("/healthcheck", async (_, res) => {
20 | res.json({ status: "ok" });
21 | });
22 |
23 | app.all("*", (req, res) => {
24 | handleError(
25 | new AnonymousError("file_not_found", {
26 | httpStatus: 404,
27 | object: req.originalUrl,
28 | }),
29 | res,
30 | req
31 | );
32 | });
33 | app.listen(config.PORT, () => {
34 | console.log(`Server started on http://streamer:${config.PORT}`);
35 | });
36 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "ts-node": {
3 | "transpileOnly": true
4 | },
5 | "compilerOptions": {
6 | "types": ["node"],
7 | "lib": ["es6"],
8 | "target": "es6",
9 | "module": "CommonJS",
10 | "outDir": "build",
11 | "removeComments": true,
12 | "preserveConstEnums": true,
13 | "forceConsistentCasingInFileNames": true,
14 | "sourceMap": false,
15 | "skipLibCheck": true,
16 | "strict": true,
17 | "esModuleInterop": false,
18 | "incremental": true
19 | },
20 | "include": ["src/**/*.ts", "index.ts", "src/cli/index.ts"],
21 | "exclude": ["node_modules", ".vscode"]
22 | }
23 |
--------------------------------------------------------------------------------